mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-11-28 20:41:31 +00:00
meta: Add bindings for new meta_api_type_aggregate_params() function
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1600>
This commit is contained in:
parent
11be6b0d2f
commit
26791af39a
1 changed files with 26 additions and 0 deletions
|
@ -1135,6 +1135,32 @@ pub fn meta_api_type_get_tags<'b>(type_: glib::Type) -> &'b [glib::GStringPtr] {
|
||||||
unsafe { glib::StrV::from_glib_borrow(ffi::gst_meta_api_type_get_tags(type_.into_glib())) }
|
unsafe { glib::StrV::from_glib_borrow(ffi::gst_meta_api_type_get_tags(type_.into_glib())) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "v1_26")]
|
||||||
|
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||||
|
#[doc(alias = "gst_meta_api_type_aggregate_params")]
|
||||||
|
pub fn meta_api_type_aggregate_params(
|
||||||
|
type_: glib::Type,
|
||||||
|
params1: &crate::StructureRef,
|
||||||
|
params2: &crate::StructureRef,
|
||||||
|
) -> Result<Option<crate::Structure>, glib::BoolError> {
|
||||||
|
skip_assert_initialized!();
|
||||||
|
unsafe {
|
||||||
|
let mut new_params = ptr::null_mut();
|
||||||
|
let res = bool::from_glib(ffi::gst_meta_api_type_aggregate_params(
|
||||||
|
type_.into_glib(),
|
||||||
|
&mut new_params,
|
||||||
|
params1.as_ptr(),
|
||||||
|
params2.as_ptr(),
|
||||||
|
));
|
||||||
|
|
||||||
|
if res {
|
||||||
|
Ok(from_glib_full(new_params))
|
||||||
|
} else {
|
||||||
|
Err(glib::bool_error!("Failed to aggregate meta type params"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
Loading…
Reference in a new issue