vlc | branch: master | Francois Cartegnie <fcvlc...@free.fr> | Mon Nov 17 22:42:10 2014 +0100| [2da28c96ee34523425ec9b0e25d6ace25cbc6611] | committer: Francois Cartegnie
stream_filter: dash: fix iteration on different lists List was not returned by reference > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2da28c96ee34523425ec9b0e25d6ace25cbc6611 --- modules/stream_filter/dash/mpd/AdaptationSet.cpp | 2 +- modules/stream_filter/dash/mpd/AdaptationSet.h | 2 +- modules/stream_filter/dash/mpd/IsoffMainParser.cpp | 15 ++++++++++----- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/modules/stream_filter/dash/mpd/AdaptationSet.cpp b/modules/stream_filter/dash/mpd/AdaptationSet.cpp index 2967692..d48fcc5 100644 --- a/modules/stream_filter/dash/mpd/AdaptationSet.cpp +++ b/modules/stream_filter/dash/mpd/AdaptationSet.cpp @@ -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; } diff --git a/modules/stream_filter/dash/mpd/AdaptationSet.h b/modules/stream_filter/dash/mpd/AdaptationSet.h index 063d466..8b48a4b 100644 --- a/modules/stream_filter/dash/mpd/AdaptationSet.h +++ b/modules/stream_filter/dash/mpd/AdaptationSet.h @@ -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 ); diff --git a/modules/stream_filter/dash/mpd/IsoffMainParser.cpp b/modules/stream_filter/dash/mpd/IsoffMainParser.cpp index 8329990..35faa4d 100644 --- a/modules/stream_filter/dash/mpd/IsoffMainParser.cpp +++ b/modules/stream_filter/dash/mpd/IsoffMainParser.cpp @@ -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()); + } } } } _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits