[vlc-commits] demux: adaptative: fix eof detection

Francois Cartegnie git at videolan.org
Wed Jun 10 18:58:01 CEST 2015


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Thu Jun  4 10:47:30 2015 +0200| [d3ba198c95f791b7b12603536c3f108ed555ef66] | committer: Francois Cartegnie

demux: adaptative: fix eof detection

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

 modules/demux/adaptative/PlaylistManager.cpp |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/modules/demux/adaptative/PlaylistManager.cpp b/modules/demux/adaptative/PlaylistManager.cpp
index 59b5905..ed1f2bb 100644
--- a/modules/demux/adaptative/PlaylistManager.cpp
+++ b/modules/demux/adaptative/PlaylistManager.cpp
@@ -116,7 +116,7 @@ bool PlaylistManager::start(demux_t *demux)
 
 Stream::status PlaylistManager::demux(mtime_t nzdeadline)
 {
-    Stream::status i_return = Stream::status_demuxed;
+    Stream::status i_return = Stream::status_eof;
 
     for(int type=0; type<StreamTypeCount; type++)
     {
@@ -126,10 +126,15 @@ Stream::status PlaylistManager::demux(mtime_t nzdeadline)
         Stream::status i_ret =
                 streams[type]->demux(conManager, nzdeadline);
 
-        if(i_ret < Stream::status_eof)
-            return i_ret;
-        else if (i_ret == Stream::status_buffering)
+        if(i_ret == Stream::status_buffering)
+        {
             i_return = Stream::status_buffering;
+        }
+        else if(i_ret == Stream::status_demuxed &&
+                i_return != Stream::status_buffering)
+        {
+            i_return = Stream::status_demuxed;
+        }
     }
 
     return i_return;



More information about the vlc-commits mailing list