vlc | branch: master | Francois Cartegnie <[email protected]> | Thu Feb 4 20:24:36 2021 +0100| [a1ad08a051f85a645c0353116c930806cdda6128] | committer: Francois Cartegnie
demux: mp4: compute cts_shift when missing > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a1ad08a051f85a645c0353116c930806cdda6128 --- modules/demux/mp4/mp4.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c index c926d47e72..2f12ab7c7e 100644 --- a/modules/demux/mp4/mp4.c +++ b/modules/demux/mp4/mp4.c @@ -2686,7 +2686,17 @@ static int TrackCreateSamplesIndex( demux_t *p_demux, int64_t i_cts_shift = 0; const MP4_Box_t *p_cslg = MP4_BoxGet( p_demux_track->p_stbl, "cslg" ); if( p_cslg && BOXDATA(p_cslg) ) + { i_cts_shift = BOXDATA(p_cslg)->ct_to_dts_shift; + } + else if( ctts->i_entry_count ) /* Compute for Quicktime */ + { + for( uint32_t i = 0; i < ctts->i_entry_count; i++ ) + { + if( ctts->pi_sample_offset[i] < 0 && ctts->pi_sample_offset[i] < -i_cts_shift ) + i_cts_shift = -ctts->pi_sample_offset[i]; + } + } /* Create pts-dts table per chunk */ uint32_t i_index = 0; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
