diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index c4ae757e2b..82b8960848 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -849,7 +849,7 @@ static int matroska_probe(AVProbeData *p) static int ebml_parse_id(MatroskaDemuxContext *matroska, EbmlSyntax *syntax, uint32_t id, void *data); static int ebml_parse_nest(MatroskaDemuxContext *matroska, EbmlSyntax *syntax, - void *data, int once); + void *data); static int ebml_parse_elem(MatroskaDemuxContext *matroska, EbmlSyntax *syntax, void *data) @@ -882,7 +882,7 @@ static int ebml_parse_elem(MatroskaDemuxContext *matroska, return res; if (id == MATROSKA_ID_SEGMENT) matroska->segment_start = url_ftell(matroska->ctx->pb); - return ebml_parse_nest(matroska, syntax->def.n, data, 0); + return ebml_parse_nest(matroska, syntax->def.n, data); case EBML_PASS: return ebml_parse_id(matroska, syntax->def.n, id, data); case EBML_STOP: *(int *)data = 1; return 1; default: url_fskip(pb, length); return 0; @@ -915,7 +915,7 @@ static int ebml_parse(MatroskaDemuxContext *matroska, EbmlSyntax *syntax, } static int ebml_parse_nest(MatroskaDemuxContext *matroska, EbmlSyntax *syntax, - void *data, int once) + void *data) { int i, res = 0; @@ -933,11 +933,8 @@ static int ebml_parse_nest(MatroskaDemuxContext *matroska, EbmlSyntax *syntax, break; } - while (!res && !ebml_level_end(matroska)) { + while (!res && !ebml_level_end(matroska)) res = ebml_parse(matroska, syntax, data); - if (once) - break; - } return res; }