From ba32c8dfd9efd5a9e595e4575425d39a333057fb Mon Sep 17 00:00:00 2001
From: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Date: Tue, 1 Aug 2006 00:32:47 +0000
Subject: [PATCH] skip run-in sequence during probe

Originally committed as revision 5876 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/mxf.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/libavformat/mxf.c b/libavformat/mxf.c
index aaf9a1833fd..2eb026c5a90 100644
--- a/libavformat/mxf.c
+++ b/libavformat/mxf.c
@@ -919,14 +919,19 @@ static int mxf_read_close(AVFormatContext *s)
 }
 
 static int mxf_probe(AVProbeData *p) {
-    /* KLV packet describing MXF header partition pack */
+    uint8_t *bufp = p->buf;
+    uint8_t *end = p->buf + p->buf_size;
+
     if (p->buf_size < sizeof(mxf_header_partition_pack_key))
         return 0;
 
-    if (IS_KLV_KEY(p->buf, mxf_header_partition_pack_key))
-        return AVPROBE_SCORE_MAX;
-    else
-        return 0;
+    /* Must skip Run-In Sequence and search for MXF header partition pack key SMPTE 377M 5.5 */
+    end -= sizeof(mxf_header_partition_pack_key);
+    for (; bufp < end; bufp++) {
+        if (IS_KLV_KEY(bufp, mxf_header_partition_pack_key))
+            return AVPROBE_SCORE_MAX;
+    }
+    return 0;
 }
 
 
-- 
GitLab