VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
modules.c File Reference
Include dependency graph for modules.c:

Functions

bool module_provides (const module_t *m, const char *cap)
 Checks whether a module implements a capability.
const char * module_get_object (const module_t *m)
 Get the internal name of a module.
const char * module_get_name (const module_t *m, bool long_name)
 Get the human-friendly name of a module.
const char * module_get_help (const module_t *m)
 Get the help for a module.
const char * module_get_capability (const module_t *m)
 Gets the capability of a module.
int module_get_score (const module_t *m)
 Get the score for a module.
const char * module_gettext (const module_t *m, const char *str)
 Translate a string using the module's text domain.
int module_start (((vlc_object_t *)(vlc_object_t *obj)), const module_t *m)
void module_stop (((vlc_object_t *)(vlc_object_t *obj)), const module_t *m)
static bool module_match_name (const module_t *m, const char *name)
static int module_load (vlc_object_t *obj, module_t *m, vlc_activate_t init, va_list args)
module_tvlc_module_load (((vlc_object_t *)(vlc_object_t *obj)), const char *capability, const char *name, bool strict, vlc_activate_t probe,...)
 Finds and instantiates the best module of a certain type.
void vlc_module_unload (module_t *module, vlc_deactivate_t deinit,...)
 Deinstantiates a module.
static int generic_start (void *func, va_list ap)
static void generic_stop (void *func, va_list ap)
module_tmodule_need (((vlc_object_t *)(vlc_object_t *obj)), const char *cap, const char *name, bool strict)
void module_unneed (((vlc_object_t *)(vlc_object_t *obj)), module_t *module)
module_tmodule_find (const char *name)
 Get a pointer to a module_t given it's name.
bool module_exists (const char *psz_name)
 Tell if a module exists.
module_tmodule_find_by_shortcut (const char *psz_shortcut)
 Get a pointer to a module_t that matches a shortcut.
module_config_tmodule_config_get (const module_t *module, unsigned *restrict psize)
 Get the configuration of a module.
void module_config_free (module_config_t *config)
 Release the configuration.

Function Documentation

static int generic_start ( void *  func,
va_list  ap 
)
static

Referenced by module_need().

static void generic_stop ( void *  func,
va_list  ap 
)
static

Referenced by module_unneed().

void module_config_free ( module_config_t config)

Release the configuration.

Parameters
theconfiguration
Returns
nothing
module_config_t* module_config_get ( const module_t module,
unsigned *restrict  psize 
)

Get the configuration of a module.

Parameters
modulethe module
psizethe size of the configuration returned
Returns
the configuration as an array

References module_config_t::b_internal, module_config_t::b_removed, config, module_t::confsize, and module_t::p_config.

bool module_exists ( const char *  psz_name)

Tell if a module exists.

Parameters
psz_nameth name of the module
Returns
TRUE if the module exists

References module_find().

Referenced by aout_New().

module_t* module_find ( const char *  name)

Get a pointer to a module_t given it's name.

Parameters
namethe name of the module
Returns
a pointer to the module or NULL in case of a failure

References count, module_t::i_shortcuts, list, module_list_free(), module_list_get(), module_t::pp_shortcuts, and unlikely.

Referenced by module_exists(), module_get_main(), and vout_EnableFilter().

module_t* module_find_by_shortcut ( const char *  psz_shortcut)

Get a pointer to a module_t that matches a shortcut.

This is a temporary hack for SD. Do not re-use (generally multiple modules can have the same shortcut, so this is broken - use module_need()!).

Parameters
psz_shortcutshortcut of the module
psz_capcapability of the module
Returns
a pointer to the module or NULL in case of a failure

References count, module_t::i_shortcuts, list, module_list_free(), module_list_get(), and module_t::pp_shortcuts.

const char* module_get_capability ( const module_t m)

Gets the capability of a module.

Parameters
mthe module
Returns
the capability, or "none" if unspecified

References module_t::psz_capability.

Referenced by module_provides().

const char* module_get_help ( const module_t m)

Get the help for a module.

Parameters
mthe module
Returns
the help

References module_t::psz_help.

const char* module_get_name ( const module_t m,
bool  long_name 
)

Get the human-friendly name of a module.

Parameters
mthe module
long_nameTRUE to have the long name of the module
Returns
the short or long name of the module

References module_get_object(), module_t::psz_longname, and module_t::psz_shortname.

Referenced by config_ListModules(), filter_chain_AppendFilterInternal(), and services_discovery_GetLocalizedName().

const char* module_get_object ( const module_t m)

Get the internal name of a module.

Parameters
mthe module
Returns
the module name

References module_t::i_shortcuts, module_t::pp_shortcuts, and unlikely.

Referenced by config_ListModules(), config_SaveConfigFile(), ListModules(), module_get_name(), module_is_main(), module_unneed(), Usage(), and vlc_module_load().

int module_get_score ( const module_t m)

Get the score for a module.

Parameters
mthe module return the score for the capability

References module_t::i_score.

Referenced by vlc_module_load().

const char* module_gettext ( const module_t m,
const char *  str 
)

Translate a string using the module's text domain.

Parameters
mthe module
strthe American English ASCII string to localize
Returns
the gettext-translated string

References module_t::domain, module_t::parent, and unlikely.

Referenced by config_ListModules(), ListModules(), print_help_section(), and Usage().

static int module_load ( vlc_object_t obj,
module_t m,
vlc_activate_t  init,
va_list  args 
)
static

< No error

< Unspecified error

References init, module_Map(), module_t::pf_activate, VLC_EGENERIC, and VLC_SUCCESS.

Referenced by vlc_module_load().

static bool module_match_name ( const module_t m,
const char *  name 
)
static
module_t* module_need ( ((vlc_object_t *)(vlc_object_t *obj))  ,
const char *  cap,
const char *  name,
bool  strict 
)

References generic_start(), and vlc_module_load.

bool module_provides ( const module_t m,
const char *  cap 
)

Checks whether a module implements a capability.

Parameters
mthe module
capthe capability to check
Returns
true if the module has the capability

References module_get_capability().

Referenced by module_list_cap(), and vout_EnableFilter().

int module_start ( ((vlc_object_t *)(vlc_object_t *obj))  ,
const module_t m 
)

< No error

References module_t::pf_activate, and VLC_SUCCESS.

void module_stop ( ((vlc_object_t *)(vlc_object_t *obj))  ,
const module_t m 
)
void module_unneed ( ((vlc_object_t *)(vlc_object_t *obj))  ,
module_t module 
)
module_t* vlc_module_load ( ((vlc_object_t *)(vlc_object_t *obj))  ,
const char *  capability,
const char *  name,
bool  strict,
vlc_activate_t  probe,
  ... 
)

Finds and instantiates the best module of a certain type.

All candidates modules having the specified capability and name will be sorted in decreasing order of priority. Then the probe callback will be invoked for each module, until it succeeds (returns 0), or all candidate module failed to initialize.

The probe callback first parameter is the address of the module entry point. Further parameters are passed as an argument list; it corresponds to the variable arguments passed to this function. This scheme is meant to support arbitrary prototypes for the module entry point.

Parameters
objVLC object
capabilitycapability, i.e. class of module
namename name of the module asked, if any
strictif true, do not fallback to plugin with a different name but the same capability
probemodule probe callback
Returns
the module or NULL in case of a failure

< No error

< Timeout

< No error

< Timeout

References vlc_object_t::b_force, likely, module_get_object(), module_get_score(), module_list_cap(), module_list_free(), module_load(), module_match_name(), msg_Dbg, strcasecmp(), unlikely, var_InheritString, VLC_ETIMEOUT, vlc_object_set_name, and VLC_SUCCESS.

void vlc_module_unload ( module_t module,
vlc_deactivate_t  deinit,
  ... 
)

Deinstantiates a module.

Parameters
modulethe module pointer as returned by vlc_module_load()
deinitdeactivation callback

References module_t::pf_deactivate.

Referenced by module_unneed(), vlc_tls_Delete(), and vout_window_Delete().