From 135afc7e9caabbf79e5c9cc7e5e27e0db88a247b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 10 Nov 2018 13:27:37 +0200 Subject: [PATCH] Implement glib::SendUnique on Adapter It can be safely sent between threads as long as all references are in the same thread. --- Gir_GstBase.toml | 2 +- gstreamer-base/src/auto/adapter.rs | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Gir_GstBase.toml b/Gir_GstBase.toml index 39ac6d5a5..32b1f8543 100644 --- a/Gir_GstBase.toml +++ b/Gir_GstBase.toml @@ -39,7 +39,7 @@ manual = [ name = "GstBase.Adapter" status = "generate" trait = false -concurrency = "none" +concurrency = "send-unique" [[object.function]] name = "map" diff --git a/gstreamer-base/src/auto/adapter.rs b/gstreamer-base/src/auto/adapter.rs index 62c1fb960..dc4a1c712 100644 --- a/gstreamer-base/src/auto/adapter.rs +++ b/gstreamer-base/src/auto/adapter.rs @@ -4,6 +4,7 @@ use ffi; use glib; +use glib::ObjectExt; use glib::translate::*; use glib_ffi; use gobject_ffi; @@ -193,3 +194,9 @@ impl Default for Adapter { Self::new() } } + +unsafe impl glib::SendUnique for Adapter { + fn is_unique(&self) -> bool { + self.ref_count() == 1 + } +}