From fc4738ae963989967215238e82b76b2fcb52db6a Mon Sep 17 00:00:00 2001 From: Aurelien Jacobs Date: Wed, 4 Jun 2008 23:11:47 +0000 Subject: [PATCH] matroskadec: don't remove dummy level when none was added Originally committed as revision 13657 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/matroskadec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 89ce071fdb..f71589cbca 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -1888,6 +1888,7 @@ matroska_parse_seekhead (MatroskaDemuxContext *matroska) case MATROSKA_ID_SEEKENTRY: { uint32_t seek_id = 0, peek_id_cache = 0; uint64_t seek_pos = (uint64_t) -1, t; + int dummy_level = 0; if ((res = ebml_read_master(matroska, &id)) < 0) break; @@ -1964,6 +1965,7 @@ matroska_parse_seekhead (MatroskaDemuxContext *matroska) level.length = (uint64_t)-1; matroska->levels[matroska->num_levels] = level; matroska->num_levels++; + dummy_level = 1; /* check ID */ if (!(id = ebml_peek_id (matroska, @@ -2000,6 +2002,7 @@ matroska_parse_seekhead (MatroskaDemuxContext *matroska) finish: /* remove dummy level */ + if (dummy_level) while (matroska->num_levels) { matroska->num_levels--; length =