[vlc-commits] modules: remove vlc_module_unload() inconvenience wrapper
Rémi Denis-Courmont
git at videolan.org
Thu Jul 25 18:52:53 CEST 2019
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Jul 24 22:08:57 2019 +0300| [915d5bf36abb183e83464301002c6ac78c39f575] | committer: Rémi Denis-Courmont
modules: remove vlc_module_unload() inconvenience wrapper
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=915d5bf36abb183e83464301002c6ac78c39f575
---
include/vlc_modules.h | 17 -----------------
include/vlc_objects.h | 5 ++---
src/libvlccore.sym | 1 -
src/modules/modules.c | 13 -------------
4 files changed, 2 insertions(+), 34 deletions(-)
diff --git a/include/vlc_modules.h b/include/vlc_modules.h
index d0115a7ede..430863953c 100644
--- a/include/vlc_modules.h
+++ b/include/vlc_modules.h
@@ -29,7 +29,6 @@
*/
typedef int (*vlc_activate_t)(void *func, bool forced, va_list args);
-typedef void (*vlc_deactivate_t)(void *func, va_list args);
struct vlc_logger;
/*****************************************************************************
@@ -71,22 +70,6 @@ VLC_API module_t *vlc_module_load(struct vlc_logger *log, const char *cap,
name, strict, __VA_ARGS__))
#endif
-/**
- * Deinstantiates a module.
- *
- * This is an inconvenience wrapper for deactivating a module if the module
- * capability/type expects it. In that fashion, it is paired with
- * vlc_module_load(). It is rather inconvenient however, as it requires
- * variable arguments for no good reasons, and inhibits type safety.
- *
- * In practice, it is easier to treat vlc_module_load() as an object "factory",
- * and define a type-safe custom callback for object deletion.
- *
- * \param module the module pointer as returned by vlc_module_load()
- * \param deinit deactivation callback
- */
-VLC_API void vlc_module_unload(module_t *, vlc_deactivate_t deinit, ... );
-
VLC_API module_t * module_need( vlc_object_t *, const char *, const char *, bool ) VLC_USED;
#define module_need(a,b,c,d) module_need(VLC_OBJECT(a),b,c,d)
diff --git a/include/vlc_objects.h b/include/vlc_objects.h
index eaecdaa33b..0c9e055034 100644
--- a/include/vlc_objects.h
+++ b/include/vlc_objects.h
@@ -231,9 +231,8 @@ static inline void vlc_object_release(vlc_object_t *o)
* when the module instance associated with the VLC object is terminated.
*
* Specifically, if the module instance activation/probe function fails, the
- * resource will be freed immediately after the failure within
- * vlc_module_load(). If the activation succeeds, the resource will be freed
- * when the module instance is terminated with vlc_module_unload().
+ * resource will be freed immediately after the failure. If the activation
+ * succeeds, the resource will be freed when the module instance is terminated.
*
* This is a convenience mechanism to save explicit clean-up function calls
* in modules.
diff --git a/src/libvlccore.sym b/src/libvlccore.sym
index 662ad6d3d3..c3f7dbbd1f 100644
--- a/src/libvlccore.sym
+++ b/src/libvlccore.sym
@@ -258,7 +258,6 @@ module_need
module_provides
module_unneed
vlc_module_load
-vlc_module_unload
vlc_memstream_open
vlc_memstream_flush
vlc_memstream_close
diff --git a/src/modules/modules.c b/src/modules/modules.c
index c8c19b1fd2..ac72e0fb26 100644
--- a/src/modules/modules.c
+++ b/src/modules/modules.c
@@ -235,19 +235,6 @@ done:
return module;
}
-void vlc_module_unload(module_t *module, vlc_deactivate_t deinit, ...)
-{
- if (module->pf_deactivate != NULL)
- {
- va_list ap;
-
- va_start(ap, deinit);
- deinit(module->pf_deactivate, ap);
- va_end(ap);
- }
-}
-
-
static int generic_start(void *func, bool forced, va_list ap)
{
vlc_object_t *obj = va_arg(ap, vlc_object_t *);
More information about the vlc-commits
mailing list