mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2025-04-29 13:05:00 +00:00
Revert "Remove callback guards"
This reverts commit 75248c7f07
.
Callback guards are required since 1.24.1 again but probably not in 1.25
forwards.
This commit is contained in:
parent
da433f92af
commit
24e5c435a7
8 changed files with 70 additions and 0 deletions
|
@ -299,6 +299,7 @@ unsafe extern "C" fn base_sink_start<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -313,6 +314,7 @@ unsafe extern "C" fn base_sink_stop<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -328,6 +330,7 @@ unsafe extern "C" fn base_sink_render<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -346,6 +349,7 @@ unsafe extern "C" fn base_sink_prepare<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -364,6 +368,7 @@ unsafe extern "C" fn base_sink_render_list<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -382,6 +387,7 @@ unsafe extern "C" fn base_sink_prepare_list<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -400,6 +406,7 @@ unsafe extern "C" fn base_sink_query<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -418,6 +425,7 @@ unsafe extern "C" fn base_sink_event<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -435,6 +443,7 @@ unsafe extern "C" fn base_sink_get_caps<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -458,6 +467,7 @@ unsafe extern "C" fn base_sink_set_caps<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -476,6 +486,7 @@ unsafe extern "C" fn base_sink_fixate<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -493,6 +504,7 @@ unsafe extern "C" fn base_sink_unlock<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -507,6 +519,7 @@ unsafe extern "C" fn base_sink_unlock_stop<T: BaseSinkBase>(
|
|||
where
|
||||
T::ImplType: BaseSinkImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
|
|
@ -370,6 +370,7 @@ unsafe extern "C" fn base_src_start<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -384,6 +385,7 @@ unsafe extern "C" fn base_src_stop<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -398,6 +400,7 @@ unsafe extern "C" fn base_src_is_seekable<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -413,6 +416,7 @@ unsafe extern "C" fn base_src_get_size<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -438,6 +442,7 @@ unsafe extern "C" fn base_src_fill<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -458,6 +463,7 @@ unsafe extern "C" fn base_src_create<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -484,6 +490,7 @@ unsafe extern "C" fn base_src_do_seek<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -501,6 +508,7 @@ unsafe extern "C" fn base_src_query<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -519,6 +527,7 @@ unsafe extern "C" fn base_src_event<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -536,6 +545,7 @@ unsafe extern "C" fn base_src_get_caps<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -558,6 +568,7 @@ unsafe extern "C" fn base_src_negotiate<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -573,6 +584,7 @@ unsafe extern "C" fn base_src_set_caps<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -591,6 +603,7 @@ unsafe extern "C" fn base_src_fixate<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -608,6 +621,7 @@ unsafe extern "C" fn base_src_unlock<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -622,6 +636,7 @@ unsafe extern "C" fn base_src_unlock_stop<T: BaseSrcBase>(
|
|||
where
|
||||
T::ImplType: BaseSrcImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
|
|
@ -428,6 +428,7 @@ unsafe extern "C" fn base_transform_start<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -442,6 +443,7 @@ unsafe extern "C" fn base_transform_stop<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -459,6 +461,7 @@ unsafe extern "C" fn base_transform_transform_caps<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -489,6 +492,7 @@ unsafe extern "C" fn base_transform_fixate_caps<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -512,6 +516,7 @@ unsafe extern "C" fn base_transform_set_caps<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -530,6 +535,7 @@ unsafe extern "C" fn base_transform_accept_caps<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -548,6 +554,7 @@ unsafe extern "C" fn base_transform_query<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -574,6 +581,7 @@ unsafe extern "C" fn base_transform_transform_size<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -604,6 +612,7 @@ unsafe extern "C" fn base_transform_get_unit_size<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -627,6 +636,7 @@ unsafe extern "C" fn base_transform_sink_event<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -644,6 +654,7 @@ unsafe extern "C" fn base_transform_src_event<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -662,6 +673,7 @@ unsafe extern "C" fn base_transform_transform<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -683,6 +695,7 @@ unsafe extern "C" fn base_transform_transform_ip<T: BaseTransformBase>(
|
|||
where
|
||||
T::ImplType: BaseTransformImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
|
|
@ -155,6 +155,7 @@ unsafe extern "C" fn bin_add_element<T: BinBase>(
|
|||
where
|
||||
T::ImplType: BinImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let bin = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -172,6 +173,7 @@ unsafe extern "C" fn bin_remove_element<T: BinBase>(
|
|||
where
|
||||
T::ImplType: BinImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let bin = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -188,6 +190,7 @@ unsafe extern "C" fn bin_handle_message<T: BinBase>(
|
|||
) where
|
||||
T::ImplType: BinImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let bin = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
|
|
@ -235,6 +235,7 @@ unsafe extern "C" fn element_change_state<T: ElementBase>(
|
|||
where
|
||||
T::ImplType: ElementImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -264,6 +265,7 @@ unsafe extern "C" fn element_request_new_pad<T: ElementBase>(
|
|||
where
|
||||
T::ImplType: ElementImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -299,6 +301,7 @@ unsafe extern "C" fn element_release_pad<T: ElementBase>(
|
|||
) where
|
||||
T::ImplType: ElementImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -316,6 +319,7 @@ unsafe extern "C" fn element_send_event<T: ElementBase>(
|
|||
where
|
||||
T::ImplType: ElementImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -333,6 +337,7 @@ unsafe extern "C" fn element_query<T: ElementBase>(
|
|||
where
|
||||
T::ImplType: ElementImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
@ -348,6 +353,7 @@ unsafe extern "C" fn element_set_context<T: ElementBase>(
|
|||
) where
|
||||
T::ImplType: ElementImpl<T>,
|
||||
{
|
||||
callback_guard!();
|
||||
floating_reference_guard!(ptr);
|
||||
let element = &*(ptr as *mut InstanceStruct<T>);
|
||||
let wrap: T = from_glib_borrow(ptr as *mut InstanceStruct<T>);
|
||||
|
|
|
@ -22,6 +22,12 @@ pub extern crate glib;
|
|||
pub extern crate gstreamer as gst;
|
||||
extern crate gstreamer_base as gst_base;
|
||||
|
||||
macro_rules! callback_guard {
|
||||
() => (
|
||||
let _guard = ::glib::CallbackGuard::new();
|
||||
)
|
||||
}
|
||||
|
||||
macro_rules! floating_reference_guard {
|
||||
($obj:ident) => (
|
||||
let _guard = $crate::FloatingReferenceGuard::new($obj as *mut _);
|
||||
|
|
|
@ -217,6 +217,7 @@ pub unsafe trait ObjectClass {
|
|||
handler_return: *const gobject_ffi::GValue,
|
||||
data: glib_ffi::gpointer,
|
||||
) -> glib_ffi::gboolean {
|
||||
callback_guard!();
|
||||
let accumulator: &&(Fn(&mut glib::Value, &glib::Value) -> bool
|
||||
+ Send
|
||||
+ Sync
|
||||
|
@ -277,6 +278,7 @@ unsafe extern "C" fn class_init<T: ObjectType>(
|
|||
klass: glib_ffi::gpointer,
|
||||
_klass_data: glib_ffi::gpointer,
|
||||
) {
|
||||
callback_guard!();
|
||||
{
|
||||
let gobject_klass = &mut *(klass as *mut gobject_ffi::GObjectClass);
|
||||
|
||||
|
@ -295,6 +297,7 @@ unsafe extern "C" fn class_init<T: ObjectType>(
|
|||
}
|
||||
|
||||
unsafe extern "C" fn finalize<T: ObjectType>(obj: *mut gobject_ffi::GObject) {
|
||||
callback_guard!();
|
||||
let instance = &mut *(obj as *mut InstanceStruct<T>);
|
||||
|
||||
drop(Box::from_raw(instance.imp as *mut T::ImplType));
|
||||
|
@ -313,6 +316,7 @@ unsafe extern "C" fn get_property<T: ObjectType>(
|
|||
value: *mut gobject_ffi::GValue,
|
||||
_pspec: *mut gobject_ffi::GParamSpec,
|
||||
) {
|
||||
callback_guard!();
|
||||
floating_reference_guard!(obj);
|
||||
match T::get_property(&from_glib_borrow(obj as *mut InstanceStruct<T>), id - 1) {
|
||||
Ok(v) => {
|
||||
|
@ -330,6 +334,7 @@ unsafe extern "C" fn set_property<T: ObjectType>(
|
|||
value: *mut gobject_ffi::GValue,
|
||||
_pspec: *mut gobject_ffi::GParamSpec,
|
||||
) {
|
||||
callback_guard!();
|
||||
floating_reference_guard!(obj);
|
||||
T::set_property(
|
||||
&from_glib_borrow(obj as *mut InstanceStruct<T>),
|
||||
|
@ -394,6 +399,7 @@ unsafe extern "C" fn sub_class_init<T: ObjectType>(
|
|||
klass: glib_ffi::gpointer,
|
||||
klass_data: glib_ffi::gpointer,
|
||||
) {
|
||||
callback_guard!();
|
||||
{
|
||||
let gobject_klass = &mut *(klass as *mut gobject_ffi::GObjectClass);
|
||||
|
||||
|
@ -416,6 +422,7 @@ unsafe extern "C" fn sub_get_property<T: ObjectType>(
|
|||
value: *mut gobject_ffi::GValue,
|
||||
_pspec: *mut gobject_ffi::GParamSpec,
|
||||
) {
|
||||
callback_guard!();
|
||||
floating_reference_guard!(obj);
|
||||
let instance = &*(obj as *mut InstanceStruct<T>);
|
||||
let imp = instance.get_impl();
|
||||
|
@ -436,6 +443,7 @@ unsafe extern "C" fn sub_set_property<T: ObjectType>(
|
|||
value: *mut gobject_ffi::GValue,
|
||||
_pspec: *mut gobject_ffi::GParamSpec,
|
||||
) {
|
||||
callback_guard!();
|
||||
floating_reference_guard!(obj);
|
||||
let instance = &*(obj as *mut InstanceStruct<T>);
|
||||
let imp = instance.get_impl();
|
||||
|
@ -450,6 +458,7 @@ unsafe extern "C" fn sub_init<T: ObjectType>(
|
|||
obj: *mut gobject_ffi::GTypeInstance,
|
||||
_klass: glib_ffi::gpointer,
|
||||
) {
|
||||
callback_guard!();
|
||||
floating_reference_guard!(obj);
|
||||
let instance = &mut *(obj as *mut InstanceStruct<T>);
|
||||
let klass = &**(obj as *const *const ClassStruct<T>);
|
||||
|
|
|
@ -40,6 +40,7 @@ struct URIHandlerStatic<T: ObjectType> {
|
|||
unsafe extern "C" fn uri_handler_get_type<T: ObjectType>(
|
||||
type_: glib_ffi::GType,
|
||||
) -> gst_ffi::GstURIType {
|
||||
callback_guard!();
|
||||
let klass = gobject_ffi::g_type_class_peek(type_);
|
||||
let klass = &*(klass as *const ClassStruct<T>);
|
||||
let interface_static = klass.get_interface_static(gst_ffi::gst_uri_handler_get_type())
|
||||
|
@ -50,6 +51,7 @@ unsafe extern "C" fn uri_handler_get_type<T: ObjectType>(
|
|||
unsafe extern "C" fn uri_handler_get_protocols<T: ObjectType>(
|
||||
type_: glib_ffi::GType,
|
||||
) -> *const *const libc::c_char {
|
||||
callback_guard!();
|
||||
let klass = gobject_ffi::g_type_class_peek(type_);
|
||||
let klass = &*(klass as *const ClassStruct<T>);
|
||||
let interface_static = klass.get_interface_static(gst_ffi::gst_uri_handler_get_type())
|
||||
|
@ -60,6 +62,7 @@ unsafe extern "C" fn uri_handler_get_protocols<T: ObjectType>(
|
|||
unsafe extern "C" fn uri_handler_get_uri<T: ObjectType>(
|
||||
uri_handler: *mut gst_ffi::GstURIHandler,
|
||||
) -> *mut libc::c_char {
|
||||
callback_guard!();
|
||||
floating_reference_guard!(uri_handler);
|
||||
|
||||
let klass = &**(uri_handler as *const *const ClassStruct<T>);
|
||||
|
@ -78,6 +81,7 @@ unsafe extern "C" fn uri_handler_set_uri<T: ObjectType>(
|
|||
uri: *const libc::c_char,
|
||||
err: *mut *mut glib_ffi::GError,
|
||||
) -> glib_ffi::gboolean {
|
||||
callback_guard!();
|
||||
floating_reference_guard!(uri_handler);
|
||||
|
||||
let klass = &**(uri_handler as *const *const ClassStruct<T>);
|
||||
|
@ -101,6 +105,7 @@ unsafe extern "C" fn uri_handler_init<T: ObjectType>(
|
|||
iface: glib_ffi::gpointer,
|
||||
iface_data: glib_ffi::gpointer,
|
||||
) {
|
||||
callback_guard!();
|
||||
let uri_handler_iface = &mut *(iface as *mut gst_ffi::GstURIHandlerInterface);
|
||||
|
||||
let iface_type = (*(iface as *const gobject_ffi::GTypeInterface)).g_type;
|
||||
|
|
Loading…
Reference in a new issue