]> git.sesse.net Git - vlc/commitdiff
dash: Parser: Standard (§5.4.4.1) specifies there can be at most one SegmentInfo...
authorHugo Beauzée-Luyssen <beauze.h@gmail.com>
Thu, 24 Nov 2011 16:37:43 +0000 (17:37 +0100)
committerJean-Baptiste Kempf <jb@videolan.org>
Sat, 26 Nov 2011 11:39:52 +0000 (12:39 +0100)
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
modules/stream_filter/dash/mpd/BasicCMParser.cpp

index b4543b9f861d16f4b6a8db138370cd3cb3a30074..c1aea0d95131b7529024f60ecc67bd6a4c87fa89 100644 (file)
@@ -94,16 +94,12 @@ void    BasicCMParser::setRepresentations   (Node *root, Group *group)
 }
 void    BasicCMParser::setSegmentInfo       (Node *root, Representation *rep)
 {
-    std::vector<Node *> segmentInfo = DOMHelper::getChildElementByTagName(root, "SegmentInfo");
+    Node    *segmentInfo = DOMHelper::getFirstChildElementByName( root, "SegmentInfo");
 
-    for(size_t i = 0; i < segmentInfo.size(); i++)
-    {
-        SegmentInfo *info = new SegmentInfo(segmentInfo.at(i)->getAttributes());
-        this->setInitSegment(segmentInfo.at(i), info);
-        this->setSegments(segmentInfo.at(i), info);
-        rep->setSegmentInfo(info);
-        return;
-    }
+    SegmentInfo *info = new SegmentInfo( segmentInfo->getAttributes() );
+    this->setInitSegment( segmentInfo, info );
+    this->setSegments(segmentInfo, info );
+    rep->setSegmentInfo(info);
 }
 void    BasicCMParser::setInitSegment       (Node *root, SegmentInfo *info)
 {