Go to the documentation of this file.
23 #ifndef LIBVLC_MODULES_H
24 # define LIBVLC_MODULES_H 1
26 # include <stdatomic.h>
48 #ifdef HAVE_DYNAMIC_PLUGINS
50 atomic_uintptr_t handle;
64 #define MODULE_SHORTCUT_MAX 20
67 typedef int (*
vlc_plugin_cb) (int (*)(
void *,
void *, int, ...),
void *);
114 #define module_LoadPlugins(a) module_LoadPlugins(VLC_OBJECT(a))
int(* vlc_plugin_cb)(int(*)(void *, void *, int,...), void *)
Plugin entry point prototype.
Definition: modules.h:67
const char * psz_name
Option name.
Definition: vlc_configuration.h:86
ssize_t vlc_module_match(const char *capability, const char *names, bool strict, module_t ***restrict modules, size_t *restrict strict_matches)
Finds the candidate modules for given criteria.
Definition: modules.c:105
block_t * caches
Definition: bank.c:97
const char * vlc_readdir(DIR *dir)
Reads the next file name from an open directory.
Definition: filesystem.c:126
struct vlc_plugin_t * vlc_plugins
List of all plug-ins.
Definition: bank.c:102
size_t count
Definition: core.c:401
noreturn int sout_AccessOutControl(sout_access_out_t *out, int query,...)
Definition: missing.c:45
stream_t * p_stream
Definition: vlc_xml.h:71
@ VLC_MODULE_SCORE
Definition: vlc_plugin.h:43
@ VLC_MODULE_SHORTCUT
Definition: vlc_plugin.h:41
int() var_Create(vlc_object_t *p_this, const char *psz_name, int i_type)
Creates a VLC object variable.
Definition: variables.c:291
static module_config_t * vlc_config_create(vlc_plugin_t *plugin, int type)
Definition: entry.c:140
In-memory stream object.
Definition: vlc_memstream.h:41
static void block_ChainRelease(block_t *p_block)
Definition: vlc_block.h:358
@ VLC_CONFIG_LIST
Definition: vlc_plugin.h:101
char * realpath(const char *restrict pathname, char *restrict resolved_path)
@ leaf
Definition: vlc_fixups.h:505
static bool var_InheritBool(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:675
module_t ** module_list_get(size_t *n)
Gets the flat list of VLC modules.
Definition: bank.c:765
xml_t * xml_Create(vlc_object_t *p_this)
Definition: xml.c:39
noreturn void update_Download(update_t *u, const char *dir)
Download the file given in the update_t.
Definition: missing.c:265
int strcasecmp(const char *, const char *)
const char * psz_name
Definition: text_style.c:53
int vlc_stat(const char *filename, struct stat *buf)
Finds file/inode information - like stat().
Definition: filesystem.c:173
sout_access_out_t * sout_AccessOutNew(vlc_object_t *obj, const char *access, const char *name)
Definition: missing.c:58
struct vlc_plugin_t::@96 conf
Variables set by the module to store its config options.
struct vlc_cleanup_t vlc_cleanup_t
Definition: vlc_threads.h:784
int vlc_plugin_Map(struct vlc_logger *log, vlc_plugin_t *plugin)
Definition: bank.c:620
Definition: vlc_objects.h:114
@ VLC_PKG_LIB_DIR
Package-specific architecture-dependent read-only data directory (e.g.
Definition: vlc_configuration.h:275
@ VLC_MODULE_DESCRIPTION
Definition: vlc_plugin.h:49
vlc_plugin_t * plugin
Plug-in/library containing the module.
Definition: modules.h:80
const char * textdomain
gettext domain (or NULL)
Definition: modules.h:55
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:227
@ VLC_CONFIG_DESC
Definition: vlc_plugin.h:92
void vlc_module_destroy(module_t *)
Destroys a module.
Definition: entry.c:82
vlc_plugin_t * vlc_plugin_create(void)
Definition: entry.c:94
const char ** pp_shortcuts
Definition: modules.h:85
vlm_message_t * vlm_MessageNew(const char *a, const char *fmt,...)
Definition: missing.c:222
@ VLC_CONFIG_CAPABILITY
Definition: vlc_plugin.h:80
static int vlc_plugin_symbol_compare(const void *a, const void *b)
Definition: entry.c:462
const char * module_get_capability(const module_t *m)
Gets the capability string of a module.
Definition: modules.c:72
Definition: messages.c:54
const char * psz_text
Short comment on the configuration option.
Definition: vlc_configuration.h:87
const char * activate_name
Definition: modules.h:98
const char * module_get_object(const module_t *m)
Gets the internal name of a module.
Definition: modules.c:50
#define DIR_SEP
Definition: vlc_common.h:1221
const char ** list_text
Human-readable names for list values.
Definition: vlc_configuration.h:102
const char * module_gettext(const module_t *m, const char *str)
Translates a string using the module's text domain.
Definition: modules.c:82
@ VLC_CONFIG_CREATE
Definition: vlc_plugin.h:36
#define vlc_mutex_assert(m)
Asserts that a mutex is locked by the calling thread.
Definition: vlc_threads.h:328
Definition: vlc_sout.h:184
void module_unneed(vlc_object_t *obj, module_t *module)
Definition: modules.c:298
#define IsConfigIntegerType(type)
Definition: configuration.h:47
noreturn void vlm_Delete(vlm_t *vlm)
Definition: missing.c:188
size_t i_buffer
Payload length.
Definition: vlc_block.h:122
@ VLC_CONFIG_VOLATILE
Definition: vlc_plugin.h:68
VLC plugin.
Definition: modules.h:29
struct vlc_logger * logger
Definition: vlc_objects.h:45
int(* vlc_activate_t)(void *func, bool forced, va_list args)
Definition: vlc_modules.h:32
module_t * module_need(vlc_object_t *obj, const char *cap, const char *name, bool strict)
Definition: modules.c:282
noreturn void sout_AccessOutDelete(sout_access_out_t *out)
Definition: missing.c:51
noreturn void sout_MuxFlush(sout_mux_t *mux, sout_input_t *input)
Definition: missing.c:147
noreturn bool update_NeedUpgrade(update_t *u)
Definition: missing.c:259
size_t module_list_cap(module_t *const **, const char *)
Lists of all VLC modules with a given capability.
@ VLC_CONFIG_RANGE
Definition: vlc_plugin.h:62
const int * i
Table of possible integer choices.
Definition: vlc_configuration.h:100
void vlc_plugin_destroy(vlc_plugin_t *)
Destroys a plug-in.
Definition: entry.c:122
@ VLC_MODULE_TEXTDOMAIN
Definition: vlc_plugin.h:51
unsigned i_shortcuts
Shortcuts to the module.
Definition: modules.h:84
unsigned b_internal
Hidden from preferences and help.
Definition: vlc_configuration.h:80
@ VLC_CONFIG_PRIVATE
Definition: vlc_plugin.h:74
module_value_t orig
Default value.
Definition: vlc_configuration.h:91
module_t * module
Definition: modules.h:52
void module_list_free(module_t **list)
Frees the flat list of VLC modules.
Definition: bank.c:754
int vlc_plugin_Map(struct vlc_logger *, vlc_plugin_t *)
Definition: bank.c:620
void module_EndBank(bool b_plugins)
Unloads all unused plugin modules and empties the module bank in case of success.
Definition: bank.c:677
int vlc_spawnp(pid_t *pid, const char *path, const int *fds, const char *const *args)
Spawn a child process.
Definition: missing.c:299
#define module_LoadPlugins(a)
Definition: modules.h:114
bool module_exists(const char *psz_name)
Checks if a module exists.
Definition: modules.c:332
noreturn ssize_t sout_AccessOutWrite(sout_access_out_t *out, block_t *block)
Definition: missing.c:78
noreturn void update_Delete(update_t *u)
Delete an update_t struct.
Definition: missing.c:247
static struct @95 modules
static void vlc_modcap_sort(const void *node, const VISIT which, const int depth)
Definition: bank.c:82
#define MODULE_SHORTCUT_MAX
Definition: modules.h:64
char * psz
Definition: vlc_configuration.h:62
noreturn int vlm_ExecuteCommand(vlm_t *vlm, const char *cmd, vlm_message_t **pm)
Definition: missing.c:194
void module_InitBank(void)
Init bank.
Definition: bank.c:645
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:106
vlc_plugin_t * vlc_plugin_describe(vlc_plugin_cb)
Runs a plug-in descriptor.
Definition: entry.c:442
char * vlc_dlerror(void) VLC_USED
Formats an error message for vlc_dlopen() or vlc_dlsym().
Definition: plugin.c:65
int vlc_plugin_resolve(vlc_plugin_t *, vlc_plugin_cb)
Definition: entry.c:580
bool module_provides(const module_t *m, const char *cap)
Checks whether a module implements a capability.
Definition: modules.c:45
@ postorder
Definition: vlc_fixups.h:503
Viewpoints.
Definition: vlc_viewpoint.h:41
noreturn void sout_StreamChainDelete(sout_stream_t *first, sout_stream_t *end)
Definition: missing.c:153
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:474
@ VLC_MODULE_SHORTNAME
Definition: vlc_plugin.h:48
#define IsConfigStringType(type)
Definition: configuration.h:45
void vlc_plugin_destroy(vlc_plugin_t *plugin)
Destroys a plug-in.
Definition: entry.c:122
@ VLC_CONFIG_REMOVED
Definition: vlc_plugin.h:77
size_t modc
Definition: bank.c:80
#define VLC_VAR_STRING
Definition: vlc_variables.h:51
static char * getenv(const char *name)
Definition: vlc_fixups.h:292
@ VLC_CONFIG_NAME
Definition: vlc_plugin.h:56
Stream output access_output.
Definition: vlc_sout.h:53
static int vlc_module_store(module_t *mod)
Adds a module to the bank.
Definition: bank.c:107
vlm_t * vlm_New(libvlc_int_t *obj, const char *file)
Definition: missing.c:230
@ VLC_MODULE_NAME
Definition: vlc_plugin.h:47
#define VLC_STATIC_MUTEX
Static initializer for (static) mutex.
Definition: vlc_threads.h:249
vlm_message_t * vlm_MessageSimpleNew(const char *a)
Definition: missing.c:216
noreturn sout_mux_t * sout_MuxNew(sout_access_out_t *out, const char *mux)
Definition: missing.c:134
void() var_Destroy(vlc_object_t *p_this, const char *psz_name)
Destroys a VLC object variable.
Definition: variables.c:382
int asprintf(char **, const char *,...)
void * vlc_module_map(vlc_logger_t *log, module_t *module)
Maps a module in memory.
Definition: modules.c:185
@ VLC_CONFIG_SHORTCUT
Definition: vlc_plugin.h:83
Mutex.
Definition: vlc_threads.h:225
noreturn void update_Check(update_t *u, void(*cb)(void *, bool), void *opaque)
Check for updates.
Definition: missing.c:253
int module_get_score(const module_t *m)
Gets the precedence of a module.
Definition: modules.c:77
@ VLC_CONFIG_VALUE
Definition: vlc_plugin.h:59
static void vlc_plugin_Unmap(vlc_plugin_t *plugin)
Definition: bank.c:626
size_t booleans
Count of options that are of boolean type.
Definition: modules.h:65
noreturn sout_input_t * sout_MuxAddStream(sout_mux_t *mux, const es_format_t *fmt)
Definition: missing.c:109
int vlc_sdp_Start(struct vlc_memstream *sdp, vlc_object_t *obj, const char *cfg, const struct sockaddr *src, size_t srclen, const struct sockaddr *addr, size_t addrlen)
Definition: missing.c:168
int vlc_waitpid(pid_t pid)
Waits for a child process.
Definition: missing.c:307
int config_SortConfig(void)
Index the configuration items by name for faster lookups.
Definition: core.c:407
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:104
const char * psz_help
Long help string for "special" modules.
Definition: modules.h:92
void * owner
Origin run-time linker module handle.
Definition: vlc_configuration.h:103
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition: vlc_common.h:253
FILE * vlc_fopen(const char *filename, const char *mode)
Opens a FILE pointer.
Definition: filesystem.c:49
module_t ** modv
Definition: bank.c:79
block_t * p_next
Definition: vlc_block.h:119
Describes an update VLC release number.
Definition: vlc_update.h:40
static int var_SetString(vlc_object_t *p_obj, const char *psz_name, const char *psz_string)
Set the value of a string variable.
Definition: vlc_variables.h:345
int i_score
Score for the capability.
Definition: modules.h:95
noreturn ssize_t sout_AccessOutRead(sout_access_out_t *out, block_t *block)
Definition: missing.c:66
#define vlc_error(logger,...)
Definition: vlc_messages.h:140
unsigned usage
Definition: bank.c:99
vlc_plugin_t * vlc_plugins
List of all plug-ins.
Definition: bank.c:102
#define VLC_ETIMEOUT
Timeout.
Definition: vlc_common.h:478
static vlc_plugin_t * module_InitStatic(vlc_plugin_cb entry)
Registers a statically-linked plug-in.
Definition: bank.c:161
unsigned b_unsaveable
Not stored in configuration.
Definition: vlc_configuration.h:81
vlc_plugin_t * vlc_plugin_create(void)
Definition: entry.c:94
Internal module descriptor.
Definition: modules.h:78
DLL_SYMBOL int CDECL_SYMBOL vlc_entry__core(vlc_set_cb vlc_set, void *opaque)
Core module.
Definition: libvlc-module.c:1526
struct vlc_plugin_t vlc_plugin_t
VLC plugin.
noreturn sout_stream_t * sout_StreamChainNew(vlc_object_t *sout, const char *chain, sout_stream_t *next)
Definition: missing.c:160
module_value_t max
Maximum value (for scalars only)
Definition: vlc_configuration.h:93
void * pf_activate
Definition: modules.h:100
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
Definition: vlm_internal.h:77
void * vlc_dlsym(void *handle, const char *) VLC_USED
Looks up a symbol from a dynamically loaded library.
Definition: plugin.c:57
noreturn void sout_AnnounceUnRegister(vlc_object_t *obj, session_descriptor_t *d)
Definition: missing.c:95
#define PATH_SEP
Definition: vlc_common.h:1223
module_t * p_module
Definition: vlc_xml.h:42
block_t * block_FilePath(const char *path, bool write)
Maps a file in memory.
Definition: block.c:433
const char * psz_longname
Module descriptive name.
Definition: modules.h:91
static int vlc_plugin_desc_cb(void *ctx, void *tgt, int propid,...)
Plug-in descriptor callback.
Definition: entry.c:187
noreturn int sout_AccessOutSeek(sout_access_out_t *out, off_t offset)
Definition: missing.c:72
const char * vlc_strerror_c(int errnum)
Definition: error.c:34
float yaw
Definition: vlc_viewpoint.h:42
int vlc_bindtextdomain(const char *)
Definition: textdomain.c:33
float roll
Definition: vlc_viewpoint.h:44
void * vlc_plugin_Symbol(struct vlc_logger *, vlc_plugin_t *, const char *name)
Definition: bank.c:631
void(* vlc_deactivate_cb)(vlc_object_t *)
Plugin deactivation callback.
Definition: modules.h:70
void config_Free(module_config_t *, size_t)
Destroys an array of configuration items.
Definition: core.c:467
void vlc_objres_clear(vlc_object_t *obj)
Releases all resources of an object.
Definition: objres.c:84
static int vlc_modcap_cmp(const void *a, const void *b)
Definition: bank.c:59
Definition: vlc_codec.h:242
const char * module_get_help(const module_t *m)
Gets the help text for a module.
Definition: modules.c:67
void module_EndBank(bool)
Unloads all unused plugin modules and empties the module bank in case of success.
Definition: bank.c:677
DIR * vlc_opendir(const char *dirname)
Opens a DIR pointer.
Definition: filesystem.c:110
char * strtok_r(char *, const char *, char **)
noreturn int sout_MuxGetStream(sout_mux_t *mux, unsigned n, vlc_tick_t *date)
Definition: missing.c:128
stream_t definition
Definition: vlc_stream.h:46
noreturn int vlm_Control(vlm_t *vlm, int query,...)
Definition: missing.c:181
unsigned modules_count
Definition: modules.h:53
size_t size
Total count of all items.
Definition: modules.h:63
encoder_t * sout_EncoderCreate(vlc_object_t *p_this, size_t owner_size)
Definition: missing.c:103
static void vlc_plugin_store(vlc_plugin_t *lib)
Adds a plugin (and all its modules) to the bank.
Definition: bank.c:147
Muxer structure.
Definition: vlc_sout.h:101
struct vlc_plugin_t * next
Definition: modules.h:51
void xml_Delete(xml_t *p_xml)
Definition: xml.c:59
VISIT
Definition: vlc_fixups.h:501
@ VLC_MODULE_NO_UNLOAD
Definition: vlc_plugin.h:46
module_t * vlc_module_create(vlc_plugin_t *plugin)
Definition: entry.c:40
static void * vlc_plugin_get_symbols(vlc_plugin_cb entry)
Gets the symbols of a plugin.
Definition: entry.c:542
void vlc_viewpoint_to_4x4(const vlc_viewpoint_t *vp, float *m)
Generate the 4x4 transform matrix corresponding to a viewpoint.
Definition: viewpoint.c:29
static int vlc_plugin_gpa_cb(void *ctx, void *tgt, int propid,...)
Plug-in symbols callback.
Definition: entry.c:475
@ VLC_MODULE_HELP
Definition: vlc_plugin.h:50
@ VLC_CONFIG_SAFE
Definition: vlc_plugin.h:89
static int vlc_plugin_get_symbol(void *root, const char *name, void **restrict addrp)
Definition: entry.c:560
#define CONFIG_ITEM_BOOL
Definition: vlc_plugin.h:123
static void * xmalloc(size_t len)
Definition: vlc_common.h:1175
session_descriptor_t * sout_AnnounceRegisterSDP(vlc_object_t *obj, const char *sdp, const char *dst)
Definition: missing.c:85
int vlc_plugin_resolve(vlc_plugin_t *plugin, vlc_plugin_cb entry)
Definition: entry.c:580
noreturn vlm_message_t * vlm_MessageAdd(vlm_message_t *a, vlm_message_t *b)
Definition: missing.c:203
module_config_t * items
Table of configuration items.
Definition: modules.h:62
static void vlc_modcap_free(void *data)
Definition: bank.c:65
void config_UnsortConfig(void)
Definition: core.c:441
module_config_t * module_config_get(const module_t *module, unsigned *restrict psize)
Gets the table of module configuration items.
Definition: modules.c:337
VLC object common members.
Definition: vlc_objects.h:43
vlc_plugin_t * vlc_plugin_describe(vlc_plugin_cb entry)
Runs a plug-in descriptor.
Definition: entry.c:442
The update object.
Definition: update.h:158
#define IsConfigFloatType(type)
Definition: configuration.h:49
Configuration item.
Definition: vlc_configuration.h:76
module_t * p_module
Definition: vlc_xml.h:72
size_t count
Count of real options (excludes hints)
Definition: modules.h:64
unsigned b_removed
Obsolete.
Definition: vlc_configuration.h:83
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
const char * psz_type
Configuration subtype.
Definition: vlc_configuration.h:85
const char * psz_capability
Capability.
Definition: modules.h:94
void tdestroy(void *root, void(*free_node)(void *nodep))
char * name
Definition: bank.c:78
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:472
void * vlc_plugin_Symbol(struct vlc_logger *log, vlc_plugin_t *plugin, const char *name)
Definition: bank.c:631
struct vlc_modcap vlc_modcap_t
const char * name
Definition: entry.c:458
@ VLC_MODULE_CREATE
Definition: vlc_plugin.h:35
char * strdup(const char *)
void * tfind(const void *key, void *const *rootp, int(*cmp)(const void *, const void *))
module_value_t min
Minimum value (for scalars only)
Definition: vlc_configuration.h:92
const char * module_get_name(const module_t *m, bool long_name)
Gets the human-friendly name of a module.
Definition: modules.c:57
char * config_GetSysPath(vlc_sysdir_t type, const char *filename)
Gets an installation directory.
Definition: specific.c:306
#define VLC_USED
Definition: fourcc_gen.c:32
vlc_plugin_t * vlc_cache_load(vlc_object_t *, const char *, block_t **)
@ VLC_MODULE_CB_OPEN
Definition: vlc_plugin.h:44
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:117
static int vlc_module_cmp(const void *a, const void *b)
Definition: bank.c:74
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition: threads.c:158
module_config_t ** list
Definition: core.c:400
void * caps_tree
Definition: bank.c:98
#define VLC_WEAK
Weak symbol annotation.
Definition: vlc_common.h:198
const char name[16]
Definition: httpd.c:1268
#define VLC_API_VERSION_STRING
Current plugin ABI version.
Definition: vlc_plugin.h:196
union module_config_t::@194 list
Possible choices.
int vlc_spawn(pid_t *pid, const char *file, const int *fds, const char *const *args)
Spawn a child process (by file name).
Definition: missing.c:291
Definition: fourcc_gen.c:51
void xml_ReaderDelete(xml_reader_t *reader)
Deletes an XML reader.
Definition: xml.c:95
int64_t i
Definition: vlc_configuration.h:63
static void vlc_plugin_free_symbols(void *root)
Definition: entry.c:555
module_value_t value
Current value.
Definition: vlc_configuration.h:90
void * vlc_dlopen(const char *path, bool) VLC_USED
Loads a dynamically linked library.
Definition: plugin.c:40
static void * xrealloc(void *ptr, size_t len)
Definition: vlc_common.h:1183
@ VLC_MODULE_CAPABILITY
Definition: vlc_plugin.h:42
vlc_plugin_t * vlc_cache_lookup(vlc_plugin_t **, const char *relpath)
noreturn void vlc_control_cancel(vlc_cleanup_t *cleaner)
Internal handler for thread cancellation.
Definition: missing.c:280
noreturn int sout_MuxSendBuffer(sout_mux_t *mux, sout_input_t *input, block_t *block)
Definition: missing.c:140
static void module_InitStaticModules(void)
Definition: bank.c:184
int vlc_unlink(const char *filename)
Removes a file.
Definition: filesystem.c:183
float f
Definition: vlc_configuration.h:64
int vlc_rename(const char *oldpath, const char *newpath)
Moves a file atomically.
Definition: filesystem.c:197
static bool module_match_name(const module_t *m, const char *name, size_t len)
Definition: modules.c:95
void module_InitBank(void)
Init bank.
Definition: bank.c:645
uint16_t list_count
Choices count.
Definition: vlc_configuration.h:96
bool force
Module probe flag.
Definition: vlc_objects.h:58
xml_reader_t * xml_ReaderCreate(vlc_object_t *obj, stream_t *stream)
Creates an XML reader.
Definition: xml.c:73
vlc_plugin_cb vlc_static_modules[]
const char * psz_longtext
Long comment on the configuration option.
Definition: vlc_configuration.h:88
vlc_mutex_t lock
Definition: bank.c:96
uint8_t i_type
Configuration type.
Definition: vlc_configuration.h:78
void CacheSave(vlc_object_t *, const char *, vlc_plugin_t *const *, size_t)
const char ** psz
Table of possible string choices.
Definition: vlc_configuration.h:99
module_t * vlc_module_create(vlc_plugin_t *)
Definition: entry.c:40
int vlc_dlclose(void *)
Unloads a dynamic library.
Definition: plugin.c:52
Definition: vlc_vlm.h:176
update_t *() update_New(vlc_object_t *obj)
Create a new update VLC struct.
Definition: missing.c:241
noreturn void sout_MuxDeleteStream(sout_mux_t *mux, sout_input_t *input)
Definition: missing.c:122
size_t module_list_cap(module_t *const **restrict list, const char *name)
Definition: bank.c:790
#define vlc_object_delete(obj)
Definition: vlc_objects.h:136
const char * psz_shortname
Module name.
Definition: modules.h:90
char i_short
Optional short option name.
Definition: vlc_configuration.h:79
#define likely(p)
Predicted true condition.
Definition: vlc_common.h:218
void * tsearch(const void *key, void **rootp, int(*cmp)(const void *, const void *))
uint8_t * p_buffer
Payload start.
Definition: vlc_block.h:121
void module_config_free(module_config_t *config)
Releases the configuration items table.
Definition: modules.c:372
vlc_deactivate_cb deactivate
Definition: modules.h:101
void * addr
Definition: entry.c:459
module_t *() vlc_module_load(struct vlc_logger *log, const char *capability, const char *name, bool strict, vlc_activate_t probe,...)
Finds and instantiates the best module of a certain type.
Definition: modules.c:210
module_t * next
Definition: modules.h:81
void twalk(const void *root, void(*action)(const void *nodep, VISIT which, int depth))
const char * deactivate_name
Definition: modules.h:99
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:1144
static void * realloc_or_free(void *p, size_t sz)
This wrapper around realloc() will free the input pointer when realloc() returns NULL.
Definition: vlc_arrays.h:47
#define module_unneed(a, b)
Definition: vlc_modules.h:126
noreturn void vlm_MessageDelete(vlm_message_t *m)
Definition: missing.c:210
void block_Release(block_t *block)
Releases a block.
Definition: block.c:135
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition: threads.c:209
Definition: vlc_block.h:117
#define msg_Err(p_this,...)
Definition: vlc_messages.h:102
int vlc_entry__core(int(*)(void *, void *, int,...), void *)
Core module.
Definition: libvlc-module.c:1526
#define CONFIG_ITEM(x)
Definition: vlc_plugin.h:136
float pitch
Definition: vlc_viewpoint.h:43
noreturn update_release_t * update_GetRelease(update_t *u)
Definition: missing.c:271
#define module_need(a, b, c, d)
Definition: vlc_modules.h:111
void module_LoadPlugins(vlc_object_t *obj)
Loads module descriptions for all available plugins.
Definition: bank.c:724
noreturn void sout_MuxDelete(sout_mux_t *mux)
Definition: missing.c:116
unsigned b_safe
Safe for web plugins and playlist files.
Definition: vlc_configuration.h:82
#define vlc_debug(logger,...)
Definition: vlc_messages.h:142
static int generic_start(void *func, bool forced, va_list ap)
Definition: modules.c:268
module_t * module_find(const char *name)
Get a pointer to a module_t given it's name.
Definition: modules.c:309
void vlc_module_destroy(module_t *module)
Destroys a module.
Definition: entry.c:82
@ VLC_MODULE_CB_CLOSE
Definition: vlc_plugin.h:45