[FFmpeg-devel] [ogg] Respect AVERROR codes returned by ogg header parsing.

Michael Niedermayer michael at niedermayer.cc
Thu Nov 30 03:58:53 EET 2017


On Wed, Nov 29, 2017 at 11:57:17AM -0800, Dale Curtis wrote:
> On Tue, Nov 28, 2017 at 4:32 PM, Michael Niedermayer <michael at niedermayer.cc
> > wrote:
> >
> >
> > This breaks converting of this:
> > ./ffmpeg -i bgc.sub.dub.ogm -vf subtitles=bgc.sub.dub.ogm -an  file.avi
> >
> > https://samples.ffmpeg.org/ogg/bgc.sub.dub.ogm
> >
> >
> That's due to the vorbis parser returning AVERROR_INVALIDDATA here, with
> pkt_type == 5 and priv->packet[0] == priv_packet[1] == null.
> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavformat/oggparsevorbis.c;h=65b1998a02d92d0fcaeb740d8f4523641502dbea;hb=HEAD#l319
> 
> 
> Which were added in 2010 here:
> http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=73c44cb2869bfdbea829942eb35efa6d4c4e2f91
> 
> It seems that file has invalid vorbis streams if the check is to be
> believed. What do you want to do here? Restrict this error behind
> AV_EF_EXPLODE?

AV_EF_EXPLODE appears to be a possibility, yes
in general demuxers should try to extract as much as possible from a
file and not give up if some broken packet is found


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Old school: Use the lowest level language in which you can solve the problem
            conveniently.
New school: Use the highest level language in which the latest supercomputer
            can solve the problem without the user falling asleep waiting.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20171130/6feeb5a5/attachment.sig>


More information about the ffmpeg-devel mailing list