aboutsummaryrefslogtreecommitdiffstats
path: root/Adaptation/Panda.h
diff options
context:
space:
mode:
authorLuca Muscariello <lumuscar+fdio@cisco.com>2017-06-23 14:51:19 +0000
committerGerrit Code Review <gerrit@fd.io>2017-06-23 14:51:19 +0000
commitea99c36cadfab26fe4bf523931f87132c01a54a2 (patch)
tree13fc8ff2f6072add96f987a1a68a15c22d68d911 /Adaptation/Panda.h
parente207b82a2b7e70e2700cf1c4237a2e819c655809 (diff)
parenta644414fd2c3a3f7f41e716b6875a78981e4cfe1 (diff)
Merge "adding mpd live handling + automatic mpd fetching" into viper/master
Diffstat (limited to 'Adaptation/Panda.h')
-rw-r--r--Adaptation/Panda.h53
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 */