Mercurial > libavformat.hg
changeset 1211:2a06812eeca7 libavformat
skip run-in sequence during probe
author | bcoudurier |
---|---|
date | Tue, 01 Aug 2006 00:32:47 +0000 |
parents | 29b89b8d6d4d |
children | b4f48eb1f411 |
files | mxf.c |
diffstat | 1 files changed, 10 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mxf.c Mon Jul 31 15:26:33 2006 +0000 +++ b/mxf.c Tue Aug 01 00:32:47 2006 +0000 @@ -919,14 +919,19 @@ } 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; }