X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmodules%2Fentry.c;h=0014cc733f625e005246455b97683b6220a54529;hb=b9259bb0c0d86256ae5610b3072e3910edc405d3;hp=cd03b08fbee4268bd34a24cb46b3669a5672ec14;hpb=51836e3ded398ca1281002391f19ff3bcabdd9eb;p=vlc diff --git a/src/modules/entry.c b/src/modules/entry.c index cd03b08fbe..0014cc733f 100644 --- a/src/modules/entry.c +++ b/src/modules/entry.c @@ -123,7 +123,7 @@ module_t *vlc_submodule_create (module_t *module) return submodule; } -module_config_t *vlc_config_create (module_t *module, int type) +static module_config_t *vlc_config_create (module_t *module, int type) { unsigned confsize = module->confsize; module_config_t *tab = module->p_config; @@ -161,6 +161,25 @@ int vlc_plugin_set (module_t *module, module_config_t *item, int propid, ...) va_start (ap, propid); switch (propid) { + case VLC_SUBMODULE_CREATE: + { + module_t **pp = va_arg (ap, module_t **); + *pp = vlc_submodule_create (module); + if (*pp == NULL) + ret = -1; + break; + } + + case VLC_CONFIG_CREATE: + { + int type = va_arg (ap, int); + module_config_t **pp = va_arg (ap, module_config_t **); + *pp = vlc_config_create (module, type); + if (*pp == NULL) + ret = -1; + break; + } + case VLC_MODULE_CPU_REQUIREMENT: assert (!module->b_submodule); module->i_cpu |= va_arg (ap, int);