[vlc-commits] [Git][videolan/vlc][master] 3 commits: Cargo.toml: list crate explicitely

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Jan 18 08:48:38 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
a9f1a03f by Alexandre Janniaux at 2025-01-18T08:31:38+00:00
Cargo.toml: list crate explicitely

Otherwise, stale files in any src/rust/vlcrs-*/ folder makes the folder
alive without manifest or with a non-complete manifest and everything
breaks...

- - - - -
62e7d695 by Alexandre Janniaux at 2025-01-18T08:31:38+00:00
rust: Makefile.am: enable tests for vlcrs-core

- - - - -
3221c89f by Alexandre Janniaux at 2025-01-18T08:31:38+00:00
rust: merge vlcrs_plugin into vlcrs_core

vlcrs_plugin exposes the base types to create plugin, much like
vlc_plugin.h in the C headers, and uses the vlcrs_core::object::Object
type. But vlcrs_core also needs vlcrs_plugin internally to define the
capabilities, and both need each other for tests also.

The same applies to vlcrs_macros when used in tests, which must stay
separated, but we can still provide it as a dev-dependencies and avoid
the cyclic reference.

- - - - -


13 changed files:

- Cargo.toml
- src/rust/Makefile.am
- src/rust/vlcrs-core/src/lib.rs
- src/rust/vlcrs-plugin/src/lib.rs → src/rust/vlcrs-core/src/plugin/mod.rs
- src/rust/vlcrs-plugin/src/sys.rs → src/rust/vlcrs-core/src/plugin/sys.rs
- src/rust/vlcrs-macros/Cargo.toml
- src/rust/vlcrs-macros/src/lib.rs
- src/rust/vlcrs-macros/src/module.rs
- src/rust/vlcrs-macros/tests/common/mod.rs
- src/rust/vlcrs-macros/tests/module.rs
- src/rust/vlcrs-macros/tests/module_default.rs
- src/rust/vlcrs-macros/tests/module_multiple.rs
- src/rust/vlcrs-macros/tests/module_specific.rs


Changes:

=====================================
Cargo.toml
=====================================
@@ -1,6 +1,9 @@
 [workspace]
 members = [
-    "src/rust/vlcrs-*",
+    "src/rust/vlcrs-core",
+    "src/rust/vlcrs-macros",
+    "src/rust/vlcrs-messages",
+    "src/rust/vlcrs-utils",
 ]
 resolver = "2"
 


=====================================
src/rust/Makefile.am
=====================================
@@ -3,17 +3,17 @@ CARGO_LOG_DRIVER = env top_builddir="${abs_top_builddir}" \
                    $(abs_top_srcdir)/buildsystem/cargo-test.py \
                    --working-directory="${abs_top_srcdir}/src/rust/"
 
+vlcrs-core.cargo:
 vlcrs-macros.cargo:
 vlcrs-messages.cargo:
-vlcrs-plugin.cargo:
 vlcrs-utils.cargo:
 	(cd $(top_srcdir)/src/rust/$(@:.cargo=) && env top_builddir="${abs_top_builddir}" \
          $(CARGO) build --target=$(RUST_TARGET))
 
 if HAVE_RUST
 TESTS += \
+	vlcrs-core.cargo \
 	vlcrs-macros.cargo \
 	vlcrs-messages.cargo \
-	vlcrs-plugin.cargo \
 	vlcrs-utils.cargo
 endif


=====================================
src/rust/vlcrs-core/src/lib.rs
=====================================
@@ -1,4 +1,6 @@
 #![deny(unsafe_op_in_unsafe_fn)]
+#![feature(extern_types)]
+#![feature(associated_type_defaults)]
 
 //! The `vlcrs-core` crate.
 //!
@@ -8,4 +10,6 @@
 //! If you need a vlc core C API that is not ported or wrapped yet here,
 //! then do so first instead of bypassing this crate.
 
+pub mod plugin;
+
 pub mod object;


=====================================
src/rust/vlcrs-plugin/src/lib.rs → src/rust/vlcrs-core/src/plugin/mod.rs
=====================================
@@ -1,17 +1,14 @@
-#![feature(extern_types)]
-#![feature(associated_type_defaults)]
-
 pub mod sys;
 
-use vlcrs_core::object::Object;
+use crate::object::Object;
 
-pub const VLC_COPYRIGHT_VIDEOLAN : &str = r#"
+pub const VLC_COPYRIGHT_VIDEOLAN: &str = r#"
 \x43\x6f\x70\x79\x72\x69\x67\x68\x74\x20\x28\x43\x29\x20\x74\x68
 \x65\x20\x56\x69\x64\x65\x6f\x4c\x41\x4e\x20\x56\x4c\x43\x20\x6d
 \x65\x64\x69\x61\x20\x70\x6c\x61\x79\x65\x72\x20\x64\x65\x76\x65
 \x6c\x6f\x70\x65\x72\x73"#;
 
-pub const VLC_LICENSE_LGPL_2_1_PLUS : &str = r#"
+pub const VLC_LICENSE_LGPL_2_1_PLUS: &str = r#"
 \x4c\x69\x63\x65\x6e\x73\x65\x64\x20\x75\x6e\x64\x65\x72\x20\x74
 \x68\x65\x20\x74\x65\x72\x6d\x73\x20\x6f\x66\x20\x74\x68\x65\x20
 \x47\x4e\x55\x20\x4c\x65\x73\x73\x65\x72\x20\x47\x65\x6e\x65\x72
@@ -20,7 +17,7 @@ pub const VLC_LICENSE_LGPL_2_1_PLUS : &str = r#"
 
 #[allow(non_camel_case_types)]
 #[allow(unused)]
