Commit 9c6d14ab authored by Andreas Rheinhardt's avatar Andreas Rheinhardt Committed by James Almer

avformat/matroskadec: Fix probing of unknown-length headers

matroska_probe did not support the case of an unknown-length EBML header
at all; given that libavformat's Matroska muxer used to produce such
files in the streaming case, support for them has been added.
Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
parent 3c70b941
......@@ -1519,9 +1519,14 @@ static int matroska_probe(const AVProbeData *p)
while (n < size)
total = (total << 8) | p->buf[4 + n++];
/* Does the probe data contain the whole header? */
if (p->buf_size < 4 + size + total)
return 0;
if (total + 1 == 1ULL << (7 * size)){
/* Unknown-length header - simply parse the whole buffer. */
total = p->buf_size - 4 - size;
} else {
/* Does the probe data contain the whole header? */
if (p->buf_size < 4 + size + total)
return 0;
}
/* The header should contain a known document type. For now,
* we don't parse the whole header but simply check for the
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment