X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faccess_output%2Fbonjour.c;h=37814deb0d454ee9277a0bdef3ed4e933bd10b2f;hb=d632ffe1a6f5e6cea5dd796105e1708cdb0b3631;hp=0ee48469f1498896336fd110e842e1bb1434fa27;hpb=3b043bf1cf1711d2c95f65fab81731c4a69c94f8;p=vlc diff --git a/modules/access_output/bonjour.c b/modules/access_output/bonjour.c index 0ee48469f1..37814deb0d 100644 --- a/modules/access_output/bonjour.c +++ b/modules/access_output/bonjour.c @@ -25,7 +25,11 @@ * Preamble *****************************************************************************/ -#include +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include #include "bonjour.h" #ifdef HAVE_AVAHI_CLIENT @@ -181,7 +185,7 @@ static void poll_iterate_thread( poll_thread_t *p_pt ) { vlc_thread_ready( p_pt ); - while( !p_pt->b_die ) + while( vlc_object_alive (p_pt) ) if( avahi_simple_poll_iterate( p_pt->simple_poll, 100 ) != 0 ) break; } @@ -197,10 +201,7 @@ void *bonjour_start_service( vlc_object_t *p_log, const char *psz_stype, p_sys = (bonjour_t *)malloc( sizeof(*p_sys) ); if( p_sys == NULL ) - { - msg_Err( p_log, "out of memory" ); return NULL; - } memset( p_sys, 0, sizeof(*p_sys) ); @@ -210,19 +211,13 @@ void *bonjour_start_service( vlc_object_t *p_log, const char *psz_stype, p_sys->psz_name = avahi_strdup( psz_name ); p_sys->psz_stype = avahi_strdup( psz_stype ); if( p_sys->psz_name == NULL || p_sys->psz_stype == NULL ) - { - msg_Err( p_sys->p_log, "out of memory" ); goto error; - } if( psz_txt != NULL ) { p_sys->psz_txt = avahi_strdup( psz_txt ); if( p_sys->psz_txt == NULL ) - { - msg_Err( p_sys->p_log, "out of memory" ); goto error; - } } p_sys->simple_poll = avahi_simple_poll_new(); @@ -247,15 +242,12 @@ void *bonjour_start_service( vlc_object_t *p_log, const char *psz_stype, p_sys->poll_thread = vlc_object_create( p_sys->p_log, sizeof(poll_thread_t) ); if( p_sys->poll_thread == NULL ) - { - msg_Err( p_sys->p_log, "out of memory" ); goto error; - } p_sys->poll_thread->simple_poll = p_sys->simple_poll; if( vlc_thread_create( p_sys->poll_thread, "Avahi Poll Iterate Thread", poll_iterate_thread, - VLC_THREAD_PRIORITY_HIGHEST, VLC_FALSE ) ) + VLC_THREAD_PRIORITY_HIGHEST, false ) ) { msg_Err( p_sys->p_log, "failed to create poll iterate thread" ); goto error; @@ -265,7 +257,7 @@ void *bonjour_start_service( vlc_object_t *p_log, const char *psz_stype, error: if( p_sys->poll_thread != NULL ) - vlc_object_destroy( p_sys->poll_thread ); + vlc_object_release( p_sys->poll_thread ); if( p_sys->client != NULL ) avahi_client_free( p_sys->client ); if( p_sys->simple_poll != NULL ) @@ -291,7 +283,7 @@ void bonjour_stop_service( void *_p_sys ) vlc_object_kill( p_sys->poll_thread ); vlc_thread_join( p_sys->poll_thread ); - vlc_object_destroy( p_sys->poll_thread ); + vlc_object_release( p_sys->poll_thread ); if( p_sys->group != NULL ) avahi_entry_group_free( p_sys->group );