mirror of
https://code.videolan.org/videolan/vlc
synced 2024-09-24 20:48:52 +02:00
medialibrary: Allow an event to be unregistered from its callback
This commit is contained in:
parent
f1128968b3
commit
1e3c634076
@ -719,6 +719,16 @@ vlc_ml_event_register_callback( vlc_medialibrary_t* p_ml, vlc_ml_callback_t cb,
|
||||
*/
|
||||
VLC_API void vlc_ml_event_unregister_callback( vlc_medialibrary_t* p_ml,
|
||||
vlc_ml_event_callback_t* p_callback );
|
||||
/**
|
||||
* \brief Unregisters a medialibrary callback from the said callback.
|
||||
* \param p_callback The handle returned by vlc_ml_register_callback
|
||||
*
|
||||
* This must only be called synchronously from the callback function provided to
|
||||
* vlc_ml_event_register_callback
|
||||
* The p_callback handle must be considered invalid when this function returns
|
||||
*/
|
||||
VLC_API void vlc_ml_event_unregister_from_callback( vlc_medialibrary_t* p_ml,
|
||||
vlc_ml_event_callback_t* p_callback );
|
||||
|
||||
|
||||
VLC_API void vlc_ml_show_release( vlc_ml_show_t* p_show );
|
||||
|
@ -599,6 +599,7 @@ vlc_ml_control
|
||||
vlc_ml_list
|
||||
vlc_ml_event_register_callback
|
||||
vlc_ml_event_unregister_callback
|
||||
vlc_ml_event_unregister_from_callback
|
||||
vlc_ml_show_release
|
||||
vlc_ml_artist_release
|
||||
vlc_ml_genre_release
|
||||
|
@ -87,6 +87,14 @@ void vlc_ml_event_unregister_callback( vlc_medialibrary_t* p_ml,
|
||||
free( p_cb );
|
||||
}
|
||||
|
||||
void vlc_ml_event_unregister_from_callback( vlc_medialibrary_t* p_ml,
|
||||
vlc_ml_event_callback_t* p_cb )
|
||||
{
|
||||
vlc_mutex_assert( &p_ml->lock );
|
||||
vlc_list_remove( &p_cb->node );
|
||||
free( p_cb );
|
||||
}
|
||||
|
||||
static const vlc_medialibrary_callbacks_t callbacks = {
|
||||
.pf_send_event = &vlc_ml_event_send
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user