diff options
author | jacko <jsamain+fdio@cisco.com> | 2017-06-23 16:12:18 +0200 |
---|---|---|
committer | jacko <jsamain+fdio@cisco.com> | 2017-06-23 16:12:18 +0200 |
commit | a644414fd2c3a3f7f41e716b6875a78981e4cfe1 (patch) | |
tree | 13fc8ff2f6072add96f987a1a68a15c22d68d911 /Adaptation/Panda.h | |
parent | f8907f0a7a84928800adbbfd8e66e500794aa5d5 (diff) |
adding mpd live handling + automatic mpd fetching
Change-Id: I2c05bdf6a4d940ad22bb8632268f4b63a08a80a8
Signed-off-by: jacko <jsamain+fdio@cisco.com>
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 */ |