# HG changeset patch # User aurel # Date 1212621107 0 # Node ID 36cdada322a04254e64a39be98eb173e92815a15 # Parent 7a023098140298e3c66acadf6d75f8b7010a82b7 matroskadec: don't remove dummy level when none was added diff -r 7a0230981402 -r 36cdada322a0 matroskadec.c --- a/matroskadec.c Tue Jun 03 16:20:54 2008 +0000 +++ b/matroskadec.c Wed Jun 04 23:11:47 2008 +0000 @@ -1888,6 +1888,7 @@ 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 @@ 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 @@ finish: /* remove dummy level */ + if (dummy_level) while (matroska->num_levels) { matroska->num_levels--; length =