-extern {
+extern "C" {
     pub type module_t;
     pub type vlc_param;
 }
@@ -28,88 +25,87 @@ extern {
 #[allow(non_camel_case_types)]
 #[repr(u32)]
 pub enum ConfigModule {
-    HINT_CATEGORY        = 0x02,
-    SUBCATEGORY          = 0x07,
-    SECTION              = 0x08,
-    ITEM_FLOAT           = 1 << 5,
-    ITEM_INTEGER         = 2 << 5,
-    ITEM_RGB             = ConfigModule::ITEM_INTEGER as u32 | 0x01,
-    ITEM_BOOL            = 3 << 5,
-    ITEM_STRING          = 4 << 5,
-    ITEM_PASSWORD        = ConfigModule::ITEM_STRING  as u32 | 0x01,
-    ITEM_KEY             = ConfigModule::ITEM_STRING  as u32 | 0x02,
-    ITEM_MODULE          = ConfigModule::ITEM_STRING  as u32 | 0x04,
-    ITEM_MODULE_CAT      = ConfigModule::ITEM_STRING  as u32 | 0x05,
-    ITEM_MODULE_LIST     = ConfigModule::ITEM_STRING  as u32 | 0x06,
-    ITEM_MODULE_LIST_CAT = ConfigModule::ITEM_STRING  as u32 | 0x07,
-    ITEM_LOADFILE        = ConfigModule::ITEM_STRING  as u32 | 0x0C,
-    ITEM_SAVEFILE        = ConfigModule::ITEM_STRING  as u32 | 0x0D,
-    ITEM_DIRECTORY       = ConfigModule::ITEM_STRING  as u32 | 0x0E,
-    ITEM_FONT            = ConfigModule::ITEM_STRING  as u32 | 0x0F,
+    HINT_CATEGORY = 0x02,
+    SUBCATEGORY = 0x07,
+    SECTION = 0x08,
+    ITEM_FLOAT = 1 << 5,
+    ITEM_INTEGER = 2 << 5,
+    ITEM_RGB = ConfigModule::ITEM_INTEGER as u32 | 0x01,
+    ITEM_BOOL = 3 << 5,
+    ITEM_STRING = 4 << 5,
+    ITEM_PASSWORD = ConfigModule::ITEM_STRING as u32 | 0x01,
+    ITEM_KEY = ConfigModule::ITEM_STRING as u32 | 0x02,
+    ITEM_MODULE = ConfigModule::ITEM_STRING as u32 | 0x04,
+    ITEM_MODULE_CAT = ConfigModule::ITEM_STRING as u32 | 0x05,
+    ITEM_MODULE_LIST = ConfigModule::ITEM_STRING as u32 | 0x06,
+    ITEM_MODULE_LIST_CAT = ConfigModule::ITEM_STRING as u32 | 0x07,
+    ITEM_LOADFILE = ConfigModule::ITEM_STRING as u32 | 0x0C,
+    ITEM_SAVEFILE = ConfigModule::ITEM_STRING as u32 | 0x0D,
+    ITEM_DIRECTORY = ConfigModule::ITEM_STRING as u32 | 0x0E,
+    ITEM_FONT = ConfigModule::ITEM_STRING as u32 | 0x0F,
 }
 
 #[allow(non_camel_case_types)]
 #[repr(i32)]
 pub enum ConfigCategory {
-    HIDDEN    = -1,
-    UNKNOWN   = 0,
+    HIDDEN = -1,
+    UNKNOWN = 0,
     INTERFACE = 1,
-    AUDIO     = 2,
-    VIDEO     = 3,
-    INPUT     = 4,
-    SOUT      = 5,
-    ADVANCED  = 6,
-    PLAYLIST  = 7,
+    AUDIO = 2,
+    VIDEO = 3,
+    INPUT = 4,
+    SOUT = 5,
+    ADVANCED = 6,
+    PLAYLIST = 7,
 }
 
 #[allow(non_camel_case_types)]
 #[repr(i32)]
 pub enum ConfigSubcategory {
-    HIDDEN    = -1,
-    UNKNOWN   = 0,
+    HIDDEN = -1,
+    UNKNOWN = 0,
 
     INTERFACE_GENERAL = 101,
-    INTERFACE_MAIN    = 102,
+    INTERFACE_MAIN = 102,
     INTERFACE_CONTROL = 103,
     INTERFACE_HOTKEYS = 104,
 
-    AUDIO_GENERAL   = 201,
-    AUDIO_AOUT      = 202,
-    AUDIO_AFILTER   = 203,
-    AUDIO_VISUAL    = 204,
+    AUDIO_GENERAL = 201,
+    AUDIO_AOUT = 202,
+    AUDIO_AFILTER = 203,
+    AUDIO_VISUAL = 204,
     AUDIO_RESAMPLER = 206,
 
-    VIDEO_GENERAL  = 301,
-    VIDEO_VOUT     = 302,
-    VIDEO_VFILTER  = 303,
-    VIDEO_SUBPIC   = 305,
+    VIDEO_GENERAL = 301,
+    VIDEO_VOUT = 302,
+    VIDEO_VFILTER = 303,
+    VIDEO_SUBPIC = 305,
     VIDEO_SPLITTER = 306,
 
-    INPUT_GENERAL       = 401,
-    INPUT_ACCESS        = 402,
-    INPUT_DEMUX         = 403,
-    INPUT_VCODEC        = 404,
-    INPUT_ACODEC        = 405,
-    INPUT_SCODEC        = 406,
+    INPUT_GENERAL = 401,
+    INPUT_ACCESS = 402,
+    INPUT_DEMUX = 403,
+    INPUT_VCODEC = 404,
+    INPUT_ACODEC = 405,
+    INPUT_SCODEC = 406,
     INPUT_STREAM_FILTER = 407,
 
-    SOUT_GENERAL    = 501,
-    SOUT_STREAM     = 502,
-    SOUT_MUX        = 503,
-    SOUT_ACO        = 504,
+    SOUT_GENERAL = 501,
+    SOUT_STREAM = 502,
+    SOUT_MUX = 503,
+    SOUT_ACO = 504,
     SOUT_PACKETIZER = 505,
-    SOUT_VOD        = 507,
-    SOUT_RENDERER   = 508,
+    SOUT_VOD = 507,
+    SOUT_RENDERER = 508,
 
-    ADVANCED_MISC    = 602,
+    ADVANCED_MISC = 602,
     ADVANCED_NETWORK = 603,
 
     PLAYLIST_GENERAL = 701,
-    PLAYLIST_SD      = 702,
-    PLAYLIST_EXPORT  = 703,
+    PLAYLIST_SD = 702,
+    PLAYLIST_EXPORT = 703,
 }
 
-
 #[derive(Debug, PartialEq, PartialOrd)]
 #[allow(non_camel_case_types)]
 #[repr(i32)]
@@ -117,7 +113,7 @@ pub enum ModuleProperties {
     MODULE_CREATE,
     CONFIG_CREATE,
 
-    MODULE_CPU_REQUIREMENT      = 0x100,
+    MODULE_CPU_REQUIREMENT = 0x100,
     MODULE_SHORTCUT,
     MODULE_CAPABILITY,
     MODULE_SCORE,
@@ -131,7 +127,7 @@ pub enum ModuleProperties {
     MODULE_TEXTDOMAIN,
     MODULE_HELP_HTML,
 
-    CONFIG_NAME                 = 0x1000,
+    CONFIG_NAME = 0x1000,
     CONFIG_VALUE,
     CONFIG_RANGE,
     CONFIG_ADVANCED_RESERVED,
@@ -158,38 +154,66 @@ impl TryFrom<i32> for ModuleProperties {
             x if x == ModuleProperties::MODULE_CREATE as i32 => ModuleProperties::MODULE_CREATE,
             x if x == ModuleProperties::CONFIG_CREATE as i32 => ModuleProperties::CONFIG_CREATE,
 
-            x if x == ModuleProperties::MODULE_CPU_REQUIREMENT as i32 => ModuleProperties::MODULE_CPU_REQUIREMENT,
+            x if x == ModuleProperties::MODULE_CPU_REQUIREMENT as i32 => {
+                ModuleProperties::MODULE_CPU_REQUIREMENT
+            }
             x if x == ModuleProperties::MODULE_SHORTCUT as i32 => ModuleProperties::MODULE_SHORTCUT,
-            x if x == ModuleProperties::MODULE_CAPABILITY as i32 => ModuleProperties::MODULE_CAPABILITY,
+            x if x == ModuleProperties::MODULE_CAPABILITY as i32 => {
+                ModuleProperties::MODULE_CAPABILITY
+            }
             x if x == ModuleProperties::MODULE_SCORE as i32 => ModuleProperties::MODULE_SCORE,
             x if x == ModuleProperties::MODULE_CB_OPEN as i32 => ModuleProperties::MODULE_CB_OPEN,
             x if x == ModuleProperties::MODULE_CB_CLOSE as i32 => ModuleProperties::MODULE_CB_CLOSE,
-            x if x == ModuleProperties::MODULE_NO_UNLOAD as i32 => ModuleProperties::MODULE_NO_UNLOAD,
+            x if x == ModuleProperties::MODULE_NO_UNLOAD as i32 => {
+                ModuleProperties::MODULE_NO_UNLOAD
+            }
             x if x == ModuleProperties::MODULE_NAME as i32 => ModuleProperties::MODULE_NAME,
-            x if x == ModuleProperties::MODULE_SHORTNAME as i32 => ModuleProperties::MODULE_SHORTNAME,
-            x if x == ModuleProperties::MODULE_DESCRIPTION as i32 => ModuleProperties::MODULE_DESCRIPTION,
+            x if x == ModuleProperties::MODULE_SHORTNAME as i32 => {
+                ModuleProperties::MODULE_SHORTNAME
+            }
+            x if x == ModuleProperties::MODULE_DESCRIPTION as i32 => {
+                ModuleProperties::MODULE_DESCRIPTION
+            }
             x if x == ModuleProperties::MODULE_HELP as i32 => ModuleProperties::MODULE_HELP,
-            x if x == ModuleProperties::MODULE_TEXTDOMAIN as i32 => ModuleProperties::MODULE_TEXTDOMAIN,
-            x if x == ModuleProperties::MODULE_HELP_HTML as i32 => ModuleProperties::MODULE_HELP_HTML,
+            x if x == ModuleProperties::MODULE_TEXTDOMAIN as i32 => {
+                ModuleProperties::MODULE_TEXTDOMAIN
+            }
+            x if x == ModuleProperties::MODULE_HELP_HTML as i32 => {
+                ModuleProperties::MODULE_HELP_HTML
+            }
 
             x if x == ModuleProperties::CONFIG_NAME as i32 => ModuleProperties::CONFIG_NAME,
             x if x == ModuleProperties::CONFIG_VALUE as i32 => ModuleProperties::CONFIG_VALUE,
             x if x == ModuleProperties::CONFIG_RANGE as i32 => ModuleProperties::CONFIG_RANGE,
-            x if x == ModuleProperties::CONFIG_ADVANCED_RESERVED as i32 => ModuleProperties::CONFIG_ADVANCED_RESERVED,
+            x if x == ModuleProperties::CONFIG_ADVANCED_RESERVED as i32 => {
+                ModuleProperties::CONFIG_ADVANCED_RESERVED
+            }
             x if x == ModuleProperties::CONFIG_VOLATILE as i32 => ModuleProperties::CONFIG_VOLATILE,
-            x if x == ModuleProperties::CONFIG_PERSISTENT_OBSOLETE as i32 => ModuleProperties::CONFIG_PERSISTENT_OBSOLETE,
+            x if x == ModuleProperties::CONFIG_PERSISTENT_OBSOLETE as i32 => {
+                ModuleProperties::CONFIG_PERSISTENT_OBSOLETE
+            }
             x if x == ModuleProperties::CONFIG_PRIVATE as i32 => ModuleProperties::CONFIG_PRIVATE,
             x if x == ModuleProperties::CONFIG_REMOVED as i32 => ModuleProperties::CONFIG_REMOVED,
-            x if x == ModuleProperties::CONFIG_CAPABILITY as i32 => ModuleProperties::CONFIG_CAPABILITY,
+            x if x == ModuleProperties::CONFIG_CAPABILITY as i32 => {
+                ModuleProperties::CONFIG_CAPABILITY
+            }
             x if x == ModuleProperties::CONFIG_SHORTCUT as i32 => ModuleProperties::CONFIG_SHORTCUT,
-            x if x == ModuleProperties::CONFIG_OLDNAME_OBSOLETE as i32 => ModuleProperties::CONFIG_OLDNAME_OBSOLETE,
+            x if x == ModuleProperties::CONFIG_OLDNAME_OBSOLETE as i32 => {
+                ModuleProperties::CONFIG_OLDNAME_OBSOLETE
+            }
             x if x == ModuleProperties::CONFIG_SAFE as i32 => ModuleProperties::CONFIG_SAFE,
             x if x == ModuleProperties::CONFIG_DESC as i32 => ModuleProperties::CONFIG_DESC,
-            x if x == ModuleProperties::CONFIG_LIST_OBSOLETE as i32 => ModuleProperties::CONFIG_LIST_OBSOLETE,
-            x if x == ModuleProperties::CONFIG_ADD_ACTION_OBSOLETE as i32 => ModuleProperties::CONFIG_ADD_ACTION_OBSOLETE,
+            x if x == ModuleProperties::CONFIG_LIST_OBSOLETE as i32 => {
+                ModuleProperties::CONFIG_LIST_OBSOLETE
+            }
+            x if x == ModuleProperties::CONFIG_ADD_ACTION_OBSOLETE as i32 => {
+                ModuleProperties::CONFIG_ADD_ACTION_OBSOLETE
+            }
             x if x == ModuleProperties::CONFIG_LIST as i32 => ModuleProperties::CONFIG_LIST,
-            x if x == ModuleProperties::CONFIG_LIST_CB_OBSOLETE as i32 => ModuleProperties::CONFIG_LIST_CB_OBSOLETE,
-            _ => return Err(())
+            x if x == ModuleProperties::CONFIG_LIST_CB_OBSOLETE as i32 => {
+                ModuleProperties::CONFIG_LIST_CB_OBSOLETE
+            }
+            _ => return Err(()),
         };
         Ok(prop)
     }
@@ -213,7 +237,7 @@ pub type vlc_deactivate = unsafe extern "C" fn(*mut Object);
 /// * `Deactivate`: Type for the deactivation function
 ///
 /// ```no_run
-/// use vlcrs_plugin::ModuleProtocol;
+/// use vlcrs_core::plugin::ModuleProtocol;
 ///
 /// /* New trait bringing support for new capabilities in modules. */
 ///
@@ -245,10 +269,11 @@ pub type vlc_deactivate = unsafe extern "C" fn(*mut Object);
 ///     fn deactivate_function() -> Option<DeactivateFunction> { None }
 /// }
 /// ```
-pub trait ModuleProtocol<ModuleType: ?Sized>
-{
+pub trait ModuleProtocol<ModuleType: ?Sized> {
     type Activate;
     type Deactivate = *mut ();
     fn activate_function() -> Self::Activate;
-    fn deactivate_function() -> Option<Self::Deactivate> { None }
+    fn deactivate_function() -> Option<Self::Deactivate> {
+        None
+    }
 }


=====================================
src/rust/vlcrs-plugin/src/sys.rs → src/rust/vlcrs-core/src/plugin/sys.rs
=====================================


=====================================
src/rust/vlcrs-macros/Cargo.toml
=====================================
@@ -12,7 +12,6 @@ unexpected_cfgs = { level = "warn", check-cfg = ['cfg(vlc_static_plugins)'] }
 
 [dependencies]
 vlcrs-core = { path = "../vlcrs-core" }
-vlcrs-plugin = { path = "../vlcrs-plugin" }
 quote = "1.0"
 syn = { version = "1.0", features = ["full"] }
 proc-macro2 = "1.0"


=====================================
src/rust/vlcrs-macros/src/lib.rs
=====================================
@@ -9,7 +9,7 @@ mod module;
 /// ```no_run
 /// # #![feature(associated_type_defaults)]
 /// # use vlcrs_macros::module;
-/// # use vlcrs_plugin::ModuleProtocol;
+/// # use vlcrs_core::plugin::ModuleProtocol;
 /// # use std::ffi::{c_int, c_void};
 /// # type ActivateFunction = unsafe extern "C" fn() -> c_int;
 /// # type DeactivateFunction = unsafe extern "C" fn() -> c_void;
@@ -63,7 +63,7 @@ mod module;
 /// ```no_run
 /// # #![feature(associated_type_defaults)]
 /// # use vlcrs_macros::module;
-/// # use vlcrs_plugin::ModuleProtocol;
+/// # use vlcrs_core::plugin::ModuleProtocol;
 /// # use std::ffi::{c_int, c_void};
 /// # type ActivateFunction = unsafe extern "C" fn() -> c_int;
 /// # type DeactivateFunction = unsafe extern "C" fn() -> c_void;


=====================================
src/rust/vlcrs-macros/src/module.rs
=====================================
@@ -546,7 +546,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                 vlc_set(
                     opaque,
                     module as _,
-                    ::vlcrs_plugin::ModuleProperties::MODULE_HELP as _,
+                    ::vlcrs_core::plugin::ModuleProperties::MODULE_HELP as _,
                     #help_with_nul,
                 )
             } != 0
@@ -563,7 +563,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                 vlc_set(
                     opaque,
                     module as _,
-                    ::vlcrs_plugin::ModuleProperties::MODULE_SHORTNAME as _,
+                    ::vlcrs_core::plugin::ModuleProperties::MODULE_SHORTNAME as _,
                     #shortname_with_nul,
                 )
             } != 0
@@ -587,7 +587,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                     vlc_set(
                         opaque,
                         module as _,
-                        ::vlcrs_plugin::ModuleProperties::MODULE_SHORTCUT as _,
+                        ::vlcrs_core::plugin::ModuleProperties::MODULE_SHORTCUT as _,
                         #shortcuts_with_nul_len,
                         SHORCUTS.as_ptr(),
                     )
@@ -605,9 +605,9 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                 vlc_set(
                     opaque,
                     ::std::ptr::null_mut(),
-                    ::vlcrs_plugin::ModuleProperties::CONFIG_CREATE as _,
-                    ::vlcrs_plugin::ConfigModule::SUBCATEGORY as i64,
-                    &mut config as *mut *mut ::vlcrs_plugin::vlc_param,
+                    ::vlcrs_core::plugin::ModuleProperties::CONFIG_CREATE as _,
+                    ::vlcrs_core::plugin::ConfigModule::SUBCATEGORY as i64,
+                    &mut config as *mut *mut ::vlcrs_core::plugin::vlc_param,
                 )
             } != 0
             {
@@ -617,8 +617,8 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                 vlc_set(
                     opaque,
                     config as _,
-                    ::vlcrs_plugin::ModuleProperties::CONFIG_VALUE as _,
-                    ::vlcrs_plugin::ConfigSubcategory::#category as i64,
+                    ::vlcrs_core::plugin::ModuleProperties::CONFIG_VALUE as _,
+                    ::vlcrs_core::plugin::ConfigSubcategory::#category as i64,
                 )
             } != 0
             {
@@ -664,9 +664,9 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                         vlc_set(
                             opaque,
                             ::std::ptr::null_mut(),
-                            ::vlcrs_plugin::ModuleProperties::CONFIG_CREATE as _,
-                            ::vlcrs_plugin::ConfigModule::SECTION as i64,
-                            &mut config as *mut *mut ::vlcrs_plugin::vlc_param,
+                            ::vlcrs_core::plugin::ModuleProperties::CONFIG_CREATE as _,
+                            ::vlcrs_core::plugin::ConfigModule::SECTION as i64,
+                            &mut config as *mut *mut ::vlcrs_core::plugin::vlc_param,
                         )
                     } != 0
                     {
@@ -676,7 +676,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                         vlc_set(
                             opaque,
                             config.cast(),
-                            ::vlcrs_plugin::ModuleProperties::CONFIG_DESC as _,
+                            ::vlcrs_core::plugin::ModuleProperties::CONFIG_DESC as _,
                             #name_with_nul,
                             #description_with_nul,
                         )
@@ -698,9 +698,9 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                 };
 
                 let item_type = if has_rgb {
-                    quote! { ::vlcrs_plugin::ConfigModule::ITEM_RGB }
+                    quote! { ::vlcrs_core::plugin::ConfigModule::ITEM_RGB }
                 } else {
-                    quote! { ::vlcrs_plugin::ConfigModule::ITEM_INTEGER }
+                    quote! { ::vlcrs_core::plugin::ConfigModule::ITEM_INTEGER }
                 };
                 let range_type = Some(quote! { i64 });
 
@@ -712,7 +712,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                         ::std::convert::Into::<::std::ffi::c_double>::into(#default_)
                     }
                 };
-                let item_type = quote! { ::vlcrs_plugin::ConfigModule::ITEM_FLOAT };
+                let item_type = quote! { ::vlcrs_core::plugin::ConfigModule::ITEM_FLOAT };
                 let range_type = Some(quote! { ::std::ffi::c_double });
 
                 (value, item_type, range_type)
@@ -723,7 +723,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                         ::std::convert::Into::<i64>::into(#default_)
                     }
                 };
-                let item_type = quote! { ::vlcrs_plugin::ConfigModule::ITEM_BOOL };
+                let item_type = quote! { ::vlcrs_core::plugin::ConfigModule::ITEM_BOOL };
 
                 (value, item_type, None)
             } else if param.type_ == "str" {
@@ -739,17 +739,17 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                 };
 
                 let item_type = if has_font {
-                    quote! { ::vlcrs_plugin::ConfigModule::ITEM_FONT }
+                    quote! { ::vlcrs_core::plugin::ConfigModule::ITEM_FONT }
                 } else if has_savefile {
-                    quote! { ::vlcrs_plugin::ConfigModule::ITEM_SAVEFILE }
+                    quote! { ::vlcrs_core::plugin::ConfigModule::ITEM_SAVEFILE }
                 } else if has_loadfile {
-                    quote! { ::vlcrs_plugin::ConfigModule::ITEM_LOADFILE }
+                    quote! { ::vlcrs_core::plugin::ConfigModule::ITEM_LOADFILE }
                 } else if has_password {
-                    quote! { ::vlcrs_plugin::ConfigModule::ITEM_PASSWORD }
+                    quote! { ::vlcrs_core::plugin::ConfigModule::ITEM_PASSWORD }
                 } else if has_directory {
-                    quote! { ::vlcrs_plugin::ConfigModule::ITEM_DIRECTORY }
+                    quote! { ::vlcrs_core::plugin::ConfigModule::ITEM_DIRECTORY }
                 } else {
-                    quote! { ::vlcrs_plugin::ConfigModule::ITEM_STRING }
+                    quote! { ::vlcrs_core::plugin::ConfigModule::ITEM_STRING }
                 };
 
                 (value, item_type, None)
