]> git.sesse.net Git - vlc/commitdiff
demux: dash: add IsoTime helper
authorFrancois Cartegnie <fcvlcdev@free.fr>
Fri, 19 Dec 2014 17:18:54 +0000 (18:18 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Mon, 22 Dec 2014 18:03:36 +0000 (19:03 +0100)
modules/stream_filter/dash/mpd/IsoffMainParser.cpp
modules/stream_filter/dash/mpd/IsoffMainParser.h

index 07c94cca75faad22fed36eedc97f0de4947d5458..fdaff37895dc3dbb1342aed81f6e8f7c5f9fe2ec 100644 (file)
@@ -65,11 +65,11 @@ void    IsoffMainParser::setMPDAttributes   ()
 
     it = attr.find("mediaPresentationDuration");
     if(it != attr.end())
-        this->mpd->setDuration(str_duration(it->second.c_str()));
+        this->mpd->setDuration(IsoTime(it->second));
 
     it = attr.find("minBufferTime");
     if(it != attr.end())
-        this->mpd->setMinBufferTime(str_duration( it->second.c_str()));
+        this->mpd->setMinBufferTime(IsoTime(it->second));
 
     it = attr.find("type");
     if(it != attr.end())
@@ -344,3 +344,13 @@ void    IsoffMainParser::print              ()
         }
     }
 }
+
+IsoTime::IsoTime(const std::string &str)
+{
+    time = str_duration(str.c_str());
+}
+
+IsoTime::operator mtime_t () const
+{
+    return time;
+}
index e7eafd3502f50fb73601f54b3b9536472087ed46..15a079f0bb33e57894db70e6de51aacc8ba795c7 100644 (file)
@@ -60,6 +60,16 @@ namespace dash
                 size_t  parseSegmentList    (dash::xml::Node *, SegmentInformation *);
                 size_t  parseSegmentTemplate(dash::xml::Node *, SegmentInformation *);
         };
+
+        class IsoTime
+        {
+            public:
+                IsoTime(const std::string&);
+                operator mtime_t() const;
+
+            private:
+                mtime_t time;
+        };
     }
 }