vlc | branch: master | Francois Cartegnie <[email protected]> | Tue Apr 18 18:28:12 2017 +0200| [f39891f1ae51098f4b6dc1ba13de3194c7017514] | committer: Francois Cartegnie
demux: adaptive: forward min buffering level through event > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f39891f1ae51098f4b6dc1ba13de3194c7017514 --- modules/demux/adaptive/SegmentTracker.cpp | 7 ++++--- modules/demux/adaptive/SegmentTracker.hpp | 5 +++-- modules/demux/adaptive/Streams.cpp | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/demux/adaptive/SegmentTracker.cpp b/modules/demux/adaptive/SegmentTracker.cpp index 168acd9a25..d5b849375e 100644 --- a/modules/demux/adaptive/SegmentTracker.cpp +++ b/modules/demux/adaptive/SegmentTracker.cpp @@ -60,9 +60,10 @@ SegmentTrackerEvent::SegmentTrackerEvent(const ID &id, bool enabled) u.buffering.id = &id; } -SegmentTrackerEvent::SegmentTrackerEvent(const ID &id, mtime_t current, mtime_t target) +SegmentTrackerEvent::SegmentTrackerEvent(const ID &id, mtime_t min, mtime_t current, mtime_t target) { type = BUFFERING_LEVEL_CHANGE; + u.buffering_level.minimum = min; u.buffering_level.current = current; u.buffering_level.target = target; u.buffering.id = &id; @@ -337,9 +338,9 @@ void SegmentTracker::notifyBufferingState(bool enabled) const notify(SegmentTrackerEvent(adaptationSet->getID(), enabled)); } -void SegmentTracker::notifyBufferingLevel(mtime_t current, mtime_t target) const +void SegmentTracker::notifyBufferingLevel(mtime_t min, mtime_t current, mtime_t target) const { - notify(SegmentTrackerEvent(adaptationSet->getID(), current, target)); + notify(SegmentTrackerEvent(adaptationSet->getID(), min, current, target)); } void SegmentTracker::registerListener(SegmentTrackerListenerInterface *listener) diff --git a/modules/demux/adaptive/SegmentTracker.hpp b/modules/demux/adaptive/SegmentTracker.hpp index e5b6f5a1c8..2c1f7ccb91 100644 --- a/modules/demux/adaptive/SegmentTracker.hpp +++ b/modules/demux/adaptive/SegmentTracker.hpp @@ -57,7 +57,7 @@ namespace adaptive SegmentTrackerEvent(BaseRepresentation *, BaseRepresentation *); SegmentTrackerEvent(const StreamFormat *); SegmentTrackerEvent(const ID &, bool); - SegmentTrackerEvent(const ID &, mtime_t, mtime_t); + SegmentTrackerEvent(const ID &, mtime_t, mtime_t, mtime_t); SegmentTrackerEvent(const ID &, mtime_t); enum { @@ -91,6 +91,7 @@ namespace adaptive struct { const ID *id; + mtime_t minimum; mtime_t current; mtime_t target; } buffering_level; @@ -123,7 +124,7 @@ namespace adaptive mtime_t getPlaybackTime() const; /* Current segment start time if selected */ mtime_t getMinAheadTime() const; void notifyBufferingState(bool) const; - void notifyBufferingLevel(mtime_t, mtime_t) const; + void notifyBufferingLevel(mtime_t, mtime_t, mtime_t) const; void registerListener(SegmentTrackerListenerInterface *); void updateSelected(); diff --git a/modules/demux/adaptive/Streams.cpp b/modules/demux/adaptive/Streams.cpp index 77c2aa3a2e..00bf83bc63 100644 --- a/modules/demux/adaptive/Streams.cpp +++ b/modules/demux/adaptive/Streams.cpp @@ -342,7 +342,7 @@ AbstractStream::buffering_status AbstractStream::doBufferize(mtime_t nz_deadline const int64_t i_total_buffering = i_min_buffering + i_extra_buffering; mtime_t i_demuxed = commandsqueue->getDemuxedAmount(); - segmentTracker->notifyBufferingLevel(i_demuxed, i_total_buffering); + segmentTracker->notifyBufferingLevel(i_min_buffering, i_demuxed, i_total_buffering); if(i_demuxed < i_total_buffering) /* not already demuxed */ { if(!segmentTracker->segmentsListReady()) /* Live Streams */ @@ -380,7 +380,7 @@ AbstractStream::buffering_status AbstractStream::doBufferize(mtime_t nz_deadline return AbstractStream::buffering_end; } i_demuxed = commandsqueue->getDemuxedAmount(); - segmentTracker->notifyBufferingLevel(i_demuxed, i_total_buffering); + segmentTracker->notifyBufferingLevel(i_min_buffering, i_demuxed, i_total_buffering); } vlc_mutex_unlock(&lock); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
