matroskadec: don't remove dummy level when none was added

Originally committed as revision 13657 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Aurelien Jacobs 2008-06-04 23:11:47 +00:00
parent d9e5c9b718
commit fc4738ae96

View File

@ -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 =