diff options
Diffstat (limited to 'Adaptation/AbstractAdaptationLogic.h')
-rw-r--r-- | Adaptation/AbstractAdaptationLogic.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Adaptation/AbstractAdaptationLogic.h b/Adaptation/AbstractAdaptationLogic.h new file mode 100644 index 00000000..24fab91d --- /dev/null +++ b/Adaptation/AbstractAdaptationLogic.h @@ -0,0 +1,58 @@ +/* + * AbstractAdaptationLogic.h + ***************************************************************************** + * Copyright (C) 2012, bitmovin Softwareentwicklung OG, All Rights Reserved + * + * Email: libdash-dev@vicky.bitmovin.net + * + * This source code and its use and distribution, is subject to the terms + * and conditions of the applicable license agreement. + *****************************************************************************/ + +#ifndef LIBDASH_FRAMEWORK_ADAPTATION_ABSTRACTADAPTATIONLOGIC_H_ +#define LIBDASH_FRAMEWORK_ADAPTATION_ABSTRACTADAPTATIONLOGIC_H_ + +#include "IAdaptationLogic.h" +#include "IMPD.h" + +namespace libdash +{ +namespace framework +{ +namespace adaptation +{ +class AbstractAdaptationLogic : public IAdaptationLogic +{ +public: + AbstractAdaptationLogic(dash::mpd::IMPD *mpd, dash::mpd::IPeriod* period, dash::mpd::IAdaptationSet *adaptationSet, bool isVideo); + virtual ~AbstractAdaptationLogic(); + + virtual uint32_t getPosition(); + virtual void setPosition(uint32_t segmentNumber); + virtual dash::mpd::IRepresentation* getRepresentation (); + virtual void setRepresentation(dash::mpd::IPeriod *period, + dash::mpd::IAdaptationSet *adaptationSet, + dash::mpd::IRepresentation *representation); + + virtual LogicType getType() = 0; + virtual bool isUserDependent() = 0; + virtual bool isRateBased() = 0; + virtual bool isBufferBased() = 0; + virtual void bitrateUpdate(uint64_t, uint32_t) = 0; + virtual void bufferUpdate(uint32_t, int) = 0; + virtual void onEOS(bool value)= 0; + virtual void dLTimeUpdate(double) = 0; + + virtual void checkedByDASHReceiver() = 0; +protected: + dash::mpd::IMPD *mpd; + dash::mpd::IPeriod *period; + dash::mpd::IAdaptationSet *adaptationSet; + dash::mpd::IRepresentation *representation; + uint32_t segmentNumber; + bool isVideo; +}; +} +} +} +#endif /* LIBDASH_FRAMEWORK_ADAPTATION_ABSTRACTADAPTATIONLOGIC_H_ */ |