vlc | branch: master | Francois Cartegnie <[email protected]> | Fri May 10 18:19:41 2019 +0200| [4a2f9f28259ebecbf51ac06f349e3fbd78f055ba] | committer: Francois Cartegnie
demux: adaptive: fix missing obj for logic debug > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4a2f9f28259ebecbf51ac06f349e3fbd78f055ba --- modules/demux/adaptive/PlaylistManager.cpp | 13 +++++++------ modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp | 3 ++- modules/demux/adaptive/logic/AbstractAdaptationLogic.h | 3 ++- modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.cpp | 4 ++-- modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.h | 2 +- .../demux/adaptive/logic/AlwaysLowestAdaptationLogic.cpp | 4 ++-- .../demux/adaptive/logic/AlwaysLowestAdaptationLogic.hpp | 2 +- modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp | 4 ++-- modules/demux/adaptive/logic/NearOptimalAdaptationLogic.hpp | 2 +- modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp | 5 ++--- modules/demux/adaptive/logic/PredictiveAdaptationLogic.hpp | 1 - modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp | 9 ++++----- modules/demux/adaptive/logic/RateBasedAdaptationLogic.h | 3 +-- 13 files changed, 27 insertions(+), 28 deletions(-) diff --git a/modules/demux/adaptive/PlaylistManager.cpp b/modules/demux/adaptive/PlaylistManager.cpp index b8cc7f23f1..e1def52518 100644 --- a/modules/demux/adaptive/PlaylistManager.cpp +++ b/modules/demux/adaptive/PlaylistManager.cpp @@ -716,25 +716,26 @@ void PlaylistManager::updateControlsContentType() AbstractAdaptationLogic *PlaylistManager::createLogic(AbstractAdaptationLogic::LogicType type, AbstractConnectionManager *conn) { + vlc_object_t *obj = VLC_OBJECT(p_demux); AbstractAdaptationLogic *logic = NULL; switch(type) { case AbstractAdaptationLogic::FixedRate: { size_t bps = var_InheritInteger(p_demux, "adaptive-bw") * 8192; - logic = new (std::nothrow) FixedRateAdaptationLogic(bps); + logic = new (std::nothrow) FixedRateAdaptationLogic(obj, bps); break; } case AbstractAdaptationLogic::AlwaysLowest: - logic = new (std::nothrow) AlwaysLowestAdaptationLogic(); + logic = new (std::nothrow) AlwaysLowestAdaptationLogic(obj); break; case AbstractAdaptationLogic::AlwaysBest: - logic = new (std::nothrow) AlwaysBestAdaptationLogic(); + logic = new (std::nothrow) AlwaysBestAdaptationLogic(obj); break; case AbstractAdaptationLogic::RateBased: { RateBasedAdaptationLogic *ratelogic = - new (std::nothrow) RateBasedAdaptationLogic(VLC_OBJECT(p_demux)); + new (std::nothrow) RateBasedAdaptationLogic(obj); if(ratelogic) conn->setDownloadRateObserver(ratelogic); logic = ratelogic; @@ -744,7 +745,7 @@ AbstractAdaptationLogic *PlaylistManager::createLogic(AbstractAdaptationLogic::L case AbstractAdaptationLogic::NearOptimal: { NearOptimalAdaptationLogic *noplogic = - new (std::nothrow) NearOptimalAdaptationLogic(); + new (std::nothrow) NearOptimalAdaptationLogic(obj); if(noplogic) conn->setDownloadRateObserver(noplogic); logic = noplogic; @@ -753,7 +754,7 @@ AbstractAdaptationLogic *PlaylistManager::createLogic(AbstractAdaptationLogic::L case AbstractAdaptationLogic::Predictive: { AbstractAdaptationLogic *predictivelogic = - new (std::nothrow) PredictiveAdaptationLogic(VLC_OBJECT(p_demux)); + new (std::nothrow) PredictiveAdaptationLogic(obj); if(predictivelogic) conn->setDownloadRateObserver(predictivelogic); logic = predictivelogic; diff --git a/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp b/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp index 3f53b396be..22efc19db1 100644 --- a/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp +++ b/modules/demux/adaptive/logic/AbstractAdaptationLogic.cpp @@ -31,8 +31,9 @@ using namespace adaptive::logic; -AbstractAdaptationLogic::AbstractAdaptationLogic () +AbstractAdaptationLogic::AbstractAdaptationLogic (vlc_object_t *obj) { + p_obj = obj; maxwidth = std::numeric_limits<int>::max(); maxheight = std::numeric_limits<int>::max(); } diff --git a/modules/demux/adaptive/logic/AbstractAdaptationLogic.h b/modules/demux/adaptive/logic/AbstractAdaptationLogic.h index 53e43b7bae..8db5ded177 100644 --- a/modules/demux/adaptive/logic/AbstractAdaptationLogic.h +++ b/modules/demux/adaptive/logic/AbstractAdaptationLogic.h @@ -44,7 +44,7 @@ namespace adaptive public SegmentTrackerListenerInterface { public: - AbstractAdaptationLogic (); + AbstractAdaptationLogic (vlc_object_t *); virtual ~AbstractAdaptationLogic (); virtual BaseRepresentation* getNextRepresentation(BaseAdaptationSet *, BaseRepresentation *) = 0; @@ -64,6 +64,7 @@ namespace adaptive }; protected: + vlc_object_t *p_obj; int maxwidth; int maxheight; }; diff --git a/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.cpp b/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.cpp index 78bf15cfe8..938c27c2b8 100644 --- a/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.cpp +++ b/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.cpp @@ -31,8 +31,8 @@ using namespace adaptive::logic; using namespace adaptive::playlist; -AlwaysBestAdaptationLogic::AlwaysBestAdaptationLogic () : - AbstractAdaptationLogic () +AlwaysBestAdaptationLogic::AlwaysBestAdaptationLogic (vlc_object_t *obj) : + AbstractAdaptationLogic (obj) { } diff --git a/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.h b/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.h index 7610948a7e..a841936fce 100644 --- a/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.h +++ b/modules/demux/adaptive/logic/AlwaysBestAdaptationLogic.h @@ -34,7 +34,7 @@ namespace adaptive class AlwaysBestAdaptationLogic : public AbstractAdaptationLogic { public: - AlwaysBestAdaptationLogic (); + AlwaysBestAdaptationLogic (vlc_object_t *); virtual BaseRepresentation *getNextRepresentation(BaseAdaptationSet *, BaseRepresentation *); }; diff --git a/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.cpp b/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.cpp index 0849467265..5af1532574 100644 --- a/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.cpp +++ b/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.cpp @@ -27,8 +27,8 @@ using namespace adaptive::logic; using namespace adaptive::playlist; -AlwaysLowestAdaptationLogic::AlwaysLowestAdaptationLogic(): - AbstractAdaptationLogic() +AlwaysLowestAdaptationLogic::AlwaysLowestAdaptationLogic(vlc_object_t *obj): + AbstractAdaptationLogic(obj) { } diff --git a/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.hpp b/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.hpp index f965c43f79..435cb03b9a 100644 --- a/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.hpp +++ b/modules/demux/adaptive/logic/AlwaysLowestAdaptationLogic.hpp @@ -29,7 +29,7 @@ namespace adaptive class AlwaysLowestAdaptationLogic : public AbstractAdaptationLogic { public: - AlwaysLowestAdaptationLogic(); + AlwaysLowestAdaptationLogic(vlc_object_t *); virtual BaseRepresentation* getNextRepresentation(BaseAdaptationSet *, BaseRepresentation *); }; diff --git a/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp b/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp index 1c99538375..ff4f7a7821 100644 --- a/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp +++ b/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp @@ -50,8 +50,8 @@ NearOptimalContext::NearOptimalContext() , last_download_rate( 0 ) { } -NearOptimalAdaptationLogic::NearOptimalAdaptationLogic() - : AbstractAdaptationLogic() +NearOptimalAdaptationLogic::NearOptimalAdaptationLogic(vlc_object_t *obj) + : AbstractAdaptationLogic(obj) , currentBps( 0 ) , usedBps( 0 ) { diff --git a/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.hpp b/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.hpp index 27ec175541..639641ab80 100644 --- a/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.hpp +++ b/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.hpp @@ -47,7 +47,7 @@ namespace adaptive class NearOptimalAdaptationLogic : public AbstractAdaptationLogic { public: - NearOptimalAdaptationLogic(); + NearOptimalAdaptationLogic(vlc_object_t *); virtual ~NearOptimalAdaptationLogic(); virtual BaseRepresentation* getNextRepresentation(BaseAdaptationSet *, BaseRepresentation *); diff --git a/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp b/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp index 4e85f16886..c81b40b59c 100644 --- a/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp +++ b/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp @@ -54,10 +54,9 @@ bool PredictiveStats::starting() const return (segments_count < 3) || !last_download_rate; } -PredictiveAdaptationLogic::PredictiveAdaptationLogic(vlc_object_t *p_obj_) - : AbstractAdaptationLogic() +PredictiveAdaptationLogic::PredictiveAdaptationLogic(vlc_object_t *obj) + : AbstractAdaptationLogic(obj) { - p_obj = p_obj_; usedBps = 0; vlc_mutex_init(&lock); } diff --git a/modules/demux/adaptive/logic/PredictiveAdaptationLogic.hpp b/modules/demux/adaptive/logic/PredictiveAdaptationLogic.hpp index b7acfdc257..958e25dcfe 100644 --- a/modules/demux/adaptive/logic/PredictiveAdaptationLogic.hpp +++ b/modules/demux/adaptive/logic/PredictiveAdaptationLogic.hpp @@ -59,7 +59,6 @@ namespace adaptive unsigned getAvailableBw(unsigned, const BaseRepresentation *) const; std::map<adaptive::ID, PredictiveStats> streams; unsigned usedBps; - vlc_object_t * p_obj; vlc_mutex_t lock; }; } diff --git a/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp b/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp index 1b10eaf33a..dc639e1c9d 100644 --- a/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp +++ b/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp @@ -36,14 +36,13 @@ using namespace adaptive::logic; using namespace adaptive; -RateBasedAdaptationLogic::RateBasedAdaptationLogic (vlc_object_t *p_obj_) : - AbstractAdaptationLogic (), +RateBasedAdaptationLogic::RateBasedAdaptationLogic (vlc_object_t *obj) : + AbstractAdaptationLogic (obj), bpsAvg(0), currentBps(0) { usedBps = 0; dllength = 0; - p_obj = p_obj_; dlsize = 0; vlc_mutex_init(&lock); } @@ -123,8 +122,8 @@ void RateBasedAdaptationLogic::trackerEvent(const SegmentTrackerEvent &event) } } -FixedRateAdaptationLogic::FixedRateAdaptationLogic(size_t bps) : - AbstractAdaptationLogic() +FixedRateAdaptationLogic::FixedRateAdaptationLogic(vlc_object_t *obj, size_t bps) : + AbstractAdaptationLogic(obj) { currentBps = bps; } diff --git a/modules/demux/adaptive/logic/RateBasedAdaptationLogic.h b/modules/demux/adaptive/logic/RateBasedAdaptationLogic.h index e2823d37ee..d0d25927cc 100644 --- a/modules/demux/adaptive/logic/RateBasedAdaptationLogic.h +++ b/modules/demux/adaptive/logic/RateBasedAdaptationLogic.h @@ -47,7 +47,6 @@ namespace adaptive size_t bpsAvg; size_t currentBps; size_t usedBps; - vlc_object_t * p_obj; MovingAverage<size_t> average; @@ -60,7 +59,7 @@ namespace adaptive class FixedRateAdaptationLogic : public AbstractAdaptationLogic { public: - FixedRateAdaptationLogic(size_t); + FixedRateAdaptationLogic(vlc_object_t *, size_t); BaseRepresentation *getNextRepresentation(BaseAdaptationSet *, BaseRepresentation *); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
