[vlc-commits] stream_filter: dash: add classId to segments

Francois Cartegnie git at videolan.org
Thu Dec 18 22:39:52 CET 2014


vlc | branch: master | Francois Cartegnie <fcvlcdev at 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;
         };



More information about the vlc-commits mailing list