summaryrefslogtreecommitdiff
path: root/libavformat/mov.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2012-01-18 15:12:10 +0200
committerMartin Storsjö <martin@martin.st>2012-01-31 00:13:31 +0200
commit75ab1e62d4187c8ad627835ee8fcf38501477caf (patch)
tree8a5ba6a46dd0e654d08d0b86c03dfdc21acd3334 /libavformat/mov.c
parent89f6e8a20c07ad779ca374fdc5b16a22a37a6150 (diff)
movdec: Ignore sample_degradation_priority bits when checking first_sample_flags
This makes the first packet of a track fragment run to get the keyframe flag set properly if sample_degradation_priority is nonzero. This makes the keyframes flag be set properly for ismv files created by Microsoft. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r--libavformat/mov.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index b7d8a55933..0ce32e0f8e 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2250,7 +2250,7 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom)
sc->ctts_data[sc->ctts_count].duration = (flags & 0x800) ? avio_rb32(pb) : 0;
sc->ctts_count++;
if ((keyframe = st->codec->codec_type == AVMEDIA_TYPE_AUDIO ||
- (flags & 0x004 && !i && !sample_flags) || sample_flags & 0x2000000))
+ (flags & 0x004 && !i && !(sample_flags & 0xffff0000)) || sample_flags & 0x2000000))
distance = 0;
av_add_index_entry(st, offset, dts, sample_size, distance,
keyframe ? AVINDEX_KEYFRAME : 0);