Disable parsing for ogg streams where no ogg header was found,
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Wed, 30 Sep 2009 09:46:48 +0000 (09:46 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Wed, 30 Sep 2009 09:46:48 +0000 (09:46 +0000)
if no header was found the parser was not initialized and thus will
crash when trying to use it.

Originally committed as revision 20093 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/oggdec.c

index 5d42db7..adf0ad0 100644 (file)
@@ -477,12 +477,17 @@ static int
 ogg_read_header (AVFormatContext * s, AVFormatParameters * ap)
 {
     struct ogg *ogg = s->priv_data;
+    int i;
     ogg->curidx = -1;
     //linear headers seek from start
     if (ogg_get_headers (s) < 0){
         return -1;
     }
 
+    for (i = 0; i < ogg->nstreams; i++)
+        if (ogg->streams[i].header < 0)
+            ogg->streams[i].codec = NULL;
+
     //linear granulepos seek from end
     ogg_get_length (s);