I think this line in mpegaudio_parser.c is wrong....
int header_threshold = avctx->codec_id != AV_CODEC_ID_NONE && avctx->codec_id
!= codec_id;
I believe it should be...
int header_threshold = avctx->codec_id != AV_CODEC_ID_NONE && avctx->codec_id
== codec_id;
I believe the intention of the line is to skip setting the params if they were
already set correctly by the container demuxer. However the current code skips
the setting of the params when the codec_ids do not match rather then when they
do, which is incorrect.
I have a file which is an MP4 with MP2 audio. The demuxer sets the codec_id to
MP3. With the current code the parser skips over setting the params and leaves
the codec_id set to MP3, which is incorrect. If I make the change I suggested
then it works correctly.
Dan
_______________________________________________
ffmpeg-devel mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel