vlc | branch: master | Sébastien Escudier <[email protected]> | 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;
 }
 
 

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to