[vlc-commits] live555 : close when there is no more track.

Sébastien Escudier git at videolan.org
Fri Dec 9 13:25:52 CET 2011


vlc | branch: master | Sébastien Escudier <sebastien-devel at celeos.eu> | Fri Dec  9 08:52:50 2011 +0100| [48a46b852e1b66e8009cdfc4edadfaff44cfa30c] | committer: Sébastien Escudier

live555 : close when there is no more track.
fix a regression from af107361d0ec376cf764a6111c9ba5ce433e15f1 when the stream ends.

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

 modules/demux/live555.cpp |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/modules/demux/live555.cpp b/modules/demux/live555.cpp
index b30d066..2ccef2f 100644
--- a/modules/demux/live555.cpp
+++ b/modules/demux/live555.cpp
@@ -1961,9 +1961,20 @@ static void StreamClose( void *p_private )
     demux_t        *p_demux = tk->p_demux;
     demux_sys_t    *p_sys = p_demux->p_sys;
     tk->b_selected = false;
-    msg_Dbg( p_demux, "RTSP track Close" );
     p_sys->event_rtsp = 0xff;
     p_sys->event_data = 0xff;
+
+    es_out_Control( p_demux->out, ES_OUT_SET_ES_STATE, tk->p_es, false );
+
+    int nb_tracks = 0;
+    for( int i = 0; i < p_sys->i_track; i++ )
+    {
+        if( p_sys->track[i]->b_selected )
+            nb_tracks++;
+    }
+    msg_Dbg( p_demux, "RTSP track Close, %d track remaining", nb_tracks );
+    if( !nb_tracks )
+        p_sys->b_error = true;
 }
 
 



More information about the vlc-commits mailing list