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
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel