Commit 64868251 authored by Derk-Jan Hartman's avatar Derk-Jan Hartman

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 [fed83de5]
* Delete initiated streams during TCP rollover. We will make new ones later on.
parent ef4da627
...@@ -1206,6 +1206,7 @@ static int Demux( demux_t *p_demux ) ...@@ -1206,6 +1206,7 @@ static int Demux( demux_t *p_demux )
msg_Err( p_demux, "TCP rollover failed, aborting" ); msg_Err( p_demux, "TCP rollover failed, aborting" );
return 0; return 0;
} }
return 1;
} }
msg_Err( p_demux, "no data received in 10s, aborting" ); msg_Err( p_demux, "no data received in 10s, aborting" );
return 0; return 0;
...@@ -1464,6 +1465,7 @@ static int RollOverTcp( demux_t *p_demux ) ...@@ -1464,6 +1465,7 @@ static int RollOverTcp( demux_t *p_demux )
live_track_t *tk = p_sys->track[i]; live_track_t *tk = p_sys->track[i];
if( tk->b_muxed ) stream_DemuxDelete( tk->p_out_muxed ); 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 ); es_format_Clean( &tk->fmt );
free( tk->p_buffer ); free( tk->p_buffer );
free( tk ); free( tk );
...@@ -1481,8 +1483,7 @@ static int RollOverTcp( demux_t *p_demux ) ...@@ -1481,8 +1483,7 @@ static int RollOverTcp( demux_t *p_demux )
p_sys->i_track = 0; p_sys->i_track = 0;
/* Reopen rtsp client */ /* Reopen rtsp client */
if( ( p_demux->s != NULL ) && if( ( i_return = Connect( p_demux ) ) != VLC_SUCCESS )
( i_return = Connect( p_demux ) ) != VLC_SUCCESS )
{ {
msg_Err( p_demux, "Failed to connect with rtsp://%s", msg_Err( p_demux, "Failed to connect with rtsp://%s",
p_sys->psz_path ); p_sys->psz_path );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment