void SegmentInformation::mergeWithTimeline(SegmentTimeline *updated) { MediaSegmentTemplate *templ = inheritSegmentTemplate(); if(templ) { SegmentTimeline *timeline = templ->segmentTimeline.Get(); if(timeline) timeline->mergeWith(*updated); } }
void MediaSegmentTemplate::mergeWith(MediaSegmentTemplate *updated, vlc_tick_t prunebarrier) { SegmentTimeline *timeline = segmentTimeline.Get(); if(timeline && updated->segmentTimeline.Get()) { timeline->mergeWith(*updated->segmentTimeline.Get()); if(prunebarrier) { const Timescale timescale = timeline->inheritTimescale(); const uint64_t number = timeline->getElementNumberByScaledPlaybackTime(timescale.ToScaled(prunebarrier)); timeline->pruneBySequenceNumber(number); } } }