From: Philip de Nier <[email protected]> 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 <[email protected]> --- libavformat/mxfdec.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index b8767c2..e3e74f0 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -1049,8 +1049,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 -1; -- 1.7.8 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
