regenerate

This commit is contained in:
Guillaume Desmottes 2020-06-03 14:26:16 +02:00 committed by Sebastian Dröge
parent c417ee8a56
commit 1b0a20e52f
35 changed files with 1432 additions and 38 deletions

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -52,7 +52,7 @@ pub trait AggregatorExt: 'static {
fn simple_get_next_time(&self) -> gst::ClockTime;
//#[cfg(any(feature = "v1_18", feature = "dox"))]
//fn update_segment(&self, segment: /*Ignored*/&mut gst::Segment);
//fn update_segment(&self, segment: /*Ignored*/&gst::Segment);
fn get_property_start_time(&self) -> u64;
@ -134,7 +134,7 @@ impl<O: IsA<Aggregator>> AggregatorExt for O {
}
//#[cfg(any(feature = "v1_18", feature = "dox"))]
//fn update_segment(&self, segment: /*Ignored*/&mut gst::Segment) {
//fn update_segment(&self, segment: /*Ignored*/&gst::Segment) {
// unsafe { TODO: call gst_base_sys:gst_aggregator_update_segment() }
//}

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -3,6 +3,7 @@
// DO NOT EDIT
use ges_sys;
use glib::object::IsA;
use glib::translate::*;
use Extractable;
use TimelineElement;
@ -16,6 +17,41 @@ glib_wrapper! {
}
}
impl BaseEffect {}
pub const NONE_BASE_EFFECT: Option<&BaseEffect> = None;
pub trait BaseEffectExt: 'static {
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn is_time_effect(&self) -> bool;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn register_time_property(&self, child_property_name: &str) -> bool;
//#[cfg(any(feature = "v1_18", feature = "dox"))]
//fn set_time_translation_funcs(&self, source_to_sink_func: /*Unimplemented*/Fn(&BaseEffect, gst::ClockTime, /*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 3, id: 11 }) -> gst::ClockTime, sink_to_source_func: /*Unimplemented*/Fn(&BaseEffect, gst::ClockTime, /*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 3, id: 11 }) -> gst::ClockTime, user_data: /*Unimplemented*/Option<Fundamental: Pointer>) -> bool;
}
impl<O: IsA<BaseEffect>> BaseEffectExt for O {
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn is_time_effect(&self) -> bool {
unsafe {
from_glib(ges_sys::ges_base_effect_is_time_effect(
self.as_ref().to_glib_none().0,
))
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn register_time_property(&self, child_property_name: &str) -> bool {
unsafe {
from_glib(ges_sys::ges_base_effect_register_time_property(
self.as_ref().to_glib_none().0,
child_property_name.to_glib_none().0,
))
}
}
//#[cfg(any(feature = "v1_18", feature = "dox"))]
//fn set_time_translation_funcs(&self, source_to_sink_func: /*Unimplemented*/Fn(&BaseEffect, gst::ClockTime, /*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 3, id: 11 }) -> gst::ClockTime, sink_to_source_func: /*Unimplemented*/Fn(&BaseEffect, gst::ClockTime, /*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 3, id: 11 }) -> gst::ClockTime, user_data: /*Unimplemented*/Option<Fundamental: Pointer>) -> bool {
// unsafe { TODO: call ges_sys:ges_base_effect_set_time_translation_funcs() }
//}
}

View file

@ -9,7 +9,10 @@ use glib::object::IsA;
use glib::signal::connect_raw;
use glib::signal::SignalHandlerId;
use glib::translate::*;
use glib::StaticType;
use glib::Value;
use glib_sys;
use gobject_sys;
use gst;
use std::boxed::Box as Box_;
use std::mem::transmute;
@ -18,6 +21,7 @@ use Asset;
use BaseEffect;
use Container;
use Extractable;
#[cfg(any(feature = "v1_18", feature = "dox"))]
use FrameNumber;
use Layer;
use TimelineElement;
@ -44,6 +48,10 @@ pub trait ClipExt: 'static {
track: &Q,
) -> Result<TrackElement, glib::Error>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn add_top_effect<P: IsA<BaseEffect>>(&self, effect: &P, index: i32)
-> Result<(), glib::Error>;
fn find_track_element<P: IsA<Track>>(
&self,
track: Option<&P>,
@ -57,10 +65,27 @@ pub trait ClipExt: 'static {
type_: glib::types::Type,
) -> Vec<TrackElement>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_duration_limit(&self) -> gst::ClockTime;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_internal_time_from_timeline_time<P: IsA<TrackElement>>(
&self,
child: &P,
timeline_time: gst::ClockTime,
) -> Result<gst::ClockTime, glib::Error>;
fn get_layer(&self) -> Option<Layer>;
fn get_supported_formats(&self) -> TrackType;
fn get_timeline_time_from_internal_time<P: IsA<TrackElement>>(
&self,
child: &P,
internal_time: gst::ClockTime,
) -> Result<gst::ClockTime, glib::Error>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_timeline_time_from_source_frame(
&self,
frame_number: FrameNumber,
@ -74,6 +99,12 @@ pub trait ClipExt: 'static {
fn move_to_layer<P: IsA<Layer>>(&self, layer: &P) -> Result<(), glib::error::BoolError>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn move_to_layer_full<P: IsA<Layer>>(&self, layer: &P) -> Result<(), glib::Error>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn remove_top_effect<P: IsA<BaseEffect>>(&self, effect: &P) -> Result<(), glib::Error>;
fn set_supported_formats(&self, supportedformats: TrackType);
fn set_top_effect_index<P: IsA<BaseEffect>>(
@ -82,6 +113,13 @@ pub trait ClipExt: 'static {
newindex: u32,
) -> Result<(), glib::error::BoolError>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn set_top_effect_index_full<P: IsA<BaseEffect>>(
&self,
effect: &P,
newindex: u32,
) -> Result<(), glib::Error>;
fn set_top_effect_priority<P: IsA<BaseEffect>>(
&self,
effect: &P,
@ -90,6 +128,16 @@ pub trait ClipExt: 'static {
fn split(&self, position: u64) -> Result<Clip, glib::BoolError>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn split_full(&self, position: u64) -> Result<Option<Clip>, glib::Error>;
fn get_property_duration_limit(&self) -> u64;
fn connect_property_duration_limit_notify<F: Fn(&Self) + 'static>(
&self,
f: F,
) -> SignalHandlerId;
fn connect_property_layer_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
fn connect_property_supported_formats_notify<F: Fn(&Self) + 'static>(
@ -130,6 +178,28 @@ impl<O: IsA<Clip>> ClipExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn add_top_effect<P: IsA<BaseEffect>>(
&self,
effect: &P,
index: i32,
) -> Result<(), glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let _ = ges_sys::ges_clip_add_top_effect(
self.as_ref().to_glib_none().0,
effect.as_ref().to_glib_none().0,
index,
&mut error,
);
if error.is_null() {
Ok(())
} else {
Err(from_glib_full(error))
}
}
}
fn find_track_element<P: IsA<Track>>(
&self,
track: Option<&P>,
@ -160,6 +230,37 @@ impl<O: IsA<Clip>> ClipExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_duration_limit(&self) -> gst::ClockTime {
unsafe {
from_glib(ges_sys::ges_clip_get_duration_limit(
self.as_ref().to_glib_none().0,
))
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_internal_time_from_timeline_time<P: IsA<TrackElement>>(
&self,
child: &P,
timeline_time: gst::ClockTime,
) -> Result<gst::ClockTime, glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let ret = ges_sys::ges_clip_get_internal_time_from_timeline_time(
self.as_ref().to_glib_none().0,
child.as_ref().to_glib_none().0,
timeline_time.to_glib(),
&mut error,
);
if error.is_null() {
Ok(from_glib(ret))
} else {
Err(from_glib_full(error))
}
}
}
fn get_layer(&self) -> Option<Layer> {
unsafe { from_glib_full(ges_sys::ges_clip_get_layer(self.as_ref().to_glib_none().0)) }
}
@ -172,6 +273,28 @@ impl<O: IsA<Clip>> ClipExt for O {
}
}
fn get_timeline_time_from_internal_time<P: IsA<TrackElement>>(
&self,
child: &P,
internal_time: gst::ClockTime,
) -> Result<gst::ClockTime, glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let ret = ges_sys::ges_clip_get_timeline_time_from_internal_time(
self.as_ref().to_glib_none().0,
child.as_ref().to_glib_none().0,
internal_time.to_glib(),
&mut error,
);
if error.is_null() {
Ok(from_glib(ret))
} else {
Err(from_glib_full(error))
}
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_timeline_time_from_source_frame(
&self,
frame_number: FrameNumber,
@ -229,6 +352,40 @@ impl<O: IsA<Clip>> ClipExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn move_to_layer_full<P: IsA<Layer>>(&self, layer: &P) -> Result<(), glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let _ = ges_sys::ges_clip_move_to_layer_full(
self.as_ref().to_glib_none().0,
layer.as_ref().to_glib_none().0,
&mut error,
);
if error.is_null() {
Ok(())
} else {
Err(from_glib_full(error))
}
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn remove_top_effect<P: IsA<BaseEffect>>(&self, effect: &P) -> Result<(), glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let _ = ges_sys::ges_clip_remove_top_effect(
self.as_ref().to_glib_none().0,
effect.as_ref().to_glib_none().0,
&mut error,
);
if error.is_null() {
Ok(())
} else {
Err(from_glib_full(error))
}
}
}
fn set_supported_formats(&self, supportedformats: TrackType) {
unsafe {
ges_sys::ges_clip_set_supported_formats(
@ -255,6 +412,28 @@ impl<O: IsA<Clip>> ClipExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn set_top_effect_index_full<P: IsA<BaseEffect>>(
&self,
effect: &P,
newindex: u32,
) -> Result<(), glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let _ = ges_sys::ges_clip_set_top_effect_index_full(
self.as_ref().to_glib_none().0,
effect.as_ref().to_glib_none().0,
newindex,
&mut error,
);
if error.is_null() {
Ok(())
} else {
Err(from_glib_full(error))
}
}
}
fn set_top_effect_priority<P: IsA<BaseEffect>>(
&self,
effect: &P,
@ -282,6 +461,62 @@ impl<O: IsA<Clip>> ClipExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn split_full(&self, position: u64) -> Result<Option<Clip>, glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let ret =
ges_sys::ges_clip_split_full(self.as_ref().to_glib_none().0, position, &mut error);
if error.is_null() {
Ok(from_glib_none(ret))
} else {
Err(from_glib_full(error))
}
}
}
fn get_property_duration_limit(&self) -> u64 {
unsafe {
let mut value = Value::from_type(<u64 as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject,
b"duration-limit\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `duration-limit` getter")
.unwrap()
}
}
fn connect_property_duration_limit_notify<F: Fn(&Self) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_duration_limit_trampoline<P, F: Fn(&P) + 'static>(
this: *mut ges_sys::GESClip,
_param_spec: glib_sys::gpointer,
f: glib_sys::gpointer,
) where
P: IsA<Clip>,
{
let f: &F = &*(f as *const F);
f(&Clip::from_glib_borrow(this).unsafe_cast_ref())
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::duration-limit\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_duration_limit_trampoline::<Self, F> as *const (),
)),
Box_::into_raw(f),
)
}
}
fn connect_property_layer_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
unsafe extern "C" fn notify_layer_trampoline<P, F: Fn(&P) + 'static>(
this: *mut ges_sys::GESClip,

View file

@ -13,6 +13,8 @@ use glib_sys;
use gst;
use std::boxed::Box as Box_;
use std::mem::transmute;
#[cfg(any(feature = "v1_18", feature = "dox"))]
use std::ptr;
use Asset;
use Clip;
use Extractable;
@ -53,8 +55,21 @@ pub trait LayerExt: 'static {
track_types: TrackType,
) -> Result<Clip, glib::BoolError>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn add_asset_full<P: IsA<Asset>>(
&self,
asset: &P,
start: gst::ClockTime,
inpoint: gst::ClockTime,
duration: gst::ClockTime,
track_types: TrackType,
) -> Result<Clip, glib::Error>;
fn add_clip<P: IsA<Clip>>(&self, clip: &P) -> Result<(), glib::error::BoolError>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn add_clip_full<P: IsA<Clip>>(&self, clip: &P) -> Result<(), glib::Error>;
fn get_active_for_track<P: IsA<Track>>(&self, track: &P) -> bool;
fn get_auto_transition(&self) -> bool;
@ -119,6 +134,34 @@ impl<O: IsA<Layer>> LayerExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn add_asset_full<P: IsA<Asset>>(
&self,
asset: &P,
start: gst::ClockTime,
inpoint: gst::ClockTime,
duration: gst::ClockTime,
track_types: TrackType,
) -> Result<Clip, glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let ret = ges_sys::ges_layer_add_asset_full(
self.as_ref().to_glib_none().0,
asset.as_ref().to_glib_none().0,
start.to_glib(),
inpoint.to_glib(),
duration.to_glib(),
track_types.to_glib(),
&mut error,
);
if error.is_null() {
Ok(from_glib_none(ret))
} else {
Err(from_glib_full(error))
}
}
}
fn add_clip<P: IsA<Clip>>(&self, clip: &P) -> Result<(), glib::error::BoolError> {
unsafe {
glib_result_from_gboolean!(
@ -131,6 +174,23 @@ impl<O: IsA<Layer>> LayerExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn add_clip_full<P: IsA<Clip>>(&self, clip: &P) -> Result<(), glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let _ = ges_sys::ges_layer_add_clip_full(
self.as_ref().to_glib_none().0,
clip.as_ref().to_glib_none().0,
&mut error,
);
if error.is_null() {
Ok(())
} else {
Err(from_glib_full(error))
}
}
}
fn get_active_for_track<P: IsA<Track>>(&self, track: &P) -> bool {
unsafe {
from_glib(ges_sys::ges_layer_get_active_for_track(

View file

@ -7,6 +7,7 @@ pub use self::asset::AssetExt;
pub use self::asset::{Asset, AssetClass, NONE_ASSET};
mod base_effect;
pub use self::base_effect::BaseEffectExt;
pub use self::base_effect::{BaseEffect, BaseEffectClass, NONE_BASE_EFFECT};
mod clip;
@ -83,6 +84,7 @@ pub use self::alias::FrameNumber;
#[doc(hidden)]
pub mod traits {
pub use super::AssetExt;
pub use super::BaseEffectExt;
pub use super::ClipExt;
pub use super::EffectExt;
pub use super::ExtractableExt;

View file

@ -246,7 +246,7 @@ impl<O: IsA<Project>> ProjectExt for O {
self.as_ref().to_glib_none().0,
timeline.as_ref().to_glib_none().0,
uri.to_glib_none().0,
formatter_asset.map(|p| p.as_ref()).to_glib_none().0,
formatter_asset.map(|p| p.as_ref()).to_glib_full(),
overwrite.to_glib(),
&mut error,
);

View file

@ -490,7 +490,7 @@ impl<O: IsA<Timeline>> TimelineExt for O {
}
//fn connect_group_removed<Unsupported or ignored types>(&self, f: F) -> SignalHandlerId {
// Empty ctype children: *.PtrArray TypeId { ns_id: 1, id: 52 }
// Empty ctype children: *.PtrArray TypeId { ns_id: 1, id: 53 }
//}
fn connect_layer_added<F: Fn(&Self, &Layer) + 'static>(&self, f: F) -> SignalHandlerId {

View file

@ -20,6 +20,8 @@ use std::boxed::Box as Box_;
use std::mem;
use std::mem::transmute;
#[cfg(any(feature = "v1_18", feature = "dox"))]
use std::ptr;
#[cfg(any(feature = "v1_18", feature = "dox"))]
use Edge;
#[cfg(any(feature = "v1_18", feature = "dox"))]
use EditMode;
@ -54,6 +56,15 @@ pub trait TimelineElementExt: 'static {
position: u64,
) -> bool;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn edit_full(
&self,
new_layer_priority: i64,
mode: EditMode,
edge: Edge,
position: u64,
) -> Result<(), glib::Error>;
//fn get_child_properties(&self, first_property_name: &str, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs);
//fn get_child_property(&self, property_name: &str, value: /*Ignored*/glib::Value) -> bool;
@ -110,6 +121,9 @@ pub trait TimelineElementExt: 'static {
//fn set_child_property_by_pspec(&self, pspec: /*Ignored*/&glib::ParamSpec, value: /*Ignored*/&glib::Value);
//#[cfg(any(feature = "v1_18", feature = "dox"))]
//fn set_child_property_full(&self, property_name: &str, value: /*Ignored*/&glib::Value) -> Result<(), glib::Error>;
//fn set_child_property_valist(&self, first_property_name: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported);
fn set_duration(&self, duration: gst::ClockTime) -> bool;
@ -203,6 +217,32 @@ impl<O: IsA<TimelineElement>> TimelineElementExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn edit_full(
&self,
new_layer_priority: i64,
mode: EditMode,
edge: Edge,
position: u64,
) -> Result<(), glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let _ = ges_sys::ges_timeline_element_edit_full(
self.as_ref().to_glib_none().0,
new_layer_priority,
mode.to_glib(),
edge.to_glib(),
position,
&mut error,
);
if error.is_null() {
Ok(())
} else {
Err(from_glib_full(error))
}
}
}
//fn get_child_properties(&self, first_property_name: &str, : /*Unknown conversion*//*Unimplemented*/Fundamental: VarArgs) {
// unsafe { TODO: call ges_sys:ges_timeline_element_get_child_properties() }
//}
@ -402,6 +442,11 @@ impl<O: IsA<TimelineElement>> TimelineElementExt for O {
// unsafe { TODO: call ges_sys:ges_timeline_element_set_child_property_by_pspec() }
//}
//#[cfg(any(feature = "v1_18", feature = "dox"))]
//fn set_child_property_full(&self, property_name: &str, value: /*Ignored*/&glib::Value) -> Result<(), glib::Error> {
// unsafe { TODO: call ges_sys:ges_timeline_element_set_child_property_full() }
//}
//fn set_child_property_valist(&self, first_property_name: &str, var_args: /*Unknown conversion*//*Unimplemented*/Unsupported) {
// unsafe { TODO: call ges_sys:ges_timeline_element_set_child_property_valist() }
//}

View file

@ -18,6 +18,8 @@ use gobject_sys;
use gst;
use std::boxed::Box as Box_;
use std::mem::transmute;
#[cfg(any(feature = "v1_18", feature = "dox"))]
use std::ptr;
use Timeline;
use TrackElement;
use TrackType;
@ -42,6 +44,9 @@ pub const NONE_TRACK: Option<&Track> = None;
pub trait GESTrackExt: 'static {
fn add_element<P: IsA<TrackElement>>(&self, object: &P) -> Result<(), glib::error::BoolError>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn add_element_full<P: IsA<TrackElement>>(&self, object: &P) -> Result<(), glib::Error>;
fn commit(&self) -> bool;
fn get_caps(&self) -> Option<gst::Caps>;
@ -60,6 +65,9 @@ pub trait GESTrackExt: 'static {
object: &P,
) -> Result<(), glib::error::BoolError>;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn remove_element_full<P: IsA<TrackElement>>(&self, object: &P) -> Result<(), glib::Error>;
//fn set_create_element_for_gap_func<P: Fn(&Track) -> gst::Element + 'static>(&self, func: P);
fn set_mixing(&self, mixing: bool);
@ -120,6 +128,23 @@ impl<O: IsA<Track>> GESTrackExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn add_element_full<P: IsA<TrackElement>>(&self, object: &P) -> Result<(), glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let _ = ges_sys::ges_track_add_element_full(
self.as_ref().to_glib_none().0,
object.as_ref().to_glib_none().0,
&mut error,
);
if error.is_null() {
Ok(())
} else {
Err(from_glib_full(error))
}
}
}
fn commit(&self) -> bool {
unsafe { from_glib(ges_sys::ges_track_commit(self.as_ref().to_glib_none().0)) }
}
@ -176,6 +201,23 @@ impl<O: IsA<Track>> GESTrackExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn remove_element_full<P: IsA<TrackElement>>(&self, object: &P) -> Result<(), glib::Error> {
unsafe {
let mut error = ptr::null_mut();
let _ = ges_sys::ges_track_remove_element_full(
self.as_ref().to_glib_none().0,
object.as_ref().to_glib_none().0,
&mut error,
);
if error.is_null() {
Ok(())
} else {
Err(from_glib_full(error))
}
}
}
//fn set_create_element_for_gap_func<P: Fn(&Track) -> gst::Element + 'static>(&self, func: P) {
// unsafe { TODO: call ges_sys:ges_track_set_create_element_for_gap_func() }
//}

View file

@ -43,6 +43,9 @@ pub trait TrackElementExt: 'static {
whitelist: &[&str],
);
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn clamp_control_source(&self, property_name: &str);
#[cfg_attr(feature = "v1_18", deprecated)]
fn edit(
&self,
@ -54,6 +57,9 @@ pub trait TrackElementExt: 'static {
//fn get_all_control_bindings(&self) -> /*Unknown conversion*//*Unimplemented*/HashTable TypeId { ns_id: 0, id: 28 }/TypeId { ns_id: 6, id: 83 };
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_auto_clamp_control_sources(&self) -> bool;
//fn get_control_binding(&self, property_name: &str) -> /*Ignored*/Option<gst::ControlBinding>;
fn get_element(&self) -> Option<gst::Element>;
@ -70,12 +76,18 @@ pub trait TrackElementExt: 'static {
fn is_active(&self) -> bool;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn is_core(&self) -> bool;
//fn lookup_child(&self, prop_name: &str, pspec: /*Ignored*/glib::ParamSpec) -> Option<gst::Element>;
fn remove_control_binding(&self, property_name: &str) -> Result<(), glib::error::BoolError>;
fn set_active(&self, active: bool) -> bool;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn set_auto_clamp_control_sources(&self, auto_clamp: bool);
//fn set_control_source(&self, source: /*Ignored*/&gst::ControlSource, property_name: &str, binding_type: &str) -> bool;
fn set_has_internal_source(&self, has_internal_source: bool);
@ -84,6 +96,10 @@ pub trait TrackElementExt: 'static {
fn get_property_active(&self) -> bool;
fn get_property_auto_clamp_control_sources(&self) -> bool;
fn set_property_auto_clamp_control_sources(&self, auto_clamp_control_sources: bool);
fn get_property_has_internal_source(&self) -> bool;
//fn connect_control_binding_added<Unsupported or ignored types>(&self, f: F) -> SignalHandlerId;
@ -92,6 +108,11 @@ pub trait TrackElementExt: 'static {
fn connect_property_active_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
fn connect_property_auto_clamp_control_sources_notify<F: Fn(&Self) + 'static>(
&self,
f: F,
) -> SignalHandlerId;
fn connect_property_has_internal_source_notify<F: Fn(&Self) + 'static>(
&self,
f: F,
@ -121,6 +142,16 @@ impl<O: IsA<TrackElement>> TrackElementExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn clamp_control_source(&self, property_name: &str) {
unsafe {
ges_sys::ges_track_element_clamp_control_source(
self.as_ref().to_glib_none().0,
property_name.to_glib_none().0,
);
}
}
fn edit(
&self,
layers: &[Layer],
@ -146,6 +177,15 @@ impl<O: IsA<TrackElement>> TrackElementExt for O {
// unsafe { TODO: call ges_sys:ges_track_element_get_all_control_bindings() }
//}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_auto_clamp_control_sources(&self) -> bool {
unsafe {
from_glib(ges_sys::ges_track_element_get_auto_clamp_control_sources(
self.as_ref().to_glib_none().0,
))
}
}
//fn get_control_binding(&self, property_name: &str) -> /*Ignored*/Option<gst::ControlBinding> {
// unsafe { TODO: call ges_sys:ges_track_element_get_control_binding() }
//}
@ -206,6 +246,15 @@ impl<O: IsA<TrackElement>> TrackElementExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn is_core(&self) -> bool {
unsafe {
from_glib(ges_sys::ges_track_element_is_core(
self.as_ref().to_glib_none().0,
))
}
}
//fn lookup_child(&self, prop_name: &str, pspec: /*Ignored*/glib::ParamSpec) -> Option<gst::Element> {
// unsafe { TODO: call ges_sys:ges_track_element_lookup_child() }
//}
@ -231,6 +280,16 @@ impl<O: IsA<TrackElement>> TrackElementExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn set_auto_clamp_control_sources(&self, auto_clamp: bool) {
unsafe {
ges_sys::ges_track_element_set_auto_clamp_control_sources(
self.as_ref().to_glib_none().0,
auto_clamp.to_glib(),
);
}
}
//fn set_control_source(&self, source: /*Ignored*/&gst::ControlSource, property_name: &str, binding_type: &str) -> bool {
// unsafe { TODO: call ges_sys:ges_track_element_set_control_source() }
//}
@ -268,6 +327,31 @@ impl<O: IsA<TrackElement>> TrackElementExt for O {
}
}
fn get_property_auto_clamp_control_sources(&self) -> bool {
unsafe {
let mut value = Value::from_type(<bool as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject,
b"auto-clamp-control-sources\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `auto-clamp-control-sources` getter")
.unwrap()
}
}
fn set_property_auto_clamp_control_sources(&self, auto_clamp_control_sources: bool) {
unsafe {
gobject_sys::g_object_set_property(
self.to_glib_none().0 as *mut gobject_sys::GObject,
b"auto-clamp-control-sources\0".as_ptr() as *const _,
Value::from(&auto_clamp_control_sources).to_glib_none().0,
);
}
}
fn get_property_has_internal_source(&self) -> bool {
unsafe {
let mut value = Value::from_type(<bool as StaticType>::static_type());
@ -315,6 +399,33 @@ impl<O: IsA<TrackElement>> TrackElementExt for O {
}
}
fn connect_property_auto_clamp_control_sources_notify<F: Fn(&Self) + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_auto_clamp_control_sources_trampoline<P, F: Fn(&P) + 'static>(
this: *mut ges_sys::GESTrackElement,
_param_spec: glib_sys::gpointer,
f: glib_sys::gpointer,
) where
P: IsA<TrackElement>,
{
let f: &F = &*(f as *const F);
f(&TrackElement::from_glib_borrow(this).unsafe_cast_ref())
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::auto-clamp-control-sources\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_auto_clamp_control_sources_trampoline::<Self, F> as *const (),
)),
Box_::into_raw(f),
)
}
}
fn connect_property_has_internal_source_notify<F: Fn(&Self) + 'static>(
&self,
f: F,

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -70,6 +70,7 @@ pub trait GLWindowExt: 'static {
fn send_mouse_event(&self, event_type: &str, button: i32, posx: f64, posy: f64);
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn send_scroll_event(&self, posx: f64, posy: f64, delta_x: f64, delta_y: f64);
fn set_preferred_size(&self, width: i32, height: i32);
@ -204,6 +205,7 @@ impl<O: IsA<GLWindow>> GLWindowExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn send_scroll_event(&self, posx: f64, posy: f64, delta_x: f64, delta_y: f64) {
unsafe {
gst_gl_sys::gst_gl_window_send_scroll_event(

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -79,6 +79,9 @@ pub trait RTSPMediaExt: 'static {
#[cfg(any(feature = "v1_16", feature = "dox"))]
fn get_do_retransmission(&self) -> bool;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_dscp_qos(&self) -> i32;
fn get_element(&self) -> Option<gst::Element>;
fn get_latency(&self) -> u32;
@ -167,6 +170,9 @@ pub trait RTSPMediaExt: 'static {
#[cfg(any(feature = "v1_16", feature = "dox"))]
fn set_do_retransmission(&self, do_retransmission: bool);
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn set_dscp_qos(&self, dscp_qos: i32);
fn set_eos_shutdown(&self, eos_shutdown: bool);
fn set_latency(&self, latency: u32);
@ -220,6 +226,10 @@ pub trait RTSPMediaExt: 'static {
fn set_property_bind_mcast_address(&self, bind_mcast_address: bool);
fn get_property_dscp_qos(&self) -> i32;
fn set_property_dscp_qos(&self, dscp_qos: i32);
fn get_property_eos_shutdown(&self) -> bool;
fn get_property_max_mcast_ttl(&self) -> u32;
@ -271,6 +281,11 @@ pub trait RTSPMediaExt: 'static {
f: F,
) -> SignalHandlerId;
fn connect_property_dscp_qos_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId;
fn connect_property_eos_shutdown_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,
@ -401,6 +416,11 @@ impl<O: IsA<RTSPMedia>> RTSPMediaExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_dscp_qos(&self) -> i32 {
unsafe { gst_rtsp_server_sys::gst_rtsp_media_get_dscp_qos(self.as_ref().to_glib_none().0) }
}
fn get_element(&self) -> Option<gst::Element> {
unsafe {
from_glib_full(gst_rtsp_server_sys::gst_rtsp_media_get_element(
@ -700,6 +720,16 @@ impl<O: IsA<RTSPMedia>> RTSPMediaExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn set_dscp_qos(&self, dscp_qos: i32) {
unsafe {
gst_rtsp_server_sys::gst_rtsp_media_set_dscp_qos(
self.as_ref().to_glib_none().0,
dscp_qos,
);
}
}
fn set_eos_shutdown(&self, eos_shutdown: bool) {
unsafe {
gst_rtsp_server_sys::gst_rtsp_media_set_eos_shutdown(
@ -923,6 +953,31 @@ impl<O: IsA<RTSPMedia>> RTSPMediaExt for O {
}
}
fn get_property_dscp_qos(&self) -> i32 {
unsafe {
let mut value = Value::from_type(<i32 as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject,
b"dscp-qos\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `dscp-qos` getter")
.unwrap()
}
}
fn set_property_dscp_qos(&self, dscp_qos: i32) {
unsafe {
gobject_sys::g_object_set_property(
self.to_glib_none().0 as *mut gobject_sys::GObject,
b"dscp-qos\0".as_ptr() as *const _,
Value::from(&dscp_qos).to_glib_none().0,
);
}
}
fn get_property_eos_shutdown(&self) -> bool {
unsafe {
let mut value = Value::from_type(<bool as StaticType>::static_type());
@ -1268,6 +1323,33 @@ impl<O: IsA<RTSPMedia>> RTSPMediaExt for O {
}
}
fn connect_property_dscp_qos_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_dscp_qos_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_rtsp_server_sys::GstRTSPMedia,
_param_spec: glib_sys::gpointer,
f: glib_sys::gpointer,
) where
P: IsA<RTSPMedia>,
{
let f: &F = &*(f as *const F);
f(&RTSPMedia::from_glib_borrow(this).unsafe_cast_ref())
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::dscp-qos\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_dscp_qos_trampoline::<Self, F> as *const (),
)),
Box_::into_raw(f),
)
}
}
fn connect_property_eos_shutdown_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,

View file

@ -66,6 +66,9 @@ pub trait RTSPMediaFactoryExt: 'static {
#[cfg(any(feature = "v1_16", feature = "dox"))]
fn get_do_retransmission(&self) -> bool;
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_dscp_qos(&self) -> i32;
fn get_latency(&self) -> u32;
fn get_launch(&self) -> Option<GString>;
@ -112,6 +115,9 @@ pub trait RTSPMediaFactoryExt: 'static {
#[cfg(any(feature = "v1_16", feature = "dox"))]
fn set_do_retransmission(&self, do_retransmission: bool);
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn set_dscp_qos(&self, dscp_qos: i32);
fn set_eos_shutdown(&self, eos_shutdown: bool);
fn set_latency(&self, latency: u32);
@ -147,6 +153,10 @@ pub trait RTSPMediaFactoryExt: 'static {
fn set_property_bind_mcast_address(&self, bind_mcast_address: bool);
fn get_property_dscp_qos(&self) -> i32;
fn set_property_dscp_qos(&self, dscp_qos: i32);
fn get_property_eos_shutdown(&self) -> bool;
fn get_property_max_mcast_ttl(&self) -> u32;
@ -182,6 +192,11 @@ pub trait RTSPMediaFactoryExt: 'static {
f: F,
) -> SignalHandlerId;
fn connect_property_dscp_qos_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId;
fn connect_property_eos_shutdown_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,
@ -295,6 +310,13 @@ impl<O: IsA<RTSPMediaFactory>> RTSPMediaFactoryExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn get_dscp_qos(&self) -> i32 {
unsafe {
gst_rtsp_server_sys::gst_rtsp_media_factory_get_dscp_qos(self.as_ref().to_glib_none().0)
}
}
fn get_latency(&self) -> u32 {
unsafe {
gst_rtsp_server_sys::gst_rtsp_media_factory_get_latency(self.as_ref().to_glib_none().0)
@ -480,6 +502,16 @@ impl<O: IsA<RTSPMediaFactory>> RTSPMediaFactoryExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn set_dscp_qos(&self, dscp_qos: i32) {
unsafe {
gst_rtsp_server_sys::gst_rtsp_media_factory_set_dscp_qos(
self.as_ref().to_glib_none().0,
dscp_qos,
);
}
}
fn set_eos_shutdown(&self, eos_shutdown: bool) {
unsafe {
gst_rtsp_server_sys::gst_rtsp_media_factory_set_eos_shutdown(
@ -638,6 +670,31 @@ impl<O: IsA<RTSPMediaFactory>> RTSPMediaFactoryExt for O {
}
}
fn get_property_dscp_qos(&self) -> i32 {
unsafe {
let mut value = Value::from_type(<i32 as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.to_glib_none().0 as *mut gobject_sys::GObject,
b"dscp-qos\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `dscp-qos` getter")
.unwrap()
}
}
fn set_property_dscp_qos(&self, dscp_qos: i32) {
unsafe {
gobject_sys::g_object_set_property(
self.to_glib_none().0 as *mut gobject_sys::GObject,
b"dscp-qos\0".as_ptr() as *const _,
Value::from(&dscp_qos).to_glib_none().0,
);
}
}
fn get_property_eos_shutdown(&self) -> bool {
unsafe {
let mut value = Value::from_type(<bool as StaticType>::static_type());
@ -858,6 +915,33 @@ impl<O: IsA<RTSPMediaFactory>> RTSPMediaFactoryExt for O {
}
}
fn connect_property_dscp_qos_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_dscp_qos_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
this: *mut gst_rtsp_server_sys::GstRTSPMediaFactory,
_param_spec: glib_sys::gpointer,
f: glib_sys::gpointer,
) where
P: IsA<RTSPMediaFactory>,
{
let f: &F = &*(f as *const F);
f(&RTSPMediaFactory::from_glib_borrow(this).unsafe_cast_ref())
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::dscp-qos\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_dscp_qos_trampoline::<Self, F> as *const (),
)),
Box_::into_raw(f),
)
}
}
fn connect_property_eos_shutdown_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,

View file

@ -65,6 +65,9 @@ pub trait RTSPStreamTransportExt: 'static {
fn set_message_sent<P: Fn() + 'static>(&self, message_sent: P);
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn set_message_sent_full<P: Fn(&RTSPStreamTransport) + 'static>(&self, message_sent: P);
fn set_timed_out(&self, timedout: bool);
//fn set_transport(&self, tr: /*Ignored*/&mut gst_rtsp::RTSPTransport);
@ -226,6 +229,35 @@ impl<O: IsA<RTSPStreamTransport>> RTSPStreamTransportExt for O {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
fn set_message_sent_full<P: Fn(&RTSPStreamTransport) + 'static>(&self, message_sent: P) {
let message_sent_data: Box_<P> = Box_::new(message_sent);
unsafe extern "C" fn message_sent_func<P: Fn(&RTSPStreamTransport) + 'static>(
trans: *mut gst_rtsp_server_sys::GstRTSPStreamTransport,
user_data: glib_sys::gpointer,
) {
let trans = from_glib_borrow(trans);
let callback: &P = &*(user_data as *mut _);
(*callback)(&trans);
}
let message_sent = Some(message_sent_func::<P> as _);
unsafe extern "C" fn notify_func<P: Fn(&RTSPStreamTransport) + 'static>(
data: glib_sys::gpointer,
) {
let _callback: Box_<P> = Box_::from_raw(data as *mut _);
}
let destroy_call3 = Some(notify_func::<P> as _);
let super_callback0: Box_<P> = message_sent_data;
unsafe {
gst_rtsp_server_sys::gst_rtsp_stream_transport_set_message_sent_full(
self.as_ref().to_glib_none().0,
message_sent,
Box_::into_raw(super_callback0) as *mut _,
destroy_call3,
);
}
}
fn set_timed_out(&self, timedout: bool) {
unsafe {
gst_rtsp_server_sys::gst_rtsp_stream_transport_set_timed_out(

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -36,6 +36,7 @@ impl RTSPUrl {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub fn get_request_uri_with_control(&self, control_path: &str) -> Option<GString> {
unsafe {
from_glib_full(gst_rtsp_sys::gst_rtsp_url_get_request_uri_with_control(

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -12,6 +12,7 @@ use glib::Type;
use gobject_sys;
use gst_video_sys;
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
pub enum VideoAFDSpec {
@ -22,6 +23,7 @@ pub enum VideoAFDSpec {
__Unknown(i32),
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[doc(hidden)]
impl ToGlib for VideoAFDSpec {
type GlibType = gst_video_sys::GstVideoAFDSpec;
@ -36,6 +38,7 @@ impl ToGlib for VideoAFDSpec {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[doc(hidden)]
impl FromGlib<gst_video_sys::GstVideoAFDSpec> for VideoAFDSpec {
fn from_glib(value: gst_video_sys::GstVideoAFDSpec) -> Self {
@ -49,24 +52,28 @@ impl FromGlib<gst_video_sys::GstVideoAFDSpec> for VideoAFDSpec {
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
impl StaticType for VideoAFDSpec {
fn static_type() -> Type {
unsafe { from_glib(gst_video_sys::gst_video_afd_spec_get_type()) }
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
impl<'a> FromValueOptional<'a> for VideoAFDSpec {
unsafe fn from_value_optional(value: &Value) -> Option<Self> {
Some(FromValue::from_value(value))
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
impl<'a> FromValue<'a> for VideoAFDSpec {
unsafe fn from_value(value: &Value) -> Self {
from_glib(gobject_sys::g_value_get_enum(value.to_glib_none().0))
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
impl SetValue for VideoAFDSpec {
unsafe fn set_value(value: &mut Value, this: &Self) {
gobject_sys::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())

View file

@ -21,6 +21,7 @@ pub use self::video_overlay::VideoOverlayExt;
pub use self::video_overlay::{VideoOverlay, NONE_VIDEO_OVERLAY};
mod enums;
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub use self::enums::VideoAFDSpec;
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub use self::enums::VideoAFDValue;

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -5,6 +5,11 @@
mod web_rtcdtls_transport;
pub use self::web_rtcdtls_transport::{WebRTCDTLSTransport, WebRTCDTLSTransportClass};
#[cfg(any(feature = "v1_18", feature = "dox"))]
mod web_rtc_data_channel;
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub use self::web_rtc_data_channel::{WebRTCDataChannel, WebRTCDataChannelClass};
mod web_rtcice_transport;
pub use self::web_rtcice_transport::{WebRTCICETransport, WebRTCICETransportClass};

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)

View file

@ -0,0 +1,649 @@
// This file was generated by gir (https://github.com/gtk-rs/gir)
// from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT
use glib;
use glib::object::ObjectExt;
use glib::object::ObjectType as ObjectType_;
use glib::signal::connect_raw;
use glib::signal::SignalHandlerId;
use glib::translate::*;
use glib::GString;
use glib::StaticType;
use glib::Value;
use glib_sys;
use gobject_sys;
use gst_web_rtc_sys;
use libc;
use std::boxed::Box as Box_;
use std::mem::transmute;
use WebRTCDataChannelState;
use WebRTCPriorityType;
glib_wrapper! {
pub struct WebRTCDataChannel(Object<gst_web_rtc_sys::GstWebRTCDataChannel, gst_web_rtc_sys::GstWebRTCDataChannelClass, WebRTCDataChannelClass>);
match fn {
get_type => || gst_web_rtc_sys::gst_webrtc_data_channel_get_type(),
}
}
impl WebRTCDataChannel {
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub fn close(&self) {
unsafe {
gst_web_rtc_sys::gst_webrtc_data_channel_close(self.to_glib_none().0);
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub fn on_buffered_amount_low(&self) {
unsafe {
gst_web_rtc_sys::gst_webrtc_data_channel_on_buffered_amount_low(self.to_glib_none().0);
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub fn on_close(&self) {
unsafe {
gst_web_rtc_sys::gst_webrtc_data_channel_on_close(self.to_glib_none().0);
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub fn on_message_data(&self, data: Option<&glib::Bytes>) {
unsafe {
gst_web_rtc_sys::gst_webrtc_data_channel_on_message_data(
self.to_glib_none().0,
data.to_glib_none().0,
);
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub fn on_message_string(&self, str: Option<&str>) {
unsafe {
gst_web_rtc_sys::gst_webrtc_data_channel_on_message_string(
self.to_glib_none().0,
str.to_glib_none().0,
);
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub fn on_open(&self) {
unsafe {
gst_web_rtc_sys::gst_webrtc_data_channel_on_open(self.to_glib_none().0);
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub fn send_data(&self, data: Option<&glib::Bytes>) {
unsafe {
gst_web_rtc_sys::gst_webrtc_data_channel_send_data(
self.to_glib_none().0,
data.to_glib_none().0,
);
}
}
#[cfg(any(feature = "v1_18", feature = "dox"))]
pub fn send_string(&self, str: Option<&str>) {
unsafe {
gst_web_rtc_sys::gst_webrtc_data_channel_send_string(
self.to_glib_none().0,
str.to_glib_none().0,
);
}
}
pub fn get_property_buffered_amount(&self) -> u64 {
unsafe {
let mut value = Value::from_type(<u64 as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"buffered-amount\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `buffered-amount` getter")
.unwrap()
}
}
pub fn get_property_buffered_amount_low_threshold(&self) -> u64 {
unsafe {
let mut value = Value::from_type(<u64 as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"buffered-amount-low-threshold\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `buffered-amount-low-threshold` getter")
.unwrap()
}
}
pub fn set_property_buffered_amount_low_threshold(&self, buffered_amount_low_threshold: u64) {
unsafe {
gobject_sys::g_object_set_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"buffered-amount-low-threshold\0".as_ptr() as *const _,
Value::from(&buffered_amount_low_threshold).to_glib_none().0,
);
}
}
pub fn get_property_id(&self) -> i32 {
unsafe {
let mut value = Value::from_type(<i32 as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"id\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `id` getter")
.unwrap()
}
}
pub fn get_property_label(&self) -> Option<GString> {
unsafe {
let mut value = Value::from_type(<GString as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"label\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `label` getter")
}
}
pub fn get_property_max_packet_lifetime(&self) -> i32 {
unsafe {
let mut value = Value::from_type(<i32 as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"max-packet-lifetime\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `max-packet-lifetime` getter")
.unwrap()
}
}
pub fn get_property_max_retransmits(&self) -> i32 {
unsafe {
let mut value = Value::from_type(<i32 as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"max-retransmits\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `max-retransmits` getter")
.unwrap()
}
}
pub fn get_property_negotiated(&self) -> bool {
unsafe {
let mut value = Value::from_type(<bool as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"negotiated\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `negotiated` getter")
.unwrap()
}
}
pub fn get_property_ordered(&self) -> bool {
unsafe {
let mut value = Value::from_type(<bool as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"ordered\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `ordered` getter")
.unwrap()
}
}
pub fn get_property_priority(&self) -> WebRTCPriorityType {
unsafe {
let mut value = Value::from_type(<WebRTCPriorityType as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"priority\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `priority` getter")
.unwrap()
}
}
pub fn get_property_protocol(&self) -> Option<GString> {
unsafe {
let mut value = Value::from_type(<GString as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"protocol\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `protocol` getter")
}
}
pub fn get_property_ready_state(&self) -> WebRTCDataChannelState {
unsafe {
let mut value = Value::from_type(<WebRTCDataChannelState as StaticType>::static_type());
gobject_sys::g_object_get_property(
self.as_ptr() as *mut gobject_sys::GObject,
b"ready-state\0".as_ptr() as *const _,
value.to_glib_none_mut().0,
);
value
.get()
.expect("Return Value for property `ready-state` getter")
.unwrap()
}
}
pub fn connect_close<F: Fn(&WebRTCDataChannel) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn close_trampoline<F: Fn(&WebRTCDataChannel) + Send + Sync + 'static>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"close\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
close_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn emit_close(&self) {
let _ = unsafe {
glib::Object::from_glib_borrow(self.as_ptr() as *mut gobject_sys::GObject)
.emit("close", &[])
.unwrap()
};
}
pub fn connect_on_buffered_amount_low<F: Fn(&WebRTCDataChannel) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn on_buffered_amount_low_trampoline<
F: Fn(&WebRTCDataChannel) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"on-buffered-amount-low\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
on_buffered_amount_low_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_on_close<F: Fn(&WebRTCDataChannel) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn on_close_trampoline<
F: Fn(&WebRTCDataChannel) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"on-close\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
on_close_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_on_error<F: Fn(&WebRTCDataChannel, &glib::Error) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn on_error_trampoline<
F: Fn(&WebRTCDataChannel, &glib::Error) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
error: *mut glib_sys::GError,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this), &from_glib_borrow(error))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"on-error\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
on_error_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_on_message_data<
F: Fn(&WebRTCDataChannel, Option<&glib::Bytes>) + Send + Sync + 'static,
>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn on_message_data_trampoline<
F: Fn(&WebRTCDataChannel, Option<&glib::Bytes>) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
data: *mut glib_sys::GBytes,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(
&from_glib_borrow(this),
Option::<glib::Bytes>::from_glib_borrow(data)
.as_ref()
.as_ref(),
)
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"on-message-data\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
on_message_data_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_on_message_string<
F: Fn(&WebRTCDataChannel, Option<&str>) + Send + Sync + 'static,
>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn on_message_string_trampoline<
F: Fn(&WebRTCDataChannel, Option<&str>) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
data: *mut libc::c_char,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(
&from_glib_borrow(this),
Option::<GString>::from_glib_borrow(data)
.as_ref()
.as_deref(),
)
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"on-message-string\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
on_message_string_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_on_open<F: Fn(&WebRTCDataChannel) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn on_open_trampoline<
F: Fn(&WebRTCDataChannel) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"on-open\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
on_open_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_send_data<
F: Fn(&WebRTCDataChannel, Option<&glib::Bytes>) + Send + Sync + 'static,
>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn send_data_trampoline<
F: Fn(&WebRTCDataChannel, Option<&glib::Bytes>) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
data: *mut glib_sys::GBytes,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(
&from_glib_borrow(this),
Option::<glib::Bytes>::from_glib_borrow(data)
.as_ref()
.as_ref(),
)
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"send-data\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
send_data_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn emit_send_data(&self, data: Option<&glib::Bytes>) {
let _ = unsafe {
glib::Object::from_glib_borrow(self.as_ptr() as *mut gobject_sys::GObject)
.emit("send-data", &[&data])
.unwrap()
};
}
pub fn connect_send_string<F: Fn(&WebRTCDataChannel, Option<&str>) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn send_string_trampoline<
F: Fn(&WebRTCDataChannel, Option<&str>) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
data: *mut libc::c_char,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(
&from_glib_borrow(this),
Option::<GString>::from_glib_borrow(data)
.as_ref()
.as_deref(),
)
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"send-string\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
send_string_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn emit_send_string(&self, data: Option<&str>) {
let _ = unsafe {
glib::Object::from_glib_borrow(self.as_ptr() as *mut gobject_sys::GObject)
.emit("send-string", &[&data])
.unwrap()
};
}
pub fn connect_property_buffered_amount_notify<
F: Fn(&WebRTCDataChannel) + Send + Sync + 'static,
>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_buffered_amount_trampoline<
F: Fn(&WebRTCDataChannel) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
_param_spec: glib_sys::gpointer,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::buffered-amount\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_buffered_amount_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_buffered_amount_low_threshold_notify<
F: Fn(&WebRTCDataChannel) + Send + Sync + 'static,
>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_buffered_amount_low_threshold_trampoline<
F: Fn(&WebRTCDataChannel) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
_param_spec: glib_sys::gpointer,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::buffered-amount-low-threshold\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_buffered_amount_low_threshold_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
pub fn connect_property_ready_state_notify<
F: Fn(&WebRTCDataChannel) + Send + Sync + 'static,
>(
&self,
f: F,
) -> SignalHandlerId {
unsafe extern "C" fn notify_ready_state_trampoline<
F: Fn(&WebRTCDataChannel) + Send + Sync + 'static,
>(
this: *mut gst_web_rtc_sys::GstWebRTCDataChannel,
_param_spec: glib_sys::gpointer,
f: glib_sys::gpointer,
) {
let f: &F = &*(f as *const F);
f(&from_glib_borrow(this))
}
unsafe {
let f: Box_<F> = Box_::new(f);
connect_raw(
self.as_ptr() as *mut _,
b"notify::ready-state\0".as_ptr() as *const _,
Some(transmute::<_, unsafe extern "C" fn()>(
notify_ready_state_trampoline::<F> as *const (),
)),
Box_::into_raw(f),
)
}
}
}
unsafe impl Send for WebRTCDataChannel {}
unsafe impl Sync for WebRTCDataChannel {}

View file

@ -1,2 +1,2 @@
Generated by gir (https://github.com/gtk-rs/gir @ 1f84b54)
from gir-files (https://github.com/gtk-rs/gir-files @ e5698c4a)
Generated by gir (https://github.com/gtk-rs/gir @ 2ec58ef)
from gir-files (https://github.com/gtk-rs/gir-files @ 9cf46cf7)