X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc.h;h=a1431e8eab610b00a6ef412b9d8a21d926aba21d;hb=36e919f365a8eb0d9dcd7c846284149322b3cd07;hp=82a05d0eee49dd3d56d6363094026397ab65dc8c;hpb=a29e8329e2892ad5e0631772d3ccad24b15aaf49;p=vlc diff --git a/src/libvlc.h b/src/libvlc.h index 82a05d0eee..a1431e8eab 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -25,27 +25,26 @@ #ifndef LIBVLC_LIBVLC_H # define LIBVLC_LIBVLC_H 1 -#include +extern const char psz_vlc_changeset[]; typedef struct variable_t variable_t; /* Actions (hot keys) */ -typedef struct action -{ - char name[24]; - int value; -} action_t; -extern const struct action libvlc_actions[]; -extern const size_t libvlc_actions_count; -extern int vlc_InitActions (libvlc_int_t *); -extern void vlc_DeinitActions (libvlc_int_t *); +struct vlc_actions; +struct vlc_actions *vlc_InitActions (libvlc_int_t *); +extern void vlc_DeinitActions (libvlc_int_t *, struct vlc_actions *); + +size_t vlc_towc (const char *str, uint32_t *restrict pwc); /* * OS-specific initialization */ -void system_Init ( libvlc_int_t *, int *, const char *[] ); +void system_Init ( void ); void system_Configure ( libvlc_int_t *, int, const char *const [] ); -void system_End ( libvlc_int_t * ); +void system_End ( void ); + +void vlc_CPU_init(void); +void vlc_CPU_dump(vlc_object_t *); /* * Threads subsystem @@ -54,10 +53,10 @@ void system_End ( libvlc_int_t * ); /* This cannot be used as is from plugins yet: */ int vlc_clone_detach (vlc_thread_t *, void *(*)(void *), void *, int); -/* 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); +int vlc_set_priority( vlc_thread_t, int ); + void vlc_threads_setup (libvlc_int_t *); void vlc_trace (const char *fn, const char *file, unsigned line); @@ -69,22 +68,6 @@ void vlc_assert_locked (vlc_mutex_t *); # define vlc_assert_locked( m ) (void)m #endif -/* - * CPU capabilities - */ -extern uint32_t cpu_flags; -uint32_t CPUCapabilities( void ); -bool vlc_CPU_CheckPluginDir (const char *name); - -/* - * Message/logging stuff - */ - -typedef struct msg_bank_t msg_bank_t; - -msg_bank_t *msg_Create (void); -void msg_Destroy (msg_bank_t *); - /* * LibVLC exit event handling */ @@ -113,15 +96,13 @@ void vlc_ExitDestroy( vlc_exit_t * ); * * @param p_this an existing VLC object * @param i_size byte size of the object structure - * @param i_type object type, usually VLC_OBJECT_CUSTOM * @param psz_type object type name * @return the created object, or NULL. */ extern void * -vlc_custom_create (vlc_object_t *p_this, size_t i_size, int i_type, - const char *psz_type); -#define vlc_custom_create(o, s, t, n) \ - vlc_custom_create(VLC_OBJECT(o), s, t, n) +vlc_custom_create (vlc_object_t *p_this, size_t i_size, const char *psz_type); +#define vlc_custom_create(o, s, n) \ + vlc_custom_create(VLC_OBJECT(o), s, n) /** * Assign a name to an object for vlc_object_find_name(). @@ -129,6 +110,12 @@ vlc_custom_create (vlc_object_t *p_this, size_t i_size, int i_type, 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) +/* Types */ +typedef void (*vlc_destructor_t) (struct vlc_object_t *); +void vlc_object_set_destructor (vlc_object_t *, vlc_destructor_t); +#define vlc_object_set_destructor(a,b) \ + vlc_object_set_destructor (VLC_OBJECT(a), b) + /* * To be cleaned-up module stuff: */ @@ -143,7 +130,6 @@ typedef struct vlc_object_internals vlc_object_internals_t; struct vlc_object_internals { - int i_object_type; /* Object type, deprecated */ char *psz_name; /* given name */ /* Object variables */ @@ -151,10 +137,6 @@ struct vlc_object_internals vlc_mutex_t var_lock; vlc_cond_t var_wait; - /* Thread properties, if any */ - vlc_thread_t thread_id; - bool b_thread; - /* Objects thread synchronization */ int pipes[2]; @@ -187,11 +169,9 @@ typedef struct libvlc_priv_t { libvlc_int_t public_data; - int i_last_input_id ; ///< Last id of input item bool playlist_active; /* Messages */ - msg_bank_t *msg_bank; ///< The message bank int i_verbose; ///< info messages bool b_color; ///< color messages? @@ -204,14 +184,14 @@ typedef struct libvlc_priv_t /* Singleton objects */ module_t *p_memcpy_module; ///< Fast memcpy plugin used playlist_t *p_playlist; ///< the playlist singleton - media_library_t *p_ml; ///< the ML singleton + struct media_library_t *p_ml; ///< the ML singleton vlc_mutex_t ml_lock; ///< Mutex for ML creation vlm_t *p_vlm; ///< the VLM singleton (or NULL) vlc_object_t *p_dialog_provider; ///< dialog provider - httpd_t *p_httpd; ///< HTTP daemon (src/network/httpd.c) #ifdef ENABLE_SOUT sap_handler_t *p_sap; ///< SAP SDP advertiser #endif + struct vlc_actions *actions; ///< Hotkeys handler /* Interfaces */ struct intf_thread_t *p_intf; ///< Interfaces linked-list @@ -244,7 +224,6 @@ extern const size_t libvlc_config_count; */ void var_OptionParse (vlc_object_t *, const char *, bool trusted); - /* * Stats stuff */ @@ -310,8 +289,8 @@ static inline int stats_UpdateFloat( vlc_object_t *p_obj, counter_t *p_co, } #define stats_UpdateFloat(a,b,c,d) stats_UpdateFloat( VLC_OBJECT(a),b,c,d ) -VLC_EXPORT( void, stats_ComputeInputStats, (input_thread_t*, input_stats_t*) ); -VLC_EXPORT( void, stats_ReinitInputStats, (input_stats_t *) ); -VLC_EXPORT( void, stats_DumpInputStats, (input_stats_t *) ); +void stats_ComputeInputStats(input_thread_t*, input_stats_t*); +void stats_ReinitInputStats(input_stats_t *); +void stats_DumpInputStats(input_stats_t *); #endif