diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-07-01 16:31:54 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-01 16:31:57 +0200 |
commit | fb318def5d3a65efcc6c1f54dabbc06c4959dbcc (patch) | |
tree | 7e45caeac327d50d1013a2a9761cffb9ad821412 /libavformat/mov.c | |
parent | 8d0c7031a846fe27c2a44831e743ee722174fdc0 (diff) | |
parent | 20f95f21f9b9595608ba668a6eca78f2d508be67 (diff) | |
download | ffmpeg-fb318def5d3a65efcc6c1f54dabbc06c4959dbcc.tar.gz |
Merge commit '20f95f21f9b9595608ba668a6eca78f2d508be67'
* commit '20f95f21f9b9595608ba668a6eca78f2d508be67':
mov: Support default-base-is-moof.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r-- | libavformat/mov.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index ff45394ae8..03ed6d4220 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -779,7 +779,7 @@ static int mov_read_moov(MOVContext *c, AVIOContext *pb, MOVAtom atom) static int mov_read_moof(MOVContext *c, AVIOContext *pb, MOVAtom atom) { - c->fragment.moof_offset = avio_tell(pb) - 8; + c->fragment.moof_offset = c->fragment.implicit_offset = avio_tell(pb) - 8; av_dlog(c->fc, "moof offset %"PRIx64"\n", c->fragment.moof_offset); return mov_read_default(c, pb, atom); } @@ -2730,7 +2730,8 @@ static int mov_read_tfhd(MOVContext *c, AVIOContext *pb, MOVAtom atom) } frag->base_data_offset = flags & MOV_TFHD_BASE_DATA_OFFSET ? - avio_rb64(pb) : frag->moof_offset; + avio_rb64(pb) : flags & MOV_TFHD_DEFAULT_BASE_IS_MOOF ? + frag->moof_offset : frag->implicit_offset; frag->stsd_id = flags & MOV_TFHD_STSD_ID ? avio_rb32(pb) : trex->stsd_id; frag->duration = flags & MOV_TFHD_DEFAULT_DURATION ? @@ -2872,7 +2873,7 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom) if (pb->eof_reached) return AVERROR_EOF; - frag->moof_offset = offset; + frag->implicit_offset = offset; st->duration = sc->track_end = dts + sc->time_offset; return 0; } |