[FFmpeg-devel] Error in mpegaudio_parser.c

Michael Niedermayer michaelni at gmx.at
Tue Apr 7 12:41:19 CEST 2015


On Mon, Apr 06, 2015 at 03:58:59PM -0700, Dan Haddix wrote:
> 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. 

the intent of the line is to prevent changing the codec id when theres
a single faulty packet


> 
> 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. 

please open a ticket on trac and upload the file
i would say the first area to look at is the mp4 demuxer which sets
the codec id to mp3 (which would be incorrect if it was mp1)
so if you want to fix it first would be to look at if the demuxer
can be made to detect this and set it correctly in the first place
only if that is not practical/easy should we fall back on later
stages overriding 

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I do not agree with what you have to say, but I'll defend to the death your
right to say it. -- Voltaire
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150407/69744aed/attachment.asc>


More information about the ffmpeg-devel mailing list