X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmisc%2Fevents.c;h=07e861194a8f05f1a10c6979dff6c81a0521f651;hb=7f42234cabfde2f61ced5694eb9e09ea49c40987;hp=e4e5434f9d63ee2124c11e26aa9134956ba5658a;hpb=449fd28aaf007c6411251dae9d0dbfdc65b135d1;p=vlc diff --git a/src/misc/events.c b/src/misc/events.c index e4e5434f9d..07e861194a 100644 --- a/src/misc/events.c +++ b/src/misc/events.c @@ -31,7 +31,7 @@ # include "config.h" #endif -#include +#include #include @@ -70,12 +70,23 @@ typedef struct vlc_event_listeners_group_t } vlc_event_listeners_group_t; #ifdef DEBUG_EVENT -static const char * ppsz_event_type_to_name[] = +static const char ppsz_event_type_to_name[][40] = { + [vlc_InputStateChanged] = "vlc_InputStateChanged", + [vlc_InputSelectedStreamChanged] = "vlc_InputSelectedStreamChanged", + [vlc_InputItemMetaChanged] = "vlc_InputItemMetaChanged", [vlc_InputItemSubItemAdded] = "vlc_InputItemSubItemAdded", + [vlc_InputItemDurationChanged] = "vlc_InputItemDurationChanged", + [vlc_InputItemPreparsedChanged] = "vlc_InputItemPreparsedChanged", + [vlc_InputItemNameChanged] = "vlc_InputItemNameChanged", + [vlc_InputItemInfoChanged] = "vlc_InputItemInfoChanged", + [vlc_InputItemErrorWhenReadingChanged] = "vlc_InputItemErrorWhenReadingChanged", + [vlc_ServicesDiscoveryItemAdded] = "vlc_ServicesDiscoveryItemAdded", - [vlc_ServicesDiscoveryItemRemoved] = "vlc_ServicesDiscoveryItemRemoved" + [vlc_ServicesDiscoveryItemRemoved] = "vlc_ServicesDiscoveryItemRemoved", + [vlc_ServicesDiscoveryStarted] = "vlc_ServicesDiscoveryStarted", + [vlc_ServicesDiscoveryEnded] = "vlc_ServicesDiscoveryEnded" }; #endif @@ -103,6 +114,7 @@ group_contains_listener( vlc_event_listeners_group_t * group, * *****************************************************************************/ +#undef vlc_event_manager_init /** * Initialize event manager object * p_obj is the object that contains the event manager. But not @@ -115,7 +127,7 @@ int vlc_event_manager_init( vlc_event_manager_t * p_em, void * p_obj, { p_em->p_obj = p_obj; p_em->p_parent_object = p_parent_obj; - vlc_mutex_init( p_parent_obj, &p_em->object_lock ); + vlc_mutex_init( &p_em->object_lock ); /* We need a recursive lock here, because we need to be able * to call libvlc_event_detach even if vlc_event_send is in @@ -123,7 +135,7 @@ int vlc_event_manager_init( vlc_event_manager_t * p_em, void * p_obj, * This ensures that after libvlc_event_detach, the callback * will never gets triggered. * */ - vlc_mutex_init_recursive( p_parent_obj, &p_em->event_sending_lock ); + vlc_mutex_init_recursive( &p_em->event_sending_lock ); ARRAY_INIT( p_em->listeners_groups ); return VLC_SUCCESS; } @@ -150,7 +162,7 @@ void vlc_event_manager_fini( vlc_event_manager_t * p_em ) } /** - * Destroy the event manager + * Register the event manager */ int vlc_event_manager_register_event_type( vlc_event_manager_t * p_em, @@ -200,7 +212,6 @@ void vlc_event_send( vlc_event_manager_t * p_em, sizeof(vlc_event_listener_t)*i_cached_listeners ); if( !array_of_cached_listeners ) { - msg_Err( p_em->p_parent_object, "Not enough memory in vlc_event_send" ); vlc_mutex_unlock( &p_em->object_lock ); return; } @@ -268,14 +279,15 @@ void vlc_event_send( vlc_event_manager_t * p_em, free( array_of_cached_listeners ); } +#undef vlc_event_attach /** * Add a callback for an event. */ -int __vlc_event_attach( vlc_event_manager_t * p_em, - vlc_event_type_t event_type, - vlc_event_callback_t pf_callback, - void *p_user_data, - const char * psz_debug_name ) +int vlc_event_attach( vlc_event_manager_t * p_em, + vlc_event_type_t event_type, + vlc_event_callback_t pf_callback, + void *p_user_data, + const char * psz_debug_name ) { vlc_event_listeners_group_t * listeners_group; vlc_event_listener_t * listener; @@ -309,7 +321,7 @@ int __vlc_event_attach( vlc_event_manager_t * p_em, FOREACH_END() vlc_mutex_unlock( &p_em->object_lock ); - msg_Err( p_em->p_parent_object, "Can't attach to an object event manager event" ); + msg_Err( p_em->p_parent_object, "cannot attach to an object event" ); free(listener); return VLC_EGENERIC; } @@ -363,7 +375,7 @@ int vlc_event_detach( vlc_event_manager_t *p_em, vlc_mutex_unlock( &p_em->event_sending_lock ); vlc_mutex_unlock( &p_em->object_lock ); - msg_Warn( p_em->p_parent_object, "Can't detach to an object event manager event" ); + msg_Warn( p_em->p_parent_object, "cannot detach from an object event" ); return VLC_EGENERIC; }