summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demux/demux_lavf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c
index 54c144bcc1..b1800018c4 100644
--- a/demux/demux_lavf.c
+++ b/demux/demux_lavf.c
@@ -430,6 +430,10 @@ static int lavf_check_file(demuxer_t *demuxer, enum demux_check check)
int nsize = av_clip(avpd.buf_size * 2, INITIAL_PROBE_SIZE,
PROBE_BUF_SIZE);
bstr buf = stream_peek(s, nsize);
+ if (demuxer->params && demuxer->params->init_fragment.len) {
+ buf = demuxer->params->init_fragment;
+ buf.len = MPMIN(buf.len, nsize);
+ }
if (buf.len <= avpd.buf_size)
final_probe = true;
memcpy(avpd.buf, buf.start, buf.len);