From 05c1a838c881ea502888659848d8792843b28718 Mon Sep 17 00:00:00 2001 From: Luca Muscariello Date: Sat, 25 Feb 2017 23:42:31 +0100 Subject: Initial commit: video player - viper Change-Id: Id5aa33598ce34659bad4a7a9ae5006bfb84f9bd1 Signed-off-by: Luca Muscariello --- libdash/source/mpd/AdaptationSet.h | 138 +++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 libdash/source/mpd/AdaptationSet.h (limited to 'libdash/source/mpd/AdaptationSet.h') diff --git a/libdash/source/mpd/AdaptationSet.h b/libdash/source/mpd/AdaptationSet.h new file mode 100644 index 00000000..5a17cf4a --- /dev/null +++ b/libdash/source/mpd/AdaptationSet.h @@ -0,0 +1,138 @@ +/* + * AdaptationSet.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 ADAPTATIONSET_H_ +#define ADAPTATIONSET_H_ + +#include "config.h" + +#include "IAdaptationSet.h" +#include "RepresentationBase.h" +#include "BaseUrl.h" +#include "SegmentBase.h" +#include "SegmentList.h" +#include "SegmentTemplate.h" +#include "ContentComponent.h" +#include "Representation.h" + +namespace dash +{ + namespace mpd + { + class AdaptationSet : public IAdaptationSet, public RepresentationBase + { + public: + AdaptationSet (); + virtual ~AdaptationSet (); + + const std::vector& GetAccessibility () const; + const std::vector& GetRole () const; + const std::vector& GetRating () const; + const std::vector& GetViewpoint () const; + const std::vector& GetContentComponent () const; + const std::vector& GetBaseURLs () const; + ISegmentBase* GetSegmentBase () const; + ISegmentList* GetSegmentList () const; + ISegmentTemplate* GetSegmentTemplate () const; + const std::vector& GetRepresentation () const; + const std::string& GetXlinkHref () const; + const std::string& GetXlinkActuate () const; + uint32_t GetId () const; + uint32_t GetGroup () const; + const std::string& GetLang () const; + const std::string& GetContentType () const; + const std::string& GetPar () const; + uint32_t GetMinBandwidth () const; + uint32_t GetMaxBandwidth () const; + uint32_t GetMinWidth () const; + uint32_t GetMaxWidth () const; + uint32_t GetMinHeight () const; + uint32_t GetMaxHeight () const; + const std::string& GetMinFramerate () const; + const std::string& GetMaxFramerate () const; + bool SegmentAlignmentIsBoolValue () const; + bool HasSegmentAlignment () const; + uint32_t GetSegmentAligment () const; + bool SubsegmentAlignmentIsBoolValue () const; + bool HasSubsegmentAlignment () const; + uint32_t GetSubsegmentAlignment () const; + uint8_t GetSubsegmentStartsWithSAP () const; + bool GetBitstreamSwitching () const; + + void AddAccessibity (Descriptor *accessibility); + void AddRole (Descriptor *role); + void AddRating (Descriptor *rating); + void AddViewpoint (Descriptor *viewpoint); + void AddContentComponent (ContentComponent *contentComponent); + void AddBaseURL (BaseUrl *baseURL); + void SetSegmentBase (SegmentBase *segmentBase); + void SetSegmentList (SegmentList *segmentList); + void SetSegmentTemplate (SegmentTemplate *segmentTemplate); + void AddRepresentation (Representation* representation); + void SetXlinkHref (const std::string& xlinkHref); + void SetXlinkActuate (const std::string& xlinkActuate); + void SetId (uint32_t id); + void SetGroup (uint32_t group); + void SetLang (const std::string& lang); + void SetContentType (const std::string& contentType); + void SetPar (const std::string& par); + void SetMinBandwidth (uint32_t minBandwidth); + void SetMaxBandwidth (uint32_t maxBandwidth); + void SetMinWidth (uint32_t minWidth); + void SetMaxWidth (uint32_t maxWidth); + void SetMinHeight (uint32_t minHeight); + void SetMaxHeight (uint32_t maxHeight); + void SetMinFramerate (const std::string& minFramerate); + void SetMaxFramerate (const std::string& maxFramerate); + void SetSegmentAlignment (const std::string& segmentAlignment); + void SetSubsegmentAlignment (const std::string& subsegmentAlignment); + void SetSubsegmentStartsWithSAP (uint8_t subsegmentStartsWithSAP); + void SetBitstreamSwitching (bool value); + + private: + std::vector accessibility; + std::vector role; + std::vector rating; + std::vector viewpoint; + std::vector contentComponent; + std::vector baseURLs; + SegmentBase *segmentBase; + SegmentList *segmentList; + SegmentTemplate *segmentTemplate; + std::vector representation; + std::string xlinkHref; + std::string xlinkActuate; + uint32_t id; + uint32_t group; + std::string lang; + std::string contentType; + std::string par; + uint32_t minBandwidth; + uint32_t maxBandwidth; + uint32_t minWidth; + uint32_t maxWidth; + uint32_t minHeight; + uint32_t maxHeight; + std::string minFramerate; + std::string maxFramerate; + bool segmentAlignmentIsBool; + bool subsegmentAlignmentIsBool; + bool usesSegmentAlignment; + bool usesSubsegmentAlignment; + uint32_t segmentAlignment; + uint32_t subsegmentAlignment; + uint8_t subsegmentStartsWithSAP; + bool isBitstreamSwitching; + }; + } +} + +#endif /* ADAPTATIONSET_H_ */ -- cgit 1.2.3-korg