[FFmpeg-cvslog] r14600 - trunk/libavformat/matroskadec.c
aurel
subversion
Tue Aug 5 02:42:27 CEST 2008
Author: aurel
Date: Tue Aug 5 02:42:26 2008
New Revision: 14600
Log:
matroskadec: don't try to re-read already parsed ID in matroska_parse_cluster()
Modified:
trunk/libavformat/matroskadec.c
Modified: trunk/libavformat/matroskadec.c
==============================================================================
--- trunk/libavformat/matroskadec.c (original)
+++ trunk/libavformat/matroskadec.c Tue Aug 5 02:42:26 2008
@@ -1631,7 +1631,15 @@ static int matroska_parse_cluster(Matros
MatroskaCluster cluster = { 0 };
EbmlList *blocks_list;
MatroskaBlock *blocks;
- int i, res = ebml_parse(matroska, matroska_clusters, &cluster);
+ int i, res;
+ if (matroska->has_cluster_id){
+ /* For the first cluster we parse, it's ID was already read as
+ part of matroska_read_header(), so don't read it again */
+ res = ebml_parse_id(matroska, matroska_clusters,
+ MATROSKA_ID_CLUSTER, &cluster);
+ matroska->has_cluster_id = 0;
+ } else
+ 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++)
More information about the ffmpeg-cvslog
mailing list