From cdd19e2c560397a72433425b1c5f781cc157a7cf Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Mon, 6 Nov 2017 20:50:16 +0100 Subject: [PATCH] avformat/ty: try harder to find stream signature Search all chunks, not just first one. Signed-off-by: Paul B Mahol --- libavformat/ty.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libavformat/ty.c b/libavformat/ty.c index bd871cba2e..3926d3e9b7 100644 --- a/libavformat/ty.c +++ b/libavformat/ty.c @@ -108,11 +108,16 @@ typedef struct TYDemuxContext { static int ty_probe(AVProbeData *p) { - if (AV_RB32(p->buf) == TIVO_PES_FILEID && - AV_RB32(p->buf + 4) == 0x02 && - AV_RB32(p->buf + 8) == CHUNK_SIZE) { - return AVPROBE_SCORE_MAX; + int i; + + for (i = 0; i + 12 < p->buf_size; i += CHUNK_SIZE) { + if (AV_RB32(p->buf + i) == TIVO_PES_FILEID && + AV_RB32(p->buf + i + 4) == 0x02 && + AV_RB32(p->buf + i + 8) == CHUNK_SIZE) { + return AVPROBE_SCORE_MAX; + } } + return 0; }