if( p_sys->p_mux != NULL )
{
sout_stream_id_t *id = p_sys->es[0];
- id->rtsp_id = RtspAddId( p_sys->rtsp, id, GetDWBE( id->ssrc ),
- p_sys->psz_destination, p_sys->i_ttl,
- id->i_port, id->i_port + 1 );
+ rtsp_stream_id_t *rtsp_id = RtspAddId( p_sys->rtsp, id, GetDWBE( id->ssrc ),
+ p_sys->psz_destination, p_sys->i_ttl,
+ id->i_port, id->i_port + 1 );
+ vlc_mutex_lock( &p_sys->lock_es );
+ id->rtsp_id = rtsp_id;
+ vlc_mutex_unlock( &p_sys->lock_es );
}
}
else if( ( url.psz_protocol && !strcasecmp( url.psz_protocol, "sap" ) ) ||
int inclport;
vlc_mutex_lock( &p_sys->lock_es );
- if( unlikely(p_sys->i_es == 0) )
+ if( unlikely(p_sys->i_es == 0 || (rtsp_url != NULL && !p_sys->es[0]->rtsp_id)) )
goto out; /* hmm... */
if( p_sys->psz_destination != NULL )
if( i_nal_type == 7 )
{
+ free( p_64_sps );
p_64_sps = vlc_b64_encode_binary( p_buffer, i_size );
/* XXX: nothing ensures that i_size >= 4 ?? */
sprintf_hexa( hexa, &p_buffer[1], 3 );
}
else if( i_nal_type == 8 )
{
+ free( p_64_pps );
p_64_pps = vlc_b64_encode_binary( p_buffer, i_size );
}
i_buffer -= i_size;