@@ -762,9 +762,9 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                     vlc_set(
                         opaque,
                         ::std::ptr::null_mut(),
-                        ::vlcrs_plugin::ModuleProperties::CONFIG_CREATE as _,
+                        ::vlcrs_core::plugin::ModuleProperties::CONFIG_CREATE as _,
                         #item_type as i64,
-                        &mut config as *mut *mut ::vlcrs_plugin::vlc_param,
+                        &mut config as *mut *mut ::vlcrs_core::plugin::vlc_param,
                     )
                 } != 0
                 {
@@ -774,7 +774,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                     vlc_set(
                         opaque,
                         config.cast(),
-                        ::vlcrs_plugin::ModuleProperties::CONFIG_DESC as _,
+                        ::vlcrs_core::plugin::ModuleProperties::CONFIG_DESC as _,
                         #text_with_nul,
                         #long_text_with_nul,
                     )
@@ -786,7 +786,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                     vlc_set(
                         opaque,
                         config.cast(),
-                        ::vlcrs_plugin::ModuleProperties::CONFIG_NAME as _,
+                        ::vlcrs_core::plugin::ModuleProperties::CONFIG_NAME as _,
                         #name_with_nul,
                     )
                 } != 0
@@ -797,7 +797,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                     vlc_set(
                         opaque,
                         config.cast(),
-                        ::vlcrs_plugin::ModuleProperties::CONFIG_VALUE as _,
+                        ::vlcrs_core::plugin::ModuleProperties::CONFIG_VALUE as _,
                         #value,
                     )
                 } != 0
