
| static bool current_thread_is_asynch_thread | ( | libvlc_event_manager_t * | p_em | ) | [inline, static] |
References libvlc_event_async_queue::is_asynch_dispatch_thread_var, queue(), and vlc_threadvar_get().
Referenced by libvlc_event_async_ensure_listener_removal(), and libvlc_event_async_fini().
| static void * event_async_loop | ( | void * | arg | ) | [static] |
References queue_elmt::event, libvlc_event_async_queue::is_idle, queue_elmt::listener, lock, mutex_cleanup_push, libvlc_event_listener_t::p_user_data, libvlc_event_listener_t::pf_callback, pop(), queue(), queue_lock(), queue_unlock(), vlc_cleanup_pop, vlc_cond_broadcast(), vlc_cond_wait(), and vlc_threadvar_set().
Referenced by libvlc_event_async_init().
| static bool is_queue_initialized | ( | libvlc_event_manager_t * | p_em | ) | [inline, static] |
References queue().
Referenced by libvlc_event_async_ensure_listener_removal(), and libvlc_event_async_fini().
| void libvlc_event_async_dispatch | ( | libvlc_event_manager_t * | p_em, | |
| libvlc_event_listener_t * | listener, | |||
| libvlc_event_t * | event | |||
| ) |
References libvlc_event_async_init(), libvlc_event_manager_t::object_lock, push(), queue(), queue_lock(), queue_unlock(), vlc_cond_signal(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by libvlc_event_send().
| void libvlc_event_async_ensure_listener_removal | ( | libvlc_event_manager_t * | p_em, | |
| libvlc_event_listener_t * | listener | |||
| ) |
References current_thread_is_asynch_thread(), is_queue_initialized(), lock, pop_listener(), queue(), queue_lock(), queue_unlock(), and vlc_cond_wait().
Referenced by libvlc_event_detach().
| void libvlc_event_async_fini | ( | libvlc_event_manager_t * | p_em | ) |
References current_thread_is_asynch_thread(), libvlc_event_async_queue::first_elmt, is_queue_initialized(), lock, queue_elmt::next, queue(), libvlc_event_async_queue::thread, vlc_cancel(), vlc_cond_destroy(), vlc_join(), vlc_mutex_destroy(), and vlc_threadvar_delete().
Referenced by libvlc_event_manager_release().
| static void libvlc_event_async_init | ( | libvlc_event_manager_t * | p_em | ) | [static] |
References libvlc_event_manager_t::async_event_queue, event_async_loop(), lock, queue(), vlc_clone(), vlc_cond_init(), vlc_mutex_init(), VLC_THREAD_PRIORITY_LOW, and vlc_threadvar_create().
Referenced by libvlc_event_async_dispatch().
| static bool pop | ( | libvlc_event_manager_t * | p_em, | |
| libvlc_event_listener_t * | listener, | |||
| libvlc_event_t * | event | |||
| ) | [static] |
| static void pop_listener | ( | libvlc_event_manager_t * | p_em, | |
| libvlc_event_listener_t * | listener | |||
| ) | [static] |
| static void push | ( | libvlc_event_manager_t * | p_em, | |
| libvlc_event_listener_t * | listener, | |||
| libvlc_event_t * | event | |||
| ) | [static] |
References count, queue_elmt::event, libvlc_event_async_queue::first_elmt, libvlc_event_async_queue::last_elmt, queue_elmt::listener, queue_elmt::next, and queue().
Referenced by libvlc_event_async_dispatch().
| static struct libvlc_event_async_queue* queue | ( | libvlc_event_manager_t * | p_em | ) | [static, read] |
References libvlc_event_manager_t::async_event_queue.
Referenced by current_thread_is_asynch_thread(), event_async_loop(), is_queue_initialized(), libvlc_event_async_dispatch(), libvlc_event_async_ensure_listener_removal(), libvlc_event_async_fini(), libvlc_event_async_init(), pop(), pop_listener(), push(), queue_lock(), and queue_unlock().
| static void queue_lock | ( | libvlc_event_manager_t * | p_em | ) | [inline, static] |
References lock, queue(), and vlc_mutex_lock().
Referenced by event_async_loop(), libvlc_event_async_dispatch(), and libvlc_event_async_ensure_listener_removal().
| static void queue_unlock | ( | libvlc_event_manager_t * | p_em | ) | [inline, static] |
References lock, queue(), and vlc_mutex_unlock().
Referenced by event_async_loop(), libvlc_event_async_dispatch(), and libvlc_event_async_ensure_listener_removal().
1.7.1