X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc.h;h=6eeedc15862026717fa4172a5b3d890b28848d07;hb=de401510c3c27db80a6831eda9b1f74a0d7c88a6;hp=793e67a798c559fb988beff4a3ccfdee6fa7fd05;hpb=b298ce46d52a627d49e09e2203a93110cbbf51d1;p=vlc diff --git a/src/libvlc.h b/src/libvlc.h index 793e67a798..6eeedc1586 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -25,20 +25,14 @@ #ifndef LIBVLC_LIBVLC_H # define LIBVLC_LIBVLC_H 1 -#include - 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 @@ -51,8 +45,8 @@ void system_End ( libvlc_int_t * ); * Threads subsystem */ -/* This cannot be used as is from plugins: */ -void vlc_detach (vlc_thread_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 *); @@ -85,11 +79,6 @@ typedef struct msg_bank_t msg_bank_t; msg_bank_t *msg_Create (void); void msg_Destroy (msg_bank_t *); -/** Internal message stack context */ -void msg_StackSet ( int, const char*, ... ); -void msg_StackAdd ( const char*, ... ); -const char* msg_StackMsg ( void ); - /* * LibVLC exit event handling */ @@ -134,6 +123,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: */ @@ -209,7 +204,7 @@ 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 @@ -217,6 +212,7 @@ typedef struct libvlc_priv_t #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 @@ -319,19 +315,4 @@ 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 *) ); -/* - * Replacement functions - */ -#if defined (WIN32) -# include -void *vlc_wopendir (const wchar_t *); -void *vlc_wclosedir (void *); -struct _wdirent *vlc_wreaddir (void *); -void vlc_rewinddir (void *); -# define _wopendir vlc_wopendir -# define _wreaddir vlc_wreaddir -# define _wclosedir vlc_wclosedir -# define rewinddir vlc_rewinddir -#endif - #endif