#include <vlc/vlc.h>
#include <assert.h>
+#include "modules/modules.h"
+#include "libvlc.h"
+#include "../libvlc.h"
+
static const char default_name[] = "unnamed";
module_t *vlc_module_create (vlc_object_t *obj)
{
- module_t *module = vlc_object_create (obj, VLC_OBJECT_MODULE);
+ module_t *module =
+ (module_t *)vlc_custom_create (obj, sizeof (module_t),
+ VLC_OBJECT_MODULE, "module");
if (module == NULL)
return NULL;
-#ifndef HAVE_SHARED_LIBVLC
- module->p_symbols = &obj->p_libvlc_global->p_module_bank->symbols;
-#endif
module->b_reentrant = module->b_unloadable = VLC_TRUE;
module->psz_object_name = module->psz_longname = default_name;
- module->pp_shortcuts[0] = default_name;
- module->i_cpu = 0;
module->psz_capability = "";
module->i_score = 1;
return module;
assert (!module->b_submodule); // subsubmodules are not supported
module_t *submodule =
- (module_t *)vlc_object_create (module, VLC_OBJECT_MODULE);
+ (module_t *)vlc_custom_create (VLC_OBJECT (module), sizeof (module_t),
+ VLC_OBJECT_MODULE, "submodule");
if (submodule == NULL)
return NULL;
{
unsigned i;
for (i = 0; module->pp_shortcuts[i] != NULL; i++);
- if (i >= MODULE_SHORTCUT_MAX)
+ if (i >= (MODULE_SHORTCUT_MAX - 1))
return VLC_ENOMEM;
module->pp_shortcuts[i] = (char *)value;