[vlc-commits] demux: adaptive: don't seek disabled streams

Francois Cartegnie git at videolan.org
Wed Jun 8 11:08:05 CEST 2016


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Wed Jun  8 10:59:06 2016 +0200| [72386a2479123d37e64512d8282a266ab65f7763] | committer: Francois Cartegnie

demux: adaptive: don't seek disabled streams

As it was always seeking disabled streams,
init chunk was read on seek, queuing possible es
changes which are uncommited due to absence of sample data.
following dac320e35ff9cf400093dbd214e2e6408c70a43c
the fakeesout was always in restarting state then,
causing an always failing setposition which now checks
the restarting state.

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

 modules/demux/adaptive/PlaylistManager.cpp |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/modules/demux/adaptive/PlaylistManager.cpp b/modules/demux/adaptive/PlaylistManager.cpp
index 8f0ecda..fda7fe5 100644
--- a/modules/demux/adaptive/PlaylistManager.cpp
+++ b/modules/demux/adaptive/PlaylistManager.cpp
@@ -247,7 +247,9 @@ bool PlaylistManager::setPosition(mtime_t time)
         std::vector<AbstractStream *>::iterator it;
         for(it=streams.begin(); it!=streams.end(); ++it)
         {
-            ret &= (*it)->setPosition(time, !real);
+            AbstractStream *st = *it;
+            if(!st->isDisabled())
+                ret &= st->setPosition(time, !real);
         }
         if(!ret)
             break;



More information about the vlc-commits mailing list