diff --git a/src/core.rs b/src/core.rs index ef8c141..aa0fe3a 100644 --- a/src/core.rs +++ b/src/core.rs @@ -31,6 +31,8 @@ pub struct Instance { } +unsafe impl Send for Instance {} + impl Instance { /// Create and initialize a libvlc instance with specified args. /// Note: args.len() has to be less or equal to i32::MAX diff --git a/src/media.rs b/src/media.rs index 60e4656..b3f32a8 100644 --- a/src/media.rs +++ b/src/media.rs @@ -12,6 +12,8 @@ pub struct Media { pub(crate) ptr: *mut sys::libvlc_media_t, } +unsafe impl Send for Media {} + impl Media { /// Create a media with a certain given media resource location, for instance a valid URL. pub fn new_location(instance: &Instance, mrl: &str) -> Option { diff --git a/src/media_player.rs b/src/media_player.rs index 15aebf0..56e0448 100644 --- a/src/media_player.rs +++ b/src/media_player.rs @@ -15,6 +15,8 @@ pub struct MediaPlayer { pub(crate) ptr: *mut sys::libvlc_media_player_t, } +unsafe impl Send for MediaPlayer {} + impl MediaPlayer { /// Create an empty Media Player object pub fn new(instance: &Instance) -> Option {