|
VLC
3.0.15
|

Data Structures | |
| struct | vlc_thread |
| struct | vlc_threadvar |
Macros | |
| #define | IS_INTERRUPTIBLE (!VLC_WINSTORE_APP || _WIN32_WINNT >= 0x0A00) |
| #define | ABOVE_NORMAL_PRIORITY_CLASS 0x00008000 |
| #define | LOOKUP(s) (((s##_) = (void *)GetProcAddress(h, #s)) != NULL) |
Functions | |
| void | vlc_mutex_init (vlc_mutex_t *p_mutex) |
| Initializes a fast mutex. More... | |
| void | vlc_mutex_init_recursive (vlc_mutex_t *p_mutex) |
| Initializes a recursive mutex. More... | |
| void | vlc_mutex_destroy (vlc_mutex_t *p_mutex) |
| Deinitializes a mutex. More... | |
| void | vlc_mutex_lock (vlc_mutex_t *p_mutex) |
| Acquires a mutex. More... | |
| int | vlc_mutex_trylock (vlc_mutex_t *p_mutex) |
| Tries to acquire a mutex. More... | |
| void | vlc_mutex_unlock (vlc_mutex_t *p_mutex) |
| Releases a mutex. More... | |
| int | vlc_threadvar_create (vlc_threadvar_t *p_tls, void(*destr)(void *)) |
| Allocates a thread-specific variable. More... | |
| void | vlc_threadvar_delete (vlc_threadvar_t *p_tls) |
| Deallocates a thread-specific variable. More... | |
| int | vlc_threadvar_set (vlc_threadvar_t key, void *value) |
| Sets a thread-specific variable. More... | |
| void * | vlc_threadvar_get (vlc_threadvar_t key) |
| Gets the value of a thread-local variable for the calling thread. More... | |
| static void | vlc_threadvars_cleanup (void) |
| void | vlc_addr_wait (void *addr, unsigned val) |
| Waits on an address. More... | |
| bool | vlc_addr_timedwait (void *addr, unsigned val, mtime_t delay) |
| Waits on an address with a time-out. More... | |
| void | vlc_addr_signal (void *addr) |
| Wakes up one thread on an address. More... | |
| void | vlc_addr_broadcast (void *addr) |
| Wakes up all thread on an address. More... | |
| static void | vlc_thread_destroy (vlc_thread_t th) |
| static unsigned __stdcall | vlc_entry (void *p) |
| static int | vlc_clone_attr (vlc_thread_t *p_handle, bool detached, void *(*entry)(void *), void *data, int priority) |
| int | vlc_clone (vlc_thread_t *p_handle, void *(*entry)(void *), void *data, int priority) |
| Creates and starts a new thread. More... | |
| void | vlc_join (vlc_thread_t th, void **result) |
| Waits for a thread to complete (if needed), then destroys it. More... | |
| int | vlc_clone_detach (vlc_thread_t *p_handle, void *(*entry)(void *), void *data, int priority) |
| vlc_thread_t | vlc_thread_self (void) |
| Thread handle. More... | |
| unsigned long | vlc_thread_id (void) |
| Thread identifier. More... | |
| int | vlc_set_priority (vlc_thread_t th, int priority) |
| static void CALLBACK | vlc_cancel_self (ULONG_PTR self) |
| void | vlc_cancel (vlc_thread_t th) |
| Marks a thread as cancelled. More... | |
| int | vlc_savecancel (void) |
| Disables thread cancellation. More... | |
| void | vlc_restorecancel (int state) |
| Restores the cancellation state. More... | |
| void | vlc_testcancel (void) |
| Issues an explicit deferred cancellation point. More... | |
| void | vlc_control_cancel (int cmd,...) |
| Internal handler for thread cancellation. More... | |
| static mtime_t | mdate_interrupt (void) |
| static mtime_t | mdate_tick (void) |
| static mtime_t | mdate_multimedia (void) |
| static mtime_t | mdate_perf (void) |
| static mtime_t | mdate_wall (void) |
| static mtime_t | mdate_default (void) |
| mtime_t | mdate (void) |
| Precision monotonic clock. More... | |
| static BOOL | SelectClockSource (void *data) |
| size_t | EnumClockSource (vlc_object_t *obj, const char *var, char ***vp, char ***np) |
| unsigned | vlc_GetCPUCount (void) |
| Count CPUs. More... | |
| void | vlc_threads_setup (libvlc_int_t *vlc) |
| BOOL WINAPI | DllMain (HINSTANCE, DWORD, LPVOID) |
Variables | |
| static CRITICAL_SECTION | super_mutex |
| static CONDITION_VARIABLE | super_variable |
| static DWORD | thread_key |
| struct vlc_threadvar * | vlc_threadvar_last = NULL |
| union { | |
| struct { | |
| LARGE_INTEGER freq | |
| } perf | |
| struct { | |
| UINT cbtc | |
| } multimedia | |
| } | clk |
| static mtime_t(* | mdate_selected )(void) = mdate_default |
| static CRITICAL_SECTION | setup_lock |
| vlc_rwlock_t | config_lock |
| #define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000 |
| #define IS_INTERRUPTIBLE (!VLC_WINSTORE_APP || _WIN32_WINNT >= 0x0A00) |
| #define LOOKUP | ( | s | ) | (((s##_) = (void *)GetProcAddress(h, #s)) != NULL) |
| BOOL WINAPI DllMain | ( | HINSTANCE | hinstDll, |
| DWORD | fdwReason, | ||
| LPVOID | lpvReserved | ||
| ) |
| size_t EnumClockSource | ( | vlc_object_t * | obj, |
| const char * | var, | ||
| char *** | vp, | ||
| char *** | np | ||
| ) |
|
static |
References mdate_perf(), and vlc_threads_setup().
Referenced by vlc_threads_setup().
|
static |
References clk, CLOCK_FREQ, static_assert, and unlikely.
Referenced by SelectClockSource().
|
static |
References clk, CLOCK_FREQ, and static_assert.
Referenced by SelectClockSource().
|
static |
References clk, lldiv(), lldiv_t::quot, and lldiv_t::rem.
Referenced by mdate_default(), and SelectClockSource().
|
static |
References clk, CLOCK_FREQ, and static_assert.
Referenced by SelectClockSource().
|
static |
References CLOCK_FREQ, and static_assert.
Referenced by SelectClockSource().
|
static |
References clk, vlc_thread::data, mdate_interrupt(), mdate_multimedia(), mdate_perf(), mdate_selected, mdate_tick(), mdate_wall(), msg_Dbg, msg_Err, name, perf, unlikely, and var_InheritString.
Referenced by vlc_threads_setup().
|
static |
Referenced by vlc_cancel().
|
static |
References vlc_thread::addr, vlc_thread::cleaners, vlc_thread::data, vlc_thread::detached, vlc_thread::entry, vlc_thread::id, vlc_thread::killable, vlc_thread::killed, vlc_thread::lock, unlikely, vlc_entry(), and vlc_thread::wait.
Referenced by vlc_clone(), and vlc_clone_detach().
| int vlc_clone_detach | ( | vlc_thread_t * | p_handle, |
| void *(*)(void *) | entry, | ||
| void * | data, | ||
| int | priority | ||
| ) |
References vlc_thread::data, and vlc_clone_attr().
|
static |
References vlc_thread::data, vlc_thread::entry, vlc_thread::id, vlc_thread::killable, p, thread_key, and vlc_thread_destroy().
Referenced by vlc_clone_attr().
| int vlc_set_priority | ( | vlc_thread_t | th, |
| int | priority | ||
| ) |
|
static |
Referenced by vlc_entry(), vlc_join(), and vlc_testcancel().
| void vlc_threads_setup | ( | libvlc_int_t * | vlc | ) |
References ABOVE_NORMAL_PRIORITY_CLASS, mdate_default(), mdate_selected, msg_Dbg, SelectClockSource(), setup_lock, var_InheritBool, and VLC_OBJECT.
|
static |
References vlc_threadvar::prev, super_mutex, vlc_threadvar_get(), vlc_threadvar_last, and vlc_threadvar_set().
Referenced by DllMain().
| UINT cbtc |
| union { ... } clk |
Referenced by mdate_interrupt(), mdate_multimedia(), mdate_perf(), mdate_tick(), and SelectClockSource().
| vlc_rwlock_t config_lock |
Referenced by config_GetFloat(), config_GetInt(), config_GetPsz(), config_PutFloat(), config_PutInt(), and config_PutPsz().
| LARGE_INTEGER freq |
Referenced by mdate().
|
static |
Referenced by mdate(), SelectClockSource(), and vlc_threads_setup().
| struct { ... } multimedia |
| struct { ... } perf |
Referenced by SelectClockSource().
|
static |
Referenced by DllMain(), and vlc_threads_setup().
|
static |
|
static |
Referenced by DllMain(), vlc_mutex_lock(), and vlc_mutex_unlock().
|
static |
Referenced by DllMain(), vlc_entry(), and vlc_thread_self().
| struct vlc_threadvar * vlc_threadvar_last = NULL |
1.8.16