mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-12-27 20:40:31 +00:00
Fix BaseSink::event() signature
The event's ownership is transfered to the function, not only borrowed. In BaseSrc::event() it is borrowed.
This commit is contained in:
parent
dda3b5ff1a
commit
2c0388b06d
1 changed files with 5 additions and 5 deletions
|
@ -67,7 +67,7 @@ pub trait BaseSinkImpl<T: BaseSink>
|
|||
element.parent_query(query)
|
||||
}
|
||||
|
||||
fn event(&self, element: &T, event: &gst::Event) -> bool {
|
||||
fn event(&self, element: &T, event: gst::Event) -> bool {
|
||||
element.parent_event(event)
|
||||
}
|
||||
|
||||
|
@ -107,14 +107,14 @@ pub unsafe trait BaseSink
|
|||
}
|
||||
}
|
||||
|
||||
fn parent_event(&self, event: &gst::Event) -> bool {
|
||||
fn parent_event(&self, event: gst::Event) -> bool {
|
||||
unsafe {
|
||||
let klass = self.get_class();
|
||||
let parent_klass = (*klass).get_parent_class() as *const gst_base_ffi::GstBaseSinkClass;
|
||||
(*parent_klass)
|
||||
.event
|
||||
.map(|f| {
|
||||
from_glib(f(self.to_glib_none().0, event.to_glib_none().0))
|
||||
from_glib(f(self.to_glib_none().0, event.into_ptr()))
|
||||
})
|
||||
.unwrap_or(false)
|
||||
}
|
||||
|
@ -243,7 +243,7 @@ macro_rules! box_base_sink_impl(
|
|||
BaseSinkImpl::query(imp, element, query)
|
||||
}
|
||||
|
||||
fn event(&self, element: &T, event: &gst::Event) -> bool {
|
||||
fn event(&self, element: &T, event: gst::Event) -> bool {
|
||||
let imp: &$name<T> = self.as_ref();
|
||||
imp.event(element, event)
|
||||
}
|
||||
|
@ -435,7 +435,7 @@ where
|
|||
let imp = &*element.imp;
|
||||
|
||||
panic_to_error!(&wrap, &element.panicked, false, {
|
||||
imp.event(&wrap, &from_glib_none(event_ptr))
|
||||
imp.event(&wrap, from_glib_full(event_ptr))
|
||||
}).to_glib()
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue