diff options
author | Luca Muscariello <lumuscar+fdio@cisco.com> | 2017-06-23 14:51:19 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@fd.io> | 2017-06-23 14:51:19 +0000 |
commit | ea99c36cadfab26fe4bf523931f87132c01a54a2 (patch) | |
tree | 13fc8ff2f6072add96f987a1a68a15c22d68d911 /Adaptation/Panda.h | |
parent | e207b82a2b7e70e2700cf1c4237a2e819c655809 (diff) | |
parent | a644414fd2c3a3f7f41e716b6875a78981e4cfe1 (diff) |
Merge "adding mpd live handling + automatic mpd fetching" into viper/master
Diffstat (limited to 'Adaptation/Panda.h')
-rw-r--r-- | Adaptation/Panda.h | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/Adaptation/Panda.h b/Adaptation/Panda.h index 000131a1..37b397fe 100644 --- a/Adaptation/Panda.h +++ b/Adaptation/Panda.h @@ -29,7 +29,8 @@ namespace adaptation class PandaAdaptation : public AbstractAdaptationLogic { public: - PandaAdaptation(dash::mpd::IMPD *mpd, dash::mpd::IPeriod *period, dash::mpd::IAdaptationSet *adaptationSet, bool isVid, struct AdaptationParameters *params); +// PandaAdaptation(dash::mpd::IMPD *mpd, dash::mpd::IPeriod *period, dash::mpd::IAdaptationSet *adaptationSet, bool isVid, struct AdaptationParameters *params); + PandaAdaptation(viper::managers::StreamType type, libdash::framework::mpd::MPDWrapper *mpdWrapper, struct AdaptationParameters *params); virtual ~PandaAdaptation(); virtual LogicType getType(); @@ -48,38 +49,36 @@ public: void quantizer(); private: - uint64_t currentBitrate; + uint64_t currentBitrate; std::vector<uint64_t> availableBitrates; viper::managers::IMultimediaManagerBase *multimediaManager; - dash::mpd::IRepresentation *representation; + dash::mpd::IRepresentation *representation; - uint64_t averageBw; // Classic EWMA - uint64_t instantBw; - uint64_t smoothBw; // Panda paper smoothed y[n] - uint64_t targetBw; // Panda paper x[n] bw estimation + uint64_t averageBw; // Classic EWMA + uint64_t instantBw; + uint64_t smoothBw; // Panda paper smoothed y[n] + uint64_t targetBw; // Panda paper x[n] bw estimation + double param_Alpha; + double alpha_ewma; + double param_Epsilon; + double param_K; + double param_W; + double param_Beta; + double param_Bmin; + double interTime; // Actual inter time + double targetInterTime; // Target inter time + double downloadTime; - double param_Alpha; - double alpha_ewma; - double param_Epsilon; - double param_K; - double param_W; - double param_Beta; - double param_Bmin; + uint32_t bufferLevel; + uint32_t lastBufferLevel; + double bufferMaxSizeSeconds; // Usually set to 60s + double bufferLevelSeconds; // Current buffer level [s] - double interTime; // Actual inter time - double targetInterTime; // Target inter time - double downloadTime; - - uint32_t bufferLevel; - uint32_t lastBufferLevel; - double bufferMaxSizeSeconds; // Usually set to 60s - double bufferLevelSeconds; // Current buffer level [s] - - double segmentDuration; - double deltaUp; - double deltaDown; - size_t current; + double segmentDuration; + double deltaUp; + double deltaDown; + size_t current; }; } /* namespace adaptation */ |