[vlc-commits] demux: adaptative: parse dash codecs

Francois Cartegnie git at videolan.org
Thu Aug 6 17:30:19 CEST 2015


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Sun Aug  2 16:47:28 2015 +0200| [a3d9425cd6484018833df6862551a1cc81c55725] | committer: Francois Cartegnie

demux: adaptative: parse dash codecs

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a3d9425cd6484018833df6862551a1cc81c55725
---

 modules/demux/dash/mpd/IsoffMainParser.cpp |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/modules/demux/dash/mpd/IsoffMainParser.cpp b/modules/demux/dash/mpd/IsoffMainParser.cpp
index aeec8bb..5dc4f49 100644
--- a/modules/demux/dash/mpd/IsoffMainParser.cpp
+++ b/modules/demux/dash/mpd/IsoffMainParser.cpp
@@ -285,6 +285,20 @@ void    IsoffMainParser::setRepresentations (Node *adaptationSetNode, Adaptation
         if(repNode->hasAttribute("mimeType"))
             currentRepresentation->setMimeType(repNode->getAttributeValue("mimeType"));
 
+        if(repNode->hasAttribute("codecs"))
+        {
+            std::list<std::string> list = Helper::tokenize(repNode->getAttributeValue("codecs"), ',');
+            std::list<std::string>::const_iterator it;
+            for(it=list.begin(); it!=list.end(); ++it)
+            {
+                std::size_t pos = (*it).find_first_of('.', 0);
+                if(pos != std::string::npos)
+                    currentRepresentation->addCodec((*it).substr(0, pos));
+                else
+                    currentRepresentation->addCodec(*it);
+            }
+        }
+
         parseSegmentInformation(repNode, currentRepresentation);
 
         adaptationSet->addRepresentation(currentRepresentation);



More information about the vlc-commits mailing list