46 CoInitializeEx( NULL, COINIT_MULTITHREADED );
109 assert( p_mta != NULL );
111 if ( i_refcount == 0 )
114 if ( i_refcount == 0 )
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:257
void vlc_sem_wait(vlc_sem_t *sem)
Waits on a semaphore.
Definition: threads.c:355
int vlc_sem_post(vlc_sem_t *sem)
Increments the value of a semaphore.
Definition: threads.c:339
void vlc_sem_init(vlc_sem_t *sem, unsigned value)
Initializes a semaphore.
Definition: threads.c:334
#define vlc_global_lock(n)
Acquires a global mutex.
Definition: vlc_threads.h:1158
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:146
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data)
Creates and starts a new thread.
Definition: thread.c:141
#define vlc_global_unlock(n)
Releases a global mutex.
Definition: vlc_threads.h:1163
void() vlc_thread_set_name(const char *name)
Set the thread name of the current thread.
Definition: thread.c:28
static void * var_CreateGetAddress(vlc_object_t *p_obj, const char *psz_name)
Create an address variable with inherit and get its value.
Definition: vlc_variables.h:584
static int var_SetAddress(vlc_object_t *p_obj, const char *psz_name, void *ptr)
Set the value of a pointer variable.
Definition: vlc_variables.h:360
static void * var_InheritAddress(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:720
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:71
#define vlc_object_instance(o)
Definition: vlc_objects.h:178
static void vlc_mta_release(vlc_object_t *p_parent)
Releases a reference to the MTA holder.
Definition: mta_holder.h:103
struct vlc_mta_holder vlc_mta_holder
static bool vlc_mta_acquire(vlc_object_t *p_parent)
Ensure an MTA context will be available until vlc_mta_release gets called.
Definition: mta_holder.h:65
static void * MtaMainLoop(void *opaque)
Definition: mta_holder.h:41
Definition: mta_holder.h:34
int i_refcount
Definition: mta_holder.h:36
vlc_sem_t release_sem
Definition: mta_holder.h:38
vlc_thread_t thread
Definition: mta_holder.h:35
vlc_sem_t ready_sem
Definition: mta_holder.h:37
VLC object common members.
Definition: vlc_objects.h:45
Semaphore.
Definition: vlc_threads.h:422
Thread handle.
Definition: vlc_threads.h:160
This file is a collection of common definitions and types.
Thread primitive declarations.