*****************************************************************************/
static void CloseDemux( vlc_object_t *p_this )
{
-
+ demux_t *p_demux = (demux_t *)p_this;
+ if( p_demux->p_sys )
+ {
+ if( p_demux->p_sys->p_sdp ) FreeSDP( p_demux->p_sys->p_sdp );
+ free( p_demux->p_sys );
+ }
}
/*****************************************************************************
if( psz_addr && *psz_addr )
{
InitSocket( p_sd, psz_addr, SAP_PORT );
+ free( psz_addr );
}
if( p_sd->p_sys->i_fd == 0 )
if( mdate() - p_sd->p_sys->pp_announces[i]->i_last > i_timeout )
{
- struct sap_announce_t *p_announce;
- p_announce = p_sd->p_sys->pp_announces[i];
-
- /* Remove the playlist item */
- playlist_LockDeleteAllFromInput( p_sd->p_sys->p_playlist,
- p_announce->i_input_id );
-
- /* Remove the sap_announce from the array */
- REMOVE_ELEM( p_sd->p_sys->pp_announces,
- p_sd->p_sys->i_announces, i );
-
- free( p_announce );
+ RemoveAnnounce( p_sd, p_sd->p_sys->pp_announces[i] );
}
}
if( b_need_delete )
{
RemoveAnnounce( p_sd, p_sd->p_sys->pp_announces[i]);
- return VLC_SUCCESS;
}
else
{
p_sd->p_sys->pp_announces[i]->i_last = mdate();
- FreeSDP( p_sdp );
- return VLC_SUCCESS;
}
+ FreeSDP( p_sdp );
+ return VLC_SUCCESS;
}
}
/* Add item */