Re-add Pad::iterate_internal_links()

It was accidentially dropped when making Iterator generic.
This commit is contained in:
Sebastian Dröge 2017-09-18 00:24:36 +03:00
parent 7a108ddd0d
commit 88f37b799c

View file

@ -111,6 +111,12 @@ pub trait PadExtManual {
fn push_event(&self, event: Event) -> bool;
fn send_event(&self, event: Event) -> bool;
fn iterate_internal_links(&self) -> ::Iterator<Pad>;
fn iterate_internal_links_default<'a, P: IsA<::Object> + 'a, Q: Into<Option<&'a P>>>(
&self,
parent: Q,
) -> ::Iterator<Pad>;
fn stream_lock(&self) -> StreamLock;
fn set_activate_function<F>(&self, func: F)
@ -337,6 +343,24 @@ impl<O: IsA<Pad>> PadExtManual for O {
}
}
fn iterate_internal_links(&self) -> ::Iterator<Pad> {
unsafe { from_glib_full(ffi::gst_pad_iterate_internal_links(self.to_glib_none().0)) }
}
fn iterate_internal_links_default<'a, P: IsA<::Object> + 'a, Q: Into<Option<&'a P>>>(
&self,
parent: Q,
) -> ::Iterator<Pad> {
let parent = parent.into();
let parent = parent.to_glib_none();
unsafe {
from_glib_full(ffi::gst_pad_iterate_internal_links_default(
self.to_glib_none().0,
parent.0,
))
}
}
fn stream_lock(&self) -> StreamLock {
unsafe {
let pad = self.to_glib_none().0;