forked from mirrors/gstreamer-rs
Regenerate everything
This commit is contained in:
parent
15d5d169a3
commit
70fd572a46
27 changed files with 290 additions and 60 deletions
|
@ -170,6 +170,11 @@ manual_traits = ["BaseSrcExtManual"]
|
||||||
# Use Result
|
# Use Result
|
||||||
ignore = true
|
ignore = true
|
||||||
|
|
||||||
|
[[object.function]]
|
||||||
|
name = "new_segment"
|
||||||
|
# Segment parameter
|
||||||
|
ignore = true
|
||||||
|
|
||||||
[[object]]
|
[[object]]
|
||||||
name = "GstBase.BaseTransform"
|
name = "GstBase.BaseTransform"
|
||||||
status = "generate"
|
status = "generate"
|
||||||
|
@ -191,6 +196,16 @@ manual_traits = ["AggregatorExtManual"]
|
||||||
# Takes ownership
|
# Takes ownership
|
||||||
ignore = true
|
ignore = true
|
||||||
|
|
||||||
|
[[object.function]]
|
||||||
|
name = "finish_buffer_list"
|
||||||
|
# Takes ownership
|
||||||
|
ignore = true
|
||||||
|
|
||||||
|
[[object.function]]
|
||||||
|
name = "selected_samples"
|
||||||
|
# Info parameter
|
||||||
|
ignore = true
|
||||||
|
|
||||||
[[object.property]]
|
[[object.property]]
|
||||||
name = "latency"
|
name = "latency"
|
||||||
version = "1.14"
|
version = "1.14"
|
||||||
|
|
|
@ -20,7 +20,6 @@ external_libraries = [
|
||||||
generate = [
|
generate = [
|
||||||
"GstVideo.VideoCodecFrameFlags",
|
"GstVideo.VideoCodecFrameFlags",
|
||||||
"GstVideo.VideoFormatFlags",
|
"GstVideo.VideoFormatFlags",
|
||||||
"GstVideo.VideoTileMode",
|
|
||||||
"GstVideo.VideoColorMatrix",
|
"GstVideo.VideoColorMatrix",
|
||||||
"GstVideo.VideoMultiviewMode",
|
"GstVideo.VideoMultiviewMode",
|
||||||
"GstVideo.VideoFieldOrder",
|
"GstVideo.VideoFieldOrder",
|
||||||
|
@ -383,6 +382,14 @@ status = "generate"
|
||||||
name = "y412_le"
|
name = "y412_le"
|
||||||
version = "1.18"
|
version = "1.18"
|
||||||
|
|
||||||
|
[[object.member]]
|
||||||
|
name = "nv12_4l4"
|
||||||
|
version = "1.18"
|
||||||
|
|
||||||
|
[[object.member]]
|
||||||
|
name = "nv12_32l32"
|
||||||
|
version = "1.18"
|
||||||
|
|
||||||
[[object]]
|
[[object]]
|
||||||
name = "GstVideo.VideoSink"
|
name = "GstVideo.VideoSink"
|
||||||
status = "generate"
|
status = "generate"
|
||||||
|
@ -492,6 +499,9 @@ status = "generate"
|
||||||
[[object.member]]
|
[[object.member]]
|
||||||
name = "arib_std_b67"
|
name = "arib_std_b67"
|
||||||
version = "1.18"
|
version = "1.18"
|
||||||
|
[[object.member]]
|
||||||
|
name = "bt601"
|
||||||
|
version = "1.18"
|
||||||
|
|
||||||
[[object]]
|
[[object]]
|
||||||
name = "GstVideo.VideoColorPrimaries"
|
name = "GstVideo.VideoColorPrimaries"
|
||||||
|
@ -508,3 +518,10 @@ status = "generate"
|
||||||
[[object.member]]
|
[[object.member]]
|
||||||
name = "ebu3213"
|
name = "ebu3213"
|
||||||
version = "1.16"
|
version = "1.16"
|
||||||
|
|
||||||
|
[[object]]
|
||||||
|
name = "GstVideo.VideoTileMode"
|
||||||
|
status = "generate"
|
||||||
|
[[object.member]]
|
||||||
|
name = "linear"
|
||||||
|
version = "1.18"
|
||||||
|
|
|
@ -130,31 +130,6 @@ impl AppSrc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_property_duration(&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"duration\0".as_ptr() as *const _,
|
|
||||||
value.to_glib_none_mut().0,
|
|
||||||
);
|
|
||||||
value
|
|
||||||
.get()
|
|
||||||
.expect("Return Value for property `duration` getter")
|
|
||||||
.unwrap()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn set_property_duration(&self, duration: u64) {
|
|
||||||
unsafe {
|
|
||||||
gobject_sys::g_object_set_property(
|
|
||||||
self.as_ptr() as *mut gobject_sys::GObject,
|
|
||||||
b"duration\0".as_ptr() as *const _,
|
|
||||||
Value::from(&duration).to_glib_none().0,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_property_format(&self) -> gst::Format {
|
pub fn get_property_format(&self) -> gst::Format {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut value = Value::from_type(<gst::Format as StaticType>::static_type());
|
let mut value = Value::from_type(<gst::Format as StaticType>::static_type());
|
||||||
|
@ -180,6 +155,33 @@ impl AppSrc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
pub fn get_property_handle_segment_change(&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"handle-segment-change\0".as_ptr() as *const _,
|
||||||
|
value.to_glib_none_mut().0,
|
||||||
|
);
|
||||||
|
value
|
||||||
|
.get()
|
||||||
|
.expect("Return Value for property `handle-segment-change` getter")
|
||||||
|
.unwrap()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
pub fn set_property_handle_segment_change(&self, handle_segment_change: bool) {
|
||||||
|
unsafe {
|
||||||
|
gobject_sys::g_object_set_property(
|
||||||
|
self.as_ptr() as *mut gobject_sys::GObject,
|
||||||
|
b"handle-segment-change\0".as_ptr() as *const _,
|
||||||
|
Value::from(&handle_segment_change).to_glib_none().0,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn get_property_is_live(&self) -> bool {
|
pub fn get_property_is_live(&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());
|
||||||
|
@ -310,11 +312,11 @@ impl AppSrc {
|
||||||
) -> SignalHandlerId {
|
) -> SignalHandlerId {
|
||||||
unsafe extern "C" fn need_data_trampoline<F: Fn(&AppSrc, u32) + Send + Sync + 'static>(
|
unsafe extern "C" fn need_data_trampoline<F: Fn(&AppSrc, u32) + Send + Sync + 'static>(
|
||||||
this: *mut gst_app_sys::GstAppSrc,
|
this: *mut gst_app_sys::GstAppSrc,
|
||||||
length: libc::c_uint,
|
object: libc::c_uint,
|
||||||
f: glib_sys::gpointer,
|
f: glib_sys::gpointer,
|
||||||
) {
|
) {
|
||||||
let f: &F = &*(f as *const F);
|
let f: &F = &*(f as *const F);
|
||||||
f(&from_glib_borrow(this), length)
|
f(&from_glib_borrow(this), object)
|
||||||
}
|
}
|
||||||
unsafe {
|
unsafe {
|
||||||
let f: Box_<F> = Box_::new(f);
|
let f: Box_<F> = Box_::new(f);
|
||||||
|
@ -337,11 +339,11 @@ impl AppSrc {
|
||||||
F: Fn(&AppSrc, u64) -> bool + Send + Sync + 'static,
|
F: Fn(&AppSrc, u64) -> bool + Send + Sync + 'static,
|
||||||
>(
|
>(
|
||||||
this: *mut gst_app_sys::GstAppSrc,
|
this: *mut gst_app_sys::GstAppSrc,
|
||||||
offset: u64,
|
object: u64,
|
||||||
f: glib_sys::gpointer,
|
f: glib_sys::gpointer,
|
||||||
) -> glib_sys::gboolean {
|
) -> glib_sys::gboolean {
|
||||||
let f: &F = &*(f as *const F);
|
let f: &F = &*(f as *const F);
|
||||||
f(&from_glib_borrow(this), offset).to_glib()
|
f(&from_glib_borrow(this), object).to_glib()
|
||||||
}
|
}
|
||||||
unsafe {
|
unsafe {
|
||||||
let f: Box_<F> = Box_::new(f);
|
let f: Box_<F> = Box_::new(f);
|
||||||
|
@ -433,6 +435,7 @@ impl AppSrc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_10", feature = "dox"))]
|
||||||
pub fn connect_property_duration_notify<F: Fn(&AppSrc) + Send + Sync + 'static>(
|
pub fn connect_property_duration_notify<F: Fn(&AppSrc) + Send + Sync + 'static>(
|
||||||
&self,
|
&self,
|
||||||
f: F,
|
f: F,
|
||||||
|
@ -510,6 +513,34 @@ impl AppSrc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
pub fn connect_property_handle_segment_change_notify<F: Fn(&AppSrc) + Send + Sync + 'static>(
|
||||||
|
&self,
|
||||||
|
f: F,
|
||||||
|
) -> SignalHandlerId {
|
||||||
|
unsafe extern "C" fn notify_handle_segment_change_trampoline<
|
||||||
|
F: Fn(&AppSrc) + Send + Sync + 'static,
|
||||||
|
>(
|
||||||
|
this: *mut gst_app_sys::GstAppSrc,
|
||||||
|
_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::handle-segment-change\0".as_ptr() as *const _,
|
||||||
|
Some(transmute::<_, unsafe extern "C" fn()>(
|
||||||
|
notify_handle_segment_change_trampoline::<F> as *const (),
|
||||||
|
)),
|
||||||
|
Box_::into_raw(f),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn connect_property_is_live_notify<F: Fn(&AppSrc) + Send + Sync + 'static>(
|
pub fn connect_property_is_live_notify<F: Fn(&AppSrc) + Send + Sync + 'static>(
|
||||||
&self,
|
&self,
|
||||||
f: F,
|
f: F,
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -16,6 +16,8 @@ use gst_base_sys;
|
||||||
use std::boxed::Box as Box_;
|
use std::boxed::Box as Box_;
|
||||||
use std::mem::transmute;
|
use std::mem::transmute;
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
use AggregatorPad;
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use AggregatorStartTimeSelection;
|
use AggregatorStartTimeSelection;
|
||||||
|
|
||||||
glib_wrapper! {
|
glib_wrapper! {
|
||||||
|
@ -44,6 +46,9 @@ pub trait AggregatorExt: 'static {
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
fn negotiate(&self) -> bool;
|
fn negotiate(&self) -> bool;
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn peek_next_sample<P: IsA<AggregatorPad>>(&self, pad: &P) -> Option<gst::Sample>;
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_14", feature = "dox"))]
|
#[cfg(any(feature = "v1_14", feature = "dox"))]
|
||||||
fn set_latency(&self, min_latency: gst::ClockTime, max_latency: gst::ClockTime);
|
fn set_latency(&self, min_latency: gst::ClockTime, max_latency: gst::ClockTime);
|
||||||
|
|
||||||
|
@ -56,6 +61,12 @@ pub trait AggregatorExt: 'static {
|
||||||
//#[cfg(any(feature = "v1_18", feature = "dox"))]
|
//#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
//fn update_segment(&self, segment: /*Ignored*/&gst::Segment);
|
//fn update_segment(&self, segment: /*Ignored*/&gst::Segment);
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn get_property_emit_signals(&self) -> bool;
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn set_property_emit_signals(&self, emit_signals: bool);
|
||||||
|
|
||||||
fn get_property_start_time(&self) -> u64;
|
fn get_property_start_time(&self) -> u64;
|
||||||
|
|
||||||
fn set_property_start_time(&self, start_time: u64);
|
fn set_property_start_time(&self, start_time: u64);
|
||||||
|
@ -66,6 +77,15 @@ pub trait AggregatorExt: 'static {
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
fn set_property_start_time_selection(&self, start_time_selection: AggregatorStartTimeSelection);
|
fn set_property_start_time_selection(&self, start_time_selection: AggregatorStartTimeSelection);
|
||||||
|
|
||||||
|
//#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
//fn connect_samples_selected<Unsupported or ignored types>(&self, f: F) -> SignalHandlerId;
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn connect_property_emit_signals_notify<F: Fn(&Self) + Send + Sync + 'static>(
|
||||||
|
&self,
|
||||||
|
f: F,
|
||||||
|
) -> SignalHandlerId;
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_14", feature = "dox"))]
|
#[cfg(any(feature = "v1_14", feature = "dox"))]
|
||||||
fn connect_property_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
|
fn connect_property_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
|
||||||
&self,
|
&self,
|
||||||
|
@ -117,6 +137,16 @@ impl<O: IsA<Aggregator>> AggregatorExt for O {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn peek_next_sample<P: IsA<AggregatorPad>>(&self, pad: &P) -> Option<gst::Sample> {
|
||||||
|
unsafe {
|
||||||
|
from_glib_full(gst_base_sys::gst_aggregator_peek_next_sample(
|
||||||
|
self.as_ref().to_glib_none().0,
|
||||||
|
pad.as_ref().to_glib_none().0,
|
||||||
|
))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_14", feature = "dox"))]
|
#[cfg(any(feature = "v1_14", feature = "dox"))]
|
||||||
fn set_latency(&self, min_latency: gst::ClockTime, max_latency: gst::ClockTime) {
|
fn set_latency(&self, min_latency: gst::ClockTime, max_latency: gst::ClockTime) {
|
||||||
unsafe {
|
unsafe {
|
||||||
|
@ -152,6 +182,33 @@ impl<O: IsA<Aggregator>> AggregatorExt for O {
|
||||||
// unsafe { TODO: call gst_base_sys:gst_aggregator_update_segment() }
|
// unsafe { TODO: call gst_base_sys:gst_aggregator_update_segment() }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn get_property_emit_signals(&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"emit-signals\0".as_ptr() as *const _,
|
||||||
|
value.to_glib_none_mut().0,
|
||||||
|
);
|
||||||
|
value
|
||||||
|
.get()
|
||||||
|
.expect("Return Value for property `emit-signals` getter")
|
||||||
|
.unwrap()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn set_property_emit_signals(&self, emit_signals: bool) {
|
||||||
|
unsafe {
|
||||||
|
gobject_sys::g_object_set_property(
|
||||||
|
self.to_glib_none().0 as *mut gobject_sys::GObject,
|
||||||
|
b"emit-signals\0".as_ptr() as *const _,
|
||||||
|
Value::from(&emit_signals).to_glib_none().0,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn get_property_start_time(&self) -> u64 {
|
fn get_property_start_time(&self) -> u64 {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut value = Value::from_type(<u64 as StaticType>::static_type());
|
let mut value = Value::from_type(<u64 as StaticType>::static_type());
|
||||||
|
@ -208,6 +265,39 @@ impl<O: IsA<Aggregator>> AggregatorExt for O {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
//fn connect_samples_selected<Unsupported or ignored types>(&self, f: F) -> SignalHandlerId {
|
||||||
|
// Ignored object: Gst.Segment
|
||||||
|
//}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn connect_property_emit_signals_notify<F: Fn(&Self) + Send + Sync + 'static>(
|
||||||
|
&self,
|
||||||
|
f: F,
|
||||||
|
) -> SignalHandlerId {
|
||||||
|
unsafe extern "C" fn notify_emit_signals_trampoline<P, F: Fn(&P) + Send + Sync + 'static>(
|
||||||
|
this: *mut gst_base_sys::GstAggregator,
|
||||||
|
_param_spec: glib_sys::gpointer,
|
||||||
|
f: glib_sys::gpointer,
|
||||||
|
) where
|
||||||
|
P: IsA<Aggregator>,
|
||||||
|
{
|
||||||
|
let f: &F = &*(f as *const F);
|
||||||
|
f(&Aggregator::from_glib_borrow(this).unsafe_cast_ref())
|
||||||
|
}
|
||||||
|
unsafe {
|
||||||
|
let f: Box_<F> = Box_::new(f);
|
||||||
|
connect_raw(
|
||||||
|
self.as_ptr() as *mut _,
|
||||||
|
b"notify::emit-signals\0".as_ptr() as *const _,
|
||||||
|
Some(transmute::<_, unsafe extern "C" fn()>(
|
||||||
|
notify_emit_signals_trampoline::<Self, F> as *const (),
|
||||||
|
)),
|
||||||
|
Box_::into_raw(f),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_14", feature = "dox"))]
|
#[cfg(any(feature = "v1_14", feature = "dox"))]
|
||||||
fn connect_property_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
|
fn connect_property_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
|
||||||
&self,
|
&self,
|
||||||
|
|
|
@ -46,6 +46,7 @@ pub trait BaseSrcExt: 'static {
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
fn negotiate(&self) -> bool;
|
fn negotiate(&self) -> bool;
|
||||||
|
|
||||||
|
#[cfg_attr(feature = "v1_18", deprecated)]
|
||||||
fn new_seamless_segment(&self, start: i64, stop: i64, time: i64) -> bool;
|
fn new_seamless_segment(&self, start: i64, stop: i64, time: i64) -> bool;
|
||||||
|
|
||||||
fn set_async(&self, async: bool);
|
fn set_async(&self, async: bool);
|
||||||
|
|
|
@ -2,14 +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
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use glib::value::FromValue;
|
use glib::value::FromValue;
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use glib::value::FromValueOptional;
|
use glib::value::FromValueOptional;
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use glib::value::SetValue;
|
use glib::value::SetValue;
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use glib::value::Value;
|
use glib::value::Value;
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use glib::StaticType;
|
use glib::StaticType;
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use glib::Type;
|
use glib::Type;
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use gobject_sys;
|
use gobject_sys;
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use gst_base_sys;
|
use gst_base_sys;
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
|
|
@ -38,7 +38,6 @@ pub use self::base_transform::{BaseTransform, BaseTransformClass, NONE_BASE_TRAN
|
||||||
mod push_src;
|
mod push_src;
|
||||||
pub use self::push_src::{PushSrc, PushSrcClass, NONE_PUSH_SRC};
|
pub use self::push_src::{PushSrc, PushSrcClass, NONE_PUSH_SRC};
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
|
||||||
mod enums;
|
mod enums;
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
pub use self::enums::AggregatorStartTimeSelection;
|
pub use self::enums::AggregatorStartTimeSelection;
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -15,6 +15,8 @@ use std::boxed::Box as Box_;
|
||||||
use std::mem::transmute;
|
use std::mem::transmute;
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
use Asset;
|
use Asset;
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
use Clip;
|
||||||
use Extractable;
|
use Extractable;
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
use FrameNumber;
|
use FrameNumber;
|
||||||
|
@ -146,6 +148,12 @@ pub trait TimelineExt: 'static {
|
||||||
|
|
||||||
fn connect_layer_removed<F: Fn(&Self, &Layer) + 'static>(&self, f: F) -> SignalHandlerId;
|
fn connect_layer_removed<F: Fn(&Self, &Layer) + 'static>(&self, f: F) -> SignalHandlerId;
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn connect_select_element_track<F: Fn(&Self, &Clip, &TrackElement) -> Track + 'static>(
|
||||||
|
&self,
|
||||||
|
f: F,
|
||||||
|
) -> SignalHandlerId;
|
||||||
|
|
||||||
//fn connect_select_tracks_for_object<Unsupported or ignored types>(&self, f: F) -> SignalHandlerId;
|
//fn connect_select_tracks_for_object<Unsupported or ignored types>(&self, f: F) -> SignalHandlerId;
|
||||||
|
|
||||||
fn connect_snapping_ended<F: Fn(&Self, &TrackElement, &TrackElement, u64) + 'static>(
|
fn connect_snapping_ended<F: Fn(&Self, &TrackElement, &TrackElement, u64) + 'static>(
|
||||||
|
@ -495,7 +503,7 @@ impl<O: IsA<Timeline>> TimelineExt for O {
|
||||||
}
|
}
|
||||||
|
|
||||||
//fn connect_group_removed<Unsupported or ignored types>(&self, f: F) -> SignalHandlerId {
|
//fn connect_group_removed<Unsupported or ignored types>(&self, f: F) -> SignalHandlerId {
|
||||||
// Empty ctype children: *.PtrArray TypeId { ns_id: 1, id: 53 }
|
// Empty ctype children: *.PtrArray TypeId { ns_id: 1, id: 54 }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
fn connect_layer_added<F: Fn(&Self, &Layer) + 'static>(&self, f: F) -> SignalHandlerId {
|
fn connect_layer_added<F: Fn(&Self, &Layer) + 'static>(&self, f: F) -> SignalHandlerId {
|
||||||
|
@ -552,6 +560,44 @@ impl<O: IsA<Timeline>> TimelineExt for O {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
fn connect_select_element_track<F: Fn(&Self, &Clip, &TrackElement) -> Track + 'static>(
|
||||||
|
&self,
|
||||||
|
f: F,
|
||||||
|
) -> SignalHandlerId {
|
||||||
|
unsafe extern "C" fn select_element_track_trampoline<
|
||||||
|
P,
|
||||||
|
F: Fn(&P, &Clip, &TrackElement) -> Track + 'static,
|
||||||
|
>(
|
||||||
|
this: *mut ges_sys::GESTimeline,
|
||||||
|
clip: *mut ges_sys::GESClip,
|
||||||
|
track_element: *mut ges_sys::GESTrackElement,
|
||||||
|
f: glib_sys::gpointer,
|
||||||
|
) -> *mut ges_sys::GESTrack
|
||||||
|
where
|
||||||
|
P: IsA<Timeline>,
|
||||||
|
{
|
||||||
|
let f: &F = &*(f as *const F);
|
||||||
|
f(
|
||||||
|
&Timeline::from_glib_borrow(this).unsafe_cast_ref(),
|
||||||
|
&from_glib_borrow(clip),
|
||||||
|
&from_glib_borrow(track_element),
|
||||||
|
)
|
||||||
|
.to_glib_full()
|
||||||
|
}
|
||||||
|
unsafe {
|
||||||
|
let f: Box_<F> = Box_::new(f);
|
||||||
|
connect_raw(
|
||||||
|
self.as_ptr() as *mut _,
|
||||||
|
b"select-element-track\0".as_ptr() as *const _,
|
||||||
|
Some(transmute::<_, unsafe extern "C" fn()>(
|
||||||
|
select_element_track_trampoline::<Self, F> as *const (),
|
||||||
|
)),
|
||||||
|
Box_::into_raw(f),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//fn connect_select_tracks_for_object<Unsupported or ignored types>(&self, f: F) -> SignalHandlerId {
|
//fn connect_select_tracks_for_object<Unsupported or ignored types>(&self, f: F) -> SignalHandlerId {
|
||||||
// Empty ctype return value *.PtrArray TypeId { ns_id: 1, id: 17 }
|
// Empty ctype return value *.PtrArray TypeId { ns_id: 1, id: 17 }
|
||||||
//}
|
//}
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -57,9 +57,6 @@ pub trait GLDisplayExt: 'static {
|
||||||
|
|
||||||
fn filter_gl_api(&self, gl_api: GLAPI);
|
fn filter_gl_api(&self, gl_api: GLAPI);
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
|
||||||
fn get_foreign_display(&self) -> bool;
|
|
||||||
|
|
||||||
fn get_gl_api(&self) -> GLAPI;
|
fn get_gl_api(&self) -> GLAPI;
|
||||||
|
|
||||||
fn get_gl_api_unlocked(&self) -> GLAPI;
|
fn get_gl_api_unlocked(&self) -> GLAPI;
|
||||||
|
@ -132,15 +129,6 @@ impl<O: IsA<GLDisplay>> GLDisplayExt for O {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
|
||||||
fn get_foreign_display(&self) -> bool {
|
|
||||||
unsafe {
|
|
||||||
from_glib(gst_gl_sys::gst_gl_display_get_foreign_display(
|
|
||||||
self.as_ref().to_glib_none().0,
|
|
||||||
))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn get_gl_api(&self) -> GLAPI {
|
fn get_gl_api(&self) -> GLAPI {
|
||||||
unsafe {
|
unsafe {
|
||||||
from_glib(gst_gl_sys::gst_gl_display_get_gl_api(
|
from_glib(gst_gl_sys::gst_gl_display_get_gl_api(
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
// 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::object::IsA;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst;
|
use gst;
|
||||||
use gst_gl_sys;
|
use gst_gl_sys;
|
||||||
|
@ -25,6 +26,15 @@ impl GLDisplayEGL {
|
||||||
// unsafe { TODO: call gst_gl_sys:gst_gl_display_egl_new_with_egl_display() }
|
// unsafe { TODO: call gst_gl_sys:gst_gl_display_egl_new_with_egl_display() }
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
pub fn from_gl_display<P: IsA<GLDisplay>>(display: &P) -> Option<GLDisplayEGL> {
|
||||||
|
skip_assert_initialized!();
|
||||||
|
unsafe {
|
||||||
|
from_glib_full(gst_gl_sys::gst_gl_display_egl_from_gl_display(
|
||||||
|
display.as_ref().to_glib_none().0,
|
||||||
|
))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//pub fn get_from_native(type_: GLDisplayType, display: /*Unimplemented*/Fundamental: UIntPtr) -> /*Unimplemented*/Option<Fundamental: Pointer> {
|
//pub fn get_from_native(type_: GLDisplayType, display: /*Unimplemented*/Fundamental: UIntPtr) -> /*Unimplemented*/Option<Fundamental: Pointer> {
|
||||||
// unsafe { TODO: call gst_gl_sys:gst_gl_display_egl_get_from_native() }
|
// unsafe { TODO: call gst_gl_sys:gst_gl_display_egl_get_from_native() }
|
||||||
//}
|
//}
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -826,6 +826,10 @@ pub enum VideoFormat {
|
||||||
Y412Be,
|
Y412Be,
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
Y412Le,
|
Y412Le,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
Nv124l4,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
Nv1232l32,
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
__Unknown(i32),
|
__Unknown(i32),
|
||||||
}
|
}
|
||||||
|
@ -969,6 +973,10 @@ impl ToGlib for VideoFormat {
|
||||||
VideoFormat::Y412Be => gst_video_sys::GST_VIDEO_FORMAT_Y412_BE,
|
VideoFormat::Y412Be => gst_video_sys::GST_VIDEO_FORMAT_Y412_BE,
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
VideoFormat::Y412Le => gst_video_sys::GST_VIDEO_FORMAT_Y412_LE,
|
VideoFormat::Y412Le => gst_video_sys::GST_VIDEO_FORMAT_Y412_LE,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
VideoFormat::Nv124l4 => gst_video_sys::GST_VIDEO_FORMAT_NV12_4L4,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
VideoFormat::Nv1232l32 => gst_video_sys::GST_VIDEO_FORMAT_NV12_32L32,
|
||||||
VideoFormat::__Unknown(value) => value,
|
VideoFormat::__Unknown(value) => value,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1112,6 +1120,10 @@ impl FromGlib<gst_video_sys::GstVideoFormat> for VideoFormat {
|
||||||
95 => VideoFormat::Y412Be,
|
95 => VideoFormat::Y412Be,
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
96 => VideoFormat::Y412Le,
|
96 => VideoFormat::Y412Le,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
97 => VideoFormat::Nv124l4,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
98 => VideoFormat::Nv1232l32,
|
||||||
value => VideoFormat::__Unknown(value),
|
value => VideoFormat::__Unknown(value),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1671,6 +1683,8 @@ impl SetValue for VideoResamplerMethod {
|
||||||
pub enum VideoTileMode {
|
pub enum VideoTileMode {
|
||||||
Unknown,
|
Unknown,
|
||||||
Zflipz2x2,
|
Zflipz2x2,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
Linear,
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
__Unknown(i32),
|
__Unknown(i32),
|
||||||
}
|
}
|
||||||
|
@ -1683,6 +1697,8 @@ impl ToGlib for VideoTileMode {
|
||||||
match *self {
|
match *self {
|
||||||
VideoTileMode::Unknown => gst_video_sys::GST_VIDEO_TILE_MODE_UNKNOWN,
|
VideoTileMode::Unknown => gst_video_sys::GST_VIDEO_TILE_MODE_UNKNOWN,
|
||||||
VideoTileMode::Zflipz2x2 => gst_video_sys::GST_VIDEO_TILE_MODE_ZFLIPZ_2X2,
|
VideoTileMode::Zflipz2x2 => gst_video_sys::GST_VIDEO_TILE_MODE_ZFLIPZ_2X2,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
VideoTileMode::Linear => gst_video_sys::GST_VIDEO_TILE_MODE_LINEAR,
|
||||||
VideoTileMode::__Unknown(value) => value,
|
VideoTileMode::__Unknown(value) => value,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1695,6 +1711,8 @@ impl FromGlib<gst_video_sys::GstVideoTileMode> for VideoTileMode {
|
||||||
match value {
|
match value {
|
||||||
0 => VideoTileMode::Unknown,
|
0 => VideoTileMode::Unknown,
|
||||||
65536 => VideoTileMode::Zflipz2x2,
|
65536 => VideoTileMode::Zflipz2x2,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
131072 => VideoTileMode::Linear,
|
||||||
value => VideoTileMode::__Unknown(value),
|
value => VideoTileMode::__Unknown(value),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1746,6 +1764,8 @@ pub enum VideoTransferFunction {
|
||||||
Smpte2084,
|
Smpte2084,
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
AribStdB67,
|
AribStdB67,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
Bt601,
|
||||||
#[doc(hidden)]
|
#[doc(hidden)]
|
||||||
__Unknown(i32),
|
__Unknown(i32),
|
||||||
}
|
}
|
||||||
|
@ -1775,6 +1795,8 @@ impl ToGlib for VideoTransferFunction {
|
||||||
VideoTransferFunction::Smpte2084 => gst_video_sys::GST_VIDEO_TRANSFER_SMPTE2084,
|
VideoTransferFunction::Smpte2084 => gst_video_sys::GST_VIDEO_TRANSFER_SMPTE2084,
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
VideoTransferFunction::AribStdB67 => gst_video_sys::GST_VIDEO_TRANSFER_ARIB_STD_B67,
|
VideoTransferFunction::AribStdB67 => gst_video_sys::GST_VIDEO_TRANSFER_ARIB_STD_B67,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
VideoTransferFunction::Bt601 => gst_video_sys::GST_VIDEO_TRANSFER_BT601,
|
||||||
VideoTransferFunction::__Unknown(value) => value,
|
VideoTransferFunction::__Unknown(value) => value,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1804,6 +1826,8 @@ impl FromGlib<gst_video_sys::GstVideoTransferFunction> for VideoTransferFunction
|
||||||
14 => VideoTransferFunction::Smpte2084,
|
14 => VideoTransferFunction::Smpte2084,
|
||||||
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
15 => VideoTransferFunction::AribStdB67,
|
15 => VideoTransferFunction::AribStdB67,
|
||||||
|
#[cfg(any(feature = "v1_18", feature = "dox"))]
|
||||||
|
16 => VideoTransferFunction::Bt601,
|
||||||
value => VideoTransferFunction::__Unknown(value),
|
value => VideoTransferFunction::__Unknown(value),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
Generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
|
||||||
from gir-files (https://github.com/gtk-rs/gir-files @ 2d4abeba)
|
from gir-files (https://github.com/gtk-rs/gir-files @ 2ec84e17)
|
||||||
|
|
Loading…
Reference in a new issue