Commit fa190b3c authored by Carl Eugen Hoyos's avatar Carl Eugen Hoyos

Improve MPEG-PS-in-MOV detection.

Fixes issue 1520.
parent 747a00b6
...@@ -2908,15 +2908,14 @@ static int mov_probe(AVProbeData *p) ...@@ -2908,15 +2908,14 @@ static int mov_probe(AVProbeData *p)
* MOV-packed MPEG-PS */ * MOV-packed MPEG-PS */
offset = moov_offset; offset = moov_offset;
while(offset < (p->buf_size - 20)){ /* Sufficient space */ while(offset < (p->buf_size - 16)){ /* Sufficient space */
/* We found an actual stsd atom */ /* We found an actual hdlr atom */
if(AV_RL32(p->buf+offset) == MKTAG('s','t','s','d') && if(AV_RL32(p->buf + offset ) == MKTAG('h','d','l','r') &&
/* Make sure there's only one stream */ AV_RL32(p->buf + offset + 8) == MKTAG('m','h','l','r') &&
AV_RB32(p->buf + offset + 8) == 1 && AV_RL32(p->buf + offset + 12) == MKTAG('M','P','E','G')){
AV_RL32(p->buf + offset + 16) == MKTAG('m','1','s',' ') av_log(NULL, AV_LOG_WARNING, "Found media data tag MPEG indicating this is a MOV-packed MPEG-PS.\n");
){ /* We found a media handler reference atom describing an
av_log(NULL, AV_LOG_WARNING, "Found m1s tag indicating this is a MOV-packed MPEG-PS.\n"); * MPEG-PS-in-MOV, return a
/* We found an stsd atom describing an MPEG-PS-in-MOV, return a
* low score to force expanding the probe window until * low score to force expanding the probe window until
* mpegps_probe finds what it needs */ * mpegps_probe finds what it needs */
return 5; return 5;
......
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