vlc | branch: master | Francois Cartegnie <fcvlc...@free.fr> | Tue Sep 22 
22:47:04 2015 +0200| [22d7d9750cad1584576df9f9bef4d2b6e9b65449] | committer: 
Francois Cartegnie

demux: adaptative: add setPosition by segment number

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

 modules/demux/adaptative/SegmentTracker.cpp |   25 ++++++++++++++-----------
 modules/demux/adaptative/Streams.cpp        |    2 +-
 2 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/modules/demux/adaptative/SegmentTracker.cpp 
b/modules/demux/adaptative/SegmentTracker.cpp
index ecc3f7d..360362f 100644
--- a/modules/demux/adaptative/SegmentTracker.cpp
+++ b/modules/demux/adaptative/SegmentTracker.cpp
@@ -133,28 +133,31 @@ SegmentChunk * SegmentTracker::getNextChunk(bool 
switch_allowed)
     return chunk;
 }
 
-bool SegmentTracker::setPosition(mtime_t time, bool restarted, bool tryonly)
+bool SegmentTracker::setPositionByTime(mtime_t time, bool restarted, bool 
tryonly)
 {
     uint64_t segnumber;
     if(prevRepresentation &&
        prevRepresentation->getSegmentNumberByTime(time, &segnumber))
     {
         if(!tryonly)
-        {
-            if(restarted)
-            {
-                initializing = true;
-                index_sent = false;
-                init_sent = false;
-            }
-            count = segnumber;
-            sequence_set = true;
-        }
+            setPositionByNumber(segnumber, restarted);
         return true;
     }
     return false;
 }
 
+void SegmentTracker::setPositionByNumber(uint64_t segnumber, bool restarted)
+{
+    if(restarted)
+    {
+        initializing = true;
+        index_sent = false;
+        init_sent = false;
+    }
+    count = segnumber;
+    sequence_set = true;
+}
+
 mtime_t SegmentTracker::getSegmentStart() const
 {
     if(prevRepresentation && sequence_set)
diff --git a/modules/demux/adaptative/Streams.cpp 
b/modules/demux/adaptative/Streams.cpp
index 5158f70..ea373d5 100644
--- a/modules/demux/adaptative/Streams.cpp
+++ b/modules/demux/adaptative/Streams.cpp
@@ -287,7 +287,7 @@ bool Stream::setPosition(mtime_t time, bool tryonly)
     if(!output)
         return false;
 
-    bool ret = segmentTracker->setPosition(time, output->reinitsOnSeek(), 
tryonly);
+    bool ret = segmentTracker->setPositionByTime(time, 
output->reinitsOnSeek(), tryonly);
     if(!tryonly && ret)
     {
         output->setPosition(time);

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to