X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc.h;h=08890833aaf53bbc2bdf9a49525ce1a0e1b04e28;hb=39328ae6ada45ef13ebe9c0b63b4959a5acf2aae;hp=97e4adefa9bbbd098411fb15ba4e9db65d800c25;hpb=14f37b2101842fa6e427f962f689db74eff6faba;p=vlc diff --git a/src/libvlc.h b/src/libvlc.h index 97e4adefa9..08890833aa 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -27,8 +27,6 @@ typedef struct variable_t variable_t; -extern const char vlc_usage[]; - /* Actions (hot keys) */ typedef struct action { @@ -58,10 +56,15 @@ vlc_list_t *vlc_list_find( vlc_object_t *, int, int ); * Threads subsystem */ +/* This cannot be used as is from plugins: */ +void vlc_detach (vlc_thread_t); + /* Hopefully, no need to export this. There is a new thread API instead. */ void vlc_thread_cancel (vlc_object_t *); int vlc_object_waitpipe (vlc_object_t *obj); +void vlc_threads_setup (libvlc_int_t *); + void vlc_trace (const char *fn, const char *file, unsigned line); #define vlc_backtrace() vlc_trace(__func__, __FILE__, __LINE__) @@ -87,8 +90,7 @@ uint32_t CPUCapabilities( void ); typedef struct msg_bank_t { /** Message queue lock */ - vlc_mutex_t lock; - vlc_cond_t wait; + vlc_rwlock_t lock; /* Subscribers */ int i_sub; @@ -138,6 +140,12 @@ __vlc_custom_create (vlc_object_t *p_this, size_t i_size, int i_type, #define vlc_custom_create(o, s, t, n) \ __vlc_custom_create(VLC_OBJECT(o), s, t, n) +/** + * Assign a name to an object for vlc_object_find_name(). + */ +extern int vlc_object_set_name(vlc_object_t *, const char *); +#define vlc_object_set_name(o, n) vlc_object_set_name(VLC_OBJECT(o), n) + /* * To be cleaned-up module stuff: */ @@ -156,6 +164,7 @@ module_t *module_find_by_shortcut (const char *psz_shortcut); typedef struct vlc_object_internals_t { int i_object_type; /* Object type, deprecated */ + char *psz_name; /* given name */ /* Object variables */ variable_t * p_vars; @@ -189,6 +198,11 @@ typedef struct vlc_object_internals_t #define vlc_internals( obj ) (((vlc_object_internals_t*)(VLC_OBJECT(obj)))-1) +static inline const char *vlc_object_get_name(const vlc_object_t *o) +{ + return vlc_internals(o)->psz_name; +} + typedef struct sap_handler_t sap_handler_t; /**