Browse Source

avformat/mov: Handle when we have an mfra box but have not read the full sidx for a fragment

Use the tfra timestamp if it is available and sidx timestamp is not.

Fixes reading the entire file after seeking in a live-style DASH FMP4
with an MFRA.

This specifically fixes when use_mfra_for is set.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
tags/n4.4
Derek Buitenhuis 4 years ago
parent
commit
8f1580c31a
1 changed files with 4 additions and 0 deletions
  1. +4
    -0
      libavformat/mov.c

+ 4
- 0
libavformat/mov.c View File

@@ -1279,6 +1279,10 @@ static int64_t get_frag_time(MOVFragmentIndex *frag_index,

if (track_id >= 0) {
frag_stream_info = get_frag_stream_info(frag_index, index, track_id);
if (frag_stream_info->sidx_pts != AV_NOPTS_VALUE)
return frag_stream_info->sidx_pts;
if (frag_stream_info->first_tfra_pts != AV_NOPTS_VALUE)
return frag_stream_info->first_tfra_pts;
return frag_stream_info->sidx_pts;
}



Loading…
Cancel
Save