aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAurelien Jacobs <aurel@gnuage.org>2006-11-12 16:59:27 +0000
committerAurelien Jacobs <aurel@gnuage.org>2006-11-12 16:59:27 +0000
commit7e2447028cc9ba184e2be530288ddd1ee959a852 (patch)
treebc84d78e7dbdbb62c973940f1f0f72f573a5934e
parent0032cac2c9baa43a102cc339bfbd79bc209f9998 (diff)
downloadffmpeg-7e2447028cc9ba184e2be530288ddd1ee959a852.tar.gz
Allows playback of truncated matroska files.
Originally committed as revision 6989 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/matroska.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/libavformat/matroska.c b/libavformat/matroska.c
index 758fe65c7f..7eca05b9b0 100644
--- a/libavformat/matroska.c
+++ b/libavformat/matroska.c
@@ -1942,7 +1942,7 @@ matroska_parse_seekhead (MatroskaDemuxContext *matroska)
/* check ID */
if (!(id = ebml_peek_id (matroska,
&matroska->level_up)))
- break;
+ goto finish;
if (id != seek_id) {
av_log(matroska->ctx, AV_LOG_INFO,
"We looked for ID=0x%x but got "
@@ -1954,7 +1954,7 @@ matroska_parse_seekhead (MatroskaDemuxContext *matroska)
/* read master + parse */
if ((res = ebml_read_master(matroska, &id)) < 0)
- break;
+ goto finish;
switch (id) {
case MATROSKA_ID_CUES:
if (!(res = matroska_parse_index(matroska)) ||
@@ -1971,8 +1971,6 @@ matroska_parse_seekhead (MatroskaDemuxContext *matroska)
}
break;
}
- if (res < 0)
- break;
finish:
/* remove dummy level */