From 0662eea6b0b6a94753ed2fda813de1c3d8692fd8 Mon Sep 17 00:00:00 2001 From: Philip de Nier Date: Mon, 12 Sep 2011 11:13:44 +0100 Subject: [PATCH] mxfdec: skip to end of structural sets This fixes reading of partition packs. The code stops reading after the operational pattern and should skip the array of essence container labels that follow. Signed-off-by: Janne Grunau --- libavformat/mxfdec.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index 33c931e0e0..38e98a35a0 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -1053,8 +1053,11 @@ static int mxf_read_header(AVFormatContext *s, AVFormatParameters *ap) int res; if (klv.key[5] == 0x53) { res = mxf_read_local_tags(mxf, &klv, metadata->read, metadata->ctx_size, metadata->type); - } else + } else { + uint64_t next = avio_tell(s->pb) + klv.length; res = metadata->read(mxf, s->pb, 0, 0, klv.key); + avio_seek(s->pb, next, SEEK_SET); + } if (res < 0) { av_log(s, AV_LOG_ERROR, "error reading header metadata\n"); return res;