vlc | branch: master | Francois Cartegnie <fcvlc...@free.fr> | Fri Nov 28 17:55:43 2014 +0100| [98b674d719d43ae3cc1f34d77b5f794ceba736ad] | committer: Francois Cartegnie
stream_filter: dash: add classId to segments > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=98b674d719d43ae3cc1f34d77b5f794ceba736ad --- modules/stream_filter/dash/mpd/Segment.cpp | 10 ++++++++++ modules/stream_filter/dash/mpd/Segment.h | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/modules/stream_filter/dash/mpd/Segment.cpp b/modules/stream_filter/dash/mpd/Segment.cpp index 2228624..bbce30e 100644 --- a/modules/stream_filter/dash/mpd/Segment.cpp +++ b/modules/stream_filter/dash/mpd/Segment.cpp @@ -41,6 +41,7 @@ ISegment::ISegment(const ICanonicalUrl *parent): endByte (0) { debugName = "Segment"; + classId = CLASSID_ISEGMENT; } dash::http::Chunk * ISegment::getChunk() @@ -89,6 +90,11 @@ std::string ISegment::toString() const return ss.str(); } +int ISegment::getClassId() const +{ + return classId; +} + ISegment::SegmentChunk::SegmentChunk(ISegment *segment_) : dash::http::Chunk() { @@ -109,6 +115,7 @@ Segment::Segment(Representation *parent) : this->size = parent->getBandwidth() * parent->getSegmentInfo()->getDuration(); else this->size = -1; + classId = CLASSID_SEGMENT; } Segment::~Segment() @@ -184,12 +191,14 @@ InitSegment::InitSegment(Representation *parent) : Segment(parent) { debugName = "InitSegment"; + classId = CLASSID_INITSEGMENT; } IndexSegment::IndexSegment(Representation *parent) : Segment(parent) { debugName = "IndexSegment"; + classId = CLASSID_INDEXSEGMENT; } dash::http::Chunk * IndexSegment::getChunk() @@ -212,6 +221,7 @@ SubSegment::SubSegment(Segment *main, size_t start, size_t end) : { setByteRange(start, end); debugName = "SubSegment"; + classId = CLASSID_SUBSEGMENT; } std::string SubSegment::getUrlSegment() const diff --git a/modules/stream_filter/dash/mpd/Segment.h b/modules/stream_filter/dash/mpd/Segment.h index 7c94124..722bade 100644 --- a/modules/stream_filter/dash/mpd/Segment.h +++ b/modules/stream_filter/dash/mpd/Segment.h @@ -56,11 +56,15 @@ namespace dash virtual std::vector<ISegment*> subSegments () = 0; virtual std::string toString () const; virtual Representation* getRepresentation() const = 0; + int getClassId () const; + + static const int CLASSID_ISEGMENT = 0; protected: size_t startByte; size_t endByte; std::string debugName; + int classId; class SegmentChunk : public dash::http::Chunk { @@ -85,6 +89,7 @@ namespace dash virtual dash::http::Chunk* toChunk(); virtual std::vector<ISegment*> subSegments(); virtual Representation* getRepresentation() const; + static const int CLASSID_SEGMENT = 1; protected: Representation* parentRepresentation; @@ -97,12 +102,14 @@ namespace dash { public: InitSegment( Representation *parent ); + static const int CLASSID_INITSEGMENT = 2; }; class IndexSegment : public Segment { public: IndexSegment( Representation *parent ); + static const int CLASSID_INDEXSEGMENT = 3; protected: class IndexSegmentChunk : public SegmentChunk @@ -122,6 +129,7 @@ namespace dash virtual std::string getUrlSegment() const; /* impl */ virtual std::vector<ISegment*> subSegments(); virtual Representation* getRepresentation() const; + static const int CLASSID_SUBSEGMENT = 4; private: Segment *parent; }; _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits