[vlc-devel] commit: live555: Fix TCP rollover (Derk-Jan Hartman )

git version control git at videolan.org
Mon Jul 21 15:48:53 CEST 2008


vlc | branch: master | Derk-Jan Hartman <hartman at videolan.org> | Mon Jul 21 14:35:12 2008 +0200| [64868251fe44f3659459c254df6928f170d15b89]

live555: Fix TCP rollover

* Always go trough Connect on rollover. even in the case of SDP files. (The check was also wrong. It should have been || instead of &&)
* Return from demux after initiating TCP rollover. Bug introduced by [fed83de55cdaf7f623a16f1051d97d450c44ad63]
* Delete initiated streams during TCP rollover. We will make new ones later on.

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

 modules/demux/live555.cpp |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/modules/demux/live555.cpp b/modules/demux/live555.cpp
index 6379181..8f819c6 100644
--- a/modules/demux/live555.cpp
+++ b/modules/demux/live555.cpp
@@ -1206,6 +1206,7 @@ static int Demux( demux_t *p_demux )
                 msg_Err( p_demux, "TCP rollover failed, aborting" );
                 return 0;
             }
+            return 1;
         }
         msg_Err( p_demux, "no data received in 10s, aborting" );
         return 0;
@@ -1464,6 +1465,7 @@ static int RollOverTcp( demux_t *p_demux )
         live_track_t *tk = p_sys->track[i];
 
         if( tk->b_muxed ) stream_DemuxDelete( tk->p_out_muxed );
+        if( tk->p_es ) es_out_Del( p_demux->out, tk->p_es );
         es_format_Clean( &tk->fmt );
         free( tk->p_buffer );
         free( tk );
@@ -1481,8 +1483,7 @@ static int RollOverTcp( demux_t *p_demux )
     p_sys->i_track = 0;
 
     /* Reopen rtsp client */
-    if( ( p_demux->s != NULL ) &&
-        ( i_return = Connect( p_demux ) ) != VLC_SUCCESS )
+    if( ( i_return = Connect( p_demux ) ) != VLC_SUCCESS )
     {
         msg_Err( p_demux, "Failed to connect with rtsp://%s",
                  p_sys->psz_path );




More information about the vlc-devel mailing list