]> git.sesse.net Git - vlc/commitdiff
live555 : close when there is no more track.
authorSébastien Escudier <sebastien-devel@celeos.eu>
Fri, 9 Dec 2011 07:52:50 +0000 (08:52 +0100)
committerSébastien Escudier <sebastien-devel@celeos.eu>
Fri, 9 Dec 2011 12:24:44 +0000 (13:24 +0100)
fix a regression from af107361d0ec376cf764a6111c9ba5ce433e15f1 when the stream ends.

modules/demux/live555.cpp

index b30d0668deea4f00625114c943a308d1a4ee44ba..2ccef2facc22f4f41aa28a311091ce52421de347 100644 (file)
@@ -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;
 }