vlc | branch: master | Thomas Guillem <[email protected]> | Fri Jun 10 14:29:22 2016 +0200| [42f6419ab08794677a83dbfed3b9ed2209bfa83e] | committer: Thomas Guillem
lib: media_discoverer: don't listen to Started/Ended events These events are useless and are only triggered when calling vlc_sd_Start() and vlc_sd_Stop(). > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=42f6419ab08794677a83dbfed3b9ed2209bfa83e --- lib/media_discoverer.c | 75 +++++++++++++----------------------------------- 1 file changed, 20 insertions(+), 55 deletions(-) diff --git a/lib/media_discoverer.c b/lib/media_discoverer.c index c2a7b02..93295fd 100644 --- a/lib/media_discoverer.c +++ b/lib/media_discoverer.c @@ -148,43 +148,6 @@ static void services_discovery_removeall( const vlc_event_t * p_event, libvlc_media_list_unlock( p_mdis->p_mlist ); } -/************************************************************************** - * services_discovery_started (Private) (VLC event callback) - **************************************************************************/ - -static void services_discovery_started( const vlc_event_t * p_event, - void * user_data ) -{ - VLC_UNUSED(p_event); - libvlc_media_discoverer_t * p_mdis = user_data; - libvlc_event_t event; - p_mdis->running = true; - event.type = libvlc_MediaDiscovererStarted; - libvlc_event_send( p_mdis->p_event_manager, &event ); -} - -/************************************************************************** - * services_discovery_ended (Private) (VLC event callback) - **************************************************************************/ - -static void services_discovery_ended( const vlc_event_t * p_event, - void * user_data ) -{ - VLC_UNUSED(p_event); - libvlc_media_discoverer_t * p_mdis = user_data; - libvlc_media_list_t * p_mlist = p_mdis->p_mlist; - libvlc_event_t event; - - p_mdis->running = false; - - libvlc_media_list_lock( p_mlist ); - libvlc_media_list_internal_end_reached( p_mlist ); - libvlc_media_list_unlock( p_mlist ); - - event.type = libvlc_MediaDiscovererEnded; - libvlc_event_send( p_mdis->p_event_manager, &event ); -} - /* * Public libvlc functions */ @@ -240,14 +203,6 @@ libvlc_media_discoverer_new( libvlc_instance_t * p_inst, const char * psz_name ) services_discovery_item_removed, p_mdis ); vlc_event_attach( services_discovery_EventManager( p_mdis->p_sd ), - vlc_ServicesDiscoveryStarted, - services_discovery_started, - p_mdis ); - vlc_event_attach( services_discovery_EventManager( p_mdis->p_sd ), - vlc_ServicesDiscoveryEnded, - services_discovery_ended, - p_mdis ); - vlc_event_attach( services_discovery_EventManager( p_mdis->p_sd ), vlc_ServicesDiscoveryItemRemoveAll, services_discovery_removeall, p_mdis ); @@ -263,7 +218,14 @@ LIBVLC_API int libvlc_media_discoverer_start( libvlc_media_discoverer_t * p_mdis ) { /* Here we go */ - return vlc_sd_Start( p_mdis->p_sd ) ? 0 : -1; + if (!vlc_sd_Start( p_mdis->p_sd )) + return -1; + + p_mdis->running = true; + libvlc_event_t event; + event.type = libvlc_MediaDiscovererStarted; + libvlc_event_send( p_mdis->p_event_manager, &event ); + return 0; } /************************************************************************** @@ -273,6 +235,17 @@ LIBVLC_API void libvlc_media_discoverer_stop( libvlc_media_discoverer_t * p_mdis ) { vlc_sd_Stop( p_mdis->p_sd ); + + p_mdis->running = false; + + libvlc_media_list_t * p_mlist = p_mdis->p_mlist; + libvlc_media_list_lock( p_mlist ); + libvlc_media_list_internal_end_reached( p_mlist ); + libvlc_media_list_unlock( p_mlist ); + + libvlc_event_t event; + event.type = libvlc_MediaDiscovererEnded; + libvlc_event_send( p_mdis->p_event_manager, &event ); } /************************************************************************** @@ -315,14 +288,6 @@ libvlc_media_discoverer_release( libvlc_media_discoverer_t * p_mdis ) services_discovery_item_removed, p_mdis ); vlc_event_detach( services_discovery_EventManager( p_mdis->p_sd ), - vlc_ServicesDiscoveryStarted, - services_discovery_started, - p_mdis ); - vlc_event_detach( services_discovery_EventManager( p_mdis->p_sd ), - vlc_ServicesDiscoveryEnded, - services_discovery_ended, - p_mdis ); - vlc_event_detach( services_discovery_EventManager( p_mdis->p_sd ), vlc_ServicesDiscoveryItemRemoveAll, services_discovery_removeall, p_mdis ); @@ -330,7 +295,7 @@ libvlc_media_discoverer_release( libvlc_media_discoverer_t * p_mdis ) libvlc_media_list_release( p_mdis->p_mlist ); if( p_mdis->running ) - vlc_sd_Stop( p_mdis->p_sd ); + libvlc_media_discoverer_stop( p_mdis ); vlc_sd_Destroy( p_mdis->p_sd ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
