|
VLC 4.0.0-dev
|
Data Structures | |
| struct | vlc_modcap |
Typedefs | |
| typedef struct vlc_modcap | vlc_modcap_t |
Functions | |
| int() | vlc_entry__core (vlc_set_cb, void *) |
| Core module. | |
| static int | vlc_modcap_cmp (const void *a, const void *b) |
| static void | vlc_modcap_free (void *data) |
| static int | vlc_module_cmp (const void *a, const void *b) |
| static void | vlc_modcap_sort (const void *node, const VISIT which, const int depth) |
| static int | vlc_module_store (module_t *mod) |
| Adds a module to the bank. | |
| static void | vlc_plugin_store (vlc_plugin_t *lib) |
| Adds a plugin (and all its modules) to the bank. | |
| static vlc_plugin_t * | module_InitStatic (vlc_plugin_cb entry) |
| Registers a statically-linked plug-in. | |
| static void | module_InitStaticModules (void) |
| int | vlc_plugin_Map (struct vlc_logger *log, vlc_plugin_t *plugin) |
| static void | vlc_plugin_Unmap (vlc_plugin_t *plugin) |
| void * | vlc_plugin_Symbol (struct vlc_logger *log, vlc_plugin_t *plugin, const char *name) |
| void | module_InitBank (void) |
| Init bank. | |
| void | module_EndBank (bool b_plugins) |
| Unloads all unused plugin modules and empties the module bank in case of success. | |
| void | module_LoadPlugins (libvlc_int_t *obj) |
| Loads module descriptions for all available plugins. | |
| void | module_list_free (module_t **list) |
| Frees a flat list of VLC modules. | |
| module_t ** | module_list_get (size_t *n) |
| Gets the flat list of VLC modules. | |
| size_t | module_list_cap (module_t *const **restrict list, const char *name) |
Variables | ||
| struct { | ||
| vlc_mutex_t lock | ||
| block_t * caches | ||
| void * caps_tree | ||
| size_t count | ||
| unsigned usage | ||
| } | modules = { { .value = 0, .recursion = 0, .owner = 0, } , NULL, NULL, 0, 0 } | |
| vlc_plugin_t * | vlc_plugins = NULL | |
| List of all plug-ins. | ||
| const vlc_plugin_cb | vlc_static_modules [] | |
| typedef struct vlc_modcap vlc_modcap_t |
| void module_EndBank | ( | bool | b_plugins | ) |
Unloads all unused plugin modules and empties the module bank in case of success.
References block_ChainRelease, caches, caps_tree, config_UnsortConfig(), vlc_plugin_t::count, modules, vlc_plugin_t::next, tdestroy(), vlc_modcap_free(), vlc_mutex_assert, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_plugin_destroy(), vlc_plugin_Unmap(), and vlc_plugins.
Referenced by libvlc_InternalCleanup().
| void module_InitBank | ( | void | ) |
Init bank.
Creates a module bank structure which will be filled later on with all the modules found.
References config_SortConfig(), likely, module_InitStatic(), modules, VLC_MODULE_ENTRY, vlc_mutex_lock(), and vlc_plugin_store().
Referenced by libvlc_InternalInit().
|
static |
Registers a statically-linked plug-in.
References unlikely, and vlc_plugin_describe().
Referenced by module_InitBank(), and module_InitStaticModules().
|
static |
References likely, module_InitStatic(), vlc_plugin_store(), and vlc_static_modules.
Referenced by module_LoadPlugins().
| size_t module_list_cap | ( | module_t *const **restrict | list, |
| const char * | name | ||
| ) |
References list, vlc_modcap::modc, modules, vlc_modcap::modv, vlc_modcap::name, name, tfind(), and vlc_modcap_cmp().
Referenced by config_ListModules(), and vlc_module_match().
| void module_list_free | ( | module_t ** | list | ) |
Frees a flat list of VLC modules.
| list | list obtained by module_list_get() |
References list.
Referenced by ListModules(), and module_find().
| module_t ** module_list_get | ( | size_t * | n | ) |
Gets the flat list of VLC modules.
| n | [OUT] pointer to the number of modules |
References modules, vlc_plugin_t::next, unlikely, and vlc_plugins.
Referenced by ListModules(), and module_find().
| void module_LoadPlugins | ( | libvlc_int_t * | obj | ) |
Loads module descriptions for all available plugins.
Fills the module bank structure with the plugin modules.
| obj | vlc object structure |
References config_SortConfig(), config_UnsortConfig(), module_InitStaticModules(), modules, msg_Dbg, twalk(), vlc_modcap_sort(), and vlc_mutex_unlock().
Referenced by libvlc_InternalInit().
| int() vlc_entry__core | ( | vlc_set_cb | vlc_set, |
| void * | opaque | ||
| ) |
Core module.
|
static |
References vlc_modcap::name.
Referenced by module_list_cap(), and vlc_module_store().
|
static |
References vlc_modcap::modv, and vlc_modcap::name.
Referenced by module_EndBank(), and vlc_module_store().
|
static |
References leaf, postorder, and vlc_module_cmp().
Referenced by module_LoadPlugins().
|
static |
References module_t::i_score.
Referenced by vlc_modcap_sort().
|
static |
Adds a module to the bank.
References vlc_modcap::modc, module_get_capability(), modules, vlc_modcap::modv, vlc_modcap::name, name, strdup(), tsearch(), unlikely, vlc_modcap_cmp(), and vlc_modcap_free().
Referenced by vlc_plugin_store().
| int vlc_plugin_Map | ( | struct vlc_logger * | log, |
| vlc_plugin_t * | plugin | ||
| ) |
Referenced by vlc_module_map().
|
static |
Adds a plugin (and all its modules) to the bank.
References vlc_plugin_t::count, modules, vlc_plugin_t::modules_count, vlc_plugin_t::next, vlc_module_store(), vlc_mutex_assert, and vlc_plugins.
Referenced by module_InitBank(), and module_InitStaticModules().
| void * vlc_plugin_Symbol | ( | struct vlc_logger * | log, |
| vlc_plugin_t * | plugin, | ||
| const char * | name | ||
| ) |
References name.
Referenced by config_GetIntChoices(), and config_GetPszChoices().
|
static |
Referenced by module_EndBank().
| block_t* caches |
Referenced by module_EndBank().
| void* caps_tree |
Referenced by module_EndBank().
| size_t count |
| vlc_mutex_t lock |
| struct { ... } modules |
| unsigned usage |
| vlc_plugin_t* vlc_plugins = NULL |
List of all plug-ins.
Referenced by config_LoadCmdLine(), config_ResetAll(), config_SaveConfigFile(), config_SortConfig(), module_EndBank(), module_list_get(), Usage(), and vlc_plugin_store().
|
extern |
Referenced by module_InitStaticModules().