vlc | branch: master | Francois Cartegnie <[email protected]> | Mon Sep 28 18:01:02 2015 +0200| [4c0c0d37fdb319c509c3adb7147250a6b0bcbf88] | committer: Francois Cartegnie
demux: adaptative: fix timeline number to time regression since using absolute numbering > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4c0c0d37fdb319c509c3adb7147250a6b0bcbf88 --- .../demux/adaptative/playlist/SegmentTimeline.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/modules/demux/adaptative/playlist/SegmentTimeline.cpp b/modules/demux/adaptative/playlist/SegmentTimeline.cpp index 7bbef44..637260d 100644 --- a/modules/demux/adaptative/playlist/SegmentTimeline.cpp +++ b/modules/demux/adaptative/playlist/SegmentTimeline.cpp @@ -85,14 +85,22 @@ stime_t SegmentTimeline::getScaledPlaybackTimeByElementNumber(uint64_t number) c { const Element *el = *it; - if(number >= el->number) + /* set start time, or from discontinuity */ + if(it == elements.begin() || el->t) { - if(number <= el->number + el->r) - { - return el->t + (number * el->d); - } - totalscaledtime = el->t + (number * el->d); + totalscaledtime = el->t; } + + if(number <= el->number) + break; + + if(number <= el->number + el->r) + { + totalscaledtime += el->d * (number - el->number); + break; + } + + totalscaledtime += (el->d * (el->r + 1)); } return totalscaledtime; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
