avformat/iamf_writer: reject muxing PCM streams

Supporting PCM streams requires API changes present in newer releases that
can't be backported, so don't create invalid files.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer
2026-06-14 10:06:27 -03:00
parent 7aecd49777
commit 1034b144ff
+1 -30
View File
@@ -90,12 +90,6 @@ static int populate_audio_roll_distance(IAMFCodecConfig *codec_config)
codec_config->audio_roll_distance = -1;
break;
case AV_CODEC_ID_FLAC:
case AV_CODEC_ID_PCM_S16BE:
case AV_CODEC_ID_PCM_S24BE:
case AV_CODEC_ID_PCM_S32BE:
case AV_CODEC_ID_PCM_S16LE:
case AV_CODEC_ID_PCM_S24LE:
case AV_CODEC_ID_PCM_S32LE:
codec_config->audio_roll_distance = 0;
break;
default:
@@ -535,35 +529,12 @@ static int iamf_write_codec_config(const IAMFContext *iamf,
avio_write(dyn_bc, codec_config->extradata, codec_config->extradata_size);
break;
case AV_CODEC_ID_PCM_S16LE:
avio_w8(dyn_bc, 1);
avio_w8(dyn_bc, 16);
avio_wb32(dyn_bc, codec_config->sample_rate);
break;
case AV_CODEC_ID_PCM_S24LE:
avio_w8(dyn_bc, 1);
avio_w8(dyn_bc, 24);
avio_wb32(dyn_bc, codec_config->sample_rate);
break;
case AV_CODEC_ID_PCM_S32LE:
avio_w8(dyn_bc, 1);
avio_w8(dyn_bc, 32);
avio_wb32(dyn_bc, codec_config->sample_rate);
break;
case AV_CODEC_ID_PCM_S16BE:
avio_w8(dyn_bc, 0);
avio_w8(dyn_bc, 16);
avio_wb32(dyn_bc, codec_config->sample_rate);
break;
case AV_CODEC_ID_PCM_S24BE:
avio_w8(dyn_bc, 0);
avio_w8(dyn_bc, 24);
avio_wb32(dyn_bc, codec_config->sample_rate);
break;
case AV_CODEC_ID_PCM_S32BE:
avio_w8(dyn_bc, 0);
avio_w8(dyn_bc, 32);
avio_wb32(dyn_bc, codec_config->sample_rate);
break;
return AVERROR(ENOSYS);
default:
break;
}