]> git.sesse.net Git - vlc/commitdiff
stream_filter: dash: fix iteration on different lists
authorFrancois Cartegnie <fcvlcdev@free.fr>
Mon, 17 Nov 2014 21:42:10 +0000 (22:42 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Thu, 18 Dec 2014 20:23:48 +0000 (21:23 +0100)
List was not returned by reference

modules/stream_filter/dash/mpd/AdaptationSet.cpp
modules/stream_filter/dash/mpd/AdaptationSet.h
modules/stream_filter/dash/mpd/IsoffMainParser.cpp

index 29676929022468feb76ea78ce53c115d3f2351f3..d48fcc50663b4881003ad8e278eb738a2db885c7 100644 (file)
@@ -58,7 +58,7 @@ void AdaptationSet::setSubsegmentAlignmentFlag(bool alignment)
     this->subsegmentAlignmentFlag = alignment;
 }
 
-std::vector<Representation*>    AdaptationSet::getRepresentations       ()
+std::vector<Representation*>&    AdaptationSet::getRepresentations       ()
 {
     return this->representations;
 }
index 063d466700b3027a849ca7ae5adc1df4e7a74b7c..8b48a4b9f25476c9207113441d5653dd7dd3fe75 100644 (file)
@@ -46,7 +46,7 @@ namespace dash
 
                 bool                            getSubsegmentAlignmentFlag() const;
                 void                            setSubsegmentAlignmentFlag( bool alignment );
-                std::vector<Representation *>   getRepresentations      ();
+                std::vector<Representation *>&  getRepresentations      ();
                 const Representation*           getRepresentationById   ( const std::string &id ) const;
                 const SegmentInfoDefault*       getSegmentInfoDefault() const;
                 void                            setSegmentInfoDefault( const SegmentInfoDefault* seg );
index 8329990f567b18dd9e12215567ccb2006ec79fd1..35faa4dd3b0df4a40af148d7eaf75dd49f3bf382 100644 (file)
@@ -192,15 +192,20 @@ void    IsoffMainParser::print              ()
             {
                 msg_Dbg(p_stream, "  AdaptationSet");
                 std::vector<Representation *>::const_iterator k;
-                for(k = (*j)->getRepresentations().begin(); k != (*j)->getRepresentations().begin(); k++)
+                for(k = (*j)->getRepresentations().begin(); k != (*j)->getRepresentations().end(); k++)
                 {
                     msg_Dbg(p_stream, "   Representation");
                     msg_Dbg(p_stream, "    InitSeg url=%s", (*k)->getSegmentBase()->getInitSegment()->getSourceUrl().c_str());
-                    std::vector<Segment *>::const_iterator l;
-                    for(l = (*k)->getSegmentList()->getSegments().begin();
-                        l < (*k)->getSegmentList()->getSegments().end(); l++)
+
+                    const SegmentList *segmentList = (*k)->getSegmentList();
+                    if (segmentList)
                     {
-                        msg_Dbg(p_stream, "    Segment url=%s", (*l)->getSourceUrl().c_str());
+                        std::vector<Segment *>::const_iterator l;
+                        for(l = segmentList->getSegments().begin();
+                            l < segmentList->getSegments().end(); l++)
+                        {
+                            msg_Dbg(p_stream, "    Segment url=%s", (*l)->getSourceUrl().c_str());
+                        }
                     }
                 }
             }