mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-11-23 01:51:06 +00:00
gstreamer/bin: Implement iterate_all_by_element_factory_name manually
This commit is contained in:
parent
05852bb19f
commit
3ac7631ea0
1 changed files with 12 additions and 0 deletions
|
@ -34,6 +34,8 @@ pub trait GstBinExtManual: 'static {
|
||||||
f: F,
|
f: F,
|
||||||
) -> SignalHandlerId;
|
) -> SignalHandlerId;
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn iterate_all_by_element_factory_name(&self, factory_name: &str) -> ::Iterator<Element>;
|
||||||
fn iterate_all_by_interface(&self, iface: glib::types::Type) -> ::Iterator<Element>;
|
fn iterate_all_by_interface(&self, iface: glib::types::Type) -> ::Iterator<Element>;
|
||||||
fn iterate_elements(&self) -> ::Iterator<Element>;
|
fn iterate_elements(&self) -> ::Iterator<Element>;
|
||||||
fn iterate_recurse(&self) -> ::Iterator<Element>;
|
fn iterate_recurse(&self) -> ::Iterator<Element>;
|
||||||
|
@ -107,6 +109,16 @@ impl<O: IsA<Bin>> GstBinExtManual for O {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn iterate_all_by_element_factory_name(&self, factory_name: &str) -> ::Iterator<Element> {
|
||||||
|
unsafe {
|
||||||
|
from_glib_full(gst_sys::gst_bin_iterate_all_by_element_factory_name(
|
||||||
|
self.as_ref().to_glib_none().0,
|
||||||
|
factory_name.to_glib_none().0,
|
||||||
|
))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn iterate_all_by_interface(&self, iface: glib::types::Type) -> ::Iterator<Element> {
|
fn iterate_all_by_interface(&self, iface: glib::types::Type) -> ::Iterator<Element> {
|
||||||
unsafe {
|
unsafe {
|
||||||
from_glib_full(gst_sys::gst_bin_iterate_all_by_interface(
|
from_glib_full(gst_sys::gst_bin_iterate_all_by_interface(
|
||||||
|
|
Loading…
Reference in a new issue