|
|
|
@ -400,7 +400,7 @@ uninstall_playlist_observer(libvlc_media_list_player_t * p_mlp) |
|
|
|
static void |
|
|
|
install_media_player_observer(libvlc_media_list_player_t * p_mlp) |
|
|
|
{ |
|
|
|
libvlc_event_attach(mplayer_em(p_mlp), libvlc_MediaPlayerEndReached, media_player_reached_end, p_mlp); |
|
|
|
libvlc_event_attach(mplayer_em(p_mlp), libvlc_MediaPlayerStopped, media_player_reached_end, p_mlp); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -415,7 +415,7 @@ uninstall_media_player_observer(libvlc_media_list_player_t * p_mlp) |
|
|
|
// Allow callbacks to run, because detach() will wait until all callbacks are processed.
|
|
|
|
// This is safe because only callbacks are allowed, and there execution will be cancelled.
|
|
|
|
vlc_mutex_unlock(&p_mlp->mp_callback_lock); |
|
|
|
libvlc_event_detach(mplayer_em(p_mlp), libvlc_MediaPlayerEndReached, media_player_reached_end, p_mlp); |
|
|
|
libvlc_event_detach(mplayer_em(p_mlp), libvlc_MediaPlayerStopped, media_player_reached_end, p_mlp); |
|
|
|
|
|
|
|
// Now, lock back the callback lock. No more callback will be present from this point.
|
|
|
|
vlc_mutex_lock(&p_mlp->mp_callback_lock); |
|
|
|
|