From 44cea7651b010ed7dea46d4c71f170e2a3dbfaa6 Mon Sep 17 00:00:00 2001 From: Aurelien Jacobs Date: Tue, 5 Aug 2008 00:41:40 +0000 Subject: [PATCH] matroskadec: extract read_level_up out of ebml_read_element_id Originally committed as revision 14585 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/matroskadec.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 3b676214bb..498e3d9e75 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -559,10 +559,6 @@ ebml_read_element_id (MatroskaDemuxContext *matroska, return read; *id = matroska->peek_id = total | (1 << (read * 7)); - /* level tracking */ - if (level_up) - *level_up = ebml_read_element_level_up(matroska); - return read; } @@ -591,10 +587,15 @@ ebml_peek_id (MatroskaDemuxContext *matroska, int *level_up) { uint32_t id; + int res; - if (ebml_read_element_id(matroska, &id, level_up) < 0) + res = ebml_read_element_id(matroska, &id, NULL); + if (res < 0) return 0; + if (res > 0 && level_up) + *level_up = ebml_read_element_level_up(matroska); + return id; }