Go to the documentation of this file.
43 CoInitializeEx( NULL, COINIT_MULTITHREADED );
106 assert( p_mta != NULL );
108 if ( i_refcount == 0 )
111 if ( i_refcount == 0 )
@ VLC_SYSDATA_DIR
Global architecture-independent read-only data directory (e.g.
Definition: vlc_configuration.h:280
@ VLC_CACHE_DIR
Definition: vlc_configuration.h:310
@ VLC_VIDEOS_DIR
Definition: vlc_configuration.h:319
#define vlc_global_lock(n)
Acquires a global mutex.
Definition: vlc_threads.h:1107
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:62
vlc_sem_t release_sem
Definition: mta_holder.h:57
@ VLC_PKG_LIB_DIR
Package-specific architecture-dependent read-only data directory (e.g.
Definition: vlc_configuration.h:275
void vlc_sem_init(vlc_sem_t *sem, unsigned value)
Initializes a semaphore.
Definition: threads.c:442
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:227
@ VLC_DESKTOP_DIR
Definition: vlc_configuration.h:312
#define VLC_THREAD_PRIORITY_LOW
Definition: vlc_threads.h:207
static void vlc_mta_release(vlc_object_t *p_parent)
Releases a reference to the MTA holder.
Definition: mta_holder.h:100
static char * config_GetAppDir(void)
Definition: dirs-uap.c:157
#define vlc_global_unlock(n)
Releases a global mutex.
Definition: vlc_threads.h:1112
static char * config_GetShellDir(vlc_userdir_t csidl)
Definition: dirs-uap.c:66
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 char * getenv(const char *name)
Definition: vlc_fixups.h:292
vlc_sem_t ready_sem
Definition: mta_holder.h:56
vlc_thread_t thread
Definition: mta_holder.h:54
int asprintf(char **, const char *,...)
@ VLC_HOME_DIR
Definition: vlc_configuration.h:307
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:144
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition: vlc_common.h:253
char * config_GetUserDir(vlc_userdir_t type)
Definition: dirs-uap.c:277
static char * GetFolderName(IStorageFolder *folder)
Definition: dirs-uap.c:44
struct vlc_mta_holder vlc_mta_holder
@ VLC_LOCALE_DIR
Base directory for package read-only locale data.
Definition: vlc_configuration.h:288
@ VLC_DOCUMENTS_DIR
Definition: vlc_configuration.h:316
@ VLC_PICTURES_DIR
Definition: vlc_configuration.h:318
@ VLC_CONFIG_DIR
Definition: vlc_configuration.h:308
static void * MtaMainLoop(void *opaque)
Definition: mta_holder.h:40
Thread handle.
Definition: vlc_threads.h:180
@ VLC_PKG_DATA_DIR
Package-specific architecture-independent read-only data directory (e.g.
Definition: vlc_configuration.h:273
@ VLC_PUBLICSHARE_DIR
Definition: vlc_configuration.h:315
void vlc_sem_wait(vlc_sem_t *sem)
Waits on a semaphore.
Definition: threads.c:463
Definition: mta_holder.h:32
VLC object common members.
Definition: vlc_objects.h:43
Semaphore.
Definition: vlc_threads.h:449
char * strdup(const char *)
char * config_GetSysPath(vlc_sysdir_t type, const char *filename)
Gets an installation directory.
Definition: dirs-uap.c:124
int i_refcount
Definition: mta_holder.h:55
static char * config_GetDataDir(void)
Definition: dirs-uap.c:118
enum vlc_system_dir vlc_sysdir_t
System directory identifiers.
@ VLC_DOWNLOAD_DIR
Definition: vlc_configuration.h:313
int vlc_sem_post(vlc_sem_t *sem)
Increments the value of a semaphore.
Definition: threads.c:447
static void * var_InheritAddress(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:720
@ VLC_TEMPLATES_DIR
Definition: vlc_configuration.h:314
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
@ VLC_USERDATA_DIR
Definition: vlc_configuration.h:309
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:70
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:151
enum vlc_user_dir vlc_userdir_t
#define vlc_object_instance(o)
Definition: vlc_objects.h:195
@ VLC_MUSIC_DIR
Definition: vlc_configuration.h:317
@ VLC_PKG_LIBEXEC_DIR
Package-specific executable read-only directory (e.g.
Definition: vlc_configuration.h:277