@@ -812,7 +812,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                         vlc_set(
                             opaque,
                             config.cast(),
-                            ::vlcrs_plugin::ModuleProperties::CONFIG_REMOVED as _,
+                            ::vlcrs_core::plugin::ModuleProperties::CONFIG_REMOVED as _,
                         )
                     } != 0
                     {
@@ -830,7 +830,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                         vlc_set(
                             opaque,
                             config.cast(),
-                            ::vlcrs_plugin::ModuleProperties::CONFIG_RANGE as _,
+                            ::vlcrs_core::plugin::ModuleProperties::CONFIG_RANGE as _,
                             0,
                             0xFFFFFF
                         )
@@ -858,7 +858,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                             vlc_set(
                                 opaque,
                                 config.cast(),
-                                ::vlcrs_plugin::ModuleProperties::CONFIG_RANGE as _,
+                                ::vlcrs_core::plugin::ModuleProperties::CONFIG_RANGE as _,
                                 #from,
                                 #to
                             )
@@ -901,7 +901,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
             vlc_set(
                 opaque,
                 module as _,
-                ::vlcrs_plugin::ModuleProperties::MODULE_CAPABILITY as _,
+                ::vlcrs_core::plugin::ModuleProperties::MODULE_CAPABILITY as _,
                 #capability_with_nul,
             )
         } != 0 {
@@ -911,7 +911,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
             vlc_set(
                 opaque,
                 module as _,
-                ::vlcrs_plugin::ModuleProperties::MODULE_SCORE as _,
+                ::vlcrs_core::plugin::ModuleProperties::MODULE_SCORE as _,
                 ::std::convert::Into::<i32>::into(#score),
             )
         } != 0 {
@@ -922,7 +922,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
             vlc_set(
                 opaque,
                 module as _,
-                ::vlcrs_plugin::ModuleProperties::MODULE_DESCRIPTION as _,
+                ::vlcrs_core::plugin::ModuleProperties::MODULE_DESCRIPTION as _,
                 #description_with_nul,
             )
         } != 0
@@ -936,7 +936,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
             vlc_set(
                 opaque,
                 module as _,
-                ::vlcrs_plugin::ModuleProperties::MODULE_CB_OPEN as _,
+                ::vlcrs_core::plugin::ModuleProperties::MODULE_CB_OPEN as _,
                 #module_open_with_nul,
                 unsafe {
                     <#loader as ModuleProtocol<#type_>>::activate_function()
@@ -953,7 +953,7 @@ fn generate_module_code(module_info: &ModuleInfo) -> TokenStream2 {
                 vlc_set(
                     opaque,
                     module as _,
-                    ::vlcrs_plugin::ModuleProperties::MODULE_CB_CLOSE as _,
+                    ::vlcrs_core::plugin::ModuleProperties::MODULE_CB_CLOSE as _,
                     #module_close_with_nul,
                     unsafe {
                         <#loader as ModuleProtocol<#type_>>::deactivate_function().unwrap()
@@ -999,7 +999,7 @@ fn vlc_entry_copyright(module_suffix: Option<&str>) -> TokenStream2 {
         #[no_mangle]
         #[doc(hidden)]
         extern "C" fn #symbol() -> *const u8 {
-            ::vlcrs_plugin::VLC_COPYRIGHT_VIDEOLAN.as_ptr()
+            ::vlcrs_core::plugin::VLC_COPYRIGHT_VIDEOLAN.as_ptr()
         }
     }
 }
@@ -1010,7 +1010,7 @@ fn vlc_entry_license(module_suffix: Option<&str>) -> TokenStream2 {
         #[no_mangle]
         #[doc(hidden)]
         extern "C" fn #symbol() -> *const u8 {
-            ::vlcrs_plugin::VLC_LICENSE_LGPL_2_1_PLUS.as_ptr()
+            ::vlcrs_core::plugin::VLC_LICENSE_LGPL_2_1_PLUS.as_ptr()
         }
     }
 }
@@ -1081,8 +1081,8 @@ pub fn module(input: TokenStream) -> TokenStream {
                     vlc_set(
                         opaque,
                         module as _,
-                        ::vlcrs_plugin::ModuleProperties::MODULE_CREATE as _,
-                        &mut module as *mut *mut ::vlcrs_plugin::module_t,
+                        ::vlcrs_core::plugin::ModuleProperties::MODULE_CREATE as _,
+                        &mut module as *mut *mut ::vlcrs_core::plugin::module_t,
                     )
                 } != 0
                 {
@@ -1103,19 +1103,19 @@ pub fn module(input: TokenStream) -> TokenStream {
             #[no_mangle]
             #[doc(hidden)]
             extern "C" fn #symbol(
-                vlc_set: ::vlcrs_plugin::sys::vlc_set_cb,
+                vlc_set: ::vlcrs_core::plugin::sys::vlc_set_cb,
                 opaque: *mut ::std::ffi::c_void,
             ) -> i32 {
-                use vlcrs_plugin::ModuleProtocol;
-                let mut module: *mut ::vlcrs_plugin::module_t = ::std::ptr::null_mut();
-                let mut config: *mut ::vlcrs_plugin::vlc_param = ::std::ptr::null_mut();
+                use vlcrs_core::plugin::ModuleProtocol;
+                let mut module: *mut ::vlcrs_core::plugin::module_t = ::std::ptr::null_mut();
+                let mut config: *mut ::vlcrs_core::plugin::vlc_param = ::std::ptr::null_mut();
 
                 if unsafe {
                     vlc_set(
                         opaque,
                         ::std::ptr::null_mut(),
-                        ::vlcrs_plugin::ModuleProperties::MODULE_CREATE as _,
-                        &mut module as *mut *mut ::vlcrs_plugin::module_t,
+                        ::vlcrs_core::plugin::ModuleProperties::MODULE_CREATE as _,
+                        &mut module as *mut *mut ::vlcrs_core::plugin::module_t,
                     )
                 } != 0
                 {
@@ -1125,7 +1125,7 @@ pub fn module(input: TokenStream) -> TokenStream {
                     vlc_set(
                         opaque,
                         module as _,
-                        ::vlcrs_plugin::ModuleProperties::MODULE_NAME as _,
+                        ::vlcrs_core::plugin::ModuleProperties::MODULE_NAME as _,
                         #name_with_nul,
                     )
                 } != 0
@@ -1141,8 +1141,8 @@ pub fn module(input: TokenStream) -> TokenStream {
     let module_entry_module_name = vlc_entry(Some(&module_suffix));
     let module_entry = vlc_entry(None);
 
-    let cfg_static = quote!{ #[cfg(vlc_static_plugins)] };
-    let cfg_not_static = quote!{ #[cfg(not(vlc_static_plugins))] };
+    let cfg_static = quote! { #[cfg(vlc_static_plugins)] };
+    let cfg_not_static = quote! { #[cfg(not(vlc_static_plugins))] };
 
     let expanded = quote! {
         #type_params


=====================================
src/rust/vlcrs-macros/tests/common/mod.rs
=====================================
@@ -5,31 +5,35 @@
 /* This should only be in the tests/ final modules but cargo doesn't
  * seem to account them correctly otherwise. */
 
-use std::{ffi::{c_char, c_int, c_void}, marker::FnPtr};
-use vlcrs_plugin::{vlc_activate, vlc_deactivate};
+use std::{
+    ffi::{c_char, c_int, c_void},
+    marker::FnPtr,
+};
+use vlcrs_core::plugin::{vlc_activate, vlc_deactivate};
 
-pub struct TestContext<Activate, Deactivate=vlc_deactivate> {
+pub struct TestContext<Activate, Deactivate = vlc_deactivate> {
     pub command_cursor: usize,
-    pub commands: Vec<vlcrs_plugin::ModuleProperties>,
+    pub commands: Vec<vlcrs_core::plugin::ModuleProperties>,
     pub open_cb: Option<Activate>,
     pub close_cb: Option<Deactivate>,
 }
 
 pub fn load_manifest<Activate, Deactivate>(
     context: &mut TestContext<Activate, Deactivate>,
-    vlc_entry: extern "C" fn (vlc_set_cb: vlcrs_plugin::sys::vlc_set_cb, opaque: *mut c_void) -> c_int
-)
-    -> i32
-{
-    use vlcrs_plugin::ModuleProperties;
-
-    unsafe extern "C" fn set_cb<T : Sized + FnPtr>(
+    vlc_entry: extern "C" fn(
+        vlc_set_cb: vlcrs_core::plugin::sys::vlc_set_cb,
+        opaque: *mut c_void,
+    ) -> c_int,
+) -> i32 {
+    use vlcrs_core::plugin::ModuleProperties;
+
+    unsafe extern "C" fn set_cb<T: Sized + FnPtr>(
         context: *mut c_void,
         _target: *mut c_void,
         propid: c_int,
-        mut args: ...) -> c_int
-    {
-        let context : *mut TestContext::<T> = context as *mut _;
+        mut args: ...
+    ) -> c_int {
+        let context: *mut TestContext<T> = context as *mut _;
         let opcode = ModuleProperties::try_from(propid);
         println!("PropId: {:?} ({})", opcode, propid);
 
@@ -39,23 +43,16 @@ pub fn load_manifest<Activate, Deactivate>(
         assert_eq!((*context).commands[(*context).command_cursor], opcode);
         (*context).command_cursor += 1;
 
-        if opcode == ModuleProperties::MODULE_CB_OPEN
-        {
+        if opcode == ModuleProperties::MODULE_CB_OPEN {
             let _name = args.arg::<*const c_char>();
             let func = args.arg::<*mut c_void>();
             assert_ne!(func, std::ptr::null_mut());
-            (*context).open_cb = unsafe {
-                Some(std::mem::transmute_copy(&func))
-            };
-        }
-        else if opcode == ModuleProperties::MODULE_CB_CLOSE
-        {
+            (*context).open_cb = unsafe { Some(std::mem::transmute_copy(&func)) };
+        } else if opcode == ModuleProperties::MODULE_CB_CLOSE {
             let _name = args.arg::<*const c_char>();
             let func = args.arg::<*mut c_void>();
             assert_ne!(func, std::ptr::null_mut());
-            (*context).close_cb = unsafe {
-                Some(std::mem::transmute_copy(&func))
-            };
+            (*context).close_cb = unsafe { Some(std::mem::transmute_copy(&func)) };
         }
 
         0


=====================================
src/rust/vlcrs-macros/tests/module.rs
=====================================
@@ -13,36 +13,31 @@ use vlcrs_macros::module;
 
 use std::ffi::c_int;
 
-use vlcrs_plugin::{vlc_activate, vlc_deactivate};
+use vlcrs_core::plugin::{vlc_activate, vlc_deactivate};
 
 use vlcrs_core::object::Object;
 
-unsafe extern "C"
-fn activate_test<T: SpecificCapabilityModule>(_obj: *mut Object) -> c_int
-{
+unsafe extern "C" fn activate_test<T: SpecificCapabilityModule>(_obj: *mut Object) -> c_int {
     0
 }
 
-unsafe extern "C"
-fn deactivate_test<T: SpecificCapabilityModule>(_obj: *mut Object)
-{}
+unsafe extern "C" fn deactivate_test<T: SpecificCapabilityModule>(_obj: *mut Object) {}
 
-use vlcrs_plugin::ModuleProtocol;
+use vlcrs_core::plugin::ModuleProtocol;
 
 pub struct ModuleLoader;
 impl<T> ModuleProtocol<T> for ModuleLoader
-    where T: SpecificCapabilityModule
+where
+    T: SpecificCapabilityModule,
 {
     type Activate = vlc_activate;
     type Deactivate = vlc_deactivate;
 
-    fn activate_function() -> Self::Activate
-    {
+    fn activate_function() -> Self::Activate {
         activate_test::<T>
     }
 
-    fn deactivate_function() -> Option<Self::Deactivate>
-    {
+    fn deactivate_function() -> Option<Self::Deactivate> {
         Some(deactivate_test::<T>)
     }
 }
@@ -68,9 +63,8 @@ module! {
 }
 
 #[test]
-fn test_module_load_common_activate()
-{
-    use vlcrs_plugin::ModuleProperties;
+fn test_module_load_common_activate() {
+    use vlcrs_core::plugin::ModuleProperties;
 
     let mut context = TestContext::<vlc_activate> {
         command_cursor: 0,


=====================================
src/rust/vlcrs-macros/tests/module_default.rs
=====================================
@@ -13,17 +13,14 @@ use common::TestContext;
 use vlcrs_macros::module;
 
 use std::ffi::{c_int, CStr};
-use vlcrs_plugin::{ModuleProtocol,vlc_activate};
+use vlcrs_core::plugin::{vlc_activate, ModuleProtocol};
 
 use vlcrs_core::object::Object;
 
-unsafe extern "C"
-fn activate_filter(_obj: *mut Object) -> c_int
-{
+unsafe extern "C" fn activate_filter(_obj: *mut Object) -> c_int {
     0
 }
 
-
 //
 // Create an implementation loader for the TestFilterCapability
 //
@@ -33,12 +30,12 @@ pub struct FilterModuleLoader;
 /// Signal the core that we can load modules with this loader
 ///
 impl<T> ModuleProtocol<T> for FilterModuleLoader
-    where T: TestNoDeactivateCapability
+where
+    T: TestNoDeactivateCapability,
 {
     type Activate = vlc_activate;
     type Deactivate = *mut ();
-    fn activate_function() -> vlc_activate
-    {
+    fn activate_function() -> vlc_activate {
         activate_filter
     }
 }
@@ -71,12 +68,11 @@ module! {
 // module.
 //
 #[test]
-fn test_module_load_default_deactivate()
-{
-    let version = unsafe{ CStr::from_ptr(vlc_entry_api_version() as *const i8) };
+fn test_module_load_default_deactivate() {
+    let version = unsafe { CStr::from_ptr(vlc_entry_api_version() as *const i8) };
     assert_eq!(version, c"4.0.6");
 
-    use vlcrs_plugin::ModuleProperties;
+    use vlcrs_core::plugin::ModuleProperties;
     let mut context = TestContext::<vlc_activate> {
         command_cursor: 0,
         commands: vec![


=====================================
src/rust/vlcrs-macros/tests/module_multiple.rs
=====================================
@@ -12,27 +12,29 @@ use common::TestContext;
 use vlcrs_macros::module;
 
 use std::ffi::c_int;
-use vlcrs_plugin::ModuleProtocol;
+use vlcrs_core::plugin::ModuleProtocol;
 
-extern {
+extern "C" {
     // Create a dummy different type to change the activation function.
     #[allow(non_camel_case_types)]
     pub type vlc_filter_t;
 }
 
 #[allow(non_camel_case_types)]
-type vlc_filter_activate = unsafe extern "C" fn (_obj: *mut vlc_filter_t, valid: &mut bool) -> c_int;
+type vlc_filter_activate = unsafe extern "C" fn(_obj: *mut vlc_filter_t, valid: &mut bool) -> c_int;
 
-unsafe extern "C"
-fn activate_filter<T: TestFilterCapability>(_obj: *mut vlc_filter_t, valid: &mut bool) -> c_int
-{
+unsafe extern "C" fn activate_filter<T: TestFilterCapability>(
+    _obj: *mut vlc_filter_t,
+    valid: &mut bool,
+) -> c_int {
     T::open(_obj, valid);
     0
 }
 
-unsafe extern "C"
-fn activate_other_filter<T: TestOtherCapability>(_obj: *mut vlc_filter_t, valid: &mut bool) -> c_int
-{
+unsafe extern "C" fn activate_other_filter<T: TestOtherCapability>(
+    _obj: *mut vlc_filter_t,
+    valid: &mut bool,
+) -> c_int {
     T::open(_obj, valid);
     0
 }
@@ -46,11 +48,11 @@ pub struct FilterModuleLoader;
 /// Signal the core that we can load modules with this loader
 ///
 impl<T> ModuleProtocol<T> for FilterModuleLoader
-    where T: TestFilterCapability
+where
+    T: TestFilterCapability,
 {
     type Activate = vlc_filter_activate;
-    fn activate_function() -> Self::Activate
-    {
+    fn activate_function() -> Self::Activate {
         activate_filter::<T>
     }
 }
@@ -71,13 +73,14 @@ impl TestFilterCapability for TestModuleFilter {
 }
 
 /* Implement dummy module capability */
-pub trait TestOtherCapability  {
+pub trait TestOtherCapability {
     fn open(obj: *mut vlc_filter_t, bool: &mut bool);
 }
 
 struct TestOtherCapabilityLoader;
 impl<T> ModuleProtocol<T> for TestOtherCapabilityLoader
-    where T: TestOtherCapability
+where
+    T: TestOtherCapability,
 {
     type Activate = vlc_filter_activate;
     fn activate_function() -> Self::Activate {
@@ -94,7 +97,6 @@ impl TestOtherCapability for TestModuleFilter {
     }
 }
 
-
 //
 // Define a module manifest using this module capability
 // and this module.
@@ -123,9 +125,8 @@ module! {
 // module.
 //
 #[test]
-fn test_module_manifest_multiple_capabilities()
-{
-    use vlcrs_plugin::ModuleProperties;
+fn test_module_manifest_multiple_capabilities() {
+    use vlcrs_core::plugin::ModuleProperties;
     let mut context = TestContext::<vlc_filter_activate> {
         command_cursor: 0,
         commands: vec![


=====================================
src/rust/vlcrs-macros/tests/module_specific.rs
=====================================
@@ -12,30 +12,33 @@ use common::TestContext;
 use vlcrs_macros::module;
 
 use std::ffi::c_int;
-use vlcrs_plugin::ModuleProtocol;
+use vlcrs_core::plugin::ModuleProtocol;
 
-extern {
+extern "C" {
     // Create a dummy different type to change the activation function.
     #[allow(non_camel_case_types)]
     pub type vlc_filter_t;
 }
 
 #[allow(non_camel_case_types)]
-type vlc_filter_activate = unsafe extern "C" fn (_obj: *mut vlc_filter_t, valid: &mut bool) -> c_int;
+type vlc_filter_activate = unsafe extern "C" fn(_obj: *mut vlc_filter_t, valid: &mut bool) -> c_int;
 
 #[allow(non_camel_case_types)]
-type vlc_filter_deactivate = unsafe extern "C" fn (_obj: *mut vlc_filter_t, valid: &mut bool) -> c_int;
+type vlc_filter_deactivate =
+    unsafe extern "C" fn(_obj: *mut vlc_filter_t, valid: &mut bool) -> c_int;
 
-unsafe extern "C"
-fn activate_filter<T: TestFilterCapability>(_obj: *mut vlc_filter_t, valid: &mut bool) -> c_int
-{
+unsafe extern "C" fn activate_filter<T: TestFilterCapability>(
+    _obj: *mut vlc_filter_t,
+    valid: &mut bool,
+) -> c_int {
     T::open(_obj, valid);
     0
 }
 
-unsafe extern "C"
-fn deactivate_filter<T: TestFilterCapability>(_obj: *mut vlc_filter_t, valid: &mut bool) -> c_int
-{
+unsafe extern "C" fn deactivate_filter<T: TestFilterCapability>(
+    _obj: *mut vlc_filter_t,
+    valid: &mut bool,
+) -> c_int {
     T::close(_obj, valid);
     0
 }
@@ -49,13 +52,13 @@ pub struct FilterModuleLoader;
 /// Signal the core that we can load modules with this loader
 ///
 impl<T> ModuleProtocol<T> for FilterModuleLoader
-    where T: TestFilterCapability
+where
+    T: TestFilterCapability,
 {
     type Activate = vlc_filter_activate;
     type Deactivate = vlc_filter_deactivate;
 
-    fn activate_function() -> Self::Activate
-    {
+    fn activate_function() -> Self::Activate {
         activate_filter::<T>
     }
 
@@ -103,9 +106,8 @@ module! {
 // module.
 //
 #[test]
-fn test_module_load_specific_open()
-{
-    use vlcrs_plugin::ModuleProperties;
+fn test_module_load_specific_open() {
+    use vlcrs_core::plugin::ModuleProperties;
     let mut context = TestContext::<vlc_filter_activate, vlc_filter_deactivate> {
         command_cursor: 0,
         commands: vec![



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/f9041c3467f0cd63fac456af5fe840d2137d1b68...3221c89f246cfe42fdceaa3c97e56b568f63b3b6

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/f9041c3467f0cd63fac456af5fe840d2137d1b68...3221c89f246cfe42fdceaa3c97e56b568f63b3b6
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list