gstreamer: Regenerate

This commit is contained in:
Sebastian Dröge 2020-11-21 15:46:33 +02:00
parent 9889bc990a
commit b933931d6c
37 changed files with 1677 additions and 1891 deletions

View file

@ -3,7 +3,7 @@
// DO NOT EDIT // DO NOT EDIT
#[allow(unused_imports)] #[allow(unused_imports)]
use auto::*; use crate::auto::*;
pub type ClockTimeDiff = i64; pub type ClockTimeDiff = i64;
pub type ElementFactoryListType = u64; pub type ElementFactoryListType = u64;

View file

@ -2,32 +2,28 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use crate::Object;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use gst_sys;
use Object;
glib_wrapper! { glib::glib_wrapper! {
pub struct Allocator(Object<gst_sys::GstAllocator, gst_sys::GstAllocatorClass>) @extends Object; pub struct Allocator(Object<ffi::GstAllocator, ffi::GstAllocatorClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_allocator_get_type(), get_type => || ffi::gst_allocator_get_type(),
} }
} }
impl Allocator { impl Allocator {
pub fn find(name: Option<&str>) -> Option<Allocator> { pub fn find(name: Option<&str>) -> Option<Allocator> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_full(gst_sys::gst_allocator_find(name.to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_allocator_find(name.to_glib_none().0)) }
} }
pub fn register<P: IsA<Allocator>>(name: &str, allocator: &P) { pub fn register<P: IsA<Allocator>>(name: &str, allocator: &P) {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_allocator_register( ffi::gst_allocator_register(name.to_glib_none().0, allocator.as_ref().to_glib_full());
name.to_glib_none().0,
allocator.as_ref().to_glib_full(),
);
} }
} }
} }
@ -47,16 +43,16 @@ pub trait AllocatorExt: 'static {
impl<O: IsA<Allocator>> AllocatorExt for O { impl<O: IsA<Allocator>> AllocatorExt for O {
//fn alloc(&self, size: usize, params: /*Ignored*/Option<&mut AllocationParams>) -> /*Ignored*/Option<Memory> { //fn alloc(&self, size: usize, params: /*Ignored*/Option<&mut AllocationParams>) -> /*Ignored*/Option<Memory> {
// unsafe { TODO: call gst_sys:gst_allocator_alloc() } // unsafe { TODO: call ffi:gst_allocator_alloc() }
//} //}
//fn free(&self, memory: /*Ignored*/&Memory) { //fn free(&self, memory: /*Ignored*/&Memory) {
// unsafe { TODO: call gst_sys:gst_allocator_free() } // unsafe { TODO: call ffi:gst_allocator_free() }
//} //}
fn set_default(&self) { fn set_default(&self) {
unsafe { unsafe {
gst_sys::gst_allocator_set_default(self.as_ref().to_glib_full()); ffi::gst_allocator_set_default(self.as_ref().to_glib_full());
} }
} }
} }

View file

@ -2,7 +2,14 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::ChildProxy;
use crate::Element;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use crate::ElementFlags;
use crate::Object;
use crate::Pad;
use crate::PadDirection;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
@ -10,34 +17,21 @@ use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib::StaticType; use glib::StaticType;
use glib::Value; use glib::Value;
use glib_sys;
use gobject_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use ChildProxy;
use Element;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use ElementFlags;
use Object;
use Pad;
use PadDirection;
glib_wrapper! { glib::glib_wrapper! {
pub struct Bin(Object<gst_sys::GstBin, gst_sys::GstBinClass>) @extends Element, Object, @implements ChildProxy; pub struct Bin(Object<ffi::GstBin, ffi::GstBinClass>) @extends Element, Object, @implements ChildProxy;
match fn { match fn {
get_type => || gst_sys::gst_bin_get_type(), get_type => || ffi::gst_bin_get_type(),
} }
} }
impl Bin { impl Bin {
pub fn new(name: Option<&str>) -> Bin { pub fn new(name: Option<&str>) -> Bin {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe { Element::from_glib_none(ffi::gst_bin_new(name.to_glib_none().0)).unsafe_cast() }
Element::from_glib_none(gst_sys::gst_bin_new(name.to_glib_none().0)).unsafe_cast()
}
} }
} }
@ -137,8 +131,8 @@ pub trait GstBinExt: 'static {
impl<O: IsA<Bin>> GstBinExt for O { impl<O: IsA<Bin>> GstBinExt for O {
fn add<P: IsA<Element>>(&self, element: &P) -> Result<(), glib::error::BoolError> { fn add<P: IsA<Element>>(&self, element: &P) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_bin_add( ffi::gst_bin_add(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
element.as_ref().to_glib_none().0 element.as_ref().to_glib_none().0
), ),
@ -148,12 +142,12 @@ impl<O: IsA<Bin>> GstBinExt for O {
} }
//fn add_many<P: IsA<Element>>(&self, element_1: &P, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) { //fn add_many<P: IsA<Element>>(&self, element_1: &P, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) {
// unsafe { TODO: call gst_sys:gst_bin_add_many() } // unsafe { TODO: call ffi:gst_bin_add_many() }
//} //}
fn find_unlinked_pad(&self, direction: PadDirection) -> Option<Pad> { fn find_unlinked_pad(&self, direction: PadDirection) -> Option<Pad> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_bin_find_unlinked_pad( from_glib_full(ffi::gst_bin_find_unlinked_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
direction.to_glib(), direction.to_glib(),
)) ))
@ -162,7 +156,7 @@ impl<O: IsA<Bin>> GstBinExt for O {
fn get_by_interface(&self, iface: glib::types::Type) -> Option<Element> { fn get_by_interface(&self, iface: glib::types::Type) -> Option<Element> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_bin_get_by_interface( from_glib_full(ffi::gst_bin_get_by_interface(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
iface.to_glib(), iface.to_glib(),
)) ))
@ -171,7 +165,7 @@ impl<O: IsA<Bin>> GstBinExt for O {
fn get_by_name(&self, name: &str) -> Option<Element> { fn get_by_name(&self, name: &str) -> Option<Element> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_bin_get_by_name( from_glib_full(ffi::gst_bin_get_by_name(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
@ -180,7 +174,7 @@ impl<O: IsA<Bin>> GstBinExt for O {
fn get_by_name_recurse_up(&self, name: &str) -> Option<Element> { fn get_by_name_recurse_up(&self, name: &str) -> Option<Element> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_bin_get_by_name_recurse_up( from_glib_full(ffi::gst_bin_get_by_name_recurse_up(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
@ -191,7 +185,7 @@ impl<O: IsA<Bin>> GstBinExt for O {
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
fn get_suppressed_flags(&self) -> ElementFlags { fn get_suppressed_flags(&self) -> ElementFlags {
unsafe { unsafe {
from_glib(gst_sys::gst_bin_get_suppressed_flags( from_glib(ffi::gst_bin_get_suppressed_flags(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -200,37 +194,37 @@ impl<O: IsA<Bin>> GstBinExt for O {
//#[cfg(any(feature = "v1_18", feature = "dox"))] //#[cfg(any(feature = "v1_18", feature = "dox"))]
//#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] //#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
//fn iterate_all_by_element_factory_name(&self, factory_name: &str) -> /*Ignored*/Option<Iterator> { //fn iterate_all_by_element_factory_name(&self, factory_name: &str) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_bin_iterate_all_by_element_factory_name() } // unsafe { TODO: call ffi:gst_bin_iterate_all_by_element_factory_name() }
//} //}
//fn iterate_all_by_interface(&self, iface: glib::types::Type) -> /*Ignored*/Option<Iterator> { //fn iterate_all_by_interface(&self, iface: glib::types::Type) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_bin_iterate_all_by_interface() } // unsafe { TODO: call ffi:gst_bin_iterate_all_by_interface() }
//} //}
//fn iterate_elements(&self) -> /*Ignored*/Option<Iterator> { //fn iterate_elements(&self) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_bin_iterate_elements() } // unsafe { TODO: call ffi:gst_bin_iterate_elements() }
//} //}
//fn iterate_recurse(&self) -> /*Ignored*/Option<Iterator> { //fn iterate_recurse(&self) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_bin_iterate_recurse() } // unsafe { TODO: call ffi:gst_bin_iterate_recurse() }
//} //}
//fn iterate_sinks(&self) -> /*Ignored*/Option<Iterator> { //fn iterate_sinks(&self) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_bin_iterate_sinks() } // unsafe { TODO: call ffi:gst_bin_iterate_sinks() }
//} //}
//fn iterate_sorted(&self) -> /*Ignored*/Option<Iterator> { //fn iterate_sorted(&self) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_bin_iterate_sorted() } // unsafe { TODO: call ffi:gst_bin_iterate_sorted() }
//} //}
//fn iterate_sources(&self) -> /*Ignored*/Option<Iterator> { //fn iterate_sources(&self) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_bin_iterate_sources() } // unsafe { TODO: call ffi:gst_bin_iterate_sources() }
//} //}
fn recalculate_latency(&self) -> Result<(), glib::error::BoolError> { fn recalculate_latency(&self) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_bin_recalculate_latency(self.as_ref().to_glib_none().0), ffi::gst_bin_recalculate_latency(self.as_ref().to_glib_none().0),
"Failed to recalculate latency" "Failed to recalculate latency"
) )
} }
@ -238,8 +232,8 @@ impl<O: IsA<Bin>> GstBinExt for O {
fn remove<P: IsA<Element>>(&self, element: &P) -> Result<(), glib::error::BoolError> { fn remove<P: IsA<Element>>(&self, element: &P) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_bin_remove( ffi::gst_bin_remove(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
element.as_ref().to_glib_none().0 element.as_ref().to_glib_none().0
), ),
@ -249,21 +243,21 @@ impl<O: IsA<Bin>> GstBinExt for O {
} }
//fn remove_many<P: IsA<Element>>(&self, element_1: &P, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) { //fn remove_many<P: IsA<Element>>(&self, element_1: &P, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) {
// unsafe { TODO: call gst_sys:gst_bin_remove_many() } // unsafe { TODO: call ffi:gst_bin_remove_many() }
//} //}
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
fn set_suppressed_flags(&self, flags: ElementFlags) { fn set_suppressed_flags(&self, flags: ElementFlags) {
unsafe { unsafe {
gst_sys::gst_bin_set_suppressed_flags(self.as_ref().to_glib_none().0, flags.to_glib()); ffi::gst_bin_set_suppressed_flags(self.as_ref().to_glib_none().0, flags.to_glib());
} }
} }
fn sync_children_states(&self) -> Result<(), glib::error::BoolError> { fn sync_children_states(&self) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_bin_sync_children_states(self.as_ref().to_glib_none().0), ffi::gst_bin_sync_children_states(self.as_ref().to_glib_none().0),
"Failed to sync children states" "Failed to sync children states"
) )
} }
@ -272,8 +266,8 @@ impl<O: IsA<Bin>> GstBinExt for O {
fn get_property_async_handling(&self) -> bool { fn get_property_async_handling(&self) -> bool {
unsafe { unsafe {
let mut value = Value::from_type(<bool as StaticType>::static_type()); let mut value = Value::from_type(<bool as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"async-handling\0".as_ptr() as *const _, b"async-handling\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -286,8 +280,8 @@ impl<O: IsA<Bin>> GstBinExt for O {
fn set_property_async_handling(&self, async_handling: bool) { fn set_property_async_handling(&self, async_handling: bool) {
unsafe { unsafe {
gobject_sys::g_object_set_property( glib::gobject_ffi::g_object_set_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"async-handling\0".as_ptr() as *const _, b"async-handling\0".as_ptr() as *const _,
Value::from(&async_handling).to_glib_none().0, Value::from(&async_handling).to_glib_none().0,
); );
@ -297,8 +291,8 @@ impl<O: IsA<Bin>> GstBinExt for O {
fn get_property_message_forward(&self) -> bool { fn get_property_message_forward(&self) -> bool {
unsafe { unsafe {
let mut value = Value::from_type(<bool as StaticType>::static_type()); let mut value = Value::from_type(<bool as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"message-forward\0".as_ptr() as *const _, b"message-forward\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -311,8 +305,8 @@ impl<O: IsA<Bin>> GstBinExt for O {
fn set_property_message_forward(&self, message_forward: bool) { fn set_property_message_forward(&self, message_forward: bool) {
unsafe { unsafe {
gobject_sys::g_object_set_property( glib::gobject_ffi::g_object_set_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"message-forward\0".as_ptr() as *const _, b"message-forward\0".as_ptr() as *const _,
Value::from(&message_forward).to_glib_none().0, Value::from(&message_forward).to_glib_none().0,
); );
@ -329,10 +323,10 @@ impl<O: IsA<Bin>> GstBinExt for O {
P, P,
F: Fn(&P, &Bin, &Element) + Send + Sync + 'static, F: Fn(&P, &Bin, &Element) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstBin, this: *mut ffi::GstBin,
sub_bin: *mut gst_sys::GstBin, sub_bin: *mut ffi::GstBin,
element: *mut gst_sys::GstElement, element: *mut ffi::GstElement,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Bin>, P: IsA<Bin>,
{ {
@ -366,10 +360,10 @@ impl<O: IsA<Bin>> GstBinExt for O {
P, P,
F: Fn(&P, &Bin, &Element) + Send + Sync + 'static, F: Fn(&P, &Bin, &Element) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstBin, this: *mut ffi::GstBin,
sub_bin: *mut gst_sys::GstBin, sub_bin: *mut ffi::GstBin,
element: *mut gst_sys::GstElement, element: *mut ffi::GstElement,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Bin>, P: IsA<Bin>,
{ {
@ -401,9 +395,9 @@ impl<O: IsA<Bin>> GstBinExt for O {
P, P,
F: Fn(&P, &Element) + Send + Sync + 'static, F: Fn(&P, &Element) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstBin, this: *mut ffi::GstBin,
element: *mut gst_sys::GstElement, element: *mut ffi::GstElement,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Bin>, P: IsA<Bin>,
{ {
@ -434,9 +428,9 @@ impl<O: IsA<Bin>> GstBinExt for O {
P, P,
F: Fn(&P, &Element) + Send + Sync + 'static, F: Fn(&P, &Element) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstBin, this: *mut ffi::GstBin,
element: *mut gst_sys::GstElement, element: *mut ffi::GstElement,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Bin>, P: IsA<Bin>,
{ {
@ -467,9 +461,9 @@ impl<O: IsA<Bin>> GstBinExt for O {
P, P,
F: Fn(&P) + Send + Sync + 'static, F: Fn(&P) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstBin, this: *mut ffi::GstBin,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Bin>, P: IsA<Bin>,
{ {
@ -497,9 +491,9 @@ impl<O: IsA<Bin>> GstBinExt for O {
P, P,
F: Fn(&P) + Send + Sync + 'static, F: Fn(&P) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstBin, this: *mut ffi::GstBin,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Bin>, P: IsA<Bin>,
{ {

View file

@ -2,18 +2,15 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Object;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use gst_sys;
use Object;
glib_wrapper! { glib::glib_wrapper! {
pub struct BufferPool(Object<gst_sys::GstBufferPool, gst_sys::GstBufferPoolClass>) @extends Object; pub struct BufferPool(Object<ffi::GstBufferPool, ffi::GstBufferPoolClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_buffer_pool_get_type(), get_type => || ffi::gst_buffer_pool_get_type(),
} }
} }
@ -23,7 +20,7 @@ unsafe impl Sync for BufferPool {}
pub const NONE_BUFFER_POOL: Option<&BufferPool> = None; pub const NONE_BUFFER_POOL: Option<&BufferPool> = None;
pub trait BufferPoolExt: 'static { pub trait BufferPoolExt: 'static {
fn get_options(&self) -> Vec<GString>; fn get_options(&self) -> Vec<glib::GString>;
fn has_option(&self, option: &str) -> bool; fn has_option(&self, option: &str) -> bool;
@ -35,9 +32,9 @@ pub trait BufferPoolExt: 'static {
} }
impl<O: IsA<BufferPool>> BufferPoolExt for O { impl<O: IsA<BufferPool>> BufferPoolExt for O {
fn get_options(&self) -> Vec<GString> { fn get_options(&self) -> Vec<glib::GString> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_none(gst_sys::gst_buffer_pool_get_options( FromGlibPtrContainer::from_glib_none(ffi::gst_buffer_pool_get_options(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -45,7 +42,7 @@ impl<O: IsA<BufferPool>> BufferPoolExt for O {
fn has_option(&self, option: &str) -> bool { fn has_option(&self, option: &str) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_buffer_pool_has_option( from_glib(ffi::gst_buffer_pool_has_option(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
option.to_glib_none().0, option.to_glib_none().0,
)) ))
@ -54,7 +51,7 @@ impl<O: IsA<BufferPool>> BufferPoolExt for O {
fn is_active(&self) -> bool { fn is_active(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_buffer_pool_is_active( from_glib(ffi::gst_buffer_pool_is_active(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -62,11 +59,8 @@ impl<O: IsA<BufferPool>> BufferPoolExt for O {
fn set_active(&self, active: bool) -> Result<(), glib::error::BoolError> { fn set_active(&self, active: bool) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_buffer_pool_set_active( ffi::gst_buffer_pool_set_active(self.as_ref().to_glib_none().0, active.to_glib()),
self.as_ref().to_glib_none().0,
active.to_glib()
),
"Failed to activate buffer pool" "Failed to activate buffer pool"
) )
} }
@ -74,10 +68,7 @@ impl<O: IsA<BufferPool>> BufferPoolExt for O {
fn set_flushing(&self, flushing: bool) { fn set_flushing(&self, flushing: bool) {
unsafe { unsafe {
gst_sys::gst_buffer_pool_set_flushing( ffi::gst_buffer_pool_set_flushing(self.as_ref().to_glib_none().0, flushing.to_glib());
self.as_ref().to_glib_none().0,
flushing.to_glib(),
);
} }
} }
} }

View file

@ -2,77 +2,74 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::ClockTime;
use crate::Message;
use crate::Object;
use glib::object::ObjectType as ObjectType_; use glib::object::ObjectType as ObjectType_;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use ClockTime;
use Message;
use Object;
glib_wrapper! { glib::glib_wrapper! {
pub struct Bus(Object<gst_sys::GstBus, gst_sys::GstBusClass>) @extends Object; pub struct Bus(Object<ffi::GstBus, ffi::GstBusClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_bus_get_type(), get_type => || ffi::gst_bus_get_type(),
} }
} }
impl Bus { impl Bus {
pub fn new() -> Bus { pub fn new() -> Bus {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_full(gst_sys::gst_bus_new()) } unsafe { from_glib_full(ffi::gst_bus_new()) }
} }
pub fn add_signal_watch(&self) { pub fn add_signal_watch(&self) {
unsafe { unsafe {
gst_sys::gst_bus_add_signal_watch(self.to_glib_none().0); ffi::gst_bus_add_signal_watch(self.to_glib_none().0);
} }
} }
//pub fn async_signal_func(&self, message: &Message, data: /*Unimplemented*/Option<Fundamental: Pointer>) -> bool { //pub fn async_signal_func(&self, message: &Message, data: /*Unimplemented*/Option<Fundamental: Pointer>) -> bool {
// unsafe { TODO: call gst_sys:gst_bus_async_signal_func() } // unsafe { TODO: call ffi:gst_bus_async_signal_func() }
//} //}
pub fn disable_sync_message_emission(&self) { pub fn disable_sync_message_emission(&self) {
unsafe { unsafe {
gst_sys::gst_bus_disable_sync_message_emission(self.to_glib_none().0); ffi::gst_bus_disable_sync_message_emission(self.to_glib_none().0);
} }
} }
pub fn enable_sync_message_emission(&self) { pub fn enable_sync_message_emission(&self) {
unsafe { unsafe {
gst_sys::gst_bus_enable_sync_message_emission(self.to_glib_none().0); ffi::gst_bus_enable_sync_message_emission(self.to_glib_none().0);
} }
} }
//#[cfg(any(feature = "v1_14", feature = "dox"))] //#[cfg(any(feature = "v1_14", feature = "dox"))]
//#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] //#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
//pub fn get_pollfd(&self, fd: /*Ignored*/glib::PollFD) { //pub fn get_pollfd(&self, fd: /*Ignored*/glib::PollFD) {
// unsafe { TODO: call gst_sys:gst_bus_get_pollfd() } // unsafe { TODO: call ffi:gst_bus_get_pollfd() }
//} //}
pub fn have_pending(&self) -> bool { pub fn have_pending(&self) -> bool {
unsafe { from_glib(gst_sys::gst_bus_have_pending(self.to_glib_none().0)) } unsafe { from_glib(ffi::gst_bus_have_pending(self.to_glib_none().0)) }
} }
pub fn peek(&self) -> Option<Message> { pub fn peek(&self) -> Option<Message> {
unsafe { from_glib_full(gst_sys::gst_bus_peek(self.to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_bus_peek(self.to_glib_none().0)) }
} }
pub fn pop(&self) -> Option<Message> { pub fn pop(&self) -> Option<Message> {
unsafe { from_glib_full(gst_sys::gst_bus_pop(self.to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_bus_pop(self.to_glib_none().0)) }
} }
pub fn post(&self, message: &Message) -> Result<(), glib::error::BoolError> { pub fn post(&self, message: &Message) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_bus_post(self.to_glib_none().0, message.to_glib_full()), ffi::gst_bus_post(self.to_glib_none().0, message.to_glib_full()),
"Failed to post message" "Failed to post message"
) )
} }
@ -80,14 +77,14 @@ impl Bus {
pub fn remove_signal_watch(&self) { pub fn remove_signal_watch(&self) {
unsafe { unsafe {
gst_sys::gst_bus_remove_signal_watch(self.to_glib_none().0); ffi::gst_bus_remove_signal_watch(self.to_glib_none().0);
} }
} }
pub fn remove_watch(&self) -> Result<(), glib::error::BoolError> { pub fn remove_watch(&self) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_bus_remove_watch(self.to_glib_none().0), ffi::gst_bus_remove_watch(self.to_glib_none().0),
"Bus has no event source" "Bus has no event source"
) )
} }
@ -95,17 +92,17 @@ impl Bus {
pub fn set_flushing(&self, flushing: bool) { pub fn set_flushing(&self, flushing: bool) {
unsafe { unsafe {
gst_sys::gst_bus_set_flushing(self.to_glib_none().0, flushing.to_glib()); ffi::gst_bus_set_flushing(self.to_glib_none().0, flushing.to_glib());
} }
} }
//pub fn sync_signal_handler(&self, message: &Message, data: /*Unimplemented*/Option<Fundamental: Pointer>) -> BusSyncReply { //pub fn sync_signal_handler(&self, message: &Message, data: /*Unimplemented*/Option<Fundamental: Pointer>) -> BusSyncReply {
// unsafe { TODO: call gst_sys:gst_bus_sync_signal_handler() } // unsafe { TODO: call ffi:gst_bus_sync_signal_handler() }
//} //}
pub fn timed_pop(&self, timeout: ClockTime) -> Option<Message> { pub fn timed_pop(&self, timeout: ClockTime) -> Option<Message> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_bus_timed_pop( from_glib_full(ffi::gst_bus_timed_pop(
self.to_glib_none().0, self.to_glib_none().0,
timeout.to_glib(), timeout.to_glib(),
)) ))
@ -114,9 +111,9 @@ impl Bus {
pub fn connect_message<F: Fn(&Bus, &Message) + Send + 'static>(&self, f: F) -> SignalHandlerId { pub fn connect_message<F: Fn(&Bus, &Message) + Send + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn message_trampoline<F: Fn(&Bus, &Message) + Send + 'static>( unsafe extern "C" fn message_trampoline<F: Fn(&Bus, &Message) + Send + 'static>(
this: *mut gst_sys::GstBus, this: *mut ffi::GstBus,
message: *mut gst_sys::GstMessage, message: *mut ffi::GstMessage,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) { ) {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f(&from_glib_borrow(this), &from_glib_borrow(message)) f(&from_glib_borrow(this), &from_glib_borrow(message))
@ -141,9 +138,9 @@ impl Bus {
unsafe extern "C" fn sync_message_trampoline< unsafe extern "C" fn sync_message_trampoline<
F: Fn(&Bus, &Message) + Send + Sync + 'static, F: Fn(&Bus, &Message) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstBus, this: *mut ffi::GstBus,
message: *mut gst_sys::GstMessage, message: *mut ffi::GstMessage,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) { ) {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f(&from_glib_borrow(this), &from_glib_borrow(message)) f(&from_glib_borrow(this), &from_glib_borrow(message))

View file

@ -2,25 +2,19 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use glib_sys;
use gobject_sys;
use gst_sys;
use libc;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
glib_wrapper! { glib::glib_wrapper! {
pub struct ChildProxy(Interface<gst_sys::GstChildProxy>); pub struct ChildProxy(Interface<ffi::GstChildProxy>);
match fn { match fn {
get_type => || gst_sys::gst_child_proxy_get_type(), get_type => || ffi::gst_child_proxy_get_type(),
} }
} }
@ -64,7 +58,7 @@ pub trait ChildProxyExt: 'static {
impl<O: IsA<ChildProxy>> ChildProxyExt for O { impl<O: IsA<ChildProxy>> ChildProxyExt for O {
fn child_added<P: IsA<glib::Object>>(&self, child: &P, name: &str) { fn child_added<P: IsA<glib::Object>>(&self, child: &P, name: &str) {
unsafe { unsafe {
gst_sys::gst_child_proxy_child_added( ffi::gst_child_proxy_child_added(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
child.as_ref().to_glib_none().0, child.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
@ -74,7 +68,7 @@ impl<O: IsA<ChildProxy>> ChildProxyExt for O {
fn child_removed<P: IsA<glib::Object>>(&self, child: &P, name: &str) { fn child_removed<P: IsA<glib::Object>>(&self, child: &P, name: &str) {
unsafe { unsafe {
gst_sys::gst_child_proxy_child_removed( ffi::gst_child_proxy_child_removed(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
child.as_ref().to_glib_none().0, child.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
@ -83,12 +77,12 @@ impl<O: IsA<ChildProxy>> ChildProxyExt for O {
} }
//fn get(&self, first_property_name: &str, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) { //fn get(&self, first_property_name: &str, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) {
// unsafe { TODO: call gst_sys:gst_child_proxy_get() } // unsafe { TODO: call ffi:gst_child_proxy_get() }
//} //}
fn get_child_by_index(&self, index: u32) -> Option<glib::Object> { fn get_child_by_index(&self, index: u32) -> Option<glib::Object> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_child_proxy_get_child_by_index( from_glib_full(ffi::gst_child_proxy_get_child_by_index(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
index, index,
)) ))
@ -97,7 +91,7 @@ impl<O: IsA<ChildProxy>> ChildProxyExt for O {
fn get_child_by_name(&self, name: &str) -> Option<glib::Object> { fn get_child_by_name(&self, name: &str) -> Option<glib::Object> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_child_proxy_get_child_by_name( from_glib_full(ffi::gst_child_proxy_get_child_by_name(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
@ -105,23 +99,23 @@ impl<O: IsA<ChildProxy>> ChildProxyExt for O {
} }
fn get_children_count(&self) -> u32 { fn get_children_count(&self) -> u32 {
unsafe { gst_sys::gst_child_proxy_get_children_count(self.as_ref().to_glib_none().0) } unsafe { ffi::gst_child_proxy_get_children_count(self.as_ref().to_glib_none().0) }
} }
//fn get_valist(&self, first_property_name: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) { //fn get_valist(&self, first_property_name: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) {
// unsafe { TODO: call gst_sys:gst_child_proxy_get_valist() } // unsafe { TODO: call ffi:gst_child_proxy_get_valist() }
//} //}
//fn lookup(&self, name: &str, pspec: /*Ignored*/glib::ParamSpec) -> Option<glib::Object> { //fn lookup(&self, name: &str, pspec: /*Ignored*/glib::ParamSpec) -> Option<glib::Object> {
// unsafe { TODO: call gst_sys:gst_child_proxy_lookup() } // unsafe { TODO: call ffi:gst_child_proxy_lookup() }
//} //}
//fn set(&self, first_property_name: &str, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) { //fn set(&self, first_property_name: &str, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) {
// unsafe { TODO: call gst_sys:gst_child_proxy_set() } // unsafe { TODO: call ffi:gst_child_proxy_set() }
//} //}
//fn set_valist(&self, first_property_name: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) { //fn set_valist(&self, first_property_name: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) {
// unsafe { TODO: call gst_sys:gst_child_proxy_set_valist() } // unsafe { TODO: call ffi:gst_child_proxy_set_valist() }
//} //}
fn connect_child_added<F: Fn(&Self, &glib::Object, &str) + Send + Sync + 'static>( fn connect_child_added<F: Fn(&Self, &glib::Object, &str) + Send + Sync + 'static>(
@ -132,10 +126,10 @@ impl<O: IsA<ChildProxy>> ChildProxyExt for O {
P, P,
F: Fn(&P, &glib::Object, &str) + Send + Sync + 'static, F: Fn(&P, &glib::Object, &str) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstChildProxy, this: *mut ffi::GstChildProxy,
object: *mut gobject_sys::GObject, object: *mut glib::gobject_ffi::GObject,
name: *mut libc::c_char, name: *mut libc::c_char,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<ChildProxy>, P: IsA<ChildProxy>,
{ {
@ -143,7 +137,7 @@ impl<O: IsA<ChildProxy>> ChildProxyExt for O {
f( f(
&ChildProxy::from_glib_borrow(this).unsafe_cast_ref(), &ChildProxy::from_glib_borrow(this).unsafe_cast_ref(),
&from_glib_borrow(object), &from_glib_borrow(object),
&GString::from_glib_borrow(name), &glib::GString::from_glib_borrow(name),
) )
} }
unsafe { unsafe {
@ -167,10 +161,10 @@ impl<O: IsA<ChildProxy>> ChildProxyExt for O {
P, P,
F: Fn(&P, &glib::Object, &str) + Send + Sync + 'static, F: Fn(&P, &glib::Object, &str) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstChildProxy, this: *mut ffi::GstChildProxy,
object: *mut gobject_sys::GObject, object: *mut glib::gobject_ffi::GObject,
name: *mut libc::c_char, name: *mut libc::c_char,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<ChildProxy>, P: IsA<ChildProxy>,
{ {
@ -178,7 +172,7 @@ impl<O: IsA<ChildProxy>> ChildProxyExt for O {
f( f(
&ChildProxy::from_glib_borrow(this).unsafe_cast_ref(), &ChildProxy::from_glib_borrow(this).unsafe_cast_ref(),
&from_glib_borrow(object), &from_glib_borrow(object),
&GString::from_glib_borrow(name), &glib::GString::from_glib_borrow(name),
) )
} }
unsafe { unsafe {

View file

@ -2,7 +2,8 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::ClockTime;
use crate::Object;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
@ -10,62 +11,57 @@ use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib::StaticType; use glib::StaticType;
use glib::Value; use glib::Value;
use glib_sys;
use gobject_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem; use std::mem;
use std::mem::transmute; use std::mem::transmute;
use ClockTime;
use Object;
glib_wrapper! { glib::glib_wrapper! {
pub struct Clock(Object<gst_sys::GstClock, gst_sys::GstClockClass>) @extends Object; pub struct Clock(Object<ffi::GstClock, ffi::GstClockClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_clock_get_type(), get_type => || ffi::gst_clock_get_type(),
} }
} }
impl Clock { impl Clock {
//pub fn id_compare_func(id1: /*Unimplemented*/Option<Fundamental: Pointer>, id2: /*Unimplemented*/Option<Fundamental: Pointer>) -> i32 { //pub fn id_compare_func(id1: /*Unimplemented*/Option<Fundamental: Pointer>, id2: /*Unimplemented*/Option<Fundamental: Pointer>) -> i32 {
// unsafe { TODO: call gst_sys:gst_clock_id_compare_func() } // unsafe { TODO: call ffi:gst_clock_id_compare_func() }
//} //}
//#[cfg(any(feature = "v1_16", feature = "dox"))] //#[cfg(any(feature = "v1_16", feature = "dox"))]
//#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] //#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
//pub fn id_get_clock(id: /*Unimplemented*/ClockID) -> Option<Clock> { //pub fn id_get_clock(id: /*Unimplemented*/ClockID) -> Option<Clock> {
// unsafe { TODO: call gst_sys:gst_clock_id_get_clock() } // unsafe { TODO: call ffi:gst_clock_id_get_clock() }
//} //}
//pub fn id_get_time(id: /*Unimplemented*/ClockID) -> ClockTime { //pub fn id_get_time(id: /*Unimplemented*/ClockID) -> ClockTime {
// unsafe { TODO: call gst_sys:gst_clock_id_get_time() } // unsafe { TODO: call ffi:gst_clock_id_get_time() }
//} //}
//pub fn id_ref(id: /*Unimplemented*/ClockID) -> /*Unimplemented*/Option<ClockID> { //pub fn id_ref(id: /*Unimplemented*/ClockID) -> /*Unimplemented*/Option<ClockID> {
// unsafe { TODO: call gst_sys:gst_clock_id_ref() } // unsafe { TODO: call ffi:gst_clock_id_ref() }
//} //}
//pub fn id_unref(id: /*Unimplemented*/ClockID) { //pub fn id_unref(id: /*Unimplemented*/ClockID) {
// unsafe { TODO: call gst_sys:gst_clock_id_unref() } // unsafe { TODO: call ffi:gst_clock_id_unref() }
//} //}
//pub fn id_unschedule(id: /*Unimplemented*/ClockID) { //pub fn id_unschedule(id: /*Unimplemented*/ClockID) {
// unsafe { TODO: call gst_sys:gst_clock_id_unschedule() } // unsafe { TODO: call ffi:gst_clock_id_unschedule() }
//} //}
//#[cfg(any(feature = "v1_16", feature = "dox"))] //#[cfg(any(feature = "v1_16", feature = "dox"))]
//#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] //#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
//pub fn id_uses_clock<P: IsA<Clock>>(id: /*Unimplemented*/ClockID, clock: &P) -> bool { //pub fn id_uses_clock<P: IsA<Clock>>(id: /*Unimplemented*/ClockID, clock: &P) -> bool {
// unsafe { TODO: call gst_sys:gst_clock_id_uses_clock() } // unsafe { TODO: call ffi:gst_clock_id_uses_clock() }
//} //}
//pub fn id_wait(id: /*Unimplemented*/ClockID) -> (ClockReturn, ClockTimeDiff) { //pub fn id_wait(id: /*Unimplemented*/ClockID) -> (ClockReturn, ClockTimeDiff) {
// unsafe { TODO: call gst_sys:gst_clock_id_wait() } // unsafe { TODO: call ffi:gst_clock_id_wait() }
//} //}
//pub fn id_wait_async(id: /*Unimplemented*/ClockID, func: /*Unimplemented*/Fn(&Clock, ClockTime, /*Unimplemented*/ClockID) -> bool, user_data: /*Unimplemented*/Option<Fundamental: Pointer>) -> ClockReturn { //pub fn id_wait_async(id: /*Unimplemented*/ClockID, func: /*Unimplemented*/Fn(&Clock, ClockTime, /*Unimplemented*/ClockID) -> bool, user_data: /*Unimplemented*/Option<Fundamental: Pointer>) -> ClockReturn {
// unsafe { TODO: call gst_sys:gst_clock_id_wait_async() } // unsafe { TODO: call ffi:gst_clock_id_wait_async() }
//} //}
} }
@ -157,7 +153,7 @@ impl<O: IsA<Clock>> ClockExt for O {
fn add_observation(&self, slave: ClockTime, master: ClockTime) -> Option<f64> { fn add_observation(&self, slave: ClockTime, master: ClockTime) -> Option<f64> {
unsafe { unsafe {
let mut r_squared = mem::MaybeUninit::uninit(); let mut r_squared = mem::MaybeUninit::uninit();
let ret = from_glib(gst_sys::gst_clock_add_observation( let ret = from_glib(ffi::gst_clock_add_observation(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
slave.to_glib(), slave.to_glib(),
master.to_glib(), master.to_glib(),
@ -183,7 +179,7 @@ impl<O: IsA<Clock>> ClockExt for O {
let mut external = mem::MaybeUninit::uninit(); let mut external = mem::MaybeUninit::uninit();
let mut rate_num = mem::MaybeUninit::uninit(); let mut rate_num = mem::MaybeUninit::uninit();
let mut rate_denom = mem::MaybeUninit::uninit(); let mut rate_denom = mem::MaybeUninit::uninit();
let ret = from_glib(gst_sys::gst_clock_add_observation_unapplied( let ret = from_glib(ffi::gst_clock_add_observation_unapplied(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
slave.to_glib(), slave.to_glib(),
master.to_glib(), master.to_glib(),
@ -214,7 +210,7 @@ impl<O: IsA<Clock>> ClockExt for O {
fn adjust_unlocked(&self, internal: ClockTime) -> ClockTime { fn adjust_unlocked(&self, internal: ClockTime) -> ClockTime {
unsafe { unsafe {
from_glib(gst_sys::gst_clock_adjust_unlocked( from_glib(ffi::gst_clock_adjust_unlocked(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
internal.to_glib(), internal.to_glib(),
)) ))
@ -227,7 +223,7 @@ impl<O: IsA<Clock>> ClockExt for O {
let mut external = mem::MaybeUninit::uninit(); let mut external = mem::MaybeUninit::uninit();
let mut rate_num = mem::MaybeUninit::uninit(); let mut rate_num = mem::MaybeUninit::uninit();
let mut rate_denom = mem::MaybeUninit::uninit(); let mut rate_denom = mem::MaybeUninit::uninit();
gst_sys::gst_clock_get_calibration( ffi::gst_clock_get_calibration(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
internal.as_mut_ptr(), internal.as_mut_ptr(),
external.as_mut_ptr(), external.as_mut_ptr(),
@ -249,54 +245,46 @@ impl<O: IsA<Clock>> ClockExt for O {
fn get_internal_time(&self) -> ClockTime { fn get_internal_time(&self) -> ClockTime {
unsafe { unsafe {
from_glib(gst_sys::gst_clock_get_internal_time( from_glib(ffi::gst_clock_get_internal_time(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_master(&self) -> Option<Clock> { fn get_master(&self) -> Option<Clock> {
unsafe { unsafe { from_glib_full(ffi::gst_clock_get_master(self.as_ref().to_glib_none().0)) }
from_glib_full(gst_sys::gst_clock_get_master(
self.as_ref().to_glib_none().0,
))
}
} }
fn get_resolution(&self) -> ClockTime { fn get_resolution(&self) -> ClockTime {
unsafe { unsafe {
from_glib(gst_sys::gst_clock_get_resolution( from_glib(ffi::gst_clock_get_resolution(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_time(&self) -> ClockTime { fn get_time(&self) -> ClockTime {
unsafe { from_glib(gst_sys::gst_clock_get_time(self.as_ref().to_glib_none().0)) } unsafe { from_glib(ffi::gst_clock_get_time(self.as_ref().to_glib_none().0)) }
} }
fn get_timeout(&self) -> ClockTime { fn get_timeout(&self) -> ClockTime {
unsafe { unsafe { from_glib(ffi::gst_clock_get_timeout(self.as_ref().to_glib_none().0)) }
from_glib(gst_sys::gst_clock_get_timeout(
self.as_ref().to_glib_none().0,
))
}
} }
fn is_synced(&self) -> bool { fn is_synced(&self) -> bool {
unsafe { from_glib(gst_sys::gst_clock_is_synced(self.as_ref().to_glib_none().0)) } unsafe { from_glib(ffi::gst_clock_is_synced(self.as_ref().to_glib_none().0)) }
} }
//fn new_periodic_id(&self, start_time: ClockTime, interval: ClockTime) -> /*Unimplemented*/Option<ClockID> { //fn new_periodic_id(&self, start_time: ClockTime, interval: ClockTime) -> /*Unimplemented*/Option<ClockID> {
// unsafe { TODO: call gst_sys:gst_clock_new_periodic_id() } // unsafe { TODO: call ffi:gst_clock_new_periodic_id() }
//} //}
//fn new_single_shot_id(&self, time: ClockTime) -> /*Unimplemented*/Option<ClockID> { //fn new_single_shot_id(&self, time: ClockTime) -> /*Unimplemented*/Option<ClockID> {
// unsafe { TODO: call gst_sys:gst_clock_new_single_shot_id() } // unsafe { TODO: call ffi:gst_clock_new_single_shot_id() }
//} //}
//fn periodic_id_reinit(&self, id: /*Unimplemented*/ClockID, start_time: ClockTime, interval: ClockTime) -> bool { //fn periodic_id_reinit(&self, id: /*Unimplemented*/ClockID, start_time: ClockTime, interval: ClockTime) -> bool {
// unsafe { TODO: call gst_sys:gst_clock_periodic_id_reinit() } // unsafe { TODO: call ffi:gst_clock_periodic_id_reinit() }
//} //}
fn set_calibration( fn set_calibration(
@ -307,7 +295,7 @@ impl<O: IsA<Clock>> ClockExt for O {
rate_denom: ClockTime, rate_denom: ClockTime,
) { ) {
unsafe { unsafe {
gst_sys::gst_clock_set_calibration( ffi::gst_clock_set_calibration(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
internal.to_glib(), internal.to_glib(),
external.to_glib(), external.to_glib(),
@ -319,8 +307,8 @@ impl<O: IsA<Clock>> ClockExt for O {
fn set_master<P: IsA<Clock>>(&self, master: Option<&P>) -> Result<(), glib::error::BoolError> { fn set_master<P: IsA<Clock>>(&self, master: Option<&P>) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_clock_set_master( ffi::gst_clock_set_master(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
master.map(|p| p.as_ref()).to_glib_none().0 master.map(|p| p.as_ref()).to_glib_none().0
), ),
@ -331,7 +319,7 @@ impl<O: IsA<Clock>> ClockExt for O {
fn set_resolution(&self, resolution: ClockTime) -> ClockTime { fn set_resolution(&self, resolution: ClockTime) -> ClockTime {
unsafe { unsafe {
from_glib(gst_sys::gst_clock_set_resolution( from_glib(ffi::gst_clock_set_resolution(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
resolution.to_glib(), resolution.to_glib(),
)) ))
@ -340,23 +328,23 @@ impl<O: IsA<Clock>> ClockExt for O {
fn set_synced(&self, synced: bool) { fn set_synced(&self, synced: bool) {
unsafe { unsafe {
gst_sys::gst_clock_set_synced(self.as_ref().to_glib_none().0, synced.to_glib()); ffi::gst_clock_set_synced(self.as_ref().to_glib_none().0, synced.to_glib());
} }
} }
fn set_timeout(&self, timeout: ClockTime) { fn set_timeout(&self, timeout: ClockTime) {
unsafe { unsafe {
gst_sys::gst_clock_set_timeout(self.as_ref().to_glib_none().0, timeout.to_glib()); ffi::gst_clock_set_timeout(self.as_ref().to_glib_none().0, timeout.to_glib());
} }
} }
//fn single_shot_id_reinit(&self, id: /*Unimplemented*/ClockID, time: ClockTime) -> bool { //fn single_shot_id_reinit(&self, id: /*Unimplemented*/ClockID, time: ClockTime) -> bool {
// unsafe { TODO: call gst_sys:gst_clock_single_shot_id_reinit() } // unsafe { TODO: call ffi:gst_clock_single_shot_id_reinit() }
//} //}
fn unadjust_unlocked(&self, external: ClockTime) -> ClockTime { fn unadjust_unlocked(&self, external: ClockTime) -> ClockTime {
unsafe { unsafe {
from_glib(gst_sys::gst_clock_unadjust_unlocked( from_glib(ffi::gst_clock_unadjust_unlocked(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
external.to_glib(), external.to_glib(),
)) ))
@ -365,8 +353,8 @@ impl<O: IsA<Clock>> ClockExt for O {
fn wait_for_sync(&self, timeout: ClockTime) -> Result<(), glib::error::BoolError> { fn wait_for_sync(&self, timeout: ClockTime) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_clock_wait_for_sync(self.as_ref().to_glib_none().0, timeout.to_glib()), ffi::gst_clock_wait_for_sync(self.as_ref().to_glib_none().0, timeout.to_glib()),
"Timed out waiting for sync" "Timed out waiting for sync"
) )
} }
@ -375,8 +363,8 @@ impl<O: IsA<Clock>> ClockExt for O {
fn get_property_window_size(&self) -> i32 { fn get_property_window_size(&self) -> i32 {
unsafe { unsafe {
let mut value = Value::from_type(<i32 as StaticType>::static_type()); let mut value = Value::from_type(<i32 as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"window-size\0".as_ptr() as *const _, b"window-size\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -389,8 +377,8 @@ impl<O: IsA<Clock>> ClockExt for O {
fn set_property_window_size(&self, window_size: i32) { fn set_property_window_size(&self, window_size: i32) {
unsafe { unsafe {
gobject_sys::g_object_set_property( glib::gobject_ffi::g_object_set_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"window-size\0".as_ptr() as *const _, b"window-size\0".as_ptr() as *const _,
Value::from(&window_size).to_glib_none().0, Value::from(&window_size).to_glib_none().0,
); );
@ -400,8 +388,8 @@ impl<O: IsA<Clock>> ClockExt for O {
fn get_property_window_threshold(&self) -> i32 { fn get_property_window_threshold(&self) -> i32 {
unsafe { unsafe {
let mut value = Value::from_type(<i32 as StaticType>::static_type()); let mut value = Value::from_type(<i32 as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"window-threshold\0".as_ptr() as *const _, b"window-threshold\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -414,8 +402,8 @@ impl<O: IsA<Clock>> ClockExt for O {
fn set_property_window_threshold(&self, window_threshold: i32) { fn set_property_window_threshold(&self, window_threshold: i32) {
unsafe { unsafe {
gobject_sys::g_object_set_property( glib::gobject_ffi::g_object_set_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"window-threshold\0".as_ptr() as *const _, b"window-threshold\0".as_ptr() as *const _,
Value::from(&window_threshold).to_glib_none().0, Value::from(&window_threshold).to_glib_none().0,
); );
@ -424,9 +412,9 @@ impl<O: IsA<Clock>> ClockExt for O {
fn connect_synced<F: Fn(&Self, bool) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId { fn connect_synced<F: Fn(&Self, bool) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn synced_trampoline<P, F: Fn(&P, bool) + Send + Sync + 'static>( unsafe extern "C" fn synced_trampoline<P, F: Fn(&P, bool) + Send + Sync + 'static>(
this: *mut gst_sys::GstClock, this: *mut ffi::GstClock,
synced: glib_sys::gboolean, synced: glib::ffi::gboolean,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Clock>, P: IsA<Clock>,
{ {
@ -454,9 +442,9 @@ impl<O: IsA<Clock>> ClockExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_timeout_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn notify_timeout_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstClock, this: *mut ffi::GstClock,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Clock>, P: IsA<Clock>,
{ {
@ -481,9 +469,9 @@ impl<O: IsA<Clock>> ClockExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_window_size_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn notify_window_size_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstClock, this: *mut ffi::GstClock,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Clock>, P: IsA<Clock>,
{ {
@ -511,9 +499,9 @@ impl<O: IsA<Clock>> ClockExt for O {
P, P,
F: Fn(&P) + Send + Sync + 'static, F: Fn(&P) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstClock, this: *mut ffi::GstClock,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Clock>, P: IsA<Clock>,
{ {

View file

@ -2,21 +2,18 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::ClockTime;
use crate::Object;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use glib::StaticType; use glib::StaticType;
use glib::Value; use glib::Value;
use gobject_sys;
use gst_sys;
use ClockTime;
use Object;
glib_wrapper! { glib::glib_wrapper! {
pub struct ControlBinding(Object<gst_sys::GstControlBinding, gst_sys::GstControlBindingClass>) @extends Object; pub struct ControlBinding(Object<ffi::GstControlBinding, ffi::GstControlBindingClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_control_binding_get_type(), get_type => || ffi::gst_control_binding_get_type(),
} }
} }
@ -47,7 +44,7 @@ pub trait ControlBindingExt: 'static {
impl<O: IsA<ControlBinding>> ControlBindingExt for O { impl<O: IsA<ControlBinding>> ControlBindingExt for O {
fn get_value(&self, timestamp: ClockTime) -> Option<glib::Value> { fn get_value(&self, timestamp: ClockTime) -> Option<glib::Value> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_control_binding_get_value( from_glib_full(ffi::gst_control_binding_get_value(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
timestamp.to_glib(), timestamp.to_glib(),
)) ))
@ -55,12 +52,12 @@ impl<O: IsA<ControlBinding>> ControlBindingExt for O {
} }
//fn get_value_array(&self, timestamp: ClockTime, interval: ClockTime, values: /*Unimplemented*/&[&Fundamental: Pointer]) -> bool { //fn get_value_array(&self, timestamp: ClockTime, interval: ClockTime, values: /*Unimplemented*/&[&Fundamental: Pointer]) -> bool {
// unsafe { TODO: call gst_sys:gst_control_binding_get_value_array() } // unsafe { TODO: call ffi:gst_control_binding_get_value_array() }
//} //}
fn is_disabled(&self) -> bool { fn is_disabled(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_control_binding_is_disabled( from_glib(ffi::gst_control_binding_is_disabled(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -68,7 +65,7 @@ impl<O: IsA<ControlBinding>> ControlBindingExt for O {
fn set_disabled(&self, disabled: bool) { fn set_disabled(&self, disabled: bool) {
unsafe { unsafe {
gst_sys::gst_control_binding_set_disabled( ffi::gst_control_binding_set_disabled(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
disabled.to_glib(), disabled.to_glib(),
); );
@ -82,7 +79,7 @@ impl<O: IsA<ControlBinding>> ControlBindingExt for O {
last_sync: ClockTime, last_sync: ClockTime,
) -> bool { ) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_control_binding_sync_values( from_glib(ffi::gst_control_binding_sync_values(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
object.as_ref().to_glib_none().0, object.as_ref().to_glib_none().0,
timestamp.to_glib(), timestamp.to_glib(),
@ -94,8 +91,8 @@ impl<O: IsA<ControlBinding>> ControlBindingExt for O {
fn get_property_object(&self) -> Option<Object> { fn get_property_object(&self) -> Option<Object> {
unsafe { unsafe {
let mut value = Value::from_type(<Object as StaticType>::static_type()); let mut value = Value::from_type(<Object as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"object\0".as_ptr() as *const _, b"object\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );

View file

@ -2,18 +2,17 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use crate::ClockTime;
use crate::Object;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use gst_sys;
use std::mem; use std::mem;
use ClockTime;
use Object;
glib_wrapper! { glib::glib_wrapper! {
pub struct ControlSource(Object<gst_sys::GstControlSource, gst_sys::GstControlSourceClass>) @extends Object; pub struct ControlSource(Object<ffi::GstControlSource, ffi::GstControlSourceClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_control_source_get_type(), get_type => || ffi::gst_control_source_get_type(),
} }
} }
@ -30,7 +29,7 @@ impl<O: IsA<ControlSource>> ControlSourceExt for O {
fn get_value(&self, timestamp: ClockTime) -> Option<f64> { fn get_value(&self, timestamp: ClockTime) -> Option<f64> {
unsafe { unsafe {
let mut value = mem::MaybeUninit::uninit(); let mut value = mem::MaybeUninit::uninit();
let ret = from_glib(gst_sys::gst_control_source_get_value( let ret = from_glib(ffi::gst_control_source_get_value(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
timestamp.to_glib(), timestamp.to_glib(),
value.as_mut_ptr(), value.as_mut_ptr(),

View file

@ -2,19 +2,16 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use gst_sys;
glib_wrapper! { glib::glib_wrapper! {
#[derive()] #[derive()]
pub struct DateTime(Shared<gst_sys::GstDateTime>); pub struct DateTime(Shared<ffi::GstDateTime>);
match fn { match fn {
ref => |ptr| gst_sys::gst_date_time_ref(ptr), ref => |ptr| ffi::gst_date_time_ref(ptr),
unref => |ptr| gst_sys::gst_date_time_unref(ptr), unref => |ptr| ffi::gst_date_time_unref(ptr),
get_type => || gst_sys::gst_date_time_get_type(), get_type => || ffi::gst_date_time_get_type(),
} }
} }
@ -30,36 +27,34 @@ impl DateTime {
) -> Result<DateTime, glib::BoolError> { ) -> Result<DateTime, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_date_time_new( Option::<_>::from_glib_full(ffi::gst_date_time_new(
tzoffset, year, month, day, hour, minute, seconds, tzoffset, year, month, day, hour, minute, seconds,
)) ))
.ok_or_else(|| glib_bool_error!("Can't create DateTime")) .ok_or_else(|| glib::glib_bool_error!("Can't create DateTime"))
} }
} }
pub fn from_g_date_time(dt: &glib::DateTime) -> Result<DateTime, glib::BoolError> { pub fn from_g_date_time(dt: &glib::DateTime) -> Result<DateTime, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_date_time_new_from_g_date_time( Option::<_>::from_glib_full(ffi::gst_date_time_new_from_g_date_time(dt.to_glib_full()))
dt.to_glib_full(), .ok_or_else(|| glib::glib_bool_error!("Can't create DateTime from glib::DateTime"))
))
.ok_or_else(|| glib_bool_error!("Can't create DateTime from glib::DateTime"))
} }
} }
pub fn from_iso8601_string(string: &str) -> Result<DateTime, glib::BoolError> { pub fn from_iso8601_string(string: &str) -> Result<DateTime, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_date_time_new_from_iso8601_string( Option::<_>::from_glib_full(ffi::gst_date_time_new_from_iso8601_string(
string.to_glib_none().0, string.to_glib_none().0,
)) ))
.ok_or_else(|| glib_bool_error!("Failed to create DateTime from ISO-8601 string")) .ok_or_else(|| glib::glib_bool_error!("Failed to create DateTime from ISO-8601 string"))
} }
} }
pub fn from_unix_epoch_local_time(secs: i64) -> DateTime { pub fn from_unix_epoch_local_time(secs: i64) -> DateTime {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_full(gst_sys::gst_date_time_new_from_unix_epoch_local_time(secs)) } unsafe { from_glib_full(ffi::gst_date_time_new_from_unix_epoch_local_time(secs)) }
} }
#[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg(any(feature = "v1_18", feature = "dox"))]
@ -67,7 +62,7 @@ impl DateTime {
pub fn from_unix_epoch_local_time_usecs(usecs: i64) -> DateTime { pub fn from_unix_epoch_local_time_usecs(usecs: i64) -> DateTime {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
from_glib_full(gst_sys::gst_date_time_new_from_unix_epoch_local_time_usecs( from_glib_full(ffi::gst_date_time_new_from_unix_epoch_local_time_usecs(
usecs, usecs,
)) ))
} }
@ -75,14 +70,14 @@ impl DateTime {
pub fn from_unix_epoch_utc(secs: i64) -> DateTime { pub fn from_unix_epoch_utc(secs: i64) -> DateTime {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_full(gst_sys::gst_date_time_new_from_unix_epoch_utc(secs)) } unsafe { from_glib_full(ffi::gst_date_time_new_from_unix_epoch_utc(secs)) }
} }
#[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
pub fn from_unix_epoch_utc_usecs(usecs: i64) -> DateTime { pub fn from_unix_epoch_utc_usecs(usecs: i64) -> DateTime {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_full(gst_sys::gst_date_time_new_from_unix_epoch_utc_usecs(usecs)) } unsafe { from_glib_full(ffi::gst_date_time_new_from_unix_epoch_utc_usecs(usecs)) }
} }
pub fn new_local_time( pub fn new_local_time(
@ -95,7 +90,7 @@ impl DateTime {
) -> DateTime { ) -> DateTime {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
from_glib_full(gst_sys::gst_date_time_new_local_time( from_glib_full(ffi::gst_date_time_new_local_time(
year, month, day, hour, minute, seconds, year, month, day, hour, minute, seconds,
)) ))
} }
@ -103,105 +98,103 @@ impl DateTime {
pub fn new_now_local_time() -> DateTime { pub fn new_now_local_time() -> DateTime {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_full(gst_sys::gst_date_time_new_now_local_time()) } unsafe { from_glib_full(ffi::gst_date_time_new_now_local_time()) }
} }
pub fn new_now_utc() -> DateTime { pub fn new_now_utc() -> DateTime {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_full(gst_sys::gst_date_time_new_now_utc()) } unsafe { from_glib_full(ffi::gst_date_time_new_now_utc()) }
} }
pub fn new_y(year: i32) -> Result<DateTime, glib::BoolError> { pub fn new_y(year: i32) -> Result<DateTime, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_date_time_new_y(year)) Option::<_>::from_glib_full(ffi::gst_date_time_new_y(year))
.ok_or_else(|| glib_bool_error!("Can't create DateTime")) .ok_or_else(|| glib::glib_bool_error!("Can't create DateTime"))
} }
} }
pub fn new_ym(year: i32, month: i32) -> Result<DateTime, glib::BoolError> { pub fn new_ym(year: i32, month: i32) -> Result<DateTime, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_date_time_new_ym(year, month)) Option::<_>::from_glib_full(ffi::gst_date_time_new_ym(year, month))
.ok_or_else(|| glib_bool_error!("Can't create DateTime")) .ok_or_else(|| glib::glib_bool_error!("Can't create DateTime"))
} }
} }
pub fn new_ymd(year: i32, month: i32, day: i32) -> Result<DateTime, glib::BoolError> { pub fn new_ymd(year: i32, month: i32, day: i32) -> Result<DateTime, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_date_time_new_ymd(year, month, day)) Option::<_>::from_glib_full(ffi::gst_date_time_new_ymd(year, month, day))
.ok_or_else(|| glib_bool_error!("Can't create DateTime")) .ok_or_else(|| glib::glib_bool_error!("Can't create DateTime"))
} }
} }
pub fn get_day(&self) -> i32 { pub fn get_day(&self) -> i32 {
unsafe { gst_sys::gst_date_time_get_day(self.to_glib_none().0) } unsafe { ffi::gst_date_time_get_day(self.to_glib_none().0) }
} }
pub fn get_hour(&self) -> i32 { pub fn get_hour(&self) -> i32 {
unsafe { gst_sys::gst_date_time_get_hour(self.to_glib_none().0) } unsafe { ffi::gst_date_time_get_hour(self.to_glib_none().0) }
} }
pub fn get_microsecond(&self) -> i32 { pub fn get_microsecond(&self) -> i32 {
unsafe { gst_sys::gst_date_time_get_microsecond(self.to_glib_none().0) } unsafe { ffi::gst_date_time_get_microsecond(self.to_glib_none().0) }
} }
pub fn get_minute(&self) -> i32 { pub fn get_minute(&self) -> i32 {
unsafe { gst_sys::gst_date_time_get_minute(self.to_glib_none().0) } unsafe { ffi::gst_date_time_get_minute(self.to_glib_none().0) }
} }
pub fn get_month(&self) -> i32 { pub fn get_month(&self) -> i32 {
unsafe { gst_sys::gst_date_time_get_month(self.to_glib_none().0) } unsafe { ffi::gst_date_time_get_month(self.to_glib_none().0) }
} }
pub fn get_second(&self) -> i32 { pub fn get_second(&self) -> i32 {
unsafe { gst_sys::gst_date_time_get_second(self.to_glib_none().0) } unsafe { ffi::gst_date_time_get_second(self.to_glib_none().0) }
} }
pub fn get_time_zone_offset(&self) -> f32 { pub fn get_time_zone_offset(&self) -> f32 {
unsafe { gst_sys::gst_date_time_get_time_zone_offset(self.to_glib_none().0) } unsafe { ffi::gst_date_time_get_time_zone_offset(self.to_glib_none().0) }
} }
pub fn get_year(&self) -> i32 { pub fn get_year(&self) -> i32 {
unsafe { gst_sys::gst_date_time_get_year(self.to_glib_none().0) } unsafe { ffi::gst_date_time_get_year(self.to_glib_none().0) }
} }
pub fn has_day(&self) -> bool { pub fn has_day(&self) -> bool {
unsafe { from_glib(gst_sys::gst_date_time_has_day(self.to_glib_none().0)) } unsafe { from_glib(ffi::gst_date_time_has_day(self.to_glib_none().0)) }
} }
pub fn has_month(&self) -> bool { pub fn has_month(&self) -> bool {
unsafe { from_glib(gst_sys::gst_date_time_has_month(self.to_glib_none().0)) } unsafe { from_glib(ffi::gst_date_time_has_month(self.to_glib_none().0)) }
} }
pub fn has_second(&self) -> bool { pub fn has_second(&self) -> bool {
unsafe { from_glib(gst_sys::gst_date_time_has_second(self.to_glib_none().0)) } unsafe { from_glib(ffi::gst_date_time_has_second(self.to_glib_none().0)) }
} }
pub fn has_time(&self) -> bool { pub fn has_time(&self) -> bool {
unsafe { from_glib(gst_sys::gst_date_time_has_time(self.to_glib_none().0)) } unsafe { from_glib(ffi::gst_date_time_has_time(self.to_glib_none().0)) }
} }
pub fn has_year(&self) -> bool { pub fn has_year(&self) -> bool {
unsafe { from_glib(gst_sys::gst_date_time_has_year(self.to_glib_none().0)) } unsafe { from_glib(ffi::gst_date_time_has_year(self.to_glib_none().0)) }
} }
pub fn to_g_date_time(&self) -> Result<glib::DateTime, glib::BoolError> { pub fn to_g_date_time(&self) -> Result<glib::DateTime, glib::BoolError> {
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_date_time_to_g_date_time( Option::<_>::from_glib_full(ffi::gst_date_time_to_g_date_time(self.to_glib_none().0))
self.to_glib_none().0, .ok_or_else(|| glib::glib_bool_error!("Can't create glib::DateTime from DateTime"))
))
.ok_or_else(|| glib_bool_error!("Can't create glib::DateTime from DateTime"))
} }
} }
pub fn to_iso8601_string(&self) -> Result<GString, glib::BoolError> { pub fn to_iso8601_string(&self) -> Result<glib::GString, glib::BoolError> {
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_date_time_to_iso8601_string( Option::<_>::from_glib_full(ffi::gst_date_time_to_iso8601_string(self.to_glib_none().0))
self.to_glib_none().0, .ok_or_else(|| {
)) glib::glib_bool_error!("Failed to create ISO-8601 string from DateTime")
.ok_or_else(|| glib_bool_error!("Failed to create ISO-8601 string from DateTime")) })
} }
} }
} }

View file

@ -2,27 +2,23 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Caps;
use crate::Element;
use crate::Object;
use crate::Structure;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use glib_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use Caps;
use Element;
use Object;
use Structure;
glib_wrapper! { glib::glib_wrapper! {
pub struct Device(Object<gst_sys::GstDevice, gst_sys::GstDeviceClass>) @extends Object; pub struct Device(Object<ffi::GstDevice, ffi::GstDeviceClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_device_get_type(), get_type => || ffi::gst_device_get_type(),
} }
} }
@ -36,9 +32,9 @@ pub trait DeviceExt: 'static {
fn get_caps(&self) -> Option<Caps>; fn get_caps(&self) -> Option<Caps>;
fn get_device_class(&self) -> GString; fn get_device_class(&self) -> glib::GString;
fn get_display_name(&self) -> GString; fn get_display_name(&self) -> glib::GString;
fn get_properties(&self) -> Option<Structure>; fn get_properties(&self) -> Option<Structure>;
@ -57,29 +53,29 @@ pub trait DeviceExt: 'static {
impl<O: IsA<Device>> DeviceExt for O { impl<O: IsA<Device>> DeviceExt for O {
fn create_element(&self, name: Option<&str>) -> Result<Element, glib::BoolError> { fn create_element(&self, name: Option<&str>) -> Result<Element, glib::BoolError> {
unsafe { unsafe {
Option::<_>::from_glib_none(gst_sys::gst_device_create_element( Option::<_>::from_glib_none(ffi::gst_device_create_element(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
.ok_or_else(|| glib_bool_error!("Failed to create element for device")) .ok_or_else(|| glib::glib_bool_error!("Failed to create element for device"))
} }
} }
fn get_caps(&self) -> Option<Caps> { fn get_caps(&self) -> Option<Caps> {
unsafe { from_glib_full(gst_sys::gst_device_get_caps(self.as_ref().to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_device_get_caps(self.as_ref().to_glib_none().0)) }
} }
fn get_device_class(&self) -> GString { fn get_device_class(&self) -> glib::GString {
unsafe { unsafe {
from_glib_full(gst_sys::gst_device_get_device_class( from_glib_full(ffi::gst_device_get_device_class(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_display_name(&self) -> GString { fn get_display_name(&self) -> glib::GString {
unsafe { unsafe {
from_glib_full(gst_sys::gst_device_get_display_name( from_glib_full(ffi::gst_device_get_display_name(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -87,7 +83,7 @@ impl<O: IsA<Device>> DeviceExt for O {
fn get_properties(&self) -> Option<Structure> { fn get_properties(&self) -> Option<Structure> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_device_get_properties( from_glib_full(ffi::gst_device_get_properties(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -95,7 +91,7 @@ impl<O: IsA<Device>> DeviceExt for O {
fn has_classes(&self, classes: &str) -> bool { fn has_classes(&self, classes: &str) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_device_has_classes( from_glib(ffi::gst_device_has_classes(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
classes.to_glib_none().0, classes.to_glib_none().0,
)) ))
@ -104,7 +100,7 @@ impl<O: IsA<Device>> DeviceExt for O {
fn has_classesv(&self, classes: &[&str]) -> bool { fn has_classesv(&self, classes: &[&str]) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_device_has_classesv( from_glib(ffi::gst_device_has_classesv(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
classes.to_glib_none().0, classes.to_glib_none().0,
)) ))
@ -116,8 +112,8 @@ impl<O: IsA<Device>> DeviceExt for O {
element: &P, element: &P,
) -> Result<(), glib::error::BoolError> { ) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_device_reconfigure_element( ffi::gst_device_reconfigure_element(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
element.as_ref().to_glib_none().0 element.as_ref().to_glib_none().0
), ),
@ -128,8 +124,8 @@ impl<O: IsA<Device>> DeviceExt for O {
fn connect_removed<F: Fn(&Self) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId { fn connect_removed<F: Fn(&Self) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn removed_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn removed_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstDevice, this: *mut ffi::GstDevice,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Device>, P: IsA<Device>,
{ {

View file

@ -2,29 +2,24 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Bus;
use crate::Device;
use crate::Object;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use glib::StaticType; use glib::StaticType;
use glib::Value; use glib::Value;
use glib_sys;
use gobject_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use Bus;
use Device;
use Object;
glib_wrapper! { glib::glib_wrapper! {
pub struct DeviceMonitor(Object<gst_sys::GstDeviceMonitor, gst_sys::GstDeviceMonitorClass>) @extends Object; pub struct DeviceMonitor(Object<ffi::GstDeviceMonitor, ffi::GstDeviceMonitorClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_device_monitor_get_type(), get_type => || ffi::gst_device_monitor_get_type(),
} }
} }
@ -38,7 +33,7 @@ pub trait DeviceMonitorExt: 'static {
fn get_devices(&self) -> Vec<Device>; fn get_devices(&self) -> Vec<Device>;
fn get_providers(&self) -> Vec<GString>; fn get_providers(&self) -> Vec<glib::GString>;
fn get_show_all_devices(&self) -> bool; fn get_show_all_devices(&self) -> bool;
@ -61,7 +56,7 @@ pub trait DeviceMonitorExt: 'static {
impl<O: IsA<DeviceMonitor>> DeviceMonitorExt for O { impl<O: IsA<DeviceMonitor>> DeviceMonitorExt for O {
fn get_bus(&self) -> Bus { fn get_bus(&self) -> Bus {
unsafe { unsafe {
from_glib_full(gst_sys::gst_device_monitor_get_bus( from_glib_full(ffi::gst_device_monitor_get_bus(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -69,15 +64,15 @@ impl<O: IsA<DeviceMonitor>> DeviceMonitorExt for O {
fn get_devices(&self) -> Vec<Device> { fn get_devices(&self) -> Vec<Device> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_device_monitor_get_devices( FromGlibPtrContainer::from_glib_full(ffi::gst_device_monitor_get_devices(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_providers(&self) -> Vec<GString> { fn get_providers(&self) -> Vec<glib::GString> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_device_monitor_get_providers( FromGlibPtrContainer::from_glib_full(ffi::gst_device_monitor_get_providers(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -85,7 +80,7 @@ impl<O: IsA<DeviceMonitor>> DeviceMonitorExt for O {
fn get_show_all_devices(&self) -> bool { fn get_show_all_devices(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_device_monitor_get_show_all_devices( from_glib(ffi::gst_device_monitor_get_show_all_devices(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -93,7 +88,7 @@ impl<O: IsA<DeviceMonitor>> DeviceMonitorExt for O {
fn set_show_all_devices(&self, show_all: bool) { fn set_show_all_devices(&self, show_all: bool) {
unsafe { unsafe {
gst_sys::gst_device_monitor_set_show_all_devices( ffi::gst_device_monitor_set_show_all_devices(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
show_all.to_glib(), show_all.to_glib(),
); );
@ -102,8 +97,8 @@ impl<O: IsA<DeviceMonitor>> DeviceMonitorExt for O {
fn start(&self) -> Result<(), glib::error::BoolError> { fn start(&self) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_device_monitor_start(self.as_ref().to_glib_none().0), ffi::gst_device_monitor_start(self.as_ref().to_glib_none().0),
"Failed to start" "Failed to start"
) )
} }
@ -111,15 +106,15 @@ impl<O: IsA<DeviceMonitor>> DeviceMonitorExt for O {
fn stop(&self) { fn stop(&self) {
unsafe { unsafe {
gst_sys::gst_device_monitor_stop(self.as_ref().to_glib_none().0); ffi::gst_device_monitor_stop(self.as_ref().to_glib_none().0);
} }
} }
fn get_property_show_all(&self) -> bool { fn get_property_show_all(&self) -> bool {
unsafe { unsafe {
let mut value = Value::from_type(<bool as StaticType>::static_type()); let mut value = Value::from_type(<bool as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"show-all\0".as_ptr() as *const _, b"show-all\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -132,8 +127,8 @@ impl<O: IsA<DeviceMonitor>> DeviceMonitorExt for O {
fn set_property_show_all(&self, show_all: bool) { fn set_property_show_all(&self, show_all: bool) {
unsafe { unsafe {
gobject_sys::g_object_set_property( glib::gobject_ffi::g_object_set_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"show-all\0".as_ptr() as *const _, b"show-all\0".as_ptr() as *const _,
Value::from(&show_all).to_glib_none().0, Value::from(&show_all).to_glib_none().0,
); );
@ -145,9 +140,9 @@ impl<O: IsA<DeviceMonitor>> DeviceMonitorExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_show_all_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn notify_show_all_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstDeviceMonitor, this: *mut ffi::GstDeviceMonitor,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<DeviceMonitor>, P: IsA<DeviceMonitor>,
{ {

View file

@ -2,28 +2,23 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Bus;
use crate::Device;
use crate::DeviceProviderFactory;
use crate::Object;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use glib_sys;
use gst_sys;
use libc;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use Bus;
use Device;
use DeviceProviderFactory;
use Object;
glib_wrapper! { glib::glib_wrapper! {
pub struct DeviceProvider(Object<gst_sys::GstDeviceProvider, gst_sys::GstDeviceProviderClass>) @extends Object; pub struct DeviceProvider(Object<ffi::GstDeviceProvider, ffi::GstDeviceProviderClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_device_provider_get_type(), get_type => || ffi::gst_device_provider_get_type(),
} }
} }
@ -49,7 +44,7 @@ pub trait DeviceProviderExt: 'static {
fn get_factory(&self) -> Option<DeviceProviderFactory>; fn get_factory(&self) -> Option<DeviceProviderFactory>;
fn get_hidden_providers(&self) -> Vec<GString>; fn get_hidden_providers(&self) -> Vec<glib::GString>;
fn hide_provider(&self, name: &str); fn hide_provider(&self, name: &str);
@ -73,7 +68,7 @@ pub trait DeviceProviderExt: 'static {
impl<O: IsA<DeviceProvider>> DeviceProviderExt for O { impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
fn can_monitor(&self) -> bool { fn can_monitor(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_device_provider_can_monitor( from_glib(ffi::gst_device_provider_can_monitor(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -81,7 +76,7 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
fn device_add<P: IsA<Device>>(&self, device: &P) { fn device_add<P: IsA<Device>>(&self, device: &P) {
unsafe { unsafe {
gst_sys::gst_device_provider_device_add( ffi::gst_device_provider_device_add(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
device.as_ref().to_glib_none().0, device.as_ref().to_glib_none().0,
); );
@ -92,7 +87,7 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
fn device_changed<P: IsA<Device>, Q: IsA<Device>>(&self, device: &P, changed_device: &Q) { fn device_changed<P: IsA<Device>, Q: IsA<Device>>(&self, device: &P, changed_device: &Q) {
unsafe { unsafe {
gst_sys::gst_device_provider_device_changed( ffi::gst_device_provider_device_changed(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
device.as_ref().to_glib_none().0, device.as_ref().to_glib_none().0,
changed_device.as_ref().to_glib_none().0, changed_device.as_ref().to_glib_none().0,
@ -102,7 +97,7 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
fn device_remove<P: IsA<Device>>(&self, device: &P) { fn device_remove<P: IsA<Device>>(&self, device: &P) {
unsafe { unsafe {
gst_sys::gst_device_provider_device_remove( ffi::gst_device_provider_device_remove(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
device.as_ref().to_glib_none().0, device.as_ref().to_glib_none().0,
); );
@ -111,7 +106,7 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
fn get_bus(&self) -> Bus { fn get_bus(&self) -> Bus {
unsafe { unsafe {
from_glib_full(gst_sys::gst_device_provider_get_bus( from_glib_full(ffi::gst_device_provider_get_bus(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -119,7 +114,7 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
fn get_devices(&self) -> Vec<Device> { fn get_devices(&self) -> Vec<Device> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_device_provider_get_devices( FromGlibPtrContainer::from_glib_full(ffi::gst_device_provider_get_devices(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -127,15 +122,15 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
fn get_factory(&self) -> Option<DeviceProviderFactory> { fn get_factory(&self) -> Option<DeviceProviderFactory> {
unsafe { unsafe {
from_glib_none(gst_sys::gst_device_provider_get_factory( from_glib_none(ffi::gst_device_provider_get_factory(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_hidden_providers(&self) -> Vec<GString> { fn get_hidden_providers(&self) -> Vec<glib::GString> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_device_provider_get_hidden_providers( FromGlibPtrContainer::from_glib_full(ffi::gst_device_provider_get_hidden_providers(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -143,7 +138,7 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
fn hide_provider(&self, name: &str) { fn hide_provider(&self, name: &str) {
unsafe { unsafe {
gst_sys::gst_device_provider_hide_provider( ffi::gst_device_provider_hide_provider(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
); );
@ -152,8 +147,8 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
fn start(&self) -> Result<(), glib::error::BoolError> { fn start(&self) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_device_provider_start(self.as_ref().to_glib_none().0), ffi::gst_device_provider_start(self.as_ref().to_glib_none().0),
"Failed to start" "Failed to start"
) )
} }
@ -161,13 +156,13 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
fn stop(&self) { fn stop(&self) {
unsafe { unsafe {
gst_sys::gst_device_provider_stop(self.as_ref().to_glib_none().0); ffi::gst_device_provider_stop(self.as_ref().to_glib_none().0);
} }
} }
fn unhide_provider(&self, name: &str) { fn unhide_provider(&self, name: &str) {
unsafe { unsafe {
gst_sys::gst_device_provider_unhide_provider( ffi::gst_device_provider_unhide_provider(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
); );
@ -182,16 +177,16 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
P, P,
F: Fn(&P, &str) + Send + Sync + 'static, F: Fn(&P, &str) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstDeviceProvider, this: *mut ffi::GstDeviceProvider,
object: *mut libc::c_char, object: *mut libc::c_char,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<DeviceProvider>, P: IsA<DeviceProvider>,
{ {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f( f(
&DeviceProvider::from_glib_borrow(this).unsafe_cast_ref(), &DeviceProvider::from_glib_borrow(this).unsafe_cast_ref(),
&GString::from_glib_borrow(object), &glib::GString::from_glib_borrow(object),
) )
} }
unsafe { unsafe {
@ -215,16 +210,16 @@ impl<O: IsA<DeviceProvider>> DeviceProviderExt for O {
P, P,
F: Fn(&P, &str) + Send + Sync + 'static, F: Fn(&P, &str) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstDeviceProvider, this: *mut ffi::GstDeviceProvider,
object: *mut libc::c_char, object: *mut libc::c_char,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<DeviceProvider>, P: IsA<DeviceProvider>,
{ {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f( f(
&DeviceProvider::from_glib_borrow(this).unsafe_cast_ref(), &DeviceProvider::from_glib_borrow(this).unsafe_cast_ref(),
&GString::from_glib_borrow(object), &glib::GString::from_glib_borrow(object),
) )
} }
unsafe { unsafe {

View file

@ -2,62 +2,53 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::DeviceProvider;
use crate::Object;
use crate::PluginFeature;
use crate::Rank;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use gst_sys;
use DeviceProvider;
use Object;
use PluginFeature;
use Rank;
glib_wrapper! { glib::glib_wrapper! {
pub struct DeviceProviderFactory(Object<gst_sys::GstDeviceProviderFactory, gst_sys::GstDeviceProviderFactoryClass>) @extends PluginFeature, Object; pub struct DeviceProviderFactory(Object<ffi::GstDeviceProviderFactory, ffi::GstDeviceProviderFactoryClass>) @extends PluginFeature, Object;
match fn { match fn {
get_type => || gst_sys::gst_device_provider_factory_get_type(), get_type => || ffi::gst_device_provider_factory_get_type(),
} }
} }
impl DeviceProviderFactory { impl DeviceProviderFactory {
pub fn get(&self) -> Option<DeviceProvider> { pub fn get(&self) -> Option<DeviceProvider> {
unsafe { from_glib_full(ffi::gst_device_provider_factory_get(self.to_glib_none().0)) }
}
pub fn get_device_provider_type(&self) -> glib::types::Type {
unsafe { unsafe {
from_glib_full(gst_sys::gst_device_provider_factory_get( from_glib(ffi::gst_device_provider_factory_get_device_provider_type(
self.to_glib_none().0, self.to_glib_none().0,
)) ))
} }
} }
pub fn get_device_provider_type(&self) -> glib::types::Type { pub fn get_metadata(&self, key: &str) -> Option<glib::GString> {
unsafe { unsafe {
from_glib( from_glib_none(ffi::gst_device_provider_factory_get_metadata(
gst_sys::gst_device_provider_factory_get_device_provider_type(
self.to_glib_none().0,
),
)
}
}
pub fn get_metadata(&self, key: &str) -> Option<GString> {
unsafe {
from_glib_none(gst_sys::gst_device_provider_factory_get_metadata(
self.to_glib_none().0, self.to_glib_none().0,
key.to_glib_none().0, key.to_glib_none().0,
)) ))
} }
} }
pub fn get_metadata_keys(&self) -> Vec<GString> { pub fn get_metadata_keys(&self) -> Vec<glib::GString> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full( FromGlibPtrContainer::from_glib_full(
gst_sys::gst_device_provider_factory_get_metadata_keys(self.to_glib_none().0), ffi::gst_device_provider_factory_get_metadata_keys(self.to_glib_none().0),
) )
} }
} }
pub fn has_classes(&self, classes: Option<&str>) -> bool { pub fn has_classes(&self, classes: Option<&str>) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_device_provider_factory_has_classes( from_glib(ffi::gst_device_provider_factory_has_classes(
self.to_glib_none().0, self.to_glib_none().0,
classes.to_glib_none().0, classes.to_glib_none().0,
)) ))
@ -66,7 +57,7 @@ impl DeviceProviderFactory {
pub fn has_classesv(&self, classes: &[&str]) -> bool { pub fn has_classesv(&self, classes: &[&str]) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_device_provider_factory_has_classesv( from_glib(ffi::gst_device_provider_factory_has_classesv(
self.to_glib_none().0, self.to_glib_none().0,
classes.to_glib_none().0, classes.to_glib_none().0,
)) ))
@ -75,17 +66,13 @@ impl DeviceProviderFactory {
pub fn find(name: &str) -> Option<DeviceProviderFactory> { pub fn find(name: &str) -> Option<DeviceProviderFactory> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe { from_glib_full(ffi::gst_device_provider_factory_find(name.to_glib_none().0)) }
from_glib_full(gst_sys::gst_device_provider_factory_find(
name.to_glib_none().0,
))
}
} }
pub fn get_by_name(factoryname: &str) -> Option<DeviceProvider> { pub fn get_by_name(factoryname: &str) -> Option<DeviceProvider> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
from_glib_full(gst_sys::gst_device_provider_factory_get_by_name( from_glib_full(ffi::gst_device_provider_factory_get_by_name(
factoryname.to_glib_none().0, factoryname.to_glib_none().0,
)) ))
} }
@ -95,7 +82,7 @@ impl DeviceProviderFactory {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full( FromGlibPtrContainer::from_glib_full(
gst_sys::gst_device_provider_factory_list_get_device_providers(minrank.to_glib()), ffi::gst_device_provider_factory_list_get_device_providers(minrank.to_glib()),
) )
} }
} }

View file

@ -2,34 +2,31 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Bus;
use crate::Caps;
use crate::Clock;
use crate::ClockTime;
use crate::Context;
use crate::ElementFactory;
use crate::Object;
use crate::Pad;
use crate::PadLinkCheck;
use crate::PadTemplate;
use crate::URIType;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use std::ptr; use std::ptr;
use Bus;
use Caps;
use Clock;
use ClockTime;
use Context;
use ElementFactory;
use Object;
use Pad;
use PadLinkCheck;
use PadTemplate;
use URIType;
glib_wrapper! { glib::glib_wrapper! {
pub struct Element(Object<gst_sys::GstElement, gst_sys::GstElementClass>) @extends Object; pub struct Element(Object<ffi::GstElement, ffi::GstElementClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_element_get_type(), get_type => || ffi::gst_element_get_type(),
} }
} }
@ -42,7 +39,7 @@ impl Element {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
let mut error = ptr::null_mut(); let mut error = ptr::null_mut();
let ret = gst_sys::gst_element_make_from_uri( let ret = ffi::gst_element_make_from_uri(
type_.to_glib(), type_.to_glib(),
uri.to_glib_none().0, uri.to_glib_none().0,
elementname.to_glib_none().0, elementname.to_glib_none().0,
@ -203,14 +200,14 @@ pub trait ElementExt: 'static {
impl<O: IsA<Element>> ElementExt for O { impl<O: IsA<Element>> ElementExt for O {
fn abort_state(&self) { fn abort_state(&self) {
unsafe { unsafe {
gst_sys::gst_element_abort_state(self.as_ref().to_glib_none().0); ffi::gst_element_abort_state(self.as_ref().to_glib_none().0);
} }
} }
fn add_pad<P: IsA<Pad>>(&self, pad: &P) -> Result<(), glib::error::BoolError> { fn add_pad<P: IsA<Pad>>(&self, pad: &P) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_element_add_pad( ffi::gst_element_add_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
pad.as_ref().to_glib_none().0 pad.as_ref().to_glib_none().0
), ),
@ -221,7 +218,7 @@ impl<O: IsA<Element>> ElementExt for O {
fn create_all_pads(&self) { fn create_all_pads(&self) {
unsafe { unsafe {
gst_sys::gst_element_create_all_pads(self.as_ref().to_glib_none().0); ffi::gst_element_create_all_pads(self.as_ref().to_glib_none().0);
} }
} }
@ -230,10 +227,10 @@ impl<O: IsA<Element>> ElementExt for O {
fn foreach_pad<P: FnMut(&Element, &Pad) -> bool>(&self, func: P) -> bool { fn foreach_pad<P: FnMut(&Element, &Pad) -> bool>(&self, func: P) -> bool {
let func_data: P = func; let func_data: P = func;
unsafe extern "C" fn func_func<P: FnMut(&Element, &Pad) -> bool>( unsafe extern "C" fn func_func<P: FnMut(&Element, &Pad) -> bool>(
element: *mut gst_sys::GstElement, element: *mut ffi::GstElement,
pad: *mut gst_sys::GstPad, pad: *mut ffi::GstPad,
user_data: glib_sys::gpointer, user_data: glib::ffi::gpointer,
) -> glib_sys::gboolean { ) -> glib::ffi::gboolean {
let element = from_glib_borrow(element); let element = from_glib_borrow(element);
let pad = from_glib_borrow(pad); let pad = from_glib_borrow(pad);
let callback: *mut P = user_data as *const _ as usize as *mut P; let callback: *mut P = user_data as *const _ as usize as *mut P;
@ -243,7 +240,7 @@ impl<O: IsA<Element>> ElementExt for O {
let func = Some(func_func::<P> as _); let func = Some(func_func::<P> as _);
let super_callback0: &P = &func_data; let super_callback0: &P = &func_data;
unsafe { unsafe {
from_glib(gst_sys::gst_element_foreach_pad( from_glib(ffi::gst_element_foreach_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
func, func,
super_callback0 as *const _ as usize as *mut _, super_callback0 as *const _ as usize as *mut _,
@ -256,10 +253,10 @@ impl<O: IsA<Element>> ElementExt for O {
fn foreach_sink_pad<P: FnMut(&Element, &Pad) -> bool>(&self, func: P) -> bool { fn foreach_sink_pad<P: FnMut(&Element, &Pad) -> bool>(&self, func: P) -> bool {
let func_data: P = func; let func_data: P = func;
unsafe extern "C" fn func_func<P: FnMut(&Element, &Pad) -> bool>( unsafe extern "C" fn func_func<P: FnMut(&Element, &Pad) -> bool>(
element: *mut gst_sys::GstElement, element: *mut ffi::GstElement,
pad: *mut gst_sys::GstPad, pad: *mut ffi::GstPad,
user_data: glib_sys::gpointer, user_data: glib::ffi::gpointer,
) -> glib_sys::gboolean { ) -> glib::ffi::gboolean {
let element = from_glib_borrow(element); let element = from_glib_borrow(element);
let pad = from_glib_borrow(pad); let pad = from_glib_borrow(pad);
let callback: *mut P = user_data as *const _ as usize as *mut P; let callback: *mut P = user_data as *const _ as usize as *mut P;
@ -269,7 +266,7 @@ impl<O: IsA<Element>> ElementExt for O {
let func = Some(func_func::<P> as _); let func = Some(func_func::<P> as _);
let super_callback0: &P = &func_data; let super_callback0: &P = &func_data;
unsafe { unsafe {
from_glib(gst_sys::gst_element_foreach_sink_pad( from_glib(ffi::gst_element_foreach_sink_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
func, func,
super_callback0 as *const _ as usize as *mut _, super_callback0 as *const _ as usize as *mut _,
@ -282,10 +279,10 @@ impl<O: IsA<Element>> ElementExt for O {
fn foreach_src_pad<P: FnMut(&Element, &Pad) -> bool>(&self, func: P) -> bool { fn foreach_src_pad<P: FnMut(&Element, &Pad) -> bool>(&self, func: P) -> bool {
let func_data: P = func; let func_data: P = func;
unsafe extern "C" fn func_func<P: FnMut(&Element, &Pad) -> bool>( unsafe extern "C" fn func_func<P: FnMut(&Element, &Pad) -> bool>(
element: *mut gst_sys::GstElement, element: *mut ffi::GstElement,
pad: *mut gst_sys::GstPad, pad: *mut ffi::GstPad,
user_data: glib_sys::gpointer, user_data: glib::ffi::gpointer,
) -> glib_sys::gboolean { ) -> glib::ffi::gboolean {
let element = from_glib_borrow(element); let element = from_glib_borrow(element);
let pad = from_glib_borrow(pad); let pad = from_glib_borrow(pad);
let callback: *mut P = user_data as *const _ as usize as *mut P; let callback: *mut P = user_data as *const _ as usize as *mut P;
@ -295,7 +292,7 @@ impl<O: IsA<Element>> ElementExt for O {
let func = Some(func_func::<P> as _); let func = Some(func_func::<P> as _);
let super_callback0: &P = &func_data; let super_callback0: &P = &func_data;
unsafe { unsafe {
from_glib(gst_sys::gst_element_foreach_src_pad( from_glib(ffi::gst_element_foreach_src_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
func, func,
super_callback0 as *const _ as usize as *mut _, super_callback0 as *const _ as usize as *mut _,
@ -305,27 +302,23 @@ impl<O: IsA<Element>> ElementExt for O {
fn get_base_time(&self) -> ClockTime { fn get_base_time(&self) -> ClockTime {
unsafe { unsafe {
from_glib(gst_sys::gst_element_get_base_time( from_glib(ffi::gst_element_get_base_time(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_bus(&self) -> Option<Bus> { fn get_bus(&self) -> Option<Bus> {
unsafe { from_glib_full(gst_sys::gst_element_get_bus(self.as_ref().to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_element_get_bus(self.as_ref().to_glib_none().0)) }
} }
fn get_clock(&self) -> Option<Clock> { fn get_clock(&self) -> Option<Clock> {
unsafe { unsafe { from_glib_full(ffi::gst_element_get_clock(self.as_ref().to_glib_none().0)) }
from_glib_full(gst_sys::gst_element_get_clock(
self.as_ref().to_glib_none().0,
))
}
} }
fn get_compatible_pad<P: IsA<Pad>>(&self, pad: &P, caps: Option<&Caps>) -> Option<Pad> { fn get_compatible_pad<P: IsA<Pad>>(&self, pad: &P, caps: Option<&Caps>) -> Option<Pad> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_element_get_compatible_pad( from_glib_full(ffi::gst_element_get_compatible_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
pad.as_ref().to_glib_none().0, pad.as_ref().to_glib_none().0,
caps.to_glib_none().0, caps.to_glib_none().0,
@ -335,7 +328,7 @@ impl<O: IsA<Element>> ElementExt for O {
fn get_compatible_pad_template(&self, compattempl: &PadTemplate) -> Option<PadTemplate> { fn get_compatible_pad_template(&self, compattempl: &PadTemplate) -> Option<PadTemplate> {
unsafe { unsafe {
from_glib_none(gst_sys::gst_element_get_compatible_pad_template( from_glib_none(ffi::gst_element_get_compatible_pad_template(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
compattempl.to_glib_none().0, compattempl.to_glib_none().0,
)) ))
@ -344,7 +337,7 @@ impl<O: IsA<Element>> ElementExt for O {
fn get_context(&self, context_type: &str) -> Option<Context> { fn get_context(&self, context_type: &str) -> Option<Context> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_element_get_context( from_glib_full(ffi::gst_element_get_context(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
context_type.to_glib_none().0, context_type.to_glib_none().0,
)) ))
@ -353,23 +346,19 @@ impl<O: IsA<Element>> ElementExt for O {
fn get_contexts(&self) -> Vec<Context> { fn get_contexts(&self) -> Vec<Context> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_element_get_contexts( FromGlibPtrContainer::from_glib_full(ffi::gst_element_get_contexts(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_factory(&self) -> Option<ElementFactory> { fn get_factory(&self) -> Option<ElementFactory> {
unsafe { unsafe { from_glib_none(ffi::gst_element_get_factory(self.as_ref().to_glib_none().0)) }
from_glib_none(gst_sys::gst_element_get_factory(
self.as_ref().to_glib_none().0,
))
}
} }
fn get_request_pad(&self, name: &str) -> Option<Pad> { fn get_request_pad(&self, name: &str) -> Option<Pad> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_element_get_request_pad( from_glib_full(ffi::gst_element_get_request_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
@ -378,7 +367,7 @@ impl<O: IsA<Element>> ElementExt for O {
fn get_start_time(&self) -> ClockTime { fn get_start_time(&self) -> ClockTime {
unsafe { unsafe {
from_glib(gst_sys::gst_element_get_start_time( from_glib(ffi::gst_element_get_start_time(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -386,7 +375,7 @@ impl<O: IsA<Element>> ElementExt for O {
fn get_static_pad(&self, name: &str) -> Option<Pad> { fn get_static_pad(&self, name: &str) -> Option<Pad> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_element_get_static_pad( from_glib_full(ffi::gst_element_get_static_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
@ -395,28 +384,28 @@ impl<O: IsA<Element>> ElementExt for O {
fn is_locked_state(&self) -> bool { fn is_locked_state(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_element_is_locked_state( from_glib(ffi::gst_element_is_locked_state(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
//fn iterate_pads(&self) -> /*Ignored*/Option<Iterator> { //fn iterate_pads(&self) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_element_iterate_pads() } // unsafe { TODO: call ffi:gst_element_iterate_pads() }
//} //}
//fn iterate_sink_pads(&self) -> /*Ignored*/Option<Iterator> { //fn iterate_sink_pads(&self) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_element_iterate_sink_pads() } // unsafe { TODO: call ffi:gst_element_iterate_sink_pads() }
//} //}
//fn iterate_src_pads(&self) -> /*Ignored*/Option<Iterator> { //fn iterate_src_pads(&self) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_element_iterate_src_pads() } // unsafe { TODO: call ffi:gst_element_iterate_src_pads() }
//} //}
fn link<P: IsA<Element>>(&self, dest: &P) -> Result<(), glib::error::BoolError> { fn link<P: IsA<Element>>(&self, dest: &P) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_element_link( ffi::gst_element_link(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
dest.as_ref().to_glib_none().0 dest.as_ref().to_glib_none().0
), ),
@ -431,8 +420,8 @@ impl<O: IsA<Element>> ElementExt for O {
filter: Option<&Caps>, filter: Option<&Caps>,
) -> Result<(), glib::error::BoolError> { ) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_element_link_filtered( ffi::gst_element_link_filtered(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
dest.as_ref().to_glib_none().0, dest.as_ref().to_glib_none().0,
filter.to_glib_none().0 filter.to_glib_none().0
@ -443,7 +432,7 @@ impl<O: IsA<Element>> ElementExt for O {
} }
//fn link_many<P: IsA<Element>>(&self, element_2: &P, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> bool { //fn link_many<P: IsA<Element>>(&self, element_2: &P, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> bool {
// unsafe { TODO: call gst_sys:gst_element_link_many() } // unsafe { TODO: call ffi:gst_element_link_many() }
//} //}
fn link_pads<P: IsA<Element>>( fn link_pads<P: IsA<Element>>(
@ -453,8 +442,8 @@ impl<O: IsA<Element>> ElementExt for O {
destpadname: Option<&str>, destpadname: Option<&str>,
) -> Result<(), glib::error::BoolError> { ) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_element_link_pads( ffi::gst_element_link_pads(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
srcpadname.to_glib_none().0, srcpadname.to_glib_none().0,
dest.as_ref().to_glib_none().0, dest.as_ref().to_glib_none().0,
@ -473,8 +462,8 @@ impl<O: IsA<Element>> ElementExt for O {
filter: Option<&Caps>, filter: Option<&Caps>,
) -> Result<(), glib::error::BoolError> { ) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_element_link_pads_filtered( ffi::gst_element_link_pads_filtered(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
srcpadname.to_glib_none().0, srcpadname.to_glib_none().0,
dest.as_ref().to_glib_none().0, dest.as_ref().to_glib_none().0,
@ -494,8 +483,8 @@ impl<O: IsA<Element>> ElementExt for O {
flags: PadLinkCheck, flags: PadLinkCheck,
) -> Result<(), glib::error::BoolError> { ) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_element_link_pads_full( ffi::gst_element_link_pads_full(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
srcpadname.to_glib_none().0, srcpadname.to_glib_none().0,
dest.as_ref().to_glib_none().0, dest.as_ref().to_glib_none().0,
@ -509,29 +498,29 @@ impl<O: IsA<Element>> ElementExt for O {
fn lost_state(&self) { fn lost_state(&self) {
unsafe { unsafe {
gst_sys::gst_element_lost_state(self.as_ref().to_glib_none().0); ffi::gst_element_lost_state(self.as_ref().to_glib_none().0);
} }
} }
//fn message_full(&self, type_: /*Ignored*/MessageType, domain: /*Ignored*/glib::Quark, code: i32, text: Option<&str>, debug: Option<&str>, file: &str, function: &str, line: i32) { //fn message_full(&self, type_: /*Ignored*/MessageType, domain: /*Ignored*/glib::Quark, code: i32, text: Option<&str>, debug: Option<&str>, file: &str, function: &str, line: i32) {
// unsafe { TODO: call gst_sys:gst_element_message_full() } // unsafe { TODO: call ffi:gst_element_message_full() }
//} //}
//#[cfg(any(feature = "v1_10", feature = "dox"))] //#[cfg(any(feature = "v1_10", feature = "dox"))]
//#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] //#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
//fn message_full_with_details(&self, type_: /*Ignored*/MessageType, domain: /*Ignored*/glib::Quark, code: i32, text: Option<&str>, debug: Option<&str>, file: &str, function: &str, line: i32, structure: &mut Structure) { //fn message_full_with_details(&self, type_: /*Ignored*/MessageType, domain: /*Ignored*/glib::Quark, code: i32, text: Option<&str>, debug: Option<&str>, file: &str, function: &str, line: i32, structure: &mut Structure) {
// unsafe { TODO: call gst_sys:gst_element_message_full_with_details() } // unsafe { TODO: call ffi:gst_element_message_full_with_details() }
//} //}
fn no_more_pads(&self) { fn no_more_pads(&self) {
unsafe { unsafe {
gst_sys::gst_element_no_more_pads(self.as_ref().to_glib_none().0); ffi::gst_element_no_more_pads(self.as_ref().to_glib_none().0);
} }
} }
fn provide_clock(&self) -> Option<Clock> { fn provide_clock(&self) -> Option<Clock> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_element_provide_clock( from_glib_full(ffi::gst_element_provide_clock(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -539,7 +528,7 @@ impl<O: IsA<Element>> ElementExt for O {
fn release_request_pad<P: IsA<Pad>>(&self, pad: &P) { fn release_request_pad<P: IsA<Pad>>(&self, pad: &P) {
unsafe { unsafe {
gst_sys::gst_element_release_request_pad( ffi::gst_element_release_request_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
pad.as_ref().to_glib_none().0, pad.as_ref().to_glib_none().0,
); );
@ -548,8 +537,8 @@ impl<O: IsA<Element>> ElementExt for O {
fn remove_pad<P: IsA<Pad>>(&self, pad: &P) -> Result<(), glib::error::BoolError> { fn remove_pad<P: IsA<Pad>>(&self, pad: &P) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_element_remove_pad( ffi::gst_element_remove_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
pad.as_ref().to_glib_none().0 pad.as_ref().to_glib_none().0
), ),
@ -565,7 +554,7 @@ impl<O: IsA<Element>> ElementExt for O {
caps: Option<&Caps>, caps: Option<&Caps>,
) -> Option<Pad> { ) -> Option<Pad> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_element_request_pad( from_glib_full(ffi::gst_element_request_pad(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
templ.to_glib_none().0, templ.to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
@ -576,20 +565,20 @@ impl<O: IsA<Element>> ElementExt for O {
fn set_base_time(&self, time: ClockTime) { fn set_base_time(&self, time: ClockTime) {
unsafe { unsafe {
gst_sys::gst_element_set_base_time(self.as_ref().to_glib_none().0, time.to_glib()); ffi::gst_element_set_base_time(self.as_ref().to_glib_none().0, time.to_glib());
} }
} }
fn set_bus(&self, bus: Option<&Bus>) { fn set_bus(&self, bus: Option<&Bus>) {
unsafe { unsafe {
gst_sys::gst_element_set_bus(self.as_ref().to_glib_none().0, bus.to_glib_none().0); ffi::gst_element_set_bus(self.as_ref().to_glib_none().0, bus.to_glib_none().0);
} }
} }
fn set_clock<P: IsA<Clock>>(&self, clock: Option<&P>) -> Result<(), glib::error::BoolError> { fn set_clock<P: IsA<Clock>>(&self, clock: Option<&P>) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_element_set_clock( ffi::gst_element_set_clock(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
clock.map(|p| p.as_ref()).to_glib_none().0 clock.map(|p| p.as_ref()).to_glib_none().0
), ),
@ -600,16 +589,13 @@ impl<O: IsA<Element>> ElementExt for O {
fn set_context(&self, context: &Context) { fn set_context(&self, context: &Context) {
unsafe { unsafe {
gst_sys::gst_element_set_context( ffi::gst_element_set_context(self.as_ref().to_glib_none().0, context.to_glib_none().0);
self.as_ref().to_glib_none().0,
context.to_glib_none().0,
);
} }
} }
fn set_locked_state(&self, locked_state: bool) -> bool { fn set_locked_state(&self, locked_state: bool) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_element_set_locked_state( from_glib(ffi::gst_element_set_locked_state(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
locked_state.to_glib(), locked_state.to_glib(),
)) ))
@ -618,14 +604,14 @@ impl<O: IsA<Element>> ElementExt for O {
fn set_start_time(&self, time: ClockTime) { fn set_start_time(&self, time: ClockTime) {
unsafe { unsafe {
gst_sys::gst_element_set_start_time(self.as_ref().to_glib_none().0, time.to_glib()); ffi::gst_element_set_start_time(self.as_ref().to_glib_none().0, time.to_glib());
} }
} }
fn sync_state_with_parent(&self) -> Result<(), glib::error::BoolError> { fn sync_state_with_parent(&self) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_element_sync_state_with_parent(self.as_ref().to_glib_none().0), ffi::gst_element_sync_state_with_parent(self.as_ref().to_glib_none().0),
"Failed to sync state with parent" "Failed to sync state with parent"
) )
} }
@ -633,7 +619,7 @@ impl<O: IsA<Element>> ElementExt for O {
fn unlink<P: IsA<Element>>(&self, dest: &P) { fn unlink<P: IsA<Element>>(&self, dest: &P) {
unsafe { unsafe {
gst_sys::gst_element_unlink( ffi::gst_element_unlink(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
dest.as_ref().to_glib_none().0, dest.as_ref().to_glib_none().0,
); );
@ -641,12 +627,12 @@ impl<O: IsA<Element>> ElementExt for O {
} }
//fn unlink_many<P: IsA<Element>>(&self, element_2: &P, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) { //fn unlink_many<P: IsA<Element>>(&self, element_2: &P, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) {
// unsafe { TODO: call gst_sys:gst_element_unlink_many() } // unsafe { TODO: call ffi:gst_element_unlink_many() }
//} //}
fn unlink_pads<P: IsA<Element>>(&self, srcpadname: &str, dest: &P, destpadname: &str) { fn unlink_pads<P: IsA<Element>>(&self, srcpadname: &str, dest: &P, destpadname: &str) {
unsafe { unsafe {
gst_sys::gst_element_unlink_pads( ffi::gst_element_unlink_pads(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
srcpadname.to_glib_none().0, srcpadname.to_glib_none().0,
dest.as_ref().to_glib_none().0, dest.as_ref().to_glib_none().0,
@ -657,8 +643,8 @@ impl<O: IsA<Element>> ElementExt for O {
fn connect_no_more_pads<F: Fn(&Self) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId { fn connect_no_more_pads<F: Fn(&Self) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn no_more_pads_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn no_more_pads_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstElement, this: *mut ffi::GstElement,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Element>, P: IsA<Element>,
{ {
@ -683,9 +669,9 @@ impl<O: IsA<Element>> ElementExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn pad_added_trampoline<P, F: Fn(&P, &Pad) + Send + Sync + 'static>( unsafe extern "C" fn pad_added_trampoline<P, F: Fn(&P, &Pad) + Send + Sync + 'static>(
this: *mut gst_sys::GstElement, this: *mut ffi::GstElement,
new_pad: *mut gst_sys::GstPad, new_pad: *mut ffi::GstPad,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Element>, P: IsA<Element>,
{ {
@ -713,9 +699,9 @@ impl<O: IsA<Element>> ElementExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn pad_removed_trampoline<P, F: Fn(&P, &Pad) + Send + Sync + 'static>( unsafe extern "C" fn pad_removed_trampoline<P, F: Fn(&P, &Pad) + Send + Sync + 'static>(
this: *mut gst_sys::GstElement, this: *mut ffi::GstElement,
old_pad: *mut gst_sys::GstPad, old_pad: *mut ffi::GstPad,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Element>, P: IsA<Element>,
{ {

View file

@ -2,32 +2,29 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Caps;
use crate::Element;
use crate::ElementFactoryListType;
use crate::Object;
use crate::PadDirection;
use crate::PluginFeature;
use crate::Rank;
use crate::StaticPadTemplate;
use crate::URIType;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use gst_sys;
use Caps;
use Element;
use ElementFactoryListType;
use Object;
use PadDirection;
use PluginFeature;
use Rank;
use StaticPadTemplate;
use URIType;
glib_wrapper! { glib::glib_wrapper! {
pub struct ElementFactory(Object<gst_sys::GstElementFactory, gst_sys::GstElementFactoryClass>) @extends PluginFeature, Object; pub struct ElementFactory(Object<ffi::GstElementFactory, ffi::GstElementFactoryClass>) @extends PluginFeature, Object;
match fn { match fn {
get_type => || gst_sys::gst_element_factory_get_type(), get_type => || ffi::gst_element_factory_get_type(),
} }
} }
impl ElementFactory { impl ElementFactory {
pub fn can_sink_all_caps(&self, caps: &Caps) -> bool { pub fn can_sink_all_caps(&self, caps: &Caps) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_element_factory_can_sink_all_caps( from_glib(ffi::gst_element_factory_can_sink_all_caps(
self.to_glib_none().0, self.to_glib_none().0,
caps.to_glib_none().0, caps.to_glib_none().0,
)) ))
@ -36,7 +33,7 @@ impl ElementFactory {
pub fn can_sink_any_caps(&self, caps: &Caps) -> bool { pub fn can_sink_any_caps(&self, caps: &Caps) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_element_factory_can_sink_any_caps( from_glib(ffi::gst_element_factory_can_sink_any_caps(
self.to_glib_none().0, self.to_glib_none().0,
caps.to_glib_none().0, caps.to_glib_none().0,
)) ))
@ -45,7 +42,7 @@ impl ElementFactory {
pub fn can_src_all_caps(&self, caps: &Caps) -> bool { pub fn can_src_all_caps(&self, caps: &Caps) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_element_factory_can_src_all_caps( from_glib(ffi::gst_element_factory_can_src_all_caps(
self.to_glib_none().0, self.to_glib_none().0,
caps.to_glib_none().0, caps.to_glib_none().0,
)) ))
@ -54,7 +51,7 @@ impl ElementFactory {
pub fn can_src_any_caps(&self, caps: &Caps) -> bool { pub fn can_src_any_caps(&self, caps: &Caps) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_element_factory_can_src_any_caps( from_glib(ffi::gst_element_factory_can_src_any_caps(
self.to_glib_none().0, self.to_glib_none().0,
caps.to_glib_none().0, caps.to_glib_none().0,
)) ))
@ -63,70 +60,66 @@ impl ElementFactory {
pub fn create(&self, name: Option<&str>) -> Result<Element, glib::BoolError> { pub fn create(&self, name: Option<&str>) -> Result<Element, glib::BoolError> {
unsafe { unsafe {
Option::<_>::from_glib_none(gst_sys::gst_element_factory_create( Option::<_>::from_glib_none(ffi::gst_element_factory_create(
self.to_glib_none().0, self.to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
.ok_or_else(|| glib_bool_error!("Failed to create element from factory")) .ok_or_else(|| glib::glib_bool_error!("Failed to create element from factory"))
} }
} }
pub fn get_element_type(&self) -> glib::types::Type { pub fn get_element_type(&self) -> glib::types::Type {
unsafe { unsafe {
from_glib(gst_sys::gst_element_factory_get_element_type( from_glib(ffi::gst_element_factory_get_element_type(
self.to_glib_none().0, self.to_glib_none().0,
)) ))
} }
} }
pub fn get_metadata(&self, key: &str) -> Option<GString> { pub fn get_metadata(&self, key: &str) -> Option<glib::GString> {
unsafe { unsafe {
from_glib_none(gst_sys::gst_element_factory_get_metadata( from_glib_none(ffi::gst_element_factory_get_metadata(
self.to_glib_none().0, self.to_glib_none().0,
key.to_glib_none().0, key.to_glib_none().0,
)) ))
} }
} }
pub fn get_metadata_keys(&self) -> Vec<GString> { pub fn get_metadata_keys(&self) -> Vec<glib::GString> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_element_factory_get_metadata_keys( FromGlibPtrContainer::from_glib_full(ffi::gst_element_factory_get_metadata_keys(
self.to_glib_none().0, self.to_glib_none().0,
)) ))
} }
} }
pub fn get_num_pad_templates(&self) -> u32 { pub fn get_num_pad_templates(&self) -> u32 {
unsafe { gst_sys::gst_element_factory_get_num_pad_templates(self.to_glib_none().0) } unsafe { ffi::gst_element_factory_get_num_pad_templates(self.to_glib_none().0) }
} }
pub fn get_static_pad_templates(&self) -> Vec<StaticPadTemplate> { pub fn get_static_pad_templates(&self) -> Vec<StaticPadTemplate> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_none( FromGlibPtrContainer::from_glib_none(ffi::gst_element_factory_get_static_pad_templates(
gst_sys::gst_element_factory_get_static_pad_templates(self.to_glib_none().0), self.to_glib_none().0,
) ))
} }
} }
pub fn get_uri_protocols(&self) -> Vec<GString> { pub fn get_uri_protocols(&self) -> Vec<glib::GString> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_none(gst_sys::gst_element_factory_get_uri_protocols( FromGlibPtrContainer::from_glib_none(ffi::gst_element_factory_get_uri_protocols(
self.to_glib_none().0, self.to_glib_none().0,
)) ))
} }
} }
pub fn get_uri_type(&self) -> URIType { pub fn get_uri_type(&self) -> URIType {
unsafe { unsafe { from_glib(ffi::gst_element_factory_get_uri_type(self.to_glib_none().0)) }
from_glib(gst_sys::gst_element_factory_get_uri_type(
self.to_glib_none().0,
))
}
} }
pub fn has_interface(&self, interfacename: &str) -> bool { pub fn has_interface(&self, interfacename: &str) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_element_factory_has_interface( from_glib(ffi::gst_element_factory_has_interface(
self.to_glib_none().0, self.to_glib_none().0,
interfacename.to_glib_none().0, interfacename.to_glib_none().0,
)) ))
@ -135,7 +128,7 @@ impl ElementFactory {
pub fn list_is_type(&self, type_: ElementFactoryListType) -> bool { pub fn list_is_type(&self, type_: ElementFactoryListType) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_element_factory_list_is_type( from_glib(ffi::gst_element_factory_list_is_type(
self.to_glib_none().0, self.to_glib_none().0,
type_, type_,
)) ))
@ -144,7 +137,7 @@ impl ElementFactory {
pub fn find(name: &str) -> Option<ElementFactory> { pub fn find(name: &str) -> Option<ElementFactory> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_full(gst_sys::gst_element_factory_find(name.to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_element_factory_find(name.to_glib_none().0)) }
} }
pub fn list_filter( pub fn list_filter(
@ -155,7 +148,7 @@ impl ElementFactory {
) -> Vec<ElementFactory> { ) -> Vec<ElementFactory> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_element_factory_list_filter( FromGlibPtrContainer::from_glib_full(ffi::gst_element_factory_list_filter(
list.to_glib_none().0, list.to_glib_none().0,
caps.to_glib_none().0, caps.to_glib_none().0,
direction.to_glib(), direction.to_glib(),
@ -167,7 +160,7 @@ impl ElementFactory {
pub fn list_get_elements(type_: ElementFactoryListType, minrank: Rank) -> Vec<ElementFactory> { pub fn list_get_elements(type_: ElementFactoryListType, minrank: Rank) -> Vec<ElementFactory> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_element_factory_list_get_elements( FromGlibPtrContainer::from_glib_full(ffi::gst_element_factory_list_get_elements(
type_, type_,
minrank.to_glib(), minrank.to_glib(),
)) ))
@ -177,11 +170,11 @@ impl ElementFactory {
pub fn make(factoryname: &str, name: Option<&str>) -> Result<Element, glib::BoolError> { pub fn make(factoryname: &str, name: Option<&str>) -> Result<Element, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_none(gst_sys::gst_element_factory_make( Option::<_>::from_glib_none(ffi::gst_element_factory_make(
factoryname.to_glib_none().0, factoryname.to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
.ok_or_else(|| glib_bool_error!("Failed to create element from factory name")) .ok_or_else(|| glib::glib_bool_error!("Failed to create element from factory name"))
} }
} }
} }

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2,39 +2,35 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Bin;
use glib::object::IsA; use crate::ClockTime;
use glib::translate::*; use crate::DebugGraphDetails;
use glib::GString; use crate::DebugLevel;
use gst_sys; use crate::Element;
use std;
use std::mem;
use std::ptr;
use Bin;
use ClockTime;
use DebugGraphDetails;
use DebugLevel;
use Element;
#[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
use PluginAPIFlags; use crate::PluginAPIFlags;
#[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
use StackTraceFlags; use crate::StackTraceFlags;
use glib::object::IsA;
use glib::translate::*;
use std::mem;
use std::ptr;
#[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn debug_add_ring_buffer_logger(max_size_per_thread: u32, thread_timeout: u32) { pub fn debug_add_ring_buffer_logger(max_size_per_thread: u32, thread_timeout: u32) {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_add_ring_buffer_logger(max_size_per_thread, thread_timeout); ffi::gst_debug_add_ring_buffer_logger(max_size_per_thread, thread_timeout);
} }
} }
pub fn debug_bin_to_dot_data<P: IsA<Bin>>(bin: &P, details: DebugGraphDetails) -> GString { pub fn debug_bin_to_dot_data<P: IsA<Bin>>(bin: &P, details: DebugGraphDetails) -> glib::GString {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
from_glib_full(gst_sys::gst_debug_bin_to_dot_data( from_glib_full(ffi::gst_debug_bin_to_dot_data(
bin.as_ref().to_glib_none().0, bin.as_ref().to_glib_none().0,
details.to_glib(), details.to_glib(),
)) ))
@ -48,7 +44,7 @@ pub fn debug_bin_to_dot_file<P: IsA<Bin>, Q: AsRef<std::path::Path>>(
) { ) {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_bin_to_dot_file( ffi::gst_debug_bin_to_dot_file(
bin.as_ref().to_glib_none().0, bin.as_ref().to_glib_none().0,
details.to_glib(), details.to_glib(),
file_name.as_ref().to_glib_none().0, file_name.as_ref().to_glib_none().0,
@ -63,7 +59,7 @@ pub fn debug_bin_to_dot_file_with_ts<P: IsA<Bin>, Q: AsRef<std::path::Path>>(
) { ) {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_bin_to_dot_file_with_ts( ffi::gst_debug_bin_to_dot_file_with_ts(
bin.as_ref().to_glib_none().0, bin.as_ref().to_glib_none().0,
details.to_glib(), details.to_glib(),
file_name.as_ref().to_glib_none().0, file_name.as_ref().to_glib_none().0,
@ -73,33 +69,33 @@ pub fn debug_bin_to_dot_file_with_ts<P: IsA<Bin>, Q: AsRef<std::path::Path>>(
pub fn debug_get_default_threshold() -> DebugLevel { pub fn debug_get_default_threshold() -> DebugLevel {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { from_glib(gst_sys::gst_debug_get_default_threshold()) } unsafe { from_glib(ffi::gst_debug_get_default_threshold()) }
} }
#[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn debug_get_stack_trace(flags: StackTraceFlags) -> Result<GString, glib::BoolError> { pub fn debug_get_stack_trace(flags: StackTraceFlags) -> Result<glib::GString, glib::BoolError> {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_debug_get_stack_trace(flags.to_glib())) Option::<_>::from_glib_full(ffi::gst_debug_get_stack_trace(flags.to_glib()))
.ok_or_else(|| glib_bool_error!("Failed to get stack trace")) .ok_or_else(|| glib::glib_bool_error!("Failed to get stack trace"))
} }
} }
pub fn debug_is_active() -> bool { pub fn debug_is_active() -> bool {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { from_glib(gst_sys::gst_debug_is_active()) } unsafe { from_glib(ffi::gst_debug_is_active()) }
} }
pub fn debug_is_colored() -> bool { pub fn debug_is_colored() -> bool {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { from_glib(gst_sys::gst_debug_is_colored()) } unsafe { from_glib(ffi::gst_debug_is_colored()) }
} }
pub fn debug_print_stack_trace() { pub fn debug_print_stack_trace() {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_print_stack_trace(); ffi::gst_debug_print_stack_trace();
} }
} }
@ -108,68 +104,66 @@ pub fn debug_print_stack_trace() {
pub fn debug_remove_ring_buffer_logger() { pub fn debug_remove_ring_buffer_logger() {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_remove_ring_buffer_logger(); ffi::gst_debug_remove_ring_buffer_logger();
} }
} }
#[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn debug_ring_buffer_logger_get_logs() -> Vec<GString> { pub fn debug_ring_buffer_logger_get_logs() -> Vec<glib::GString> {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe { FromGlibPtrContainer::from_glib_full(ffi::gst_debug_ring_buffer_logger_get_logs()) }
FromGlibPtrContainer::from_glib_full(gst_sys::gst_debug_ring_buffer_logger_get_logs())
}
} }
pub fn debug_set_active(active: bool) { pub fn debug_set_active(active: bool) {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_set_active(active.to_glib()); ffi::gst_debug_set_active(active.to_glib());
} }
} }
pub fn debug_set_colored(colored: bool) { pub fn debug_set_colored(colored: bool) {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_set_colored(colored.to_glib()); ffi::gst_debug_set_colored(colored.to_glib());
} }
} }
pub fn debug_set_default_threshold(level: DebugLevel) { pub fn debug_set_default_threshold(level: DebugLevel) {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_set_default_threshold(level.to_glib()); ffi::gst_debug_set_default_threshold(level.to_glib());
} }
} }
pub fn debug_set_threshold_for_name(name: &str, level: DebugLevel) { pub fn debug_set_threshold_for_name(name: &str, level: DebugLevel) {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_set_threshold_for_name(name.to_glib_none().0, level.to_glib()); ffi::gst_debug_set_threshold_for_name(name.to_glib_none().0, level.to_glib());
} }
} }
pub fn debug_set_threshold_from_string(list: &str, reset: bool) { pub fn debug_set_threshold_from_string(list: &str, reset: bool) {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_set_threshold_from_string(list.to_glib_none().0, reset.to_glib()); ffi::gst_debug_set_threshold_from_string(list.to_glib_none().0, reset.to_glib());
} }
} }
pub fn debug_unset_threshold_for_name(name: &str) { pub fn debug_unset_threshold_for_name(name: &str) {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { unsafe {
gst_sys::gst_debug_unset_threshold_for_name(name.to_glib_none().0); ffi::gst_debug_unset_threshold_for_name(name.to_glib_none().0);
} }
} }
#[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn get_main_executable_path() -> Result<GString, glib::BoolError> { pub fn get_main_executable_path() -> Result<glib::GString, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_none(gst_sys::gst_get_main_executable_path()) Option::<_>::from_glib_none(ffi::gst_get_main_executable_path())
.ok_or_else(|| glib_bool_error!("Failed to get main executable path")) .ok_or_else(|| glib::glib_bool_error!("Failed to get main executable path"))
} }
} }
@ -180,7 +174,7 @@ pub fn parse_bin_from_description(
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
let mut error = ptr::null_mut(); let mut error = ptr::null_mut();
let ret = gst_sys::gst_parse_bin_from_description( let ret = ffi::gst_parse_bin_from_description(
bin_description.to_glib_none().0, bin_description.to_glib_none().0,
ghost_unlinked_pads.to_glib(), ghost_unlinked_pads.to_glib(),
&mut error, &mut error,
@ -197,7 +191,7 @@ pub fn parse_launch(pipeline_description: &str) -> Result<Element, glib::Error>
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
let mut error = ptr::null_mut(); let mut error = ptr::null_mut();
let ret = gst_sys::gst_parse_launch(pipeline_description.to_glib_none().0, &mut error); let ret = ffi::gst_parse_launch(pipeline_description.to_glib_none().0, &mut error);
if error.is_null() { if error.is_null() {
Ok(from_glib_none(ret)) Ok(from_glib_none(ret))
} else { } else {
@ -210,7 +204,7 @@ pub fn parse_launchv(argv: &[&str]) -> Result<Element, glib::Error> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
let mut error = ptr::null_mut(); let mut error = ptr::null_mut();
let ret = gst_sys::gst_parse_launchv(argv.to_glib_none().0, &mut error); let ret = ffi::gst_parse_launchv(argv.to_glib_none().0, &mut error);
if error.is_null() { if error.is_null() {
Ok(from_glib_none(ret)) Ok(from_glib_none(ret))
} else { } else {
@ -222,11 +216,11 @@ pub fn parse_launchv(argv: &[&str]) -> Result<Element, glib::Error> {
//#[cfg(any(feature = "v1_18", feature = "dox"))] //#[cfg(any(feature = "v1_18", feature = "dox"))]
//#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] //#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
//pub fn tracing_get_active_tracers() -> /*Ignored*/Vec<Tracer> { //pub fn tracing_get_active_tracers() -> /*Ignored*/Vec<Tracer> {
// unsafe { TODO: call gst_sys:gst_tracing_get_active_tracers() } // unsafe { TODO: call ffi:gst_tracing_get_active_tracers() }
//} //}
//pub fn tracing_register_hook<P: FnOnce() + Send + Sync + 'static>(tracer: /*Ignored*/&Tracer, detail: &str, func: P) { //pub fn tracing_register_hook<P: FnOnce() + Send + Sync + 'static>(tracer: /*Ignored*/&Tracer, detail: &str, func: P) {
// unsafe { TODO: call gst_sys:gst_tracing_register_hook() } // unsafe { TODO: call ffi:gst_tracing_register_hook() }
//} //}
#[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg(any(feature = "v1_18", feature = "dox"))]
@ -234,15 +228,15 @@ pub fn parse_launchv(argv: &[&str]) -> Result<Element, glib::Error> {
pub fn type_mark_as_plugin_api(type_: glib::types::Type, flags: PluginAPIFlags) { pub fn type_mark_as_plugin_api(type_: glib::types::Type, flags: PluginAPIFlags) {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
gst_sys::gst_type_mark_as_plugin_api(type_.to_glib(), flags.to_glib()); ffi::gst_type_mark_as_plugin_api(type_.to_glib(), flags.to_glib());
} }
} }
pub fn update_registry() -> Result<(), glib::error::BoolError> { pub fn update_registry() -> Result<(), glib::error::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_update_registry(), ffi::gst_update_registry(),
"Failed to update the registry" "Failed to update the registry"
) )
} }
@ -250,7 +244,7 @@ pub fn update_registry() -> Result<(), glib::error::BoolError> {
pub fn util_get_timestamp() -> ClockTime { pub fn util_get_timestamp() -> ClockTime {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { from_glib(gst_sys::gst_util_get_timestamp()) } unsafe { from_glib(ffi::gst_util_get_timestamp()) }
} }
pub fn version() -> (u32, u32, u32, u32) { pub fn version() -> (u32, u32, u32, u32) {
@ -260,7 +254,7 @@ pub fn version() -> (u32, u32, u32, u32) {
let mut minor = mem::MaybeUninit::uninit(); let mut minor = mem::MaybeUninit::uninit();
let mut micro = mem::MaybeUninit::uninit(); let mut micro = mem::MaybeUninit::uninit();
let mut nano = mem::MaybeUninit::uninit(); let mut nano = mem::MaybeUninit::uninit();
gst_sys::gst_version( ffi::gst_version(
major.as_mut_ptr(), major.as_mut_ptr(),
minor.as_mut_ptr(), minor.as_mut_ptr(),
micro.as_mut_ptr(), micro.as_mut_ptr(),
@ -274,7 +268,7 @@ pub fn version() -> (u32, u32, u32, u32) {
} }
} }
pub fn version_string() -> GString { pub fn version_string() -> glib::GString {
skip_assert_initialized!(); skip_assert_initialized!();
unsafe { from_glib_full(gst_sys::gst_version_string()) } unsafe { from_glib_full(ffi::gst_version_string()) }
} }

View file

@ -2,19 +2,17 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Object;
use crate::Pad;
use crate::ProxyPad;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use gst_sys;
use Object;
use Pad;
use ProxyPad;
glib_wrapper! { glib::glib_wrapper! {
pub struct GhostPad(Object<gst_sys::GstGhostPad, gst_sys::GstGhostPadClass>) @extends ProxyPad, Pad, Object; pub struct GhostPad(Object<ffi::GstGhostPad, ffi::GstGhostPadClass>) @extends ProxyPad, Pad, Object;
match fn { match fn {
get_type => || gst_sys::gst_ghost_pad_get_type(), get_type => || ffi::gst_ghost_pad_get_type(),
} }
} }
@ -32,7 +30,7 @@ pub trait GhostPadExt: 'static {
impl<O: IsA<GhostPad>> GhostPadExt for O { impl<O: IsA<GhostPad>> GhostPadExt for O {
fn get_target(&self) -> Option<Pad> { fn get_target(&self) -> Option<Pad> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_ghost_pad_get_target( from_glib_full(ffi::gst_ghost_pad_get_target(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -40,8 +38,8 @@ impl<O: IsA<GhostPad>> GhostPadExt for O {
fn set_target<P: IsA<Pad>>(&self, newtarget: Option<&P>) -> Result<(), glib::error::BoolError> { fn set_target<P: IsA<Pad>>(&self, newtarget: Option<&P>) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_ghost_pad_set_target( ffi::gst_ghost_pad_set_target(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
newtarget.map(|p| p.as_ref()).to_glib_none().0 newtarget.map(|p| p.as_ref()).to_glib_none().0
), ),

View file

@ -2,25 +2,21 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::ClockTime;
use crate::ControlBinding;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use glib_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use ClockTime;
use ControlBinding;
glib_wrapper! { glib::glib_wrapper! {
pub struct Object(Object<gst_sys::GstObject, gst_sys::GstObjectClass>); pub struct Object(Object<ffi::GstObject, ffi::GstObjectClass>);
match fn { match fn {
get_type => || gst_sys::gst_object_get_type(), get_type => || ffi::gst_object_get_type(),
} }
} }
@ -28,7 +24,7 @@ impl Object {
pub fn check_uniqueness(list: &[Object], name: &str) -> bool { pub fn check_uniqueness(list: &[Object], name: &str) -> bool {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
from_glib(gst_sys::gst_object_check_uniqueness( from_glib(ffi::gst_object_check_uniqueness(
list.to_glib_none().0, list.to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
@ -36,15 +32,15 @@ impl Object {
} }
//pub fn default_deep_notify<P: IsA<glib::Object>, Q: IsA<Object>>(object: &P, orig: &Q, pspec: /*Ignored*/&glib::ParamSpec, excluded_props: &[&str]) { //pub fn default_deep_notify<P: IsA<glib::Object>, Q: IsA<Object>>(object: &P, orig: &Q, pspec: /*Ignored*/&glib::ParamSpec, excluded_props: &[&str]) {
// unsafe { TODO: call gst_sys:gst_object_default_deep_notify() } // unsafe { TODO: call ffi:gst_object_default_deep_notify() }
//} //}
//pub fn ref_sink(object: /*Unimplemented*/Option<Fundamental: Pointer>) -> /*Unimplemented*/Option<Fundamental: Pointer> { //pub fn ref_sink(object: /*Unimplemented*/Option<Fundamental: Pointer>) -> /*Unimplemented*/Option<Fundamental: Pointer> {
// unsafe { TODO: call gst_sys:gst_object_ref_sink() } // unsafe { TODO: call ffi:gst_object_ref_sink() }
//} //}
//pub fn replace<P: IsA<Object>, Q: IsA<Object>>(oldobj: Option<&P>, newobj: Option<&Q>) -> bool { //pub fn replace<P: IsA<Object>, Q: IsA<Object>>(oldobj: Option<&P>, newobj: Option<&Q>) -> bool {
// unsafe { TODO: call gst_sys:gst_object_replace() } // unsafe { TODO: call ffi:gst_object_replace() }
//} //}
} }
@ -65,11 +61,11 @@ pub trait GstObjectExt: 'static {
fn get_control_rate(&self) -> ClockTime; fn get_control_rate(&self) -> ClockTime;
fn get_name(&self) -> GString; fn get_name(&self) -> glib::GString;
fn get_parent(&self) -> Option<Object>; fn get_parent(&self) -> Option<Object>;
fn get_path_string(&self) -> GString; fn get_path_string(&self) -> glib::GString;
fn get_value(&self, property_name: &str, timestamp: ClockTime) -> Option<glib::Value>; fn get_value(&self, property_name: &str, timestamp: ClockTime) -> Option<glib::Value>;
@ -113,8 +109,8 @@ impl<O: IsA<Object>> GstObjectExt for O {
binding: &P, binding: &P,
) -> Result<(), glib::error::BoolError> { ) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_object_add_control_binding( ffi::gst_object_add_control_binding(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
binding.as_ref().to_glib_none().0 binding.as_ref().to_glib_none().0
), ),
@ -125,7 +121,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn default_error(&self, error: &glib::Error, debug: Option<&str>) { fn default_error(&self, error: &glib::Error, debug: Option<&str>) {
unsafe { unsafe {
gst_sys::gst_object_default_error( ffi::gst_object_default_error(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
error.to_glib_none().0, error.to_glib_none().0,
debug.to_glib_none().0, debug.to_glib_none().0,
@ -135,7 +131,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn get_control_binding(&self, property_name: &str) -> Option<ControlBinding> { fn get_control_binding(&self, property_name: &str) -> Option<ControlBinding> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_object_get_control_binding( from_glib_full(ffi::gst_object_get_control_binding(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
property_name.to_glib_none().0, property_name.to_glib_none().0,
)) ))
@ -144,27 +140,23 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn get_control_rate(&self) -> ClockTime { fn get_control_rate(&self) -> ClockTime {
unsafe { unsafe {
from_glib(gst_sys::gst_object_get_control_rate( from_glib(ffi::gst_object_get_control_rate(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_name(&self) -> GString { fn get_name(&self) -> glib::GString {
unsafe { from_glib_full(gst_sys::gst_object_get_name(self.as_ref().to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_object_get_name(self.as_ref().to_glib_none().0)) }
} }
fn get_parent(&self) -> Option<Object> { fn get_parent(&self) -> Option<Object> {
unsafe { unsafe { from_glib_full(ffi::gst_object_get_parent(self.as_ref().to_glib_none().0)) }
from_glib_full(gst_sys::gst_object_get_parent(
self.as_ref().to_glib_none().0,
))
}
} }
fn get_path_string(&self) -> GString { fn get_path_string(&self) -> glib::GString {
unsafe { unsafe {
from_glib_full(gst_sys::gst_object_get_path_string( from_glib_full(ffi::gst_object_get_path_string(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -172,7 +164,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn get_value(&self, property_name: &str, timestamp: ClockTime) -> Option<glib::Value> { fn get_value(&self, property_name: &str, timestamp: ClockTime) -> Option<glib::Value> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_object_get_value( from_glib_full(ffi::gst_object_get_value(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
property_name.to_glib_none().0, property_name.to_glib_none().0,
timestamp.to_glib(), timestamp.to_glib(),
@ -181,12 +173,12 @@ impl<O: IsA<Object>> GstObjectExt for O {
} }
//fn get_value_array(&self, property_name: &str, timestamp: ClockTime, interval: ClockTime, n_values: u32, values: /*Unimplemented*/Option<Fundamental: Pointer>) -> bool { //fn get_value_array(&self, property_name: &str, timestamp: ClockTime, interval: ClockTime, n_values: u32, values: /*Unimplemented*/Option<Fundamental: Pointer>) -> bool {
// unsafe { TODO: call gst_sys:gst_object_get_value_array() } // unsafe { TODO: call ffi:gst_object_get_value_array() }
//} //}
fn has_active_control_bindings(&self) -> bool { fn has_active_control_bindings(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_object_has_active_control_bindings( from_glib(ffi::gst_object_has_active_control_bindings(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -194,7 +186,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn has_ancestor<P: IsA<Object>>(&self, ancestor: &P) -> bool { fn has_ancestor<P: IsA<Object>>(&self, ancestor: &P) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_object_has_ancestor( from_glib(ffi::gst_object_has_ancestor(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
ancestor.as_ref().to_glib_none().0, ancestor.as_ref().to_glib_none().0,
)) ))
@ -203,7 +195,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn has_as_ancestor<P: IsA<Object>>(&self, ancestor: &P) -> bool { fn has_as_ancestor<P: IsA<Object>>(&self, ancestor: &P) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_object_has_as_ancestor( from_glib(ffi::gst_object_has_as_ancestor(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
ancestor.as_ref().to_glib_none().0, ancestor.as_ref().to_glib_none().0,
)) ))
@ -212,7 +204,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn has_as_parent<P: IsA<Object>>(&self, parent: &P) -> bool { fn has_as_parent<P: IsA<Object>>(&self, parent: &P) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_object_has_as_parent( from_glib(ffi::gst_object_has_as_parent(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
parent.as_ref().to_glib_none().0, parent.as_ref().to_glib_none().0,
)) ))
@ -221,7 +213,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn remove_control_binding<P: IsA<ControlBinding>>(&self, binding: &P) -> bool { fn remove_control_binding<P: IsA<ControlBinding>>(&self, binding: &P) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_object_remove_control_binding( from_glib(ffi::gst_object_remove_control_binding(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
binding.as_ref().to_glib_none().0, binding.as_ref().to_glib_none().0,
)) ))
@ -230,7 +222,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn set_control_binding_disabled(&self, property_name: &str, disabled: bool) { fn set_control_binding_disabled(&self, property_name: &str, disabled: bool) {
unsafe { unsafe {
gst_sys::gst_object_set_control_binding_disabled( ffi::gst_object_set_control_binding_disabled(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
property_name.to_glib_none().0, property_name.to_glib_none().0,
disabled.to_glib(), disabled.to_glib(),
@ -240,7 +232,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn set_control_bindings_disabled(&self, disabled: bool) { fn set_control_bindings_disabled(&self, disabled: bool) {
unsafe { unsafe {
gst_sys::gst_object_set_control_bindings_disabled( ffi::gst_object_set_control_bindings_disabled(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
disabled.to_glib(), disabled.to_glib(),
); );
@ -249,7 +241,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn set_control_rate(&self, control_rate: ClockTime) { fn set_control_rate(&self, control_rate: ClockTime) {
unsafe { unsafe {
gst_sys::gst_object_set_control_rate( ffi::gst_object_set_control_rate(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
control_rate.to_glib(), control_rate.to_glib(),
); );
@ -258,8 +250,8 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn set_parent<P: IsA<Object>>(&self, parent: &P) -> Result<(), glib::error::BoolError> { fn set_parent<P: IsA<Object>>(&self, parent: &P) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_object_set_parent( ffi::gst_object_set_parent(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
parent.as_ref().to_glib_none().0 parent.as_ref().to_glib_none().0
), ),
@ -270,7 +262,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn suggest_next_sync(&self) -> ClockTime { fn suggest_next_sync(&self) -> ClockTime {
unsafe { unsafe {
from_glib(gst_sys::gst_object_suggest_next_sync( from_glib(ffi::gst_object_suggest_next_sync(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -278,11 +270,8 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn sync_values(&self, timestamp: ClockTime) -> Result<(), glib::error::BoolError> { fn sync_values(&self, timestamp: ClockTime) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_object_sync_values( ffi::gst_object_sync_values(self.as_ref().to_glib_none().0, timestamp.to_glib()),
self.as_ref().to_glib_none().0,
timestamp.to_glib()
),
"Failed to sync values" "Failed to sync values"
) )
} }
@ -290,7 +279,7 @@ impl<O: IsA<Object>> GstObjectExt for O {
fn unparent(&self) { fn unparent(&self) {
unsafe { unsafe {
gst_sys::gst_object_unparent(self.as_ref().to_glib_none().0); ffi::gst_object_unparent(self.as_ref().to_glib_none().0);
} }
} }
@ -303,9 +292,9 @@ impl<O: IsA<Object>> GstObjectExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_parent_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn notify_parent_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstObject, this: *mut ffi::GstObject,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Object>, P: IsA<Object>,
{ {

View file

@ -2,43 +2,38 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Caps;
use crate::Element;
use crate::Event;
use crate::EventType;
use crate::Object;
use crate::PadDirection;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use crate::PadLinkCheck;
use crate::PadMode;
use crate::PadTemplate;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use crate::Stream;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
use crate::TaskState;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use glib::StaticType; use glib::StaticType;
use glib::Value; use glib::Value;
use glib_sys;
use gobject_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use Caps;
use Element;
use Event;
use EventType;
use Object;
use PadDirection;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use PadLinkCheck;
use PadMode;
use PadTemplate;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use Stream;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
use TaskState;
glib_wrapper! { glib::glib_wrapper! {
pub struct Pad(Object<gst_sys::GstPad, gst_sys::GstPadClass>) @extends Object; pub struct Pad(Object<ffi::GstPad, ffi::GstPadClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_pad_get_type(), get_type => || ffi::gst_pad_get_type(),
} }
} }
@ -58,11 +53,11 @@ pub trait PadExt: 'static {
&self, &self,
parent: &P, parent: &P,
stream_id: Option<&str>, stream_id: Option<&str>,
) -> Option<GString>; ) -> Option<glib::GString>;
//fn create_stream_id_printf<P: IsA<Element>>(&self, parent: &P, stream_id: Option<&str>, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> Option<GString>; //fn create_stream_id_printf<P: IsA<Element>>(&self, parent: &P, stream_id: Option<&str>, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> Option<glib::GString>;
//fn create_stream_id_printf_valist<P: IsA<Element>>(&self, parent: &P, stream_id: Option<&str>, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) -> Option<GString>; //fn create_stream_id_printf_valist<P: IsA<Element>>(&self, parent: &P, stream_id: Option<&str>, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) -> Option<glib::GString>;
fn forward<P: FnMut(&Pad) -> bool>(&self, forward: P) -> bool; fn forward<P: FnMut(&Pad) -> bool>(&self, forward: P) -> bool;
@ -94,7 +89,7 @@ pub trait PadExt: 'static {
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
fn get_stream(&self) -> Option<Stream>; fn get_stream(&self) -> Option<Stream>;
fn get_stream_id(&self) -> Option<GString>; fn get_stream_id(&self) -> Option<glib::GString>;
#[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
@ -173,8 +168,8 @@ pub trait PadExt: 'static {
impl<O: IsA<Pad>> PadExt for O { impl<O: IsA<Pad>> PadExt for O {
fn activate_mode(&self, mode: PadMode, active: bool) -> Result<(), glib::error::BoolError> { fn activate_mode(&self, mode: PadMode, active: bool) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_pad_activate_mode( ffi::gst_pad_activate_mode(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
mode.to_glib(), mode.to_glib(),
active.to_glib() active.to_glib()
@ -186,7 +181,7 @@ impl<O: IsA<Pad>> PadExt for O {
fn can_link<P: IsA<Pad>>(&self, sinkpad: &P) -> bool { fn can_link<P: IsA<Pad>>(&self, sinkpad: &P) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_pad_can_link( from_glib(ffi::gst_pad_can_link(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
sinkpad.as_ref().to_glib_none().0, sinkpad.as_ref().to_glib_none().0,
)) ))
@ -195,7 +190,7 @@ impl<O: IsA<Pad>> PadExt for O {
fn check_reconfigure(&self) -> bool { fn check_reconfigure(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_pad_check_reconfigure( from_glib(ffi::gst_pad_check_reconfigure(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -205,9 +200,9 @@ impl<O: IsA<Pad>> PadExt for O {
&self, &self,
parent: &P, parent: &P,
stream_id: Option<&str>, stream_id: Option<&str>,
) -> Option<GString> { ) -> Option<glib::GString> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_create_stream_id( from_glib_full(ffi::gst_pad_create_stream_id(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
parent.as_ref().to_glib_none().0, parent.as_ref().to_glib_none().0,
stream_id.to_glib_none().0, stream_id.to_glib_none().0,
@ -215,20 +210,20 @@ impl<O: IsA<Pad>> PadExt for O {
} }
} }
//fn create_stream_id_printf<P: IsA<Element>>(&self, parent: &P, stream_id: Option<&str>, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> Option<GString> { //fn create_stream_id_printf<P: IsA<Element>>(&self, parent: &P, stream_id: Option<&str>, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) -> Option<glib::GString> {
// unsafe { TODO: call gst_sys:gst_pad_create_stream_id_printf() } // unsafe { TODO: call ffi:gst_pad_create_stream_id_printf() }
//} //}
//fn create_stream_id_printf_valist<P: IsA<Element>>(&self, parent: &P, stream_id: Option<&str>, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) -> Option<GString> { //fn create_stream_id_printf_valist<P: IsA<Element>>(&self, parent: &P, stream_id: Option<&str>, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) -> Option<glib::GString> {
// unsafe { TODO: call gst_sys:gst_pad_create_stream_id_printf_valist() } // unsafe { TODO: call ffi:gst_pad_create_stream_id_printf_valist() }
//} //}
fn forward<P: FnMut(&Pad) -> bool>(&self, forward: P) -> bool { fn forward<P: FnMut(&Pad) -> bool>(&self, forward: P) -> bool {
let forward_data: P = forward; let forward_data: P = forward;
unsafe extern "C" fn forward_func<P: FnMut(&Pad) -> bool>( unsafe extern "C" fn forward_func<P: FnMut(&Pad) -> bool>(
pad: *mut gst_sys::GstPad, pad: *mut ffi::GstPad,
user_data: glib_sys::gpointer, user_data: glib::ffi::gpointer,
) -> glib_sys::gboolean { ) -> glib::ffi::gboolean {
let pad = from_glib_borrow(pad); let pad = from_glib_borrow(pad);
let callback: *mut P = user_data as *const _ as usize as *mut P; let callback: *mut P = user_data as *const _ as usize as *mut P;
let res = (*callback)(&pad); let res = (*callback)(&pad);
@ -237,7 +232,7 @@ impl<O: IsA<Pad>> PadExt for O {
let forward = Some(forward_func::<P> as _); let forward = Some(forward_func::<P> as _);
let super_callback0: &P = &forward_data; let super_callback0: &P = &forward_data;
unsafe { unsafe {
from_glib(gst_sys::gst_pad_forward( from_glib(ffi::gst_pad_forward(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
forward, forward,
super_callback0 as *const _ as usize as *mut _, super_callback0 as *const _ as usize as *mut _,
@ -247,7 +242,7 @@ impl<O: IsA<Pad>> PadExt for O {
fn get_allowed_caps(&self) -> Option<Caps> { fn get_allowed_caps(&self) -> Option<Caps> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_get_allowed_caps( from_glib_full(ffi::gst_pad_get_allowed_caps(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -255,31 +250,27 @@ impl<O: IsA<Pad>> PadExt for O {
fn get_current_caps(&self) -> Option<Caps> { fn get_current_caps(&self) -> Option<Caps> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_get_current_caps( from_glib_full(ffi::gst_pad_get_current_caps(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_direction(&self) -> PadDirection { fn get_direction(&self) -> PadDirection {
unsafe { unsafe { from_glib(ffi::gst_pad_get_direction(self.as_ref().to_glib_none().0)) }
from_glib(gst_sys::gst_pad_get_direction(
self.as_ref().to_glib_none().0,
))
}
} }
//fn get_element_private(&self) -> /*Unimplemented*/Option<Fundamental: Pointer> { //fn get_element_private(&self) -> /*Unimplemented*/Option<Fundamental: Pointer> {
// unsafe { TODO: call gst_sys:gst_pad_get_element_private() } // unsafe { TODO: call ffi:gst_pad_get_element_private() }
//} //}
fn get_offset(&self) -> i64 { fn get_offset(&self) -> i64 {
unsafe { gst_sys::gst_pad_get_offset(self.as_ref().to_glib_none().0) } unsafe { ffi::gst_pad_get_offset(self.as_ref().to_glib_none().0) }
} }
fn get_pad_template(&self) -> Option<PadTemplate> { fn get_pad_template(&self) -> Option<PadTemplate> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_get_pad_template( from_glib_full(ffi::gst_pad_get_pad_template(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -287,7 +278,7 @@ impl<O: IsA<Pad>> PadExt for O {
fn get_pad_template_caps(&self) -> Option<Caps> { fn get_pad_template_caps(&self) -> Option<Caps> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_get_pad_template_caps( from_glib_full(ffi::gst_pad_get_pad_template_caps(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -295,21 +286,21 @@ impl<O: IsA<Pad>> PadExt for O {
fn get_parent_element(&self) -> Option<Element> { fn get_parent_element(&self) -> Option<Element> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_get_parent_element( from_glib_full(ffi::gst_pad_get_parent_element(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_peer(&self) -> Option<Pad> { fn get_peer(&self) -> Option<Pad> {
unsafe { from_glib_full(gst_sys::gst_pad_get_peer(self.as_ref().to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_pad_get_peer(self.as_ref().to_glib_none().0)) }
} }
#[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
fn get_single_internal_link(&self) -> Option<Pad> { fn get_single_internal_link(&self) -> Option<Pad> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_get_single_internal_link( from_glib_full(ffi::gst_pad_get_single_internal_link(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -317,7 +308,7 @@ impl<O: IsA<Pad>> PadExt for O {
fn get_sticky_event(&self, event_type: EventType, idx: u32) -> Option<Event> { fn get_sticky_event(&self, event_type: EventType, idx: u32) -> Option<Event> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_get_sticky_event( from_glib_full(ffi::gst_pad_get_sticky_event(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
event_type.to_glib(), event_type.to_glib(),
idx, idx,
@ -328,65 +319,57 @@ impl<O: IsA<Pad>> PadExt for O {
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
fn get_stream(&self) -> Option<Stream> { fn get_stream(&self) -> Option<Stream> {
unsafe { from_glib_full(gst_sys::gst_pad_get_stream(self.as_ref().to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_pad_get_stream(self.as_ref().to_glib_none().0)) }
} }
fn get_stream_id(&self) -> Option<GString> { fn get_stream_id(&self) -> Option<glib::GString> {
unsafe { unsafe { from_glib_full(ffi::gst_pad_get_stream_id(self.as_ref().to_glib_none().0)) }
from_glib_full(gst_sys::gst_pad_get_stream_id(
self.as_ref().to_glib_none().0,
))
}
} }
#[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
fn get_task_state(&self) -> TaskState { fn get_task_state(&self) -> TaskState {
unsafe { unsafe { from_glib(ffi::gst_pad_get_task_state(self.as_ref().to_glib_none().0)) }
from_glib(gst_sys::gst_pad_get_task_state(
self.as_ref().to_glib_none().0,
))
}
} }
fn has_current_caps(&self) -> bool { fn has_current_caps(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_pad_has_current_caps( from_glib(ffi::gst_pad_has_current_caps(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn is_active(&self) -> bool { fn is_active(&self) -> bool {
unsafe { from_glib(gst_sys::gst_pad_is_active(self.as_ref().to_glib_none().0)) } unsafe { from_glib(ffi::gst_pad_is_active(self.as_ref().to_glib_none().0)) }
} }
fn is_blocked(&self) -> bool { fn is_blocked(&self) -> bool {
unsafe { from_glib(gst_sys::gst_pad_is_blocked(self.as_ref().to_glib_none().0)) } unsafe { from_glib(ffi::gst_pad_is_blocked(self.as_ref().to_glib_none().0)) }
} }
fn is_blocking(&self) -> bool { fn is_blocking(&self) -> bool {
unsafe { from_glib(gst_sys::gst_pad_is_blocking(self.as_ref().to_glib_none().0)) } unsafe { from_glib(ffi::gst_pad_is_blocking(self.as_ref().to_glib_none().0)) }
} }
fn is_linked(&self) -> bool { fn is_linked(&self) -> bool {
unsafe { from_glib(gst_sys::gst_pad_is_linked(self.as_ref().to_glib_none().0)) } unsafe { from_glib(ffi::gst_pad_is_linked(self.as_ref().to_glib_none().0)) }
} }
//fn iterate_internal_links(&self) -> /*Ignored*/Option<Iterator> { //fn iterate_internal_links(&self) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_pad_iterate_internal_links() } // unsafe { TODO: call ffi:gst_pad_iterate_internal_links() }
//} //}
//fn iterate_internal_links_default<P: IsA<Object>>(&self, parent: Option<&P>) -> /*Ignored*/Option<Iterator> { //fn iterate_internal_links_default<P: IsA<Object>>(&self, parent: Option<&P>) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_pad_iterate_internal_links_default() } // unsafe { TODO: call ffi:gst_pad_iterate_internal_links_default() }
//} //}
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
fn link_maybe_ghosting<P: IsA<Pad>>(&self, sink: &P) -> Result<(), glib::error::BoolError> { fn link_maybe_ghosting<P: IsA<Pad>>(&self, sink: &P) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_pad_link_maybe_ghosting( ffi::gst_pad_link_maybe_ghosting(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
sink.as_ref().to_glib_none().0 sink.as_ref().to_glib_none().0
), ),
@ -403,8 +386,8 @@ impl<O: IsA<Pad>> PadExt for O {
flags: PadLinkCheck, flags: PadLinkCheck,
) -> Result<(), glib::error::BoolError> { ) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_pad_link_maybe_ghosting_full( ffi::gst_pad_link_maybe_ghosting_full(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
sink.as_ref().to_glib_none().0, sink.as_ref().to_glib_none().0,
flags.to_glib() flags.to_glib()
@ -416,13 +399,13 @@ impl<O: IsA<Pad>> PadExt for O {
fn mark_reconfigure(&self) { fn mark_reconfigure(&self) {
unsafe { unsafe {
gst_sys::gst_pad_mark_reconfigure(self.as_ref().to_glib_none().0); ffi::gst_pad_mark_reconfigure(self.as_ref().to_glib_none().0);
} }
} }
fn needs_reconfigure(&self) -> bool { fn needs_reconfigure(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_pad_needs_reconfigure( from_glib(ffi::gst_pad_needs_reconfigure(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -430,8 +413,8 @@ impl<O: IsA<Pad>> PadExt for O {
fn pause_task(&self) -> Result<(), glib::error::BoolError> { fn pause_task(&self) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_pad_pause_task(self.as_ref().to_glib_none().0), ffi::gst_pad_pause_task(self.as_ref().to_glib_none().0),
"Failed to pause pad task" "Failed to pause pad task"
) )
} }
@ -439,7 +422,7 @@ impl<O: IsA<Pad>> PadExt for O {
fn peer_query_accept_caps(&self, caps: &Caps) -> bool { fn peer_query_accept_caps(&self, caps: &Caps) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_pad_peer_query_accept_caps( from_glib(ffi::gst_pad_peer_query_accept_caps(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
caps.to_glib_none().0, caps.to_glib_none().0,
)) ))
@ -448,7 +431,7 @@ impl<O: IsA<Pad>> PadExt for O {
fn peer_query_caps(&self, filter: Option<&Caps>) -> Option<Caps> { fn peer_query_caps(&self, filter: Option<&Caps>) -> Option<Caps> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_peer_query_caps( from_glib_full(ffi::gst_pad_peer_query_caps(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
filter.to_glib_none().0, filter.to_glib_none().0,
)) ))
@ -457,7 +440,7 @@ impl<O: IsA<Pad>> PadExt for O {
fn query_accept_caps(&self, caps: &Caps) -> bool { fn query_accept_caps(&self, caps: &Caps) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_pad_query_accept_caps( from_glib(ffi::gst_pad_query_accept_caps(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
caps.to_glib_none().0, caps.to_glib_none().0,
)) ))
@ -466,7 +449,7 @@ impl<O: IsA<Pad>> PadExt for O {
fn query_caps(&self, filter: Option<&Caps>) -> Option<Caps> { fn query_caps(&self, filter: Option<&Caps>) -> Option<Caps> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_query_caps( from_glib_full(ffi::gst_pad_query_caps(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
filter.to_glib_none().0, filter.to_glib_none().0,
)) ))
@ -475,27 +458,27 @@ impl<O: IsA<Pad>> PadExt for O {
fn set_active(&self, active: bool) -> Result<(), glib::error::BoolError> { fn set_active(&self, active: bool) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_pad_set_active(self.as_ref().to_glib_none().0, active.to_glib()), ffi::gst_pad_set_active(self.as_ref().to_glib_none().0, active.to_glib()),
"Failed to activate pad" "Failed to activate pad"
) )
} }
} }
//fn set_element_private(&self, priv_: /*Unimplemented*/Option<Fundamental: Pointer>) { //fn set_element_private(&self, priv_: /*Unimplemented*/Option<Fundamental: Pointer>) {
// unsafe { TODO: call gst_sys:gst_pad_set_element_private() } // unsafe { TODO: call ffi:gst_pad_set_element_private() }
//} //}
fn set_offset(&self, offset: i64) { fn set_offset(&self, offset: i64) {
unsafe { unsafe {
gst_sys::gst_pad_set_offset(self.as_ref().to_glib_none().0, offset); ffi::gst_pad_set_offset(self.as_ref().to_glib_none().0, offset);
} }
} }
fn stop_task(&self) -> Result<(), glib::error::BoolError> { fn stop_task(&self) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_pad_stop_task(self.as_ref().to_glib_none().0), ffi::gst_pad_stop_task(self.as_ref().to_glib_none().0),
"Failed to stop pad task" "Failed to stop pad task"
) )
} }
@ -503,8 +486,8 @@ impl<O: IsA<Pad>> PadExt for O {
fn unlink<P: IsA<Pad>>(&self, sinkpad: &P) -> Result<(), glib::error::BoolError> { fn unlink<P: IsA<Pad>>(&self, sinkpad: &P) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_pad_unlink( ffi::gst_pad_unlink(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
sinkpad.as_ref().to_glib_none().0 sinkpad.as_ref().to_glib_none().0
), ),
@ -515,15 +498,15 @@ impl<O: IsA<Pad>> PadExt for O {
fn use_fixed_caps(&self) { fn use_fixed_caps(&self) {
unsafe { unsafe {
gst_sys::gst_pad_use_fixed_caps(self.as_ref().to_glib_none().0); ffi::gst_pad_use_fixed_caps(self.as_ref().to_glib_none().0);
} }
} }
fn get_property_caps(&self) -> Option<Caps> { fn get_property_caps(&self) -> Option<Caps> {
unsafe { unsafe {
let mut value = Value::from_type(<Caps as StaticType>::static_type()); let mut value = Value::from_type(<Caps as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"caps\0".as_ptr() as *const _, b"caps\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -535,9 +518,9 @@ impl<O: IsA<Pad>> PadExt for O {
fn connect_linked<F: Fn(&Self, &Pad) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId { fn connect_linked<F: Fn(&Self, &Pad) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn linked_trampoline<P, F: Fn(&P, &Pad) + Send + Sync + 'static>( unsafe extern "C" fn linked_trampoline<P, F: Fn(&P, &Pad) + Send + Sync + 'static>(
this: *mut gst_sys::GstPad, this: *mut ffi::GstPad,
peer: *mut gst_sys::GstPad, peer: *mut ffi::GstPad,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Pad>, P: IsA<Pad>,
{ {
@ -565,9 +548,9 @@ impl<O: IsA<Pad>> PadExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn unlinked_trampoline<P, F: Fn(&P, &Pad) + Send + Sync + 'static>( unsafe extern "C" fn unlinked_trampoline<P, F: Fn(&P, &Pad) + Send + Sync + 'static>(
this: *mut gst_sys::GstPad, this: *mut ffi::GstPad,
peer: *mut gst_sys::GstPad, peer: *mut ffi::GstPad,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Pad>, P: IsA<Pad>,
{ {
@ -595,9 +578,9 @@ impl<O: IsA<Pad>> PadExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_caps_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn notify_caps_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstPad, this: *mut ffi::GstPad,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Pad>, P: IsA<Pad>,
{ {
@ -622,9 +605,9 @@ impl<O: IsA<Pad>> PadExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_offset_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn notify_offset_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstPad, this: *mut ffi::GstPad,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Pad>, P: IsA<Pad>,
{ {

View file

@ -2,31 +2,26 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Caps;
use crate::Object;
use crate::Pad;
use crate::PadDirection;
use crate::PadPresence;
use glib::object::IsA; use glib::object::IsA;
use glib::object::ObjectType as ObjectType_; use glib::object::ObjectType as ObjectType_;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use glib::StaticType; use glib::StaticType;
use glib::Value; use glib::Value;
use glib_sys;
use gobject_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use Caps;
use Object;
use Pad;
use PadDirection;
use PadPresence;
glib_wrapper! { glib::glib_wrapper! {
pub struct PadTemplate(Object<gst_sys::GstPadTemplate, gst_sys::GstPadTemplateClass>) @extends Object; pub struct PadTemplate(Object<ffi::GstPadTemplate, ffi::GstPadTemplateClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_pad_template_get_type(), get_type => || ffi::gst_pad_template_get_type(),
} }
} }
@ -39,13 +34,13 @@ impl PadTemplate {
) -> Result<PadTemplate, glib::BoolError> { ) -> Result<PadTemplate, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_none(gst_sys::gst_pad_template_new( Option::<_>::from_glib_none(ffi::gst_pad_template_new(
name_template.to_glib_none().0, name_template.to_glib_none().0,
direction.to_glib(), direction.to_glib(),
presence.to_glib(), presence.to_glib(),
caps.to_glib_none().0, caps.to_glib_none().0,
)) ))
.ok_or_else(|| glib_bool_error!("Failed to create pad template")) .ok_or_else(|| glib::glib_bool_error!("Failed to create pad template"))
} }
} }
@ -60,26 +55,26 @@ impl PadTemplate {
) -> Result<PadTemplate, glib::BoolError> { ) -> Result<PadTemplate, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_none(gst_sys::gst_pad_template_new_with_gtype( Option::<_>::from_glib_none(ffi::gst_pad_template_new_with_gtype(
name_template.to_glib_none().0, name_template.to_glib_none().0,
direction.to_glib(), direction.to_glib(),
presence.to_glib(), presence.to_glib(),
caps.to_glib_none().0, caps.to_glib_none().0,
pad_type.to_glib(), pad_type.to_glib(),
)) ))
.ok_or_else(|| glib_bool_error!("Failed to create pad template")) .ok_or_else(|| glib::glib_bool_error!("Failed to create pad template"))
} }
} }
pub fn get_caps(&self) -> Option<Caps> { pub fn get_caps(&self) -> Option<Caps> {
unsafe { from_glib_full(gst_sys::gst_pad_template_get_caps(self.to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_pad_template_get_caps(self.to_glib_none().0)) }
} }
#[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
pub fn get_documentation_caps(&self) -> Option<Caps> { pub fn get_documentation_caps(&self) -> Option<Caps> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pad_template_get_documentation_caps( from_glib_full(ffi::gst_pad_template_get_documentation_caps(
self.to_glib_none().0, self.to_glib_none().0,
)) ))
} }
@ -87,10 +82,7 @@ impl PadTemplate {
pub fn pad_created<P: IsA<Pad>>(&self, pad: &P) { pub fn pad_created<P: IsA<Pad>>(&self, pad: &P) {
unsafe { unsafe {
gst_sys::gst_pad_template_pad_created( ffi::gst_pad_template_pad_created(self.to_glib_none().0, pad.as_ref().to_glib_none().0);
self.to_glib_none().0,
pad.as_ref().to_glib_none().0,
);
} }
} }
@ -98,7 +90,7 @@ impl PadTemplate {
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
pub fn set_documentation_caps(&self, caps: &Caps) { pub fn set_documentation_caps(&self, caps: &Caps) {
unsafe { unsafe {
gst_sys::gst_pad_template_set_documentation_caps( ffi::gst_pad_template_set_documentation_caps(
self.to_glib_none().0, self.to_glib_none().0,
caps.to_glib_none().0, caps.to_glib_none().0,
); );
@ -108,8 +100,8 @@ impl PadTemplate {
pub fn get_property_direction(&self) -> PadDirection { pub fn get_property_direction(&self) -> PadDirection {
unsafe { unsafe {
let mut value = Value::from_type(<PadDirection as StaticType>::static_type()); let mut value = Value::from_type(<PadDirection as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject, self.as_ptr() as *mut glib::gobject_ffi::GObject,
b"direction\0".as_ptr() as *const _, b"direction\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -125,8 +117,8 @@ impl PadTemplate {
pub fn get_property_gtype(&self) -> glib::types::Type { pub fn get_property_gtype(&self) -> glib::types::Type {
unsafe { unsafe {
let mut value = Value::from_type(<glib::types::Type as StaticType>::static_type()); let mut value = Value::from_type(<glib::types::Type as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject, self.as_ptr() as *mut glib::gobject_ffi::GObject,
b"gtype\0".as_ptr() as *const _, b"gtype\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -137,11 +129,11 @@ impl PadTemplate {
} }
} }
pub fn get_property_name_template(&self) -> Option<GString> { pub fn get_property_name_template(&self) -> Option<glib::GString> {
unsafe { unsafe {
let mut value = Value::from_type(<GString as StaticType>::static_type()); let mut value = Value::from_type(<glib::GString as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject, self.as_ptr() as *mut glib::gobject_ffi::GObject,
b"name-template\0".as_ptr() as *const _, b"name-template\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -154,8 +146,8 @@ impl PadTemplate {
pub fn get_property_presence(&self) -> PadPresence { pub fn get_property_presence(&self) -> PadPresence {
unsafe { unsafe {
let mut value = Value::from_type(<PadPresence as StaticType>::static_type()); let mut value = Value::from_type(<PadPresence as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject, self.as_ptr() as *mut glib::gobject_ffi::GObject,
b"presence\0".as_ptr() as *const _, b"presence\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -173,9 +165,9 @@ impl PadTemplate {
unsafe extern "C" fn pad_created_trampoline< unsafe extern "C" fn pad_created_trampoline<
F: Fn(&PadTemplate, &Pad) + Send + Sync + 'static, F: Fn(&PadTemplate, &Pad) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstPadTemplate, this: *mut ffi::GstPadTemplate,
pad: *mut gst_sys::GstPad, pad: *mut ffi::GstPad,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) { ) {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f(&from_glib_borrow(this), &from_glib_borrow(pad)) f(&from_glib_borrow(this), &from_glib_borrow(pad))

View file

@ -2,27 +2,25 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use crate::Bin;
use crate::ChildProxy;
use crate::Clock;
use crate::ClockTime;
use crate::Element;
use crate::Object;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use Bin;
use ChildProxy;
use Clock;
use ClockTime;
use Element;
use Object;
glib_wrapper! { glib::glib_wrapper! {
pub struct Pipeline(Object<gst_sys::GstPipeline, gst_sys::GstPipelineClass>) @extends Bin, Element, Object, @implements ChildProxy; pub struct Pipeline(Object<ffi::GstPipeline, ffi::GstPipelineClass>) @extends Bin, Element, Object, @implements ChildProxy;
match fn { match fn {
get_type => || gst_sys::gst_pipeline_get_type(), get_type => || ffi::gst_pipeline_get_type(),
} }
} }
@ -30,7 +28,7 @@ impl Pipeline {
pub fn new(name: Option<&str>) -> Pipeline { pub fn new(name: Option<&str>) -> Pipeline {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Element::from_glib_none(gst_sys::gst_pipeline_new(name.to_glib_none().0)).unsafe_cast() Element::from_glib_none(ffi::gst_pipeline_new(name.to_glib_none().0)).unsafe_cast()
} }
} }
} }
@ -78,29 +76,25 @@ pub trait PipelineExt: 'static {
impl<O: IsA<Pipeline>> PipelineExt for O { impl<O: IsA<Pipeline>> PipelineExt for O {
fn auto_clock(&self) { fn auto_clock(&self) {
unsafe { unsafe {
gst_sys::gst_pipeline_auto_clock(self.as_ref().to_glib_none().0); ffi::gst_pipeline_auto_clock(self.as_ref().to_glib_none().0);
} }
} }
fn get_auto_flush_bus(&self) -> bool { fn get_auto_flush_bus(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_pipeline_get_auto_flush_bus( from_glib(ffi::gst_pipeline_get_auto_flush_bus(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_delay(&self) -> ClockTime { fn get_delay(&self) -> ClockTime {
unsafe { unsafe { from_glib(ffi::gst_pipeline_get_delay(self.as_ref().to_glib_none().0)) }
from_glib(gst_sys::gst_pipeline_get_delay(
self.as_ref().to_glib_none().0,
))
}
} }
fn get_latency(&self) -> ClockTime { fn get_latency(&self) -> ClockTime {
unsafe { unsafe {
from_glib(gst_sys::gst_pipeline_get_latency( from_glib(ffi::gst_pipeline_get_latency(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -108,7 +102,7 @@ impl<O: IsA<Pipeline>> PipelineExt for O {
fn get_pipeline_clock(&self) -> Option<Clock> { fn get_pipeline_clock(&self) -> Option<Clock> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_pipeline_get_pipeline_clock( from_glib_full(ffi::gst_pipeline_get_pipeline_clock(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -116,7 +110,7 @@ impl<O: IsA<Pipeline>> PipelineExt for O {
fn set_auto_flush_bus(&self, auto_flush: bool) { fn set_auto_flush_bus(&self, auto_flush: bool) {
unsafe { unsafe {
gst_sys::gst_pipeline_set_auto_flush_bus( ffi::gst_pipeline_set_auto_flush_bus(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
auto_flush.to_glib(), auto_flush.to_glib(),
); );
@ -125,19 +119,19 @@ impl<O: IsA<Pipeline>> PipelineExt for O {
fn set_delay(&self, delay: ClockTime) { fn set_delay(&self, delay: ClockTime) {
unsafe { unsafe {
gst_sys::gst_pipeline_set_delay(self.as_ref().to_glib_none().0, delay.to_glib()); ffi::gst_pipeline_set_delay(self.as_ref().to_glib_none().0, delay.to_glib());
} }
} }
fn set_latency(&self, latency: ClockTime) { fn set_latency(&self, latency: ClockTime) {
unsafe { unsafe {
gst_sys::gst_pipeline_set_latency(self.as_ref().to_glib_none().0, latency.to_glib()); ffi::gst_pipeline_set_latency(self.as_ref().to_glib_none().0, latency.to_glib());
} }
} }
fn use_clock<P: IsA<Clock>>(&self, clock: Option<&P>) { fn use_clock<P: IsA<Clock>>(&self, clock: Option<&P>) {
unsafe { unsafe {
gst_sys::gst_pipeline_use_clock( ffi::gst_pipeline_use_clock(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
clock.map(|p| p.as_ref()).to_glib_none().0, clock.map(|p| p.as_ref()).to_glib_none().0,
); );
@ -152,9 +146,9 @@ impl<O: IsA<Pipeline>> PipelineExt for O {
P, P,
F: Fn(&P) + Send + Sync + 'static, F: Fn(&P) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstPipeline, this: *mut ffi::GstPipeline,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Pipeline>, P: IsA<Pipeline>,
{ {
@ -179,9 +173,9 @@ impl<O: IsA<Pipeline>> PipelineExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_delay_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn notify_delay_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstPipeline, this: *mut ffi::GstPipeline,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Pipeline>, P: IsA<Pipeline>,
{ {
@ -206,9 +200,9 @@ impl<O: IsA<Pipeline>> PipelineExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_latency_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn notify_latency_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstPipeline, this: *mut ffi::GstPipeline,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<Pipeline>, P: IsA<Pipeline>,
{ {

View file

@ -2,20 +2,16 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Object;
use crate::PluginDependencyFlags;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use gst_sys;
use std;
use std::ptr; use std::ptr;
use Object;
use PluginDependencyFlags;
glib_wrapper! { glib::glib_wrapper! {
pub struct Plugin(Object<gst_sys::GstPlugin, gst_sys::GstPluginClass>) @extends Object; pub struct Plugin(Object<ffi::GstPlugin, ffi::GstPluginClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_plugin_get_type(), get_type => || ffi::gst_plugin_get_type(),
} }
} }
@ -28,7 +24,7 @@ impl Plugin {
flags: PluginDependencyFlags, flags: PluginDependencyFlags,
) { ) {
unsafe { unsafe {
gst_sys::gst_plugin_add_dependency( ffi::gst_plugin_add_dependency(
self.to_glib_none().0, self.to_glib_none().0,
env_vars.to_glib_none().0, env_vars.to_glib_none().0,
paths.to_glib_none().0, paths.to_glib_none().0,
@ -46,7 +42,7 @@ impl Plugin {
flags: PluginDependencyFlags, flags: PluginDependencyFlags,
) { ) {
unsafe { unsafe {
gst_sys::gst_plugin_add_dependency_simple( ffi::gst_plugin_add_dependency_simple(
self.to_glib_none().0, self.to_glib_none().0,
env_vars.to_glib_none().0, env_vars.to_glib_none().0,
paths.to_glib_none().0, paths.to_glib_none().0,
@ -56,58 +52,58 @@ impl Plugin {
} }
} }
pub fn get_description(&self) -> GString { pub fn get_description(&self) -> glib::GString {
unsafe { from_glib_none(gst_sys::gst_plugin_get_description(self.to_glib_none().0)) } unsafe { from_glib_none(ffi::gst_plugin_get_description(self.to_glib_none().0)) }
} }
pub fn get_filename(&self) -> Option<std::path::PathBuf> { pub fn get_filename(&self) -> Option<std::path::PathBuf> {
unsafe { from_glib_none(gst_sys::gst_plugin_get_filename(self.to_glib_none().0)) } unsafe { from_glib_none(ffi::gst_plugin_get_filename(self.to_glib_none().0)) }
} }
pub fn get_license(&self) -> GString { pub fn get_license(&self) -> glib::GString {
unsafe { from_glib_none(gst_sys::gst_plugin_get_license(self.to_glib_none().0)) } unsafe { from_glib_none(ffi::gst_plugin_get_license(self.to_glib_none().0)) }
} }
pub fn get_origin(&self) -> GString { pub fn get_origin(&self) -> glib::GString {
unsafe { from_glib_none(gst_sys::gst_plugin_get_origin(self.to_glib_none().0)) } unsafe { from_glib_none(ffi::gst_plugin_get_origin(self.to_glib_none().0)) }
} }
pub fn get_package(&self) -> GString { pub fn get_package(&self) -> glib::GString {
unsafe { from_glib_none(gst_sys::gst_plugin_get_package(self.to_glib_none().0)) } unsafe { from_glib_none(ffi::gst_plugin_get_package(self.to_glib_none().0)) }
} }
pub fn get_release_date_string(&self) -> Option<GString> { pub fn get_release_date_string(&self) -> Option<glib::GString> {
unsafe { unsafe {
from_glib_none(gst_sys::gst_plugin_get_release_date_string( from_glib_none(ffi::gst_plugin_get_release_date_string(
self.to_glib_none().0, self.to_glib_none().0,
)) ))
} }
} }
pub fn get_source(&self) -> GString { pub fn get_source(&self) -> glib::GString {
unsafe { from_glib_none(gst_sys::gst_plugin_get_source(self.to_glib_none().0)) } unsafe { from_glib_none(ffi::gst_plugin_get_source(self.to_glib_none().0)) }
} }
pub fn get_version(&self) -> GString { pub fn get_version(&self) -> glib::GString {
unsafe { from_glib_none(gst_sys::gst_plugin_get_version(self.to_glib_none().0)) } unsafe { from_glib_none(ffi::gst_plugin_get_version(self.to_glib_none().0)) }
} }
pub fn is_loaded(&self) -> bool { pub fn is_loaded(&self) -> bool {
unsafe { from_glib(gst_sys::gst_plugin_is_loaded(self.to_glib_none().0)) } unsafe { from_glib(ffi::gst_plugin_is_loaded(self.to_glib_none().0)) }
} }
pub fn load(&self) -> Result<Plugin, glib::BoolError> { pub fn load(&self) -> Result<Plugin, glib::BoolError> {
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_plugin_load(self.to_glib_none().0)) Option::<_>::from_glib_full(ffi::gst_plugin_load(self.to_glib_none().0))
.ok_or_else(|| glib_bool_error!("Failed to load plugin")) .ok_or_else(|| glib::glib_bool_error!("Failed to load plugin"))
} }
} }
pub fn load_by_name(name: &str) -> Result<Plugin, glib::BoolError> { pub fn load_by_name(name: &str) -> Result<Plugin, glib::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_plugin_load_by_name(name.to_glib_none().0)) Option::<_>::from_glib_full(ffi::gst_plugin_load_by_name(name.to_glib_none().0))
.ok_or_else(|| glib_bool_error!("Failed to load plugin")) .ok_or_else(|| glib::glib_bool_error!("Failed to load plugin"))
} }
} }
@ -115,7 +111,7 @@ impl Plugin {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
let mut error = ptr::null_mut(); let mut error = ptr::null_mut();
let ret = gst_sys::gst_plugin_load_file(filename.as_ref().to_glib_none().0, &mut error); let ret = ffi::gst_plugin_load_file(filename.as_ref().to_glib_none().0, &mut error);
if error.is_null() { if error.is_null() {
Ok(from_glib_full(ret)) Ok(from_glib_full(ret))
} else { } else {

View file

@ -2,19 +2,16 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Object;
use crate::Plugin;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use gst_sys;
use Object;
use Plugin;
glib_wrapper! { glib::glib_wrapper! {
pub struct PluginFeature(Object<gst_sys::GstPluginFeature, gst_sys::GstPluginFeatureClass>) @extends Object; pub struct PluginFeature(Object<ffi::GstPluginFeature, ffi::GstPluginFeatureClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_plugin_feature_get_type(), get_type => || ffi::gst_plugin_feature_get_type(),
} }
} }
@ -28,7 +25,7 @@ pub trait PluginFeatureExt: 'static {
fn get_plugin(&self) -> Option<Plugin>; fn get_plugin(&self) -> Option<Plugin>;
fn get_plugin_name(&self) -> Option<GString>; fn get_plugin_name(&self) -> Option<glib::GString>;
fn load(&self) -> Result<PluginFeature, glib::BoolError>; fn load(&self) -> Result<PluginFeature, glib::BoolError>;
} }
@ -36,7 +33,7 @@ pub trait PluginFeatureExt: 'static {
impl<O: IsA<PluginFeature>> PluginFeatureExt for O { impl<O: IsA<PluginFeature>> PluginFeatureExt for O {
fn check_version(&self, min_major: u32, min_minor: u32, min_micro: u32) -> bool { fn check_version(&self, min_major: u32, min_minor: u32, min_micro: u32) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_plugin_feature_check_version( from_glib(ffi::gst_plugin_feature_check_version(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
min_major, min_major,
min_minor, min_minor,
@ -47,15 +44,15 @@ impl<O: IsA<PluginFeature>> PluginFeatureExt for O {
fn get_plugin(&self) -> Option<Plugin> { fn get_plugin(&self) -> Option<Plugin> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_plugin_feature_get_plugin( from_glib_full(ffi::gst_plugin_feature_get_plugin(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_plugin_name(&self) -> Option<GString> { fn get_plugin_name(&self) -> Option<glib::GString> {
unsafe { unsafe {
from_glib_none(gst_sys::gst_plugin_feature_get_plugin_name( from_glib_none(ffi::gst_plugin_feature_get_plugin_name(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -63,10 +60,10 @@ impl<O: IsA<PluginFeature>> PluginFeatureExt for O {
fn load(&self) -> Result<PluginFeature, glib::BoolError> { fn load(&self) -> Result<PluginFeature, glib::BoolError> {
unsafe { unsafe {
Option::<_>::from_glib_full(gst_sys::gst_plugin_feature_load( Option::<_>::from_glib_full(ffi::gst_plugin_feature_load(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
.ok_or_else(|| glib_bool_error!("Failed to load plugin feature")) .ok_or_else(|| glib::glib_bool_error!("Failed to load plugin feature"))
} }
} }
} }

View file

@ -2,26 +2,22 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use gst_sys;
use std;
use std::ptr; use std::ptr;
glib_wrapper! { glib::glib_wrapper! {
pub struct Preset(Interface<gst_sys::GstPreset>); pub struct Preset(Interface<ffi::GstPreset>);
match fn { match fn {
get_type => || gst_sys::gst_preset_get_type(), get_type => || ffi::gst_preset_get_type(),
} }
} }
impl Preset { impl Preset {
pub fn get_app_dir() -> Option<std::path::PathBuf> { pub fn get_app_dir() -> Option<std::path::PathBuf> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_none(gst_sys::gst_preset_get_app_dir()) } unsafe { from_glib_none(ffi::gst_preset_get_app_dir()) }
} }
pub fn set_app_dir<P: AsRef<std::path::Path>>( pub fn set_app_dir<P: AsRef<std::path::Path>>(
@ -29,8 +25,8 @@ impl Preset {
) -> Result<(), glib::error::BoolError> { ) -> Result<(), glib::error::BoolError> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_preset_set_app_dir(app_dir.as_ref().to_glib_none().0), ffi::gst_preset_set_app_dir(app_dir.as_ref().to_glib_none().0),
"Failed to set app preset directory" "Failed to set app preset directory"
) )
} }
@ -45,11 +41,11 @@ pub const NONE_PRESET: Option<&Preset> = None;
pub trait PresetExt: 'static { pub trait PresetExt: 'static {
fn delete_preset(&self, name: &str) -> Result<(), glib::error::BoolError>; fn delete_preset(&self, name: &str) -> Result<(), glib::error::BoolError>;
fn get_meta(&self, name: &str, tag: &str) -> Option<GString>; fn get_meta(&self, name: &str, tag: &str) -> Option<glib::GString>;
fn get_preset_names(&self) -> Vec<GString>; fn get_preset_names(&self) -> Vec<glib::GString>;
fn get_property_names(&self) -> Vec<GString>; fn get_property_names(&self) -> Vec<glib::GString>;
fn is_editable(&self) -> bool; fn is_editable(&self) -> bool;
@ -70,8 +66,8 @@ pub trait PresetExt: 'static {
impl<O: IsA<Preset>> PresetExt for O { impl<O: IsA<Preset>> PresetExt for O {
fn delete_preset(&self, name: &str) -> Result<(), glib::error::BoolError> { fn delete_preset(&self, name: &str) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_preset_delete_preset( ffi::gst_preset_delete_preset(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0 name.to_glib_none().0
), ),
@ -80,10 +76,10 @@ impl<O: IsA<Preset>> PresetExt for O {
} }
} }
fn get_meta(&self, name: &str, tag: &str) -> Option<GString> { fn get_meta(&self, name: &str, tag: &str) -> Option<glib::GString> {
unsafe { unsafe {
let mut value = ptr::null_mut(); let mut value = ptr::null_mut();
let ret = from_glib(gst_sys::gst_preset_get_meta( let ret = from_glib(ffi::gst_preset_get_meta(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
tag.to_glib_none().0, tag.to_glib_none().0,
@ -97,37 +93,30 @@ impl<O: IsA<Preset>> PresetExt for O {
} }
} }
fn get_preset_names(&self) -> Vec<GString> { fn get_preset_names(&self) -> Vec<glib::GString> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_preset_get_preset_names( FromGlibPtrContainer::from_glib_full(ffi::gst_preset_get_preset_names(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_property_names(&self) -> Vec<GString> { fn get_property_names(&self) -> Vec<glib::GString> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_preset_get_property_names( FromGlibPtrContainer::from_glib_full(ffi::gst_preset_get_property_names(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn is_editable(&self) -> bool { fn is_editable(&self) -> bool {
unsafe { unsafe { from_glib(ffi::gst_preset_is_editable(self.as_ref().to_glib_none().0)) }
from_glib(gst_sys::gst_preset_is_editable(
self.as_ref().to_glib_none().0,
))
}
} }
fn load_preset(&self, name: &str) -> Result<(), glib::error::BoolError> { fn load_preset(&self, name: &str) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_preset_load_preset( ffi::gst_preset_load_preset(self.as_ref().to_glib_none().0, name.to_glib_none().0),
self.as_ref().to_glib_none().0,
name.to_glib_none().0
),
"Failed to load preset" "Failed to load preset"
) )
} }
@ -135,8 +124,8 @@ impl<O: IsA<Preset>> PresetExt for O {
fn rename_preset(&self, old_name: &str, new_name: &str) -> Result<(), glib::error::BoolError> { fn rename_preset(&self, old_name: &str, new_name: &str) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_preset_rename_preset( ffi::gst_preset_rename_preset(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
old_name.to_glib_none().0, old_name.to_glib_none().0,
new_name.to_glib_none().0 new_name.to_glib_none().0
@ -148,11 +137,8 @@ impl<O: IsA<Preset>> PresetExt for O {
fn save_preset(&self, name: &str) -> Result<(), glib::error::BoolError> { fn save_preset(&self, name: &str) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_preset_save_preset( ffi::gst_preset_save_preset(self.as_ref().to_glib_none().0, name.to_glib_none().0),
self.as_ref().to_glib_none().0,
name.to_glib_none().0
),
"Failed to save preset" "Failed to save preset"
) )
} }
@ -165,8 +151,8 @@ impl<O: IsA<Preset>> PresetExt for O {
value: Option<&str>, value: Option<&str>,
) -> Result<(), glib::error::BoolError> { ) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_preset_set_meta( ffi::gst_preset_set_meta(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
tag.to_glib_none().0, tag.to_glib_none().0,

View file

@ -2,23 +2,22 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use crate::Object;
use crate::Pad;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use gst_sys;
use Object;
use Pad;
glib_wrapper! { glib::glib_wrapper! {
pub struct ProxyPad(Object<gst_sys::GstProxyPad, gst_sys::GstProxyPadClass>) @extends Pad, Object; pub struct ProxyPad(Object<ffi::GstProxyPad, ffi::GstProxyPadClass>) @extends Pad, Object;
match fn { match fn {
get_type => || gst_sys::gst_proxy_pad_get_type(), get_type => || ffi::gst_proxy_pad_get_type(),
} }
} }
impl ProxyPad { impl ProxyPad {
//pub fn iterate_internal_links_default<P: IsA<Pad>, Q: IsA<Object>>(pad: &P, parent: Option<&Q>) -> /*Ignored*/Option<Iterator> { //pub fn iterate_internal_links_default<P: IsA<Pad>, Q: IsA<Object>>(pad: &P, parent: Option<&Q>) -> /*Ignored*/Option<Iterator> {
// unsafe { TODO: call gst_sys:gst_proxy_pad_iterate_internal_links_default() } // unsafe { TODO: call ffi:gst_proxy_pad_iterate_internal_links_default() }
//} //}
} }
@ -34,7 +33,7 @@ pub trait ProxyPadExt: 'static {
impl<O: IsA<ProxyPad>> ProxyPadExt for O { impl<O: IsA<ProxyPad>> ProxyPadExt for O {
fn get_internal(&self) -> Option<ProxyPad> { fn get_internal(&self) -> Option<ProxyPad> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_proxy_pad_get_internal( from_glib_full(ffi::gst_proxy_pad_get_internal(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }

View file

@ -2,26 +2,22 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::Object;
use crate::Plugin;
use crate::PluginFeature;
use glib::object::IsA; use glib::object::IsA;
use glib::object::ObjectType as ObjectType_; use glib::object::ObjectType as ObjectType_;
use glib::signal::connect_raw; use glib::signal::connect_raw;
use glib::signal::SignalHandlerId; use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib_sys;
use gst_sys;
use std;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use Object;
use Plugin;
use PluginFeature;
glib_wrapper! { glib::glib_wrapper! {
pub struct Registry(Object<gst_sys::GstRegistry, gst_sys::GstRegistryClass>) @extends Object; pub struct Registry(Object<ffi::GstRegistry, ffi::GstRegistryClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_registry_get_type(), get_type => || ffi::gst_registry_get_type(),
} }
} }
@ -31,8 +27,8 @@ impl Registry {
feature: &P, feature: &P,
) -> Result<(), glib::error::BoolError> { ) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_registry_add_feature( ffi::gst_registry_add_feature(
self.to_glib_none().0, self.to_glib_none().0,
feature.as_ref().to_glib_none().0 feature.as_ref().to_glib_none().0
), ),
@ -43,8 +39,8 @@ impl Registry {
pub fn add_plugin(&self, plugin: &Plugin) -> Result<(), glib::error::BoolError> { pub fn add_plugin(&self, plugin: &Plugin) -> Result<(), glib::error::BoolError> {
unsafe { unsafe {
glib_result_from_gboolean!( glib::glib_result_from_gboolean!(
gst_sys::gst_registry_add_plugin(self.to_glib_none().0, plugin.to_glib_none().0), ffi::gst_registry_add_plugin(self.to_glib_none().0, plugin.to_glib_none().0),
"Failed to add plugin" "Failed to add plugin"
) )
} }
@ -58,7 +54,7 @@ impl Registry {
min_micro: u32, min_micro: u32,
) -> bool { ) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_registry_check_feature_version( from_glib(ffi::gst_registry_check_feature_version(
self.to_glib_none().0, self.to_glib_none().0,
feature_name.to_glib_none().0, feature_name.to_glib_none().0,
min_major, min_major,
@ -75,9 +71,9 @@ impl Registry {
) -> Vec<PluginFeature> { ) -> Vec<PluginFeature> {
let filter_data: P = filter; let filter_data: P = filter;
unsafe extern "C" fn filter_func<P: FnMut(&PluginFeature) -> bool>( unsafe extern "C" fn filter_func<P: FnMut(&PluginFeature) -> bool>(
feature: *mut gst_sys::GstPluginFeature, feature: *mut ffi::GstPluginFeature,
user_data: glib_sys::gpointer, user_data: glib::ffi::gpointer,
) -> glib_sys::gboolean { ) -> glib::ffi::gboolean {
let feature = from_glib_borrow(feature); let feature = from_glib_borrow(feature);
let callback: *mut P = user_data as *const _ as usize as *mut P; let callback: *mut P = user_data as *const _ as usize as *mut P;
let res = (*callback)(&feature); let res = (*callback)(&feature);
@ -86,7 +82,7 @@ impl Registry {
let filter = Some(filter_func::<P> as _); let filter = Some(filter_func::<P> as _);
let super_callback0: &P = &filter_data; let super_callback0: &P = &filter_data;
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_registry_feature_filter( FromGlibPtrContainer::from_glib_full(ffi::gst_registry_feature_filter(
self.to_glib_none().0, self.to_glib_none().0,
filter, filter,
first.to_glib(), first.to_glib(),
@ -97,7 +93,7 @@ impl Registry {
pub fn find_feature(&self, name: &str, type_: glib::types::Type) -> Option<PluginFeature> { pub fn find_feature(&self, name: &str, type_: glib::types::Type) -> Option<PluginFeature> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_registry_find_feature( from_glib_full(ffi::gst_registry_find_feature(
self.to_glib_none().0, self.to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
type_.to_glib(), type_.to_glib(),
@ -107,7 +103,7 @@ impl Registry {
pub fn find_plugin(&self, name: &str) -> Option<Plugin> { pub fn find_plugin(&self, name: &str) -> Option<Plugin> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_registry_find_plugin( from_glib_full(ffi::gst_registry_find_plugin(
self.to_glib_none().0, self.to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
@ -116,7 +112,7 @@ impl Registry {
pub fn get_feature_list(&self, type_: glib::types::Type) -> Vec<PluginFeature> { pub fn get_feature_list(&self, type_: glib::types::Type) -> Vec<PluginFeature> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_registry_get_feature_list( FromGlibPtrContainer::from_glib_full(ffi::gst_registry_get_feature_list(
self.to_glib_none().0, self.to_glib_none().0,
type_.to_glib(), type_.to_glib(),
)) ))
@ -125,7 +121,7 @@ impl Registry {
pub fn get_feature_list_by_plugin(&self, name: &str) -> Vec<PluginFeature> { pub fn get_feature_list_by_plugin(&self, name: &str) -> Vec<PluginFeature> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_registry_get_feature_list_by_plugin( FromGlibPtrContainer::from_glib_full(ffi::gst_registry_get_feature_list_by_plugin(
self.to_glib_none().0, self.to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
@ -133,12 +129,12 @@ impl Registry {
} }
pub fn get_feature_list_cookie(&self) -> u32 { pub fn get_feature_list_cookie(&self) -> u32 {
unsafe { gst_sys::gst_registry_get_feature_list_cookie(self.to_glib_none().0) } unsafe { ffi::gst_registry_get_feature_list_cookie(self.to_glib_none().0) }
} }
pub fn get_plugin_list(&self) -> Vec<Plugin> { pub fn get_plugin_list(&self) -> Vec<Plugin> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_registry_get_plugin_list( FromGlibPtrContainer::from_glib_full(ffi::gst_registry_get_plugin_list(
self.to_glib_none().0, self.to_glib_none().0,
)) ))
} }
@ -146,7 +142,7 @@ impl Registry {
pub fn lookup(&self, filename: &str) -> Option<Plugin> { pub fn lookup(&self, filename: &str) -> Option<Plugin> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_registry_lookup( from_glib_full(ffi::gst_registry_lookup(
self.to_glib_none().0, self.to_glib_none().0,
filename.to_glib_none().0, filename.to_glib_none().0,
)) ))
@ -155,7 +151,7 @@ impl Registry {
pub fn lookup_feature(&self, name: &str) -> Option<PluginFeature> { pub fn lookup_feature(&self, name: &str) -> Option<PluginFeature> {
unsafe { unsafe {
from_glib_full(gst_sys::gst_registry_lookup_feature( from_glib_full(ffi::gst_registry_lookup_feature(
self.to_glib_none().0, self.to_glib_none().0,
name.to_glib_none().0, name.to_glib_none().0,
)) ))
@ -165,9 +161,9 @@ impl Registry {
pub fn plugin_filter<P: FnMut(&Plugin) -> bool>(&self, filter: P, first: bool) -> Vec<Plugin> { pub fn plugin_filter<P: FnMut(&Plugin) -> bool>(&self, filter: P, first: bool) -> Vec<Plugin> {
let filter_data: P = filter; let filter_data: P = filter;
unsafe extern "C" fn filter_func<P: FnMut(&Plugin) -> bool>( unsafe extern "C" fn filter_func<P: FnMut(&Plugin) -> bool>(
plugin: *mut gst_sys::GstPlugin, plugin: *mut ffi::GstPlugin,
user_data: glib_sys::gpointer, user_data: glib::ffi::gpointer,
) -> glib_sys::gboolean { ) -> glib::ffi::gboolean {
let plugin = from_glib_borrow(plugin); let plugin = from_glib_borrow(plugin);
let callback: *mut P = user_data as *const _ as usize as *mut P; let callback: *mut P = user_data as *const _ as usize as *mut P;
let res = (*callback)(&plugin); let res = (*callback)(&plugin);
@ -176,7 +172,7 @@ impl Registry {
let filter = Some(filter_func::<P> as _); let filter = Some(filter_func::<P> as _);
let super_callback0: &P = &filter_data; let super_callback0: &P = &filter_data;
unsafe { unsafe {
FromGlibPtrContainer::from_glib_full(gst_sys::gst_registry_plugin_filter( FromGlibPtrContainer::from_glib_full(ffi::gst_registry_plugin_filter(
self.to_glib_none().0, self.to_glib_none().0,
filter, filter,
first.to_glib(), first.to_glib(),
@ -187,7 +183,7 @@ impl Registry {
pub fn remove_feature<P: IsA<PluginFeature>>(&self, feature: &P) { pub fn remove_feature<P: IsA<PluginFeature>>(&self, feature: &P) {
unsafe { unsafe {
gst_sys::gst_registry_remove_feature( ffi::gst_registry_remove_feature(
self.to_glib_none().0, self.to_glib_none().0,
feature.as_ref().to_glib_none().0, feature.as_ref().to_glib_none().0,
); );
@ -196,13 +192,13 @@ impl Registry {
pub fn remove_plugin(&self, plugin: &Plugin) { pub fn remove_plugin(&self, plugin: &Plugin) {
unsafe { unsafe {
gst_sys::gst_registry_remove_plugin(self.to_glib_none().0, plugin.to_glib_none().0); ffi::gst_registry_remove_plugin(self.to_glib_none().0, plugin.to_glib_none().0);
} }
} }
pub fn scan_path<P: AsRef<std::path::Path>>(&self, path: P) -> bool { pub fn scan_path<P: AsRef<std::path::Path>>(&self, path: P) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_registry_scan_path( from_glib(ffi::gst_registry_scan_path(
self.to_glib_none().0, self.to_glib_none().0,
path.as_ref().to_glib_none().0, path.as_ref().to_glib_none().0,
)) ))
@ -211,7 +207,7 @@ impl Registry {
pub fn get() -> Registry { pub fn get() -> Registry {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_none(gst_sys::gst_registry_get()) } unsafe { from_glib_none(ffi::gst_registry_get()) }
} }
pub fn connect_feature_added<F: Fn(&Registry, &PluginFeature) + Send + Sync + 'static>( pub fn connect_feature_added<F: Fn(&Registry, &PluginFeature) + Send + Sync + 'static>(
@ -221,9 +217,9 @@ impl Registry {
unsafe extern "C" fn feature_added_trampoline< unsafe extern "C" fn feature_added_trampoline<
F: Fn(&Registry, &PluginFeature) + Send + Sync + 'static, F: Fn(&Registry, &PluginFeature) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstRegistry, this: *mut ffi::GstRegistry,
feature: *mut gst_sys::GstPluginFeature, feature: *mut ffi::GstPluginFeature,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) { ) {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f(&from_glib_borrow(this), &from_glib_borrow(feature)) f(&from_glib_borrow(this), &from_glib_borrow(feature))
@ -248,9 +244,9 @@ impl Registry {
unsafe extern "C" fn plugin_added_trampoline< unsafe extern "C" fn plugin_added_trampoline<
F: Fn(&Registry, &Plugin) + Send + Sync + 'static, F: Fn(&Registry, &Plugin) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstRegistry, this: *mut ffi::GstRegistry,
plugin: *mut gst_sys::GstPlugin, plugin: *mut ffi::GstPlugin,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) { ) {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f(&from_glib_borrow(this), &from_glib_borrow(plugin)) f(&from_glib_borrow(this), &from_glib_borrow(plugin))

View file

@ -2,6 +2,19 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use crate::Caps;
use crate::Object;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use crate::StreamFlags;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use crate::StreamType;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use crate::TagList;
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use glib::object::ObjectType as ObjectType_; use glib::object::ObjectType as ObjectType_;
@ -14,36 +27,16 @@ use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use glib::GString;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use glib_sys;
use gst_sys;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use std::mem::transmute; use std::mem::transmute;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use Caps;
use Object;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use StreamFlags;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use StreamType;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use TagList;
glib_wrapper! { glib::glib_wrapper! {
pub struct Stream(Object<gst_sys::GstStream, gst_sys::GstStreamClass>) @extends Object; pub struct Stream(Object<ffi::GstStream, ffi::GstStreamClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_stream_get_type(), get_type => || ffi::gst_stream_get_type(),
} }
} }
@ -51,38 +44,38 @@ impl Stream {
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn get_caps(&self) -> Option<Caps> { pub fn get_caps(&self) -> Option<Caps> {
unsafe { from_glib_full(gst_sys::gst_stream_get_caps(self.to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_stream_get_caps(self.to_glib_none().0)) }
} }
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn get_stream_flags(&self) -> StreamFlags { pub fn get_stream_flags(&self) -> StreamFlags {
unsafe { from_glib(gst_sys::gst_stream_get_stream_flags(self.to_glib_none().0)) } unsafe { from_glib(ffi::gst_stream_get_stream_flags(self.to_glib_none().0)) }
} }
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn get_stream_id(&self) -> Option<GString> { pub fn get_stream_id(&self) -> Option<glib::GString> {
unsafe { from_glib_none(gst_sys::gst_stream_get_stream_id(self.to_glib_none().0)) } unsafe { from_glib_none(ffi::gst_stream_get_stream_id(self.to_glib_none().0)) }
} }
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn get_stream_type(&self) -> StreamType { pub fn get_stream_type(&self) -> StreamType {
unsafe { from_glib(gst_sys::gst_stream_get_stream_type(self.to_glib_none().0)) } unsafe { from_glib(ffi::gst_stream_get_stream_type(self.to_glib_none().0)) }
} }
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn get_tags(&self) -> Option<TagList> { pub fn get_tags(&self) -> Option<TagList> {
unsafe { from_glib_full(gst_sys::gst_stream_get_tags(self.to_glib_none().0)) } unsafe { from_glib_full(ffi::gst_stream_get_tags(self.to_glib_none().0)) }
} }
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn set_caps(&self, caps: Option<&Caps>) { pub fn set_caps(&self, caps: Option<&Caps>) {
unsafe { unsafe {
gst_sys::gst_stream_set_caps(self.to_glib_none().0, caps.to_glib_none().0); ffi::gst_stream_set_caps(self.to_glib_none().0, caps.to_glib_none().0);
} }
} }
@ -90,7 +83,7 @@ impl Stream {
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn set_stream_flags(&self, flags: StreamFlags) { pub fn set_stream_flags(&self, flags: StreamFlags) {
unsafe { unsafe {
gst_sys::gst_stream_set_stream_flags(self.to_glib_none().0, flags.to_glib()); ffi::gst_stream_set_stream_flags(self.to_glib_none().0, flags.to_glib());
} }
} }
@ -98,7 +91,7 @@ impl Stream {
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn set_stream_type(&self, stream_type: StreamType) { pub fn set_stream_type(&self, stream_type: StreamType) {
unsafe { unsafe {
gst_sys::gst_stream_set_stream_type(self.to_glib_none().0, stream_type.to_glib()); ffi::gst_stream_set_stream_type(self.to_glib_none().0, stream_type.to_glib());
} }
} }
@ -106,7 +99,7 @@ impl Stream {
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn set_tags(&self, tags: Option<&TagList>) { pub fn set_tags(&self, tags: Option<&TagList>) {
unsafe { unsafe {
gst_sys::gst_stream_set_tags(self.to_glib_none().0, tags.to_glib_none().0); ffi::gst_stream_set_tags(self.to_glib_none().0, tags.to_glib_none().0);
} }
} }
@ -117,9 +110,9 @@ impl Stream {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_caps_trampoline<F: Fn(&Stream) + Send + Sync + 'static>( unsafe extern "C" fn notify_caps_trampoline<F: Fn(&Stream) + Send + Sync + 'static>(
this: *mut gst_sys::GstStream, this: *mut ffi::GstStream,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) { ) {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f(&from_glib_borrow(this)) f(&from_glib_borrow(this))
@ -146,9 +139,9 @@ impl Stream {
unsafe extern "C" fn notify_stream_flags_trampoline< unsafe extern "C" fn notify_stream_flags_trampoline<
F: Fn(&Stream) + Send + Sync + 'static, F: Fn(&Stream) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstStream, this: *mut ffi::GstStream,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) { ) {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f(&from_glib_borrow(this)) f(&from_glib_borrow(this))
@ -175,9 +168,9 @@ impl Stream {
unsafe extern "C" fn notify_stream_type_trampoline< unsafe extern "C" fn notify_stream_type_trampoline<
F: Fn(&Stream) + Send + Sync + 'static, F: Fn(&Stream) + Send + Sync + 'static,
>( >(
this: *mut gst_sys::GstStream, this: *mut ffi::GstStream,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) { ) {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f(&from_glib_borrow(this)) f(&from_glib_borrow(this))
@ -202,9 +195,9 @@ impl Stream {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_tags_trampoline<F: Fn(&Stream) + Send + Sync + 'static>( unsafe extern "C" fn notify_tags_trampoline<F: Fn(&Stream) + Send + Sync + 'static>(
this: *mut gst_sys::GstStream, this: *mut ffi::GstStream,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) { ) {
let f: &F = &*(f as *const F); let f: &F = &*(f as *const F);
f(&from_glib_borrow(this)) f(&from_glib_borrow(this))

View file

@ -2,21 +2,17 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use crate::Object;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use crate::Stream;
use glib::translate::*; use glib::translate::*;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use glib::GString;
use gst_sys;
use Object;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use Stream;
glib_wrapper! { glib::glib_wrapper! {
pub struct StreamCollection(Object<gst_sys::GstStreamCollection, gst_sys::GstStreamCollectionClass>) @extends Object; pub struct StreamCollection(Object<ffi::GstStreamCollection, ffi::GstStreamCollectionClass>) @extends Object;
match fn { match fn {
get_type => || gst_sys::gst_stream_collection_get_type(), get_type => || ffi::gst_stream_collection_get_type(),
} }
} }
@ -24,14 +20,14 @@ impl StreamCollection {
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn get_size(&self) -> u32 { pub fn get_size(&self) -> u32 {
unsafe { gst_sys::gst_stream_collection_get_size(self.to_glib_none().0) } unsafe { ffi::gst_stream_collection_get_size(self.to_glib_none().0) }
} }
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn get_stream(&self, index: u32) -> Option<Stream> { pub fn get_stream(&self, index: u32) -> Option<Stream> {
unsafe { unsafe {
from_glib_none(gst_sys::gst_stream_collection_get_stream( from_glib_none(ffi::gst_stream_collection_get_stream(
self.to_glib_none().0, self.to_glib_none().0,
index, index,
)) ))
@ -40,9 +36,9 @@ impl StreamCollection {
#[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn get_upstream_id(&self) -> Option<GString> { pub fn get_upstream_id(&self) -> Option<glib::GString> {
unsafe { unsafe {
from_glib_none(gst_sys::gst_stream_collection_get_upstream_id( from_glib_none(ffi::gst_stream_collection_get_upstream_id(
self.to_glib_none().0, self.to_glib_none().0,
)) ))
} }

View file

@ -2,6 +2,9 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use crate::Clock;
use crate::ClockType;
use crate::Object;
use glib::object::Cast; use glib::object::Cast;
use glib::object::IsA; use glib::object::IsA;
use glib::signal::connect_raw; use glib::signal::connect_raw;
@ -9,33 +12,27 @@ use glib::signal::SignalHandlerId;
use glib::translate::*; use glib::translate::*;
use glib::StaticType; use glib::StaticType;
use glib::Value; use glib::Value;
use glib_sys;
use gobject_sys;
use gst_sys;
use std::boxed::Box as Box_; use std::boxed::Box as Box_;
use std::mem::transmute; use std::mem::transmute;
use Clock;
use ClockType;
use Object;
glib_wrapper! { glib::glib_wrapper! {
pub struct SystemClock(Object<gst_sys::GstSystemClock, gst_sys::GstSystemClockClass>) @extends Clock, Object; pub struct SystemClock(Object<ffi::GstSystemClock, ffi::GstSystemClockClass>) @extends Clock, Object;
match fn { match fn {
get_type => || gst_sys::gst_system_clock_get_type(), get_type => || ffi::gst_system_clock_get_type(),
} }
} }
impl SystemClock { impl SystemClock {
pub fn obtain() -> Clock { pub fn obtain() -> Clock {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { from_glib_full(gst_sys::gst_system_clock_obtain()) } unsafe { from_glib_full(ffi::gst_system_clock_obtain()) }
} }
pub fn set_default<P: IsA<Clock>>(new_clock: Option<&P>) { pub fn set_default<P: IsA<Clock>>(new_clock: Option<&P>) {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { unsafe {
gst_sys::gst_system_clock_set_default(new_clock.map(|p| p.as_ref()).to_glib_none().0); ffi::gst_system_clock_set_default(new_clock.map(|p| p.as_ref()).to_glib_none().0);
} }
} }
} }
@ -60,8 +57,8 @@ impl<O: IsA<SystemClock>> SystemClockExt for O {
fn get_property_clock_type(&self) -> ClockType { fn get_property_clock_type(&self) -> ClockType {
unsafe { unsafe {
let mut value = Value::from_type(<ClockType as StaticType>::static_type()); let mut value = Value::from_type(<ClockType as StaticType>::static_type());
gobject_sys::g_object_get_property( glib::gobject_ffi::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"clock-type\0".as_ptr() as *const _, b"clock-type\0".as_ptr() as *const _,
value.to_glib_none_mut().0, value.to_glib_none_mut().0,
); );
@ -74,8 +71,8 @@ impl<O: IsA<SystemClock>> SystemClockExt for O {
fn set_property_clock_type(&self, clock_type: ClockType) { fn set_property_clock_type(&self, clock_type: ClockType) {
unsafe { unsafe {
gobject_sys::g_object_set_property( glib::gobject_ffi::g_object_set_property(
self.to_glib_none().0 as *mut gobject_sys::GObject, self.to_glib_none().0 as *mut glib::gobject_ffi::GObject,
b"clock-type\0".as_ptr() as *const _, b"clock-type\0".as_ptr() as *const _,
Value::from(&clock_type).to_glib_none().0, Value::from(&clock_type).to_glib_none().0,
); );
@ -87,9 +84,9 @@ impl<O: IsA<SystemClock>> SystemClockExt for O {
f: F, f: F,
) -> SignalHandlerId { ) -> SignalHandlerId {
unsafe extern "C" fn notify_clock_type_trampoline<P, F: Fn(&P) + Send + Sync + 'static>( unsafe extern "C" fn notify_clock_type_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_sys::GstSystemClock, this: *mut ffi::GstSystemClock,
_param_spec: glib_sys::gpointer, _param_spec: glib::ffi::gpointer,
f: glib_sys::gpointer, f: glib::ffi::gpointer,
) where ) where
P: IsA<SystemClock>, P: IsA<SystemClock>,
{ {

View file

@ -2,19 +2,18 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use crate::Element;
use crate::Object;
use crate::TagList;
use crate::TagMergeMode;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use gst_sys;
use Element;
use Object;
use TagList;
use TagMergeMode;
glib_wrapper! { glib::glib_wrapper! {
pub struct TagSetter(Interface<gst_sys::GstTagSetter>) @requires Element, Object; pub struct TagSetter(Interface<ffi::GstTagSetter>) @requires Element, Object;
match fn { match fn {
get_type => || gst_sys::gst_tag_setter_get_type(), get_type => || ffi::gst_tag_setter_get_type(),
} }
} }
@ -45,24 +44,24 @@ pub trait TagSetterExt: 'static {
impl<O: IsA<TagSetter>> TagSetterExt for O { impl<O: IsA<TagSetter>> TagSetterExt for O {
//fn add_tag_valist(&self, mode: TagMergeMode, tag: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) { //fn add_tag_valist(&self, mode: TagMergeMode, tag: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) {
// unsafe { TODO: call gst_sys:gst_tag_setter_add_tag_valist() } // unsafe { TODO: call ffi:gst_tag_setter_add_tag_valist() }
//} //}
//fn add_tag_valist_values(&self, mode: TagMergeMode, tag: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) { //fn add_tag_valist_values(&self, mode: TagMergeMode, tag: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) {
// unsafe { TODO: call gst_sys:gst_tag_setter_add_tag_valist_values() } // unsafe { TODO: call ffi:gst_tag_setter_add_tag_valist_values() }
//} //}
//fn add_tag_values(&self, mode: TagMergeMode, tag: &str, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) { //fn add_tag_values(&self, mode: TagMergeMode, tag: &str, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) {
// unsafe { TODO: call gst_sys:gst_tag_setter_add_tag_values() } // unsafe { TODO: call ffi:gst_tag_setter_add_tag_values() }
//} //}
//fn add_tags(&self, mode: TagMergeMode, tag: &str, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) { //fn add_tags(&self, mode: TagMergeMode, tag: &str, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) {
// unsafe { TODO: call gst_sys:gst_tag_setter_add_tags() } // unsafe { TODO: call ffi:gst_tag_setter_add_tags() }
//} //}
fn get_tag_list(&self) -> Option<TagList> { fn get_tag_list(&self) -> Option<TagList> {
unsafe { unsafe {
from_glib_none(gst_sys::gst_tag_setter_get_tag_list( from_glib_none(ffi::gst_tag_setter_get_tag_list(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -70,7 +69,7 @@ impl<O: IsA<TagSetter>> TagSetterExt for O {
fn get_tag_merge_mode(&self) -> TagMergeMode { fn get_tag_merge_mode(&self) -> TagMergeMode {
unsafe { unsafe {
from_glib(gst_sys::gst_tag_setter_get_tag_merge_mode( from_glib(ffi::gst_tag_setter_get_tag_merge_mode(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -78,7 +77,7 @@ impl<O: IsA<TagSetter>> TagSetterExt for O {
fn merge_tags(&self, list: &TagList, mode: TagMergeMode) { fn merge_tags(&self, list: &TagList, mode: TagMergeMode) {
unsafe { unsafe {
gst_sys::gst_tag_setter_merge_tags( ffi::gst_tag_setter_merge_tags(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
list.to_glib_none().0, list.to_glib_none().0,
mode.to_glib(), mode.to_glib(),
@ -88,16 +87,13 @@ impl<O: IsA<TagSetter>> TagSetterExt for O {
fn reset_tags(&self) { fn reset_tags(&self) {
unsafe { unsafe {
gst_sys::gst_tag_setter_reset_tags(self.as_ref().to_glib_none().0); ffi::gst_tag_setter_reset_tags(self.as_ref().to_glib_none().0);
} }
} }
fn set_tag_merge_mode(&self, mode: TagMergeMode) { fn set_tag_merge_mode(&self, mode: TagMergeMode) {
unsafe { unsafe {
gst_sys::gst_tag_setter_set_tag_merge_mode( ffi::gst_tag_setter_set_tag_merge_mode(self.as_ref().to_glib_none().0, mode.to_glib());
self.as_ref().to_glib_none().0,
mode.to_glib(),
);
} }
} }
} }

View file

@ -2,18 +2,17 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use crate::Element;
use crate::Object;
use crate::Toc;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use gst_sys;
use Element;
use Object;
use Toc;
glib_wrapper! { glib::glib_wrapper! {
pub struct TocSetter(Interface<gst_sys::GstTocSetter>) @requires Element, Object; pub struct TocSetter(Interface<ffi::GstTocSetter>) @requires Element, Object;
match fn { match fn {
get_type => || gst_sys::gst_toc_setter_get_type(), get_type => || ffi::gst_toc_setter_get_type(),
} }
} }
@ -32,22 +31,18 @@ pub trait TocSetterExt: 'static {
impl<O: IsA<TocSetter>> TocSetterExt for O { impl<O: IsA<TocSetter>> TocSetterExt for O {
fn get_toc(&self) -> Option<Toc> { fn get_toc(&self) -> Option<Toc> {
unsafe { unsafe { from_glib_full(ffi::gst_toc_setter_get_toc(self.as_ref().to_glib_none().0)) }
from_glib_full(gst_sys::gst_toc_setter_get_toc(
self.as_ref().to_glib_none().0,
))
}
} }
fn reset(&self) { fn reset(&self) {
unsafe { unsafe {
gst_sys::gst_toc_setter_reset(self.as_ref().to_glib_none().0); ffi::gst_toc_setter_reset(self.as_ref().to_glib_none().0);
} }
} }
fn set_toc(&self, toc: Option<&Toc>) { fn set_toc(&self, toc: Option<&Toc>) {
unsafe { unsafe {
gst_sys::gst_toc_setter_set_toc(self.as_ref().to_glib_none().0, toc.to_glib_none().0); ffi::gst_toc_setter_set_toc(self.as_ref().to_glib_none().0, toc.to_glib_none().0);
} }
} }
} }

View file

@ -2,37 +2,31 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use crate::Caps;
use crate::Object;
use crate::PluginFeature;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use gst_sys;
use Caps;
use Object;
use PluginFeature;
glib_wrapper! { glib::glib_wrapper! {
pub struct TypeFindFactory(Object<gst_sys::GstTypeFindFactory, gst_sys::GstTypeFindFactoryClass>) @extends PluginFeature, Object; pub struct TypeFindFactory(Object<ffi::GstTypeFindFactory, ffi::GstTypeFindFactoryClass>) @extends PluginFeature, Object;
match fn { match fn {
get_type => || gst_sys::gst_type_find_factory_get_type(), get_type => || ffi::gst_type_find_factory_get_type(),
} }
} }
impl TypeFindFactory { impl TypeFindFactory {
//pub fn call_function(&self, find: /*Ignored*/&mut TypeFind) { //pub fn call_function(&self, find: /*Ignored*/&mut TypeFind) {
// unsafe { TODO: call gst_sys:gst_type_find_factory_call_function() } // unsafe { TODO: call ffi:gst_type_find_factory_call_function() }
//} //}
pub fn get_caps(&self) -> Option<Caps> { pub fn get_caps(&self) -> Option<Caps> {
unsafe { unsafe { from_glib_none(ffi::gst_type_find_factory_get_caps(self.to_glib_none().0)) }
from_glib_none(gst_sys::gst_type_find_factory_get_caps(
self.to_glib_none().0,
))
}
} }
pub fn get_extensions(&self) -> Vec<GString> { pub fn get_extensions(&self) -> Vec<glib::GString> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_none(gst_sys::gst_type_find_factory_get_extensions( FromGlibPtrContainer::from_glib_none(ffi::gst_type_find_factory_get_extensions(
self.to_glib_none().0, self.to_glib_none().0,
)) ))
} }
@ -40,7 +34,7 @@ impl TypeFindFactory {
pub fn has_function(&self) -> bool { pub fn has_function(&self) -> bool {
unsafe { unsafe {
from_glib(gst_sys::gst_type_find_factory_has_function( from_glib(ffi::gst_type_find_factory_has_function(
self.to_glib_none().0, self.to_glib_none().0,
)) ))
} }
@ -48,7 +42,7 @@ impl TypeFindFactory {
pub fn get_list() -> Vec<TypeFindFactory> { pub fn get_list() -> Vec<TypeFindFactory> {
assert_initialized_main_thread!(); assert_initialized_main_thread!();
unsafe { FromGlibPtrContainer::from_glib_full(gst_sys::gst_type_find_factory_get_list()) } unsafe { FromGlibPtrContainer::from_glib_full(ffi::gst_type_find_factory_get_list()) }
} }
} }

View file

@ -2,19 +2,16 @@
// from gir-files (https://github.com/gtk-rs/gir-files) // from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT // DO NOT EDIT
use glib; use crate::URIType;
use glib::object::IsA; use glib::object::IsA;
use glib::translate::*; use glib::translate::*;
use glib::GString;
use gst_sys;
use std::ptr; use std::ptr;
use URIType;
glib_wrapper! { glib::glib_wrapper! {
pub struct URIHandler(Interface<gst_sys::GstURIHandler>); pub struct URIHandler(Interface<ffi::GstURIHandler>);
match fn { match fn {
get_type => || gst_sys::gst_uri_handler_get_type(), get_type => || ffi::gst_uri_handler_get_type(),
} }
} }
@ -24,9 +21,9 @@ unsafe impl Sync for URIHandler {}
pub const NONE_URI_HANDLER: Option<&URIHandler> = None; pub const NONE_URI_HANDLER: Option<&URIHandler> = None;
pub trait URIHandlerExt: 'static { pub trait URIHandlerExt: 'static {
fn get_protocols(&self) -> Vec<GString>; fn get_protocols(&self) -> Vec<glib::GString>;
fn get_uri(&self) -> Option<GString>; fn get_uri(&self) -> Option<glib::GString>;
fn get_uri_type(&self) -> URIType; fn get_uri_type(&self) -> URIType;
@ -34,25 +31,21 @@ pub trait URIHandlerExt: 'static {
} }
impl<O: IsA<URIHandler>> URIHandlerExt for O { impl<O: IsA<URIHandler>> URIHandlerExt for O {
fn get_protocols(&self) -> Vec<GString> { fn get_protocols(&self) -> Vec<glib::GString> {
unsafe { unsafe {
FromGlibPtrContainer::from_glib_none(gst_sys::gst_uri_handler_get_protocols( FromGlibPtrContainer::from_glib_none(ffi::gst_uri_handler_get_protocols(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
} }
fn get_uri(&self) -> Option<GString> { fn get_uri(&self) -> Option<glib::GString> {
unsafe { unsafe { from_glib_full(ffi::gst_uri_handler_get_uri(self.as_ref().to_glib_none().0)) }
from_glib_full(gst_sys::gst_uri_handler_get_uri(
self.as_ref().to_glib_none().0,
))
}
} }
fn get_uri_type(&self) -> URIType { fn get_uri_type(&self) -> URIType {
unsafe { unsafe {
from_glib(gst_sys::gst_uri_handler_get_uri_type( from_glib(ffi::gst_uri_handler_get_uri_type(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
)) ))
} }
@ -61,7 +54,7 @@ impl<O: IsA<URIHandler>> URIHandlerExt for O {
fn set_uri(&self, uri: &str) -> Result<(), glib::Error> { fn set_uri(&self, uri: &str) -> Result<(), glib::Error> {
unsafe { unsafe {
let mut error = ptr::null_mut(); let mut error = ptr::null_mut();
let _ = gst_sys::gst_uri_handler_set_uri( let _ = ffi::gst_uri_handler_set_uri(
self.as_ref().to_glib_none().0, self.as_ref().to_glib_none().0,
uri.to_glib_none().0, uri.to_glib_none().0,
&mut error, &mut error,

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 062b3d6) Generated by gir (https://github.com/gtk-rs/gir @ 694b4b8)
from gir-files (https://github.com/gtk-rs/gir-files @ b84cead5) from gir-files (https://github.com/gtk-rs/gir-files @ 58bda97d)