X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fstream_filter%2Fdash%2Fmpd%2FRepresentation.h;h=15cd62d427ac7bb73fd2db91c881b4dfb163bee2;hb=7a14bb56ac0d47de9a9fc0ac02cdec074461756e;hp=9ee076590748a0a5b68e76ba5a8a93784a12ed26;hpb=e16536dc6a14f3d095ab9b80da7277dd26cde21d;p=vlc diff --git a/modules/stream_filter/dash/mpd/Representation.h b/modules/stream_filter/dash/mpd/Representation.h index 9ee0765907..15cd62d427 100644 --- a/modules/stream_filter/dash/mpd/Representation.h +++ b/modules/stream_filter/dash/mpd/Representation.h @@ -30,24 +30,28 @@ #include "mpd/CommonAttributesElements.h" #include "mpd/SegmentInfo.h" #include "mpd/TrickModeType.h" -#include "exceptions/ElementNotPresentException.h" +#include "mpd/SegmentBase.h" +#include "mpd/SegmentList.h" namespace dash { namespace mpd { + class Group; + class Representation : public CommonAttributesElements { public: - Representation ( const std::map& attributes); + Representation(); virtual ~Representation (); const std::string& getId () const; void setId ( const std::string &id ); /* * @return The bitrate required for this representation - * in Bytes per seconds. - * -1 if an error occurs. + * in bits per seconds. + * Will be a valid value, as the parser refuses Representation + * without bandwidth. */ int getBandwidth () const; void setBandwidth ( int bandwidth ); @@ -55,20 +59,34 @@ namespace dash void setQualityRanking ( int qualityRanking ); const std::list& getDependencies() const; void addDependency ( const Representation* dep ); - SegmentInfo* getSegmentInfo () const throw(dash::exception::ElementNotPresentException); - TrickModeType* getTrickModeType () const throw(dash::exception::ElementNotPresentException); + /** + * @return This SegmentInfo for this Representation. + * It cannot be NULL, or without any Segments in it. + * It can however have a NULL InitSegment + */ + SegmentInfo* getSegmentInfo () const; + TrickModeType* getTrickModeType () const; + + void setSegmentInfo( SegmentInfo *info ); + void setTrickMode( TrickModeType *trickModeType ); + const Group* getParentGroup() const; + void setParentGroup( const Group *group ); - void setSegmentInfo (SegmentInfo *info); - void setTrickModeType (TrickModeType *trickModeType); + SegmentList* getSegmentList () const; + void setSegmentList (SegmentList *list); + SegmentBase* getSegmentBase () const; + void setSegmentBase (SegmentBase *base); private: int bandwidth; std::string id; int qualityRanking; std::list dependencies; - std::map attributes; SegmentInfo *segmentInfo; TrickModeType *trickModeType; + const Group *parentGroup; + SegmentBase *segmentBase; + SegmentList *segmentList; }; } }