matroskadec: parse available blocks even when cluster parsing failed
authorAurelien Jacobs <aurel@gnuage.org>
Wed, 13 Aug 2008 09:36:45 +0000 (09:36 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Wed, 13 Aug 2008 09:36:45 +0000 (09:36 +0000)
This way, we still read the few complete blocks out of a truncated
cluster at the end of a truncated file.

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

libavformat/matroskadec.c

index 89c0d67..b42da26 100644 (file)
@@ -1601,7 +1601,7 @@ static int matroska_parse_cluster(MatroskaDemuxContext *matroska)
         res = ebml_parse(matroska, matroska_clusters, &cluster);
     blocks_list = &cluster.blocks;
     blocks = blocks_list->elem;
-    for (i=0; !res && i<blocks_list->nb_elem; i++)
+    for (i=0; i<blocks_list->nb_elem; i++)
         if (blocks[i].bin.size > 0)
             res=matroska_parse_block(matroska,
                                      blocks[i].bin.data, blocks[i].bin.size,