Regenerate everything with new GIR files

This commit is contained in:
Sebastian Dröge 2018-03-14 18:59:28 +02:00
parent 6af207c3e4
commit 0cdf5744c3
39 changed files with 893 additions and 64 deletions

View file

@ -18,6 +18,7 @@ v1_6 = ["v1_4"]
v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
dox = []
[lib]

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-app-1.0";
let shared_libs = ["gstapp-1.0"];
let version = if cfg!(feature = "v1_12") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
@ -111,7 +111,8 @@ pub struct GstAppSrcClass {
pub push_buffer: Option<unsafe extern "C" fn(*mut GstAppSrc, *mut gst::GstBuffer) -> gst::GstFlowReturn>,
pub end_of_stream: Option<unsafe extern "C" fn(*mut GstAppSrc) -> gst::GstFlowReturn>,
pub push_sample: Option<unsafe extern "C" fn(*mut GstAppSrc, *mut gst::GstSample) -> gst::GstFlowReturn>,
pub _gst_reserved: [gpointer; 3],
pub push_buffer_list: Option<unsafe extern "C" fn(*mut GstAppSrc, *mut gst::GstBufferList) -> gst::GstFlowReturn>,
pub _gst_reserved: [gpointer; 2],
}
impl ::std::fmt::Debug for GstAppSrcClass {
@ -124,6 +125,7 @@ impl ::std::fmt::Debug for GstAppSrcClass {
.field("push_buffer", &self.push_buffer)
.field("end_of_stream", &self.end_of_stream)
.field("push_sample", &self.push_sample)
.field("push_buffer_list", &self.push_buffer_list)
.finish()
}
}
@ -221,6 +223,8 @@ extern "C" {
pub fn gst_app_src_get_size(appsrc: *mut GstAppSrc) -> i64;
pub fn gst_app_src_get_stream_type(appsrc: *mut GstAppSrc) -> GstAppStreamType;
pub fn gst_app_src_push_buffer(appsrc: *mut GstAppSrc, buffer: *mut gst::GstBuffer) -> gst::GstFlowReturn;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_app_src_push_buffer_list(appsrc: *mut GstAppSrc, buffer_list: *mut gst::GstBufferList) -> gst::GstFlowReturn;
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_app_src_push_sample(appsrc: *mut GstAppSrc, sample: *mut gst::GstSample) -> gst::GstFlowReturn;
pub fn gst_app_src_set_callbacks(appsrc: *mut GstAppSrc, callbacks: *mut GstAppSrcCallbacks, user_data: gpointer, notify: glib::GDestroyNotify);

View file

@ -20,6 +20,7 @@ v1_6 = ["v1_4"]
v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
dox = []
[lib]

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-audio-1.0";
let shared_libs = ["gstaudio-1.0"];
let version = if cfg!(feature = "v1_12") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
@ -176,6 +176,7 @@ pub const GST_STREAM_VOLUME_FORMAT_DB: GstStreamVolumeFormat = 2;
// Constants
pub const GST_AUDIO_CHANNELS_RANGE: *const c_char = b"(int) [ 1, max ]\0" as *const u8 as *const c_char;
pub const GST_AUDIO_CONVERTER_OPT_DITHER_METHOD: *const c_char = b"GstAudioConverter.dither-method\0" as *const u8 as *const c_char;
pub const GST_AUDIO_CONVERTER_OPT_MIX_MATRIX: *const c_char = b"GstAudioConverter.mix-matrix\0" as *const u8 as *const c_char;
pub const GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD: *const c_char = b"GstAudioConverter.noise-shaping-method\0" as *const u8 as *const c_char;
pub const GST_AUDIO_CONVERTER_OPT_QUANTIZATION: *const c_char = b"GstAudioConverter.quantization\0" as *const u8 as *const c_char;
pub const GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD: *const c_char = b"GstAudioConverter.resampler-method\0" as *const u8 as *const c_char;
@ -304,6 +305,89 @@ pub type GstAudioFormatUnpack = Option<unsafe extern "C" fn(*const GstAudioForma
pub type GstAudioRingBufferCallback = Option<unsafe extern "C" fn(*mut GstAudioRingBuffer, *mut u8, c_uint, gpointer)>;
// Records
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAudioAggregatorClass {
pub parent_class: gst_base::GstAggregatorClass,
pub create_output_buffer: Option<unsafe extern "C" fn(*mut GstAudioAggregator, c_uint) -> *mut gst::GstBuffer>,
pub aggregate_one_buffer: Option<unsafe extern "C" fn(*mut GstAudioAggregator, *mut GstAudioAggregatorPad, *mut gst::GstBuffer, c_uint, *mut gst::GstBuffer, c_uint, c_uint) -> gboolean>,
pub _gst_reserved: [gpointer; 20],
}
impl ::std::fmt::Debug for GstAudioAggregatorClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAudioAggregatorClass @ {:?}", self as *const _))
.field("parent_class", &self.parent_class)
.field("create_output_buffer", &self.create_output_buffer)
.field("aggregate_one_buffer", &self.aggregate_one_buffer)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAudioAggregatorConvertPadClass {
pub parent_class: GstAudioAggregatorPadClass,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstAudioAggregatorConvertPadClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAudioAggregatorConvertPadClass @ {:?}", self as *const _))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[repr(C)]
pub struct GstAudioAggregatorConvertPadPrivate(c_void);
impl ::std::fmt::Debug for GstAudioAggregatorConvertPadPrivate {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAudioAggregatorConvertPadPrivate @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAudioAggregatorPadClass {
pub parent_class: gst_base::GstAggregatorPadClass,
pub convert_buffer: Option<unsafe extern "C" fn(*mut GstAudioAggregatorPad, *mut GstAudioInfo, *mut GstAudioInfo, *mut gst::GstBuffer) -> *mut gst::GstBuffer>,
pub update_conversion_info: Option<unsafe extern "C" fn(*mut GstAudioAggregatorPad)>,
pub _gst_reserved: [gpointer; 20],
}
impl ::std::fmt::Debug for GstAudioAggregatorPadClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAudioAggregatorPadClass @ {:?}", self as *const _))
.field("parent_class", &self.parent_class)
.field("convert_buffer", &self.convert_buffer)
.field("update_conversion_info", &self.update_conversion_info)
.finish()
}
}
#[repr(C)]
pub struct GstAudioAggregatorPadPrivate(c_void);
impl ::std::fmt::Debug for GstAudioAggregatorPadPrivate {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAudioAggregatorPadPrivate @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
pub struct GstAudioAggregatorPrivate(c_void);
impl ::std::fmt::Debug for GstAudioAggregatorPrivate {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAudioAggregatorPrivate @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAudioBaseSinkClass {
@ -838,6 +922,16 @@ impl ::std::fmt::Debug for GstAudioSrcClass {
}
}
#[repr(C)]
pub struct GstAudioStreamAlign(c_void);
impl ::std::fmt::Debug for GstAudioStreamAlign {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAudioStreamAlign @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstStreamVolumeInterface {
@ -853,6 +947,58 @@ impl ::std::fmt::Debug for GstStreamVolumeInterface {
}
// Classes
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAudioAggregator {
pub parent: gst_base::GstAggregator,
pub current_caps: *mut gst::GstCaps,
pub priv_: *mut GstAudioAggregatorPrivate,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstAudioAggregator {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAudioAggregator @ {:?}", self as *const _))
.field("parent", &self.parent)
.field("current_caps", &self.current_caps)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAudioAggregatorConvertPad {
pub parent: GstAudioAggregatorPad,
pub priv_: *mut GstAudioAggregatorConvertPadPrivate,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstAudioAggregatorConvertPad {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAudioAggregatorConvertPad @ {:?}", self as *const _))
.field("parent", &self.parent)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAudioAggregatorPad {
pub parent: gst_base::GstAggregatorPad,
pub info: GstAudioInfo,
pub priv_: *mut GstAudioAggregatorPadPrivate,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstAudioAggregatorPad {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAudioAggregatorPad @ {:?}", self as *const _))
.field("parent", &self.parent)
.field("info", &self.info)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAudioBaseSink {
@ -1229,6 +1375,8 @@ extern "C" {
pub fn gst_audio_channel_mixer_is_passthrough(mix: *mut GstAudioChannelMixer) -> gboolean;
pub fn gst_audio_channel_mixer_samples(mix: *mut GstAudioChannelMixer, in_: gpointer, out: gpointer, samples: c_int);
pub fn gst_audio_channel_mixer_new(flags: GstAudioChannelMixerFlags, format: GstAudioFormat, in_channels: c_int, in_position: *mut GstAudioChannelPosition, out_channels: c_int, out_position: *mut GstAudioChannelPosition) -> *mut GstAudioChannelMixer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_audio_channel_mixer_new_with_matrix(flags: GstAudioChannelMixerFlags, format: GstAudioFormat, in_channels: c_int, out_channels: c_int, matrix: *mut *mut c_float) -> *mut GstAudioChannelMixer;
//=========================================================================
// GstAudioClippingMeta
@ -1238,6 +1386,10 @@ extern "C" {
//=========================================================================
// GstAudioConverter
//=========================================================================
pub fn gst_audio_converter_get_type() -> GType;
pub fn gst_audio_converter_new(flags: GstAudioConverterFlags, in_info: *mut GstAudioInfo, out_info: *mut GstAudioInfo, config: *mut gst::GstStructure) -> *mut GstAudioConverter;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_audio_converter_convert(convert: *mut GstAudioConverter, flags: GstAudioConverterFlags, in_: gpointer, in_size: size_t, out: *mut u8, out_size: *mut size_t) -> gboolean;
pub fn gst_audio_converter_free(convert: *mut GstAudioConverter);
pub fn gst_audio_converter_get_config(convert: *mut GstAudioConverter, in_rate: *mut c_int, out_rate: *mut c_int) -> *const gst::GstStructure;
pub fn gst_audio_converter_get_in_frames(convert: *mut GstAudioConverter, out_frames: size_t) -> size_t;
@ -1247,7 +1399,6 @@ extern "C" {
pub fn gst_audio_converter_samples(convert: *mut GstAudioConverter, flags: GstAudioConverterFlags, in_: gpointer, in_frames: size_t, out: gpointer, out_frames: size_t) -> gboolean;
pub fn gst_audio_converter_supports_inplace(convert: *mut GstAudioConverter) -> gboolean;
pub fn gst_audio_converter_update_config(convert: *mut GstAudioConverter, in_rate: c_int, out_rate: c_int, config: *mut gst::GstStructure) -> gboolean;
pub fn gst_audio_converter_new(flags: GstAudioConverterFlags, in_info: *mut GstAudioInfo, out_info: *mut GstAudioInfo, config: *mut gst::GstStructure) -> *mut GstAudioConverter;
//=========================================================================
// GstAudioDownmixMeta
@ -1271,7 +1422,7 @@ extern "C" {
pub fn gst_audio_info_init(info: *mut GstAudioInfo);
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_audio_info_is_equal(info: *const GstAudioInfo, other: *const GstAudioInfo) -> gboolean;
pub fn gst_audio_info_set_format(info: *mut GstAudioInfo, format: GstAudioFormat, rate: c_int, channels: c_int, position: *const GstAudioChannelPosition);
pub fn gst_audio_info_set_format(info: *mut GstAudioInfo, format: GstAudioFormat, rate: c_int, channels: c_int, position: *mut [GstAudioChannelPosition; 64]);
pub fn gst_audio_info_to_caps(info: *const GstAudioInfo) -> *mut gst::GstCaps;
//=========================================================================
@ -1298,6 +1449,47 @@ extern "C" {
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_audio_resampler_options_set_quality(method: GstAudioResamplerMethod, quality: c_uint, in_rate: c_int, out_rate: c_int, options: *mut gst::GstStructure);
//=========================================================================
// GstAudioStreamAlign
//=========================================================================
pub fn gst_audio_stream_align_get_type() -> GType;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_audio_stream_align_new(rate: c_int, alignment_threshold: gst::GstClockTime, discont_wait: gst::GstClockTime) -> *mut GstAudioStreamAlign;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_audio_stream_align_copy(align: *const GstAudioStreamAlign) -> *mut GstAudioStreamAlign;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_audio_stream_align_free(align: *mut GstAudioStreamAlign);
pub fn gst_audio_stream_align_get_alignment_threshold(align: *mut GstAudioStreamAlign) -> gst::GstClockTime;
pub fn gst_audio_stream_align_get_discont_wait(align: *mut GstAudioStreamAlign) -> gst::GstClockTime;
pub fn gst_audio_stream_align_get_rate(align: *mut GstAudioStreamAlign) -> c_int;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_audio_stream_align_get_samples_since_discont(align: *mut GstAudioStreamAlign) -> u64;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_audio_stream_align_get_timestamp_at_discont(align: *mut GstAudioStreamAlign) -> gst::GstClockTime;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_audio_stream_align_mark_discont(align: *mut GstAudioStreamAlign);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_audio_stream_align_process(align: *mut GstAudioStreamAlign, discont: gboolean, timestamp: gst::GstClockTime, n_samples: c_uint, out_timestamp: *mut gst::GstClockTime, out_duration: *mut gst::GstClockTime, out_sample_position: *mut u64) -> gboolean;
pub fn gst_audio_stream_align_set_alignment_threshold(align: *mut GstAudioStreamAlign, alignment_threshold: gst::GstClockTime);
pub fn gst_audio_stream_align_set_discont_wait(align: *mut GstAudioStreamAlign, discont_wait: gst::GstClockTime);
pub fn gst_audio_stream_align_set_rate(align: *mut GstAudioStreamAlign, rate: c_int);
//=========================================================================
// GstAudioAggregator
//=========================================================================
pub fn gst_audio_aggregator_get_type() -> GType;
pub fn gst_audio_aggregator_set_sink_caps(aagg: *mut GstAudioAggregator, pad: *mut GstAudioAggregatorPad, caps: *mut gst::GstCaps);
//=========================================================================
// GstAudioAggregatorConvertPad
//=========================================================================
pub fn gst_audio_aggregator_convert_pad_get_type() -> GType;
//=========================================================================
// GstAudioAggregatorPad
//=========================================================================
pub fn gst_audio_aggregator_pad_get_type() -> GType;
//=========================================================================
// GstAudioBaseSink
//=========================================================================

View file

@ -19,6 +19,7 @@ v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_12_1 = ["v1_12"]
v1_14 = ["v1_12_1"]
dox = []
[lib]

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-base-1.0";
let shared_libs = ["gstbase-1.0"];
let version = if cfg!(feature = "v1_12_1") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12_1") {
"1.12.1"
} else if cfg!(feature = "v1_12") {
"1.12"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
@ -112,6 +112,96 @@ impl ::std::fmt::Debug for GstAdapterClass {
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAggregatorClass {
pub parent_class: gst::GstElementClass,
pub flush: Option<unsafe extern "C" fn(*mut GstAggregator) -> gst::GstFlowReturn>,
pub clip: Option<unsafe extern "C" fn(*mut GstAggregator, *mut GstAggregatorPad, *mut gst::GstBuffer) -> *mut gst::GstBuffer>,
pub finish_buffer: Option<unsafe extern "C" fn(*mut GstAggregator, *mut gst::GstBuffer) -> gst::GstFlowReturn>,
pub sink_event: Option<unsafe extern "C" fn(*mut GstAggregator, *mut GstAggregatorPad, *mut gst::GstEvent) -> gboolean>,
pub sink_query: Option<unsafe extern "C" fn(*mut GstAggregator, *mut GstAggregatorPad, *mut gst::GstQuery) -> gboolean>,
pub src_event: Option<unsafe extern "C" fn(*mut GstAggregator, *mut gst::GstEvent) -> gboolean>,
pub src_query: Option<unsafe extern "C" fn(*mut GstAggregator, *mut gst::GstQuery) -> gboolean>,
pub src_activate: Option<unsafe extern "C" fn(*mut GstAggregator, gst::GstPadMode, gboolean) -> gboolean>,
pub aggregate: Option<unsafe extern "C" fn(*mut GstAggregator, gboolean) -> gst::GstFlowReturn>,
pub stop: Option<unsafe extern "C" fn(*mut GstAggregator) -> gboolean>,
pub start: Option<unsafe extern "C" fn(*mut GstAggregator) -> gboolean>,
pub get_next_time: Option<unsafe extern "C" fn(*mut GstAggregator) -> gst::GstClockTime>,
pub create_new_pad: Option<unsafe extern "C" fn(*mut GstAggregator, *mut gst::GstPadTemplate, *const c_char, *const gst::GstCaps) -> *mut GstAggregatorPad>,
pub update_src_caps: Option<unsafe extern "C" fn(*mut GstAggregator, *mut gst::GstCaps, *mut *mut gst::GstCaps) -> gst::GstFlowReturn>,
pub fixate_src_caps: Option<unsafe extern "C" fn(*mut GstAggregator, *mut gst::GstCaps) -> *mut gst::GstCaps>,
pub negotiated_src_caps: Option<unsafe extern "C" fn(*mut GstAggregator, *mut gst::GstCaps) -> gboolean>,
pub decide_allocation: Option<unsafe extern "C" fn(*mut GstAggregator, *mut gst::GstQuery) -> gboolean>,
pub propose_allocation: Option<unsafe extern "C" fn(*mut GstAggregator, *mut GstAggregatorPad, *mut gst::GstQuery, *mut gst::GstQuery) -> gboolean>,
pub _gst_reserved: [gpointer; 20],
}
impl ::std::fmt::Debug for GstAggregatorClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAggregatorClass @ {:?}", self as *const _))
.field("parent_class", &self.parent_class)
.field("flush", &self.flush)
.field("clip", &self.clip)
.field("finish_buffer", &self.finish_buffer)
.field("sink_event", &self.sink_event)
.field("sink_query", &self.sink_query)
.field("src_event", &self.src_event)
.field("src_query", &self.src_query)
.field("src_activate", &self.src_activate)
.field("aggregate", &self.aggregate)
.field("stop", &self.stop)
.field("start", &self.start)
.field("get_next_time", &self.get_next_time)
.field("create_new_pad", &self.create_new_pad)
.field("update_src_caps", &self.update_src_caps)
.field("fixate_src_caps", &self.fixate_src_caps)
.field("negotiated_src_caps", &self.negotiated_src_caps)
.field("decide_allocation", &self.decide_allocation)
.field("propose_allocation", &self.propose_allocation)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAggregatorPadClass {
pub parent_class: gst::GstPadClass,
pub flush: Option<unsafe extern "C" fn(*mut GstAggregatorPad, *mut GstAggregator) -> gst::GstFlowReturn>,
pub skip_buffer: Option<unsafe extern "C" fn(*mut GstAggregatorPad, *mut GstAggregator, *mut gst::GstBuffer) -> gboolean>,
pub _gst_reserved: [gpointer; 20],
}
impl ::std::fmt::Debug for GstAggregatorPadClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAggregatorPadClass @ {:?}", self as *const _))
.field("parent_class", &self.parent_class)
.field("flush", &self.flush)
.field("skip_buffer", &self.skip_buffer)
.finish()
}
}
#[repr(C)]
pub struct GstAggregatorPadPrivate(c_void);
impl ::std::fmt::Debug for GstAggregatorPadPrivate {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAggregatorPadPrivate @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
pub struct GstAggregatorPrivate(c_void);
impl ::std::fmt::Debug for GstAggregatorPrivate {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAggregatorPrivate @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstBaseParseClass {
@ -643,6 +733,44 @@ impl ::std::fmt::Debug for GstAdapter {
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAggregator {
pub parent: gst::GstElement,
pub srcpad: *mut gst::GstPad,
pub priv_: *mut GstAggregatorPrivate,
pub _gst_reserved: [gpointer; 20],
}
impl ::std::fmt::Debug for GstAggregator {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAggregator @ {:?}", self as *const _))
.field("parent", &self.parent)
.field("srcpad", &self.srcpad)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstAggregatorPad {
pub parent: gst::GstPad,
pub segment: gst::GstSegment,
pub priv_: *mut GstAggregatorPadPrivate,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstAggregatorPad {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstAggregatorPad @ {:?}", self as *const _))
.field("parent", &self.parent)
.field("segment", &self.segment)
.field("priv_", &self.priv_)
.field("_gst_reserved", &self._gst_reserved)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstBaseParse {
@ -1035,10 +1163,16 @@ extern "C" {
pub fn gst_queue_array_peek_head(array: *mut GstQueueArray) -> gpointer;
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_queue_array_peek_head_struct(array: *mut GstQueueArray) -> gpointer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_queue_array_peek_tail(array: *mut GstQueueArray) -> gpointer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_queue_array_peek_tail_struct(array: *mut GstQueueArray) -> gpointer;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_queue_array_pop_head(array: *mut GstQueueArray) -> gpointer;
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_queue_array_pop_head_struct(array: *mut GstQueueArray) -> gpointer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_queue_array_pop_tail(array: *mut GstQueueArray) -> gpointer;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_queue_array_push_tail(array: *mut GstQueueArray, data: gpointer);
pub fn gst_queue_array_push_tail_struct(array: *mut GstQueueArray, p_struct: gpointer);
@ -1095,6 +1229,26 @@ extern "C" {
pub fn gst_adapter_take_list(adapter: *mut GstAdapter, nbytes: size_t) -> *mut glib::GList;
pub fn gst_adapter_unmap(adapter: *mut GstAdapter);
//=========================================================================
// GstAggregator
//=========================================================================
pub fn gst_aggregator_get_type() -> GType;
pub fn gst_aggregator_finish_buffer(aggregator: *mut GstAggregator, buffer: *mut gst::GstBuffer) -> gst::GstFlowReturn;
pub fn gst_aggregator_get_allocator(self_: *mut GstAggregator, allocator: *mut *mut gst::GstAllocator, params: *mut gst::GstAllocationParams);
pub fn gst_aggregator_get_buffer_pool(self_: *mut GstAggregator) -> *mut gst::GstBufferPool;
pub fn gst_aggregator_get_latency(self_: *mut GstAggregator) -> gst::GstClockTime;
pub fn gst_aggregator_set_latency(self_: *mut GstAggregator, min_latency: gst::GstClockTime, max_latency: gst::GstClockTime);
pub fn gst_aggregator_set_src_caps(self_: *mut GstAggregator, caps: *mut gst::GstCaps);
//=========================================================================
// GstAggregatorPad
//=========================================================================
pub fn gst_aggregator_pad_get_type() -> GType;
pub fn gst_aggregator_pad_drop_buffer(pad: *mut GstAggregatorPad) -> gboolean;
pub fn gst_aggregator_pad_is_eos(pad: *mut GstAggregatorPad) -> gboolean;
pub fn gst_aggregator_pad_peek_buffer(pad: *mut GstAggregatorPad) -> *mut gst::GstBuffer;
pub fn gst_aggregator_pad_pop_buffer(pad: *mut GstAggregatorPad) -> *mut gst::GstBuffer;
//=========================================================================
// GstBaseParse
//=========================================================================
@ -1181,6 +1335,8 @@ extern "C" {
pub fn gst_base_src_set_live(src: *mut GstBaseSrc, live: gboolean);
pub fn gst_base_src_start_complete(basesrc: *mut GstBaseSrc, ret: gst::GstFlowReturn);
pub fn gst_base_src_start_wait(basesrc: *mut GstBaseSrc) -> gst::GstFlowReturn;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_base_src_submit_buffer_list(src: *mut GstBaseSrc, buffer_list: *mut gst::GstBufferList);
pub fn gst_base_src_wait_playing(src: *mut GstBaseSrc) -> gst::GstFlowReturn;
//=========================================================================

View file

@ -17,6 +17,13 @@ path = "../gstreamer-base-sys"
path = "../gstreamer-sys"
[features]
v1_2 = []
v1_4 = ["v1_2"]
v1_6 = ["v1_4"]
v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
dox = []
[lib]

View file

@ -16,8 +16,22 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-mpegts-1.0";
let shared_libs = ["gstmpegts-1.0"];
let version = {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"
} else if cfg!(feature = "v1_8") {
"1.8"
} else if cfg!(feature = "v1_6") {
"1.6"
} else if cfg!(feature = "v1_4") {
"1.4"
} else if cfg!(feature = "v1_2") {
"1.2"
} else {
"1.0"
};
if let Ok(lib_dir) = env::var("GTK_LIB_DIR") {

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT

View file

@ -17,6 +17,7 @@ v1_6 = ["v1_4"]
v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
dox = []
[lib]

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-net-1.0";
let shared_libs = ["gstnet-1.0"];
let version = if cfg!(feature = "v1_12") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT

View file

@ -23,6 +23,7 @@ v1_6 = ["v1_4"]
v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
dox = []
[lib]

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-pbutils-1.0";
let shared_libs = ["gstpbutils-1.0"];
let version = if cfg!(feature = "v1_12") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
@ -71,8 +71,8 @@ pub const GST_ENCODING_CATEGORY_ONLINE_SERVICE: *const c_char = b"online-service
pub const GST_ENCODING_CATEGORY_STORAGE_EDITING: *const c_char = b"storage-editing\0" as *const u8 as *const c_char;
pub const GST_PLUGINS_BASE_VERSION_MAJOR: c_int = 1;
pub const GST_PLUGINS_BASE_VERSION_MICRO: c_int = 1;
pub const GST_PLUGINS_BASE_VERSION_MINOR: c_int = 12;
pub const GST_PLUGINS_BASE_VERSION_NANO: c_int = 0;
pub const GST_PLUGINS_BASE_VERSION_MINOR: c_int = 13;
pub const GST_PLUGINS_BASE_VERSION_NANO: c_int = 1;
// Flags
bitflags! {
@ -416,6 +416,8 @@ extern "C" {
//=========================================================================
pub fn gst_discoverer_audio_info_get_type() -> GType;
pub fn gst_discoverer_audio_info_get_bitrate(info: *const GstDiscovererAudioInfo) -> c_uint;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_discoverer_audio_info_get_channel_mask(info: *const GstDiscovererAudioInfo) -> u64;
pub fn gst_discoverer_audio_info_get_channels(info: *const GstDiscovererAudioInfo) -> c_uint;
pub fn gst_discoverer_audio_info_get_depth(info: *const GstDiscovererAudioInfo) -> c_uint;
pub fn gst_discoverer_audio_info_get_language(info: *const GstDiscovererAudioInfo) -> *const c_char;
@ -438,6 +440,8 @@ extern "C" {
pub fn gst_discoverer_info_get_audio_streams(info: *mut GstDiscovererInfo) -> *mut glib::GList;
pub fn gst_discoverer_info_get_container_streams(info: *mut GstDiscovererInfo) -> *mut glib::GList;
pub fn gst_discoverer_info_get_duration(info: *const GstDiscovererInfo) -> gst::GstClockTime;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_discoverer_info_get_live(info: *const GstDiscovererInfo) -> gboolean;
pub fn gst_discoverer_info_get_misc(info: *const GstDiscovererInfo) -> *const gst::GstStructure;
#[cfg(any(feature = "v1_4", feature = "dox"))]
pub fn gst_discoverer_info_get_missing_elements_installer_details(info: *const GstDiscovererInfo) -> *mut *mut c_char;
@ -564,31 +568,31 @@ extern "C" {
//=========================================================================
// Other functions
//=========================================================================
pub fn gst_codec_utils_aac_caps_set_level_and_profile(caps: *mut gst::GstCaps, audio_config: *const u8, len: c_uint) -> gboolean;
pub fn gst_codec_utils_aac_get_channels(audio_config: *const u8, len: c_uint) -> c_uint;
pub fn gst_codec_utils_aac_caps_set_level_and_profile(caps: *mut gst::GstCaps, audio_config: *mut u8, len: c_uint) -> gboolean;
pub fn gst_codec_utils_aac_get_channels(audio_config: *mut u8, len: c_uint) -> c_uint;
pub fn gst_codec_utils_aac_get_index_from_sample_rate(rate: c_uint) -> c_int;
pub fn gst_codec_utils_aac_get_level(audio_config: *const u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_aac_get_profile(audio_config: *const u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_aac_get_sample_rate(audio_config: *const u8, len: c_uint) -> c_uint;
pub fn gst_codec_utils_aac_get_level(audio_config: *mut u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_aac_get_profile(audio_config: *mut u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_aac_get_sample_rate(audio_config: *mut u8, len: c_uint) -> c_uint;
pub fn gst_codec_utils_aac_get_sample_rate_from_index(sr_idx: c_uint) -> c_uint;
pub fn gst_codec_utils_h264_caps_set_level_and_profile(caps: *mut gst::GstCaps, sps: *const u8, len: c_uint) -> gboolean;
pub fn gst_codec_utils_h264_get_level(sps: *const u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_h264_caps_set_level_and_profile(caps: *mut gst::GstCaps, sps: *mut u8, len: c_uint) -> gboolean;
pub fn gst_codec_utils_h264_get_level(sps: *mut u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_h264_get_level_idc(level: *const c_char) -> u8;
pub fn gst_codec_utils_h264_get_profile(sps: *const u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_h265_caps_set_level_tier_and_profile(caps: *mut gst::GstCaps, profile_tier_level: *const u8, len: c_uint) -> gboolean;
pub fn gst_codec_utils_h265_get_level(profile_tier_level: *const u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_h264_get_profile(sps: *mut u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_h265_caps_set_level_tier_and_profile(caps: *mut gst::GstCaps, profile_tier_level: *mut u8, len: c_uint) -> gboolean;
pub fn gst_codec_utils_h265_get_level(profile_tier_level: *mut u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_h265_get_level_idc(level: *const c_char) -> u8;
pub fn gst_codec_utils_h265_get_profile(profile_tier_level: *const u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_h265_get_tier(profile_tier_level: *const u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_mpeg4video_caps_set_level_and_profile(caps: *mut gst::GstCaps, vis_obj_seq: *const u8, len: c_uint) -> gboolean;
pub fn gst_codec_utils_mpeg4video_get_level(vis_obj_seq: *const u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_mpeg4video_get_profile(vis_obj_seq: *const u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_h265_get_profile(profile_tier_level: *mut u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_h265_get_tier(profile_tier_level: *mut u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_mpeg4video_caps_set_level_and_profile(caps: *mut gst::GstCaps, vis_obj_seq: *mut u8, len: c_uint) -> gboolean;
pub fn gst_codec_utils_mpeg4video_get_level(vis_obj_seq: *mut u8, len: c_uint) -> *const c_char;
pub fn gst_codec_utils_mpeg4video_get_profile(vis_obj_seq: *mut u8, len: c_uint) -> *const c_char;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_codec_utils_opus_create_caps(rate: u32, channels: u8, channel_mapping_family: u8, stream_count: u8, coupled_count: u8, channel_mapping: *const u8) -> *mut gst::GstCaps;
pub fn gst_codec_utils_opus_create_caps(rate: u32, channels: u8, channel_mapping_family: u8, stream_count: u8, coupled_count: u8, channel_mapping: *mut u8) -> *mut gst::GstCaps;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_codec_utils_opus_create_caps_from_header(header: *mut gst::GstBuffer, comments: *mut gst::GstBuffer) -> *mut gst::GstCaps;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_codec_utils_opus_create_header(rate: u32, channels: u8, channel_mapping_family: u8, stream_count: u8, coupled_count: u8, channel_mapping: *const u8, pre_skip: u16, output_gain: i16) -> *mut gst::GstBuffer;
pub fn gst_codec_utils_opus_create_header(rate: u32, channels: u8, channel_mapping_family: u8, stream_count: u8, coupled_count: u8, channel_mapping: *mut u8, pre_skip: u16, output_gain: i16) -> *mut gst::GstBuffer;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_codec_utils_opus_parse_caps(caps: *mut gst::GstCaps, rate: *mut u32, channels: *mut u8, channel_mapping_family: *mut u8, stream_count: *mut u8, coupled_count: *mut u8, channel_mapping: u8) -> gboolean;
#[cfg(any(feature = "v1_8", feature = "dox"))]

View file

@ -14,6 +14,7 @@ path = "../gstreamer-video-sys"
[features]
v1_12 = []
v1_14 = ["v1_12"]
dox = []
[lib]

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-player-1.0";
let shared_libs = ["gstplayer-1.0"];
let version = {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else {
"1.12"
};

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
@ -312,13 +312,13 @@ extern "C" {
pub fn gst_player_config_get_seek_accurate(config: *const gst::GstStructure) -> gboolean;
pub fn gst_player_config_get_user_agent(config: *const gst::GstStructure) -> *mut c_char;
pub fn gst_player_config_set_position_update_interval(config: *mut gst::GstStructure, interval: c_uint);
pub fn gst_player_config_set_seek_accurate(config: *mut gst::GstStructure, accurate: gboolean);
pub fn gst_player_config_set_user_agent(config: *mut gst::GstStructure, agent: *const c_char);
pub fn gst_player_get_audio_streams(info: *const GstPlayerMediaInfo) -> *mut glib::GList;
pub fn gst_player_get_subtitle_streams(info: *const GstPlayerMediaInfo) -> *mut glib::GList;
pub fn gst_player_get_video_streams(info: *const GstPlayerMediaInfo) -> *mut glib::GList;
pub fn gst_player_visualizations_free(viss: *mut *mut GstPlayerVisualization);
pub fn gst_player_visualizations_get() -> *mut *mut GstPlayerVisualization;
pub fn gst_player_config_set_seek_accurate(player: *mut GstPlayer, accurate: gboolean);
pub fn gst_player_get_audio_video_offset(player: *mut GstPlayer) -> i64;
pub fn gst_player_get_color_balance(player: *mut GstPlayer, type_: GstPlayerColorBalanceType) -> c_double;
pub fn gst_player_get_config(player: *mut GstPlayer) -> *mut gst::GstStructure;

View file

@ -31,6 +31,7 @@ v1_6 = ["v1_4"]
v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
[lib]
name = "gstreamer_rtsp_server_sys"

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-rtsp-server-1.0";
let shared_libs = ["gstrtspserver-1.0"];
let version = if cfg!(feature = "v1_12") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
@ -65,6 +65,7 @@ pub const GST_RTSP_AUTH_CHECK_MEDIA_FACTORY_ACCESS: *const c_char = b"auth.check
pub const GST_RTSP_AUTH_CHECK_MEDIA_FACTORY_CONSTRUCT: *const c_char = b"auth.check.media.factory.construct\0" as *const u8 as *const c_char;
pub const GST_RTSP_AUTH_CHECK_TRANSPORT_CLIENT_SETTINGS: *const c_char = b"auth.check.transport.client-settings\0" as *const u8 as *const c_char;
pub const GST_RTSP_AUTH_CHECK_URL: *const c_char = b"auth.check.url\0" as *const u8 as *const c_char;
pub const GST_RTSP_ONVIF_BACKCHANNEL_REQUIREMENT: *const c_char = b"www.onvif.org/ver20/backchannel\0" as *const u8 as *const c_char;
pub const GST_RTSP_PERM_MEDIA_FACTORY_ACCESS: *const c_char = b"media.factory.access\0" as *const u8 as *const c_char;
pub const GST_RTSP_PERM_MEDIA_FACTORY_CONSTRUCT: *const c_char = b"media.factory.construct\0" as *const u8 as *const c_char;
pub const GST_RTSP_TOKEN_MEDIA_FACTORY_ROLE: *const c_char = b"media.factory.role\0" as *const u8 as *const c_char;
@ -478,6 +479,88 @@ impl ::std::fmt::Debug for GstRTSPMountPointsPrivate {
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRTSPOnvifClientClass {
pub parent: GstRTSPClientClass,
pub _gst_reserved: [gpointer; 20],
}
impl ::std::fmt::Debug for GstRTSPOnvifClientClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstRTSPOnvifClientClass @ {:?}", self as *const _))
.field("parent", &self.parent)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRTSPOnvifMediaClass {
pub parent: GstRTSPMediaClass,
pub _gst_reserved: [gpointer; 20],
}
impl ::std::fmt::Debug for GstRTSPOnvifMediaClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstRTSPOnvifMediaClass @ {:?}", self as *const _))
.field("parent", &self.parent)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRTSPOnvifMediaFactoryClass {
pub parent: GstRTSPMediaFactoryClass,
pub has_backchannel_support: Option<unsafe extern "C" fn(*mut GstRTSPOnvifMediaFactory) -> gboolean>,
pub _gst_reserved: [gpointer; 20],
}
impl ::std::fmt::Debug for GstRTSPOnvifMediaFactoryClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstRTSPOnvifMediaFactoryClass @ {:?}", self as *const _))
.field("parent", &self.parent)
.field("has_backchannel_support", &self.has_backchannel_support)
.finish()
}
}
#[repr(C)]
pub struct GstRTSPOnvifMediaFactoryPrivate(c_void);
impl ::std::fmt::Debug for GstRTSPOnvifMediaFactoryPrivate {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstRTSPOnvifMediaFactoryPrivate @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
pub struct GstRTSPOnvifMediaPrivate(c_void);
impl ::std::fmt::Debug for GstRTSPOnvifMediaPrivate {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstRTSPOnvifMediaPrivate @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRTSPOnvifServerClass {
pub parent: GstRTSPServerClass,
pub _gst_reserved: [gpointer; 20],
}
impl ::std::fmt::Debug for GstRTSPOnvifServerClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstRTSPOnvifServerClass @ {:?}", self as *const _))
.field("parent", &self.parent)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRTSPPermissions {
@ -850,6 +933,70 @@ impl ::std::fmt::Debug for GstRTSPMountPoints {
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRTSPOnvifClient {
pub parent: GstRTSPClient,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstRTSPOnvifClient {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstRTSPOnvifClient @ {:?}", self as *const _))
.field("parent", &self.parent)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRTSPOnvifMedia {
pub parent: GstRTSPMedia,
pub priv_: *mut GstRTSPOnvifMediaPrivate,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstRTSPOnvifMedia {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstRTSPOnvifMedia @ {:?}", self as *const _))
.field("parent", &self.parent)
.field("priv_", &self.priv_)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRTSPOnvifMediaFactory {
pub parent: GstRTSPMediaFactory,
pub priv_: *mut GstRTSPOnvifMediaFactoryPrivate,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstRTSPOnvifMediaFactory {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstRTSPOnvifMediaFactory @ {:?}", self as *const _))
.field("parent", &self.parent)
.field("priv_", &self.priv_)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRTSPOnvifServer {
pub parent: GstRTSPServer,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstRTSPOnvifServer {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstRTSPOnvifServer @ {:?}", self as *const _))
.field("parent", &self.parent)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRTSPServer {
@ -998,7 +1145,13 @@ extern "C" {
//=========================================================================
pub fn gst_rtsp_permissions_get_type() -> GType;
pub fn gst_rtsp_permissions_new() -> *mut GstRTSPPermissions;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_permissions_add_permission_for_role(permissions: *mut GstRTSPPermissions, role: *const c_char, permission: *const c_char, allowed: gboolean);
pub fn gst_rtsp_permissions_add_role(permissions: *mut GstRTSPPermissions, role: *const c_char, fieldname: *const c_char, ...);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_permissions_add_role_empty(permissions: *mut GstRTSPPermissions, role: *const c_char);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_permissions_add_role_from_structure(permissions: *mut GstRTSPPermissions, structure: *mut gst::GstStructure);
//pub fn gst_rtsp_permissions_add_role_valist(permissions: *mut GstRTSPPermissions, role: *const c_char, fieldname: *const c_char, var_args: /*Unimplemented*/va_list);
pub fn gst_rtsp_permissions_get_role(permissions: *mut GstRTSPPermissions, role: *const c_char) -> *const gst::GstStructure;
pub fn gst_rtsp_permissions_is_allowed(permissions: *mut GstRTSPPermissions, role: *const c_char, permission: *const c_char) -> gboolean;
@ -1022,6 +1175,10 @@ extern "C" {
pub fn gst_rtsp_token_get_string(token: *mut GstRTSPToken, field: *const c_char) -> *const c_char;
pub fn gst_rtsp_token_get_structure(token: *mut GstRTSPToken) -> *const gst::GstStructure;
pub fn gst_rtsp_token_is_allowed(token: *mut GstRTSPToken, field: *const c_char) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_token_set_bool(token: *mut GstRTSPToken, field: *const c_char, bool_value: gboolean);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_token_set_string(token: *mut GstRTSPToken, field: *const c_char, string_value: *const c_char);
pub fn gst_rtsp_token_writable_structure(token: *mut GstRTSPToken) -> *mut gst::GstStructure;
//=========================================================================
@ -1093,6 +1250,7 @@ extern "C" {
pub fn gst_rtsp_media_get_type() -> GType;
pub fn gst_rtsp_media_new(element: *mut gst::GstElement) -> *mut GstRTSPMedia;
pub fn gst_rtsp_media_collect_streams(media: *mut GstRTSPMedia);
pub fn gst_rtsp_media_complete_pipeline(media: *mut GstRTSPMedia, transports: *mut glib::GPtrArray) -> gboolean;
pub fn gst_rtsp_media_create_stream(media: *mut GstRTSPMedia, payloader: *mut gst::GstElement, pad: *mut gst::GstPad) -> *mut GstRTSPStream;
pub fn gst_rtsp_media_find_stream(media: *mut GstRTSPMedia, control: *const c_char) -> *mut GstRTSPStream;
pub fn gst_rtsp_media_get_address_pool(media: *mut GstRTSPMedia) -> *mut GstRTSPAddressPool;
@ -1123,6 +1281,8 @@ extern "C" {
pub fn gst_rtsp_media_n_streams(media: *mut GstRTSPMedia) -> c_uint;
pub fn gst_rtsp_media_prepare(media: *mut GstRTSPMedia, thread: *mut GstRTSPThread) -> gboolean;
pub fn gst_rtsp_media_seek(media: *mut GstRTSPMedia, range: *mut gst_rtsp::GstRTSPTimeRange) -> gboolean;
pub fn gst_rtsp_media_seek_full(media: *mut GstRTSPMedia, range: *mut gst_rtsp::GstRTSPTimeRange, flags: gst::GstSeekFlags) -> gboolean;
pub fn gst_rtsp_media_seekable(media: *mut GstRTSPMedia) -> gst::GstClockTimeDiff;
pub fn gst_rtsp_media_set_address_pool(media: *mut GstRTSPMedia, pool: *mut GstRTSPAddressPool);
pub fn gst_rtsp_media_set_buffer_size(media: *mut GstRTSPMedia, size: c_uint);
pub fn gst_rtsp_media_set_clock(media: *mut GstRTSPMedia, clock: *mut gst::GstClock);
@ -1155,6 +1315,8 @@ extern "C" {
pub fn gst_rtsp_media_factory_get_type() -> GType;
pub fn gst_rtsp_media_factory_new() -> *mut GstRTSPMediaFactory;
pub fn gst_rtsp_media_factory_add_role(factory: *mut GstRTSPMediaFactory, role: *const c_char, fieldname: *const c_char, ...);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_media_factory_add_role_from_structure(factory: *mut GstRTSPMediaFactory, structure: *mut gst::GstStructure);
pub fn gst_rtsp_media_factory_construct(factory: *mut GstRTSPMediaFactory, url: *const gst_rtsp::GstRTSPUrl) -> *mut GstRTSPMedia;
pub fn gst_rtsp_media_factory_create_element(factory: *mut GstRTSPMediaFactory, url: *const gst_rtsp::GstRTSPUrl) -> *mut gst::GstElement;
pub fn gst_rtsp_media_factory_get_address_pool(factory: *mut GstRTSPMediaFactory) -> *mut GstRTSPAddressPool;
@ -1216,6 +1378,47 @@ extern "C" {
pub fn gst_rtsp_mount_points_match(mounts: *mut GstRTSPMountPoints, path: *const c_char, matched: *mut c_int) -> *mut GstRTSPMediaFactory;
pub fn gst_rtsp_mount_points_remove_factory(mounts: *mut GstRTSPMountPoints, path: *const c_char);
//=========================================================================
// GstRTSPOnvifClient
//=========================================================================
pub fn gst_rtsp_onvif_client_get_type() -> GType;
//=========================================================================
// GstRTSPOnvifMedia
//=========================================================================
pub fn gst_rtsp_onvif_media_get_type() -> GType;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_onvif_media_collect_backchannel(media: *mut GstRTSPOnvifMedia) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_onvif_media_get_backchannel_bandwidth(media: *mut GstRTSPOnvifMedia) -> c_uint;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_onvif_media_set_backchannel_bandwidth(media: *mut GstRTSPOnvifMedia, bandwidth: c_uint);
//=========================================================================
// GstRTSPOnvifMediaFactory
//=========================================================================
pub fn gst_rtsp_onvif_media_factory_get_type() -> GType;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_onvif_media_factory_new() -> *mut GstRTSPMediaFactory;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_onvif_media_factory_requires_backchannel(factory: *mut GstRTSPMediaFactory, ctx: *mut GstRTSPContext) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_onvif_media_factory_get_backchannel_bandwidth(factory: *mut GstRTSPOnvifMediaFactory) -> c_uint;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_onvif_media_factory_get_backchannel_launch(factory: *mut GstRTSPOnvifMediaFactory) -> *mut c_char;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_onvif_media_factory_has_backchannel_support(factory: *mut GstRTSPOnvifMediaFactory) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_onvif_media_factory_set_backchannel_bandwidth(factory: *mut GstRTSPOnvifMediaFactory, bandwidth: c_uint);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_onvif_media_factory_set_backchannel_launch(factory: *mut GstRTSPOnvifMediaFactory, launch: *const c_char);
//=========================================================================
// GstRTSPOnvifServer
//=========================================================================
pub fn gst_rtsp_onvif_server_get_type() -> GType;
pub fn gst_rtsp_onvif_server_new() -> *mut GstRTSPServer;
//=========================================================================
// GstRTSPServer
//=========================================================================
@ -1275,6 +1478,7 @@ extern "C" {
pub fn gst_rtsp_session_media_get_rtpinfo(media: *mut GstRTSPSessionMedia) -> *mut c_char;
pub fn gst_rtsp_session_media_get_rtsp_state(media: *mut GstRTSPSessionMedia) -> gst_rtsp::GstRTSPState;
pub fn gst_rtsp_session_media_get_transport(media: *mut GstRTSPSessionMedia, idx: c_uint) -> *mut GstRTSPStreamTransport;
pub fn gst_rtsp_session_media_get_transports(media: *mut GstRTSPSessionMedia) -> *mut glib::GPtrArray;
pub fn gst_rtsp_session_media_matches(media: *mut GstRTSPSessionMedia, path: *const c_char, matched: *mut c_int) -> gboolean;
pub fn gst_rtsp_session_media_set_rtsp_state(media: *mut GstRTSPSessionMedia, state: gst_rtsp::GstRTSPState);
pub fn gst_rtsp_session_media_set_state(media: *mut GstRTSPSessionMedia, state: gst::GstState) -> gboolean;
@ -1301,7 +1505,8 @@ extern "C" {
pub fn gst_rtsp_stream_get_type() -> GType;
pub fn gst_rtsp_stream_new(idx: c_uint, payloader: *mut gst::GstElement, pad: *mut gst::GstPad) -> *mut GstRTSPStream;
pub fn gst_rtsp_stream_add_transport(stream: *mut GstRTSPStream, trans: *mut GstRTSPStreamTransport) -> gboolean;
pub fn gst_rtsp_stream_allocate_udp_sockets(stream: *mut GstRTSPStream, family: gio::GSocketFamily, transport: *mut gst_rtsp::GstRTSPTransport, use_client_setttings: gboolean) -> gboolean;
pub fn gst_rtsp_stream_allocate_udp_sockets(stream: *mut GstRTSPStream, family: gio::GSocketFamily, transport: *mut gst_rtsp::GstRTSPTransport, use_client_settings: gboolean) -> gboolean;
pub fn gst_rtsp_stream_complete_stream(stream: *mut GstRTSPStream, transport: *const gst_rtsp::GstRTSPTransport) -> gboolean;
pub fn gst_rtsp_stream_get_address_pool(stream: *mut GstRTSPStream) -> *mut GstRTSPAddressPool;
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_rtsp_stream_get_buffer_size(stream: *mut GstRTSPStream) -> c_uint;
@ -1321,7 +1526,9 @@ extern "C" {
pub fn gst_rtsp_stream_get_publish_clock_mode(stream: *mut GstRTSPStream) -> GstRTSPPublishClockMode;
pub fn gst_rtsp_stream_get_retransmission_pt(stream: *mut GstRTSPStream) -> c_uint;
pub fn gst_rtsp_stream_get_retransmission_time(stream: *mut GstRTSPStream) -> gst::GstClockTime;
pub fn gst_rtsp_stream_get_rtcp_multicast_socket(stream: *mut GstRTSPStream, family: gio::GSocketFamily) -> *mut gio::GSocket;
pub fn gst_rtsp_stream_get_rtcp_socket(stream: *mut GstRTSPStream, family: gio::GSocketFamily) -> *mut gio::GSocket;
pub fn gst_rtsp_stream_get_rtp_multicast_socket(stream: *mut GstRTSPStream, family: gio::GSocketFamily) -> *mut gio::GSocket;
pub fn gst_rtsp_stream_get_rtp_socket(stream: *mut GstRTSPStream, family: gio::GSocketFamily) -> *mut gio::GSocket;
pub fn gst_rtsp_stream_get_rtpinfo(stream: *mut GstRTSPStream, rtptime: *mut c_uint, seq: *mut c_uint, clock_rate: *mut c_uint, running_time: *mut gst::GstClockTime) -> gboolean;
pub fn gst_rtsp_stream_get_rtpsession(stream: *mut GstRTSPStream) -> *mut gobject::GObject;
@ -1333,6 +1540,9 @@ extern "C" {
pub fn gst_rtsp_stream_has_control(stream: *mut GstRTSPStream, control: *const c_char) -> gboolean;
pub fn gst_rtsp_stream_is_blocking(stream: *mut GstRTSPStream) -> gboolean;
pub fn gst_rtsp_stream_is_client_side(stream: *mut GstRTSPStream) -> gboolean;
pub fn gst_rtsp_stream_is_complete(stream: *mut GstRTSPStream) -> gboolean;
pub fn gst_rtsp_stream_is_receiver(stream: *mut GstRTSPStream) -> gboolean;
pub fn gst_rtsp_stream_is_sender(stream: *mut GstRTSPStream) -> gboolean;
pub fn gst_rtsp_stream_is_transport_supported(stream: *mut GstRTSPStream, transport: *mut gst_rtsp::GstRTSPTransport) -> gboolean;
pub fn gst_rtsp_stream_join_bin(stream: *mut GstRTSPStream, bin: *mut gst::GstBin, rtpbin: *mut gst::GstElement, state: gst::GstState) -> gboolean;
pub fn gst_rtsp_stream_leave_bin(stream: *mut GstRTSPStream, bin: *mut gst::GstBin, rtpbin: *mut gst::GstElement) -> gboolean;
@ -1344,6 +1554,7 @@ extern "C" {
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_rtsp_stream_request_aux_sender(stream: *mut GstRTSPStream, sessid: c_uint) -> *mut gst::GstElement;
pub fn gst_rtsp_stream_reserve_address(stream: *mut GstRTSPStream, address: *const c_char, port: c_uint, n_ports: c_uint, ttl: c_uint) -> *mut GstRTSPAddress;
pub fn gst_rtsp_stream_seekable(stream: *mut GstRTSPStream) -> gboolean;
pub fn gst_rtsp_stream_set_address_pool(stream: *mut GstRTSPStream, pool: *mut GstRTSPAddressPool);
pub fn gst_rtsp_stream_set_blocked(stream: *mut GstRTSPStream, blocked: gboolean) -> gboolean;
#[cfg(any(feature = "v1_6", feature = "dox"))]
@ -1362,6 +1573,7 @@ extern "C" {
pub fn gst_rtsp_stream_set_retransmission_time(stream: *mut GstRTSPStream, time: gst::GstClockTime);
pub fn gst_rtsp_stream_set_seqnum_offset(stream: *mut GstRTSPStream, seqnum: u16);
pub fn gst_rtsp_stream_transport_filter(stream: *mut GstRTSPStream, func: GstRTSPStreamTransportFilterFunc, user_data: gpointer) -> *mut glib::GList;
pub fn gst_rtsp_stream_unblock_linked(stream: *mut GstRTSPStream) -> gboolean;
pub fn gst_rtsp_stream_update_crypto(stream: *mut GstRTSPStream, ssrc: c_uint, crypto: *mut gst::GstCaps) -> gboolean;
//=========================================================================
@ -1403,5 +1615,6 @@ extern "C" {
pub fn gst_rtsp_params_set(client: *mut GstRTSPClient, ctx: *mut GstRTSPContext) -> gst_rtsp::GstRTSPResult;
pub fn gst_rtsp_sdp_from_media(sdp: *mut gst_sdp::GstSDPMessage, info: *mut GstSDPInfo, media: *mut GstRTSPMedia) -> gboolean;
pub fn gst_rtsp_sdp_from_stream(sdp: *mut gst_sdp::GstSDPMessage, info: *mut GstSDPInfo, stream: *mut GstRTSPStream) -> gboolean;
pub fn gst_rtsp_sdp_make_media(sdp: *mut gst_sdp::GstSDPMessage, info: *mut GstSDPInfo, stream: *mut GstRTSPStream, caps: *mut gst::GstCaps, profile: gst_rtsp::GstRTSPProfile) -> gboolean;
}

View file

@ -23,6 +23,7 @@ v1_6 = ["v1_4"]
v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
[lib]
name = "gstreamer_rtsp_sys"

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-rtsp-1.0";
let shared_libs = ["gstrtsp-1.0"];
let version = if cfg!(feature = "v1_12") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
@ -115,7 +115,11 @@ pub const GST_RTSP_HDR_X_SERVER_IP_ADDRESS: GstRTSPHeaderField = 79;
pub const GST_RTSP_HDR_X_SESSIONCOOKIE: GstRTSPHeaderField = 80;
pub const GST_RTSP_HDR_RTCP_INTERVAL: GstRTSPHeaderField = 81;
pub const GST_RTSP_HDR_KEYMGMT: GstRTSPHeaderField = 82;
pub const GST_RTSP_HDR_LAST: GstRTSPHeaderField = 83;
pub const GST_RTSP_HDR_PIPELINED_REQUESTS: GstRTSPHeaderField = 83;
pub const GST_RTSP_HDR_MEDIA_PROPERTIES: GstRTSPHeaderField = 84;
pub const GST_RTSP_HDR_SEEK_STYLE: GstRTSPHeaderField = 85;
pub const GST_RTSP_HDR_ACCEPT_RANGES: GstRTSPHeaderField = 86;
pub const GST_RTSP_HDR_LAST: GstRTSPHeaderField = 87;
pub type GstRTSPMsgType = c_int;
pub const GST_RTSP_MESSAGE_INVALID: GstRTSPMsgType = 0;
@ -219,6 +223,7 @@ pub type GstRTSPVersion = c_int;
pub const GST_RTSP_VERSION_INVALID: GstRTSPVersion = 0;
pub const GST_RTSP_VERSION_1_0: GstRTSPVersion = 16;
pub const GST_RTSP_VERSION_1_1: GstRTSPVersion = 17;
pub const GST_RTSP_VERSION_2_0: GstRTSPVersion = 32;
// Constants
pub const GST_RTSP_DEFAULT_PORT: c_int = 554;
@ -333,6 +338,9 @@ impl ::std::fmt::Debug for GstRTSPMessage_type_data {
}
}
// Callbacks
pub type GstRTSPConnectionAcceptCertificateFunc = Option<unsafe extern "C" fn(*mut gio::GTlsConnection, *mut gio::GTlsCertificate, gio::GTlsCertificateFlags, gpointer) -> gboolean>;
// Records
#[repr(C)]
#[derive(Copy, Clone)]
@ -802,6 +810,8 @@ extern "C" {
pub fn gst_rtsp_connection_receive(conn: *mut GstRTSPConnection, message: *mut GstRTSPMessage, timeout: *mut glib::GTimeVal) -> GstRTSPResult;
pub fn gst_rtsp_connection_reset_timeout(conn: *mut GstRTSPConnection) -> GstRTSPResult;
pub fn gst_rtsp_connection_send(conn: *mut GstRTSPConnection, message: *mut GstRTSPMessage, timeout: *mut glib::GTimeVal) -> GstRTSPResult;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_connection_set_accept_certificate_func(conn: *mut GstRTSPConnection, func: GstRTSPConnectionAcceptCertificateFunc, user_data: gpointer, destroy_notify: glib::GDestroyNotify);
pub fn gst_rtsp_connection_set_auth(conn: *mut GstRTSPConnection, method: GstRTSPAuthMethod, user: *const c_char, pass: *const c_char) -> GstRTSPResult;
pub fn gst_rtsp_connection_set_auth_param(conn: *mut GstRTSPConnection, param: *const c_char, value: *const c_char);
pub fn gst_rtsp_connection_set_http_mode(conn: *mut GstRTSPConnection, enable: gboolean);
@ -824,10 +834,13 @@ extern "C" {
//=========================================================================
// GstRTSPMessage
//=========================================================================
pub fn gst_rtsp_msg_get_type() -> GType;
pub fn gst_rtsp_message_add_header(msg: *mut GstRTSPMessage, field: GstRTSPHeaderField, value: *const c_char) -> GstRTSPResult;
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_rtsp_message_add_header_by_name(msg: *mut GstRTSPMessage, header: *const c_char, value: *const c_char) -> GstRTSPResult;
pub fn gst_rtsp_message_append_headers(msg: *const GstRTSPMessage, str: *mut glib::GString) -> GstRTSPResult;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_rtsp_message_copy(msg: *const GstRTSPMessage, copy: *mut *mut GstRTSPMessage) -> GstRTSPResult;
pub fn gst_rtsp_message_dump(msg: *mut GstRTSPMessage) -> GstRTSPResult;
pub fn gst_rtsp_message_free(msg: *mut GstRTSPMessage) -> GstRTSPResult;
pub fn gst_rtsp_message_get_body(msg: *const GstRTSPMessage, data: *mut *mut u8, size: *mut c_uint) -> GstRTSPResult;
@ -854,10 +867,6 @@ extern "C" {
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_rtsp_message_take_header_by_name(msg: *mut GstRTSPMessage, header: *const c_char, value: *mut c_char) -> GstRTSPResult;
pub fn gst_rtsp_message_unset(msg: *mut GstRTSPMessage) -> GstRTSPResult;
pub fn gst_rtsp_message_new(msg: *mut *mut GstRTSPMessage) -> GstRTSPResult;
pub fn gst_rtsp_message_new_data(msg: *mut *mut GstRTSPMessage, channel: u8) -> GstRTSPResult;
pub fn gst_rtsp_message_new_request(msg: *mut *mut GstRTSPMessage, method: GstRTSPMethod, uri: *const c_char) -> GstRTSPResult;
pub fn gst_rtsp_message_new_response(msg: *mut *mut GstRTSPMessage, code: GstRTSPStatusCode, reason: *const c_char, request: *const GstRTSPMessage) -> GstRTSPResult;
//=========================================================================
// GstRTSPRange
@ -938,6 +947,10 @@ extern "C" {
pub fn gst_rtsp_generate_digest_auth_response(algorithm: *const c_char, method: *const c_char, realm: *const c_char, username: *const c_char, password: *const c_char, uri: *const c_char, nonce: *const c_char) -> *mut c_char;
pub fn gst_rtsp_header_allow_multiple(field: GstRTSPHeaderField) -> gboolean;
pub fn gst_rtsp_header_as_text(field: GstRTSPHeaderField) -> *const c_char;
pub fn gst_rtsp_message_new(msg: *mut *mut GstRTSPMessage) -> GstRTSPResult;
pub fn gst_rtsp_message_new_data(msg: *mut *mut GstRTSPMessage, channel: u8) -> GstRTSPResult;
pub fn gst_rtsp_message_new_request(msg: *mut *mut GstRTSPMessage, method: GstRTSPMethod, uri: *const c_char) -> GstRTSPResult;
pub fn gst_rtsp_message_new_response(msg: *mut *mut GstRTSPMessage, code: GstRTSPStatusCode, reason: *const c_char, request: *const GstRTSPMessage) -> GstRTSPResult;
pub fn gst_rtsp_options_as_text(options: GstRTSPMethod) -> *mut c_char;
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_rtsp_options_from_text(options: *const c_char) -> GstRTSPMethod;

View file

@ -18,6 +18,7 @@ v1_8 = ["v1_4"]
v1_8_1 = ["v1_8"]
v1_10 = ["v1_8_1"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
[lib]
name = "gstreamer_sdp_sys"

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-sdp-1.0";
let shared_libs = ["gstsdp-1.0"];
let version = if cfg!(feature = "v1_12") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT

View file

@ -16,6 +16,7 @@ v1_6 = ["v1_4"]
v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
dox = []
[lib]

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-1.0";
let shared_libs = ["gstreamer-1.0"];
let version = if cfg!(feature = "v1_12") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
@ -220,6 +220,12 @@ pub const GST_PROGRESS_TYPE_COMPLETE: GstProgressType = 2;
pub const GST_PROGRESS_TYPE_CANCELED: GstProgressType = 3;
pub const GST_PROGRESS_TYPE_ERROR: GstProgressType = 4;
pub type GstPromiseResult = c_int;
pub const GST_PROMISE_RESULT_PENDING: GstPromiseResult = 0;
pub const GST_PROMISE_RESULT_INTERRUPTED: GstPromiseResult = 1;
pub const GST_PROMISE_RESULT_REPLIED: GstPromiseResult = 2;
pub const GST_PROMISE_RESULT_EXPIRED: GstPromiseResult = 3;
pub type GstQOSType = c_int;
pub const GST_QOS_TYPE_OVERFLOW: GstQOSType = 0;
pub const GST_QOS_TYPE_UNDERFLOW: GstQOSType = 1;
@ -294,6 +300,10 @@ pub const GST_STATE_CHANGE_PAUSED_TO_PLAYING: GstStateChange = 28;
pub const GST_STATE_CHANGE_PLAYING_TO_PAUSED: GstStateChange = 35;
pub const GST_STATE_CHANGE_PAUSED_TO_READY: GstStateChange = 26;
pub const GST_STATE_CHANGE_READY_TO_NULL: GstStateChange = 17;
pub const GST_STATE_CHANGE_NULL_TO_NULL: GstStateChange = 9;
pub const GST_STATE_CHANGE_READY_TO_READY: GstStateChange = 18;
pub const GST_STATE_CHANGE_PAUSED_TO_PAUSED: GstStateChange = 27;
pub const GST_STATE_CHANGE_PLAYING_TO_PLAYING: GstStateChange = 36;
pub type GstStateChangeReturn = c_int;
pub const GST_STATE_CHANGE_FAILURE: GstStateChangeReturn = 0;
@ -465,6 +475,7 @@ pub const GST_FLAG_SET_MASK_EXACT: c_uint = 4294967295;
pub const GST_FORMAT_PERCENT_MAX: i64 = 1000000;
pub const GST_FORMAT_PERCENT_SCALE: i64 = 10000;
pub const GST_FOURCC_FORMAT: *const c_char = b"c%c%c%c\0" as *const u8 as *const c_char;
pub const GST_GROUP_ID_INVALID: c_int = 0;
pub const GST_LICENSE_UNKNOWN: *const c_char = b"unknown\0" as *const u8 as *const c_char;
pub const GST_LOCK_FLAG_READWRITE: GstLockFlags = GstLockFlags { bits: 3 };
pub const GST_MAP_READWRITE: GstMapFlags = GstMapFlags { bits: 3 };
@ -482,6 +493,7 @@ pub const GST_QUERY_NUM_SHIFT: c_int = 8;
pub const GST_QUERY_TYPE_BOTH: GstQueryTypeFlags = GstQueryTypeFlags { bits: 3 };
pub const GST_SECOND: GstClockTimeDiff = 1000000000;
pub const GST_SEGMENT_FORMAT: *const c_char = b"paB\0" as *const u8 as *const c_char;
pub const GST_SEQNUM_INVALID: c_int = 0;
pub const GST_STIME_FORMAT: *const c_char = b"c%\0" as *const u8 as *const c_char;
pub const GST_TAG_ALBUM: *const c_char = b"album\0" as *const u8 as *const c_char;
pub const GST_TAG_ALBUM_ARTIST: *const c_char = b"album-artist\0" as *const u8 as *const c_char;
@ -578,8 +590,8 @@ pub const GST_VALUE_LESS_THAN: c_int = -1;
pub const GST_VALUE_UNORDERED: c_int = 2;
pub const GST_VERSION_MAJOR: c_int = 1;
pub const GST_VERSION_MICRO: c_int = 1;
pub const GST_VERSION_MINOR: c_int = 12;
pub const GST_VERSION_NANO: c_int = 0;
pub const GST_VERSION_MINOR: c_int = 13;
pub const GST_VERSION_NANO: c_int = 1;
// Flags
bitflags! {
@ -639,6 +651,7 @@ bitflags! {
const DELTA_UNIT = 8192;
const TAG_MEMORY = 16384;
const SYNC_AFTER = 32768;
const NON_DROPPABLE = 65536;
const LAST = 1048576;
}
}
@ -654,6 +667,7 @@ pub const GST_BUFFER_FLAG_DROPPABLE: GstBufferFlags = GstBufferFlags::DROPPABLE;
pub const GST_BUFFER_FLAG_DELTA_UNIT: GstBufferFlags = GstBufferFlags::DELTA_UNIT;
pub const GST_BUFFER_FLAG_TAG_MEMORY: GstBufferFlags = GstBufferFlags::TAG_MEMORY;
pub const GST_BUFFER_FLAG_SYNC_AFTER: GstBufferFlags = GstBufferFlags::SYNC_AFTER;
pub const GST_BUFFER_FLAG_NON_DROPPABLE: GstBufferFlags = GstBufferFlags::NON_DROPPABLE;
pub const GST_BUFFER_FLAG_LAST: GstBufferFlags = GstBufferFlags::LAST;
bitflags! {
@ -1124,6 +1138,7 @@ bitflags! {
const PATHS_ARE_DEFAULT_ONLY = 2;
const FILE_NAME_IS_SUFFIX = 4;
const FILE_NAME_IS_PREFIX = 8;
const PATHS_ARE_RELATIVE_TO_EXE = 16;
}
}
pub const GST_PLUGIN_DEPENDENCY_FLAG_NONE: GstPluginDependencyFlags = GstPluginDependencyFlags::NONE;
@ -1131,6 +1146,7 @@ pub const GST_PLUGIN_DEPENDENCY_FLAG_RECURSE: GstPluginDependencyFlags = GstPlug
pub const GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY: GstPluginDependencyFlags = GstPluginDependencyFlags::PATHS_ARE_DEFAULT_ONLY;
pub const GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX: GstPluginDependencyFlags = GstPluginDependencyFlags::FILE_NAME_IS_SUFFIX;
pub const GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX: GstPluginDependencyFlags = GstPluginDependencyFlags::FILE_NAME_IS_PREFIX;
pub const GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE: GstPluginDependencyFlags = GstPluginDependencyFlags::PATHS_ARE_RELATIVE_TO_EXE;
bitflags! {
#[repr(C)]
@ -1299,6 +1315,22 @@ impl ::std::fmt::Debug for GstPadProbeInfo_ABI {
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union GstPadTemplate_ABI {
pub _gst_reserved: [gpointer; 4],
pub abi: GstPadTemplate_ABI_abi,
}
impl ::std::fmt::Debug for GstPadTemplate_ABI {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstPadTemplate_ABI @ {:?}", self as *const _))
.field("_gst_reserved", unsafe { &self._gst_reserved })
.field("abi", unsafe { &self.abi })
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union GstPad_ABI {
@ -1329,6 +1361,7 @@ pub type GstControlSourceGetValue = Option<unsafe extern "C" fn(*mut GstControlS
pub type GstControlSourceGetValueArray = Option<unsafe extern "C" fn(*mut GstControlSource, GstClockTime, GstClockTime, c_uint, *mut c_double) -> gboolean>;
pub type GstDebugFuncPtr = Option<unsafe extern "C" fn()>;
pub type GstElementCallAsyncFunc = Option<unsafe extern "C" fn(*mut GstElement, gpointer)>;
pub type GstElementForeachPadFunc = Option<unsafe extern "C" fn(*mut GstElement, *mut GstPad, gpointer) -> gboolean>;
pub type GstIteratorCopyFunction = Option<unsafe extern "C" fn(*const GstIterator, *mut GstIterator)>;
pub type GstIteratorFoldFunction = Option<unsafe extern "C" fn(*const gobject::GValue, *mut gobject::GValue, gpointer) -> gboolean>;
pub type GstIteratorForeachFunction = Option<unsafe extern "C" fn(*const gobject::GValue, gpointer)>;
@ -1369,6 +1402,7 @@ pub type GstPluginFeatureFilter = Option<unsafe extern "C" fn(*mut GstPluginFeat
pub type GstPluginFilter = Option<unsafe extern "C" fn(*mut GstPlugin, gpointer) -> gboolean>;
pub type GstPluginInitFullFunc = Option<unsafe extern "C" fn(*mut GstPlugin, gpointer) -> gboolean>;
pub type GstPluginInitFunc = Option<unsafe extern "C" fn(*mut GstPlugin) -> gboolean>;
pub type GstPromiseChangeFunc = Option<unsafe extern "C" fn(*mut GstPromise, gpointer)>;
pub type GstStructureFilterMapFunc = Option<unsafe extern "C" fn(glib::GQuark, *mut gobject::GValue, gpointer) -> gboolean>;
pub type GstStructureForeachFunc = Option<unsafe extern "C" fn(glib::GQuark, *const gobject::GValue, gpointer) -> gboolean>;
pub type GstStructureMapFunc = Option<unsafe extern "C" fn(glib::GQuark, *mut gobject::GValue, gpointer) -> gboolean>;
@ -2386,6 +2420,20 @@ impl ::std::fmt::Debug for GstPadTemplateClass {
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstPadTemplate_ABI_abi {
pub gtype: GType,
}
impl ::std::fmt::Debug for GstPadTemplate_ABI_abi {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstPadTemplate_ABI_abi @ {:?}", self as *const _))
.field("gtype", &self.gtype)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstPad_ABI_abi {
@ -2606,6 +2654,20 @@ impl ::std::fmt::Debug for GstPresetInterface {
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstPromise {
pub parent: GstMiniObject,
}
impl ::std::fmt::Debug for GstPromise {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstPromise @ {:?}", self as *const _))
.field("parent", &self.parent)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstProtectionMeta {
@ -2663,6 +2725,26 @@ impl ::std::fmt::Debug for GstQuery {
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstReferenceTimestampMeta {
pub parent: GstMeta,
pub reference: *mut GstCaps,
pub timestamp: GstClockTime,
pub duration: GstClockTime,
}
impl ::std::fmt::Debug for GstReferenceTimestampMeta {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstReferenceTimestampMeta @ {:?}", self as *const _))
.field("parent", &self.parent)
.field("reference", &self.reference)
.field("timestamp", &self.timestamp)
.field("duration", &self.duration)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstRegistryClass {
@ -3593,7 +3675,7 @@ pub struct GstPadTemplate {
pub direction: GstPadDirection,
pub presence: GstPadPresence,
pub caps: *mut GstCaps,
pub _gst_reserved: [gpointer; 4],
pub ABI: GstPadTemplate_ABI,
}
impl ::std::fmt::Debug for GstPadTemplate {
@ -3604,6 +3686,7 @@ impl ::std::fmt::Debug for GstPadTemplate {
.field("direction", &self.direction)
.field("presence", &self.presence)
.field("caps", &self.caps)
.field("ABI", &self.ABI)
.finish()
}
}
@ -3712,7 +3795,6 @@ pub struct GstStream {
impl ::std::fmt::Debug for GstStream {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstStream @ {:?}", self as *const _))
.field("object", &self.object)
.field("stream_id", &self.stream_id)
.finish()
}
@ -3730,7 +3812,6 @@ pub struct GstStreamCollection {
impl ::std::fmt::Debug for GstStreamCollection {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstStreamCollection @ {:?}", self as *const _))
.field("object", &self.object)
.finish()
}
}
@ -4043,6 +4124,11 @@ extern "C" {
//=========================================================================
pub fn gst_progress_type_get_type() -> GType;
//=========================================================================
// GstPromiseResult
//=========================================================================
pub fn gst_promise_result_get_type() -> GType;
//=========================================================================
// GstQOSType
//=========================================================================
@ -4086,6 +4172,8 @@ extern "C" {
// GstStateChange
//=========================================================================
pub fn gst_state_change_get_type() -> GType;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_state_change_get_name(transition: GstStateChange) -> *const c_char;
//=========================================================================
// GstStateChangeReturn
@ -4377,6 +4465,8 @@ extern "C" {
pub fn gst_buffer_add_parent_buffer_meta(buffer: *mut GstBuffer, ref_: *mut GstBuffer) -> *mut GstParentBufferMeta;
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_buffer_add_protection_meta(buffer: *mut GstBuffer, info: *mut GstStructure) -> *mut GstProtectionMeta;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_buffer_add_reference_timestamp_meta(buffer: *mut GstBuffer, reference: *mut GstCaps, timestamp: GstClockTime, duration: GstClockTime) -> *mut GstReferenceTimestampMeta;
pub fn gst_buffer_append(buf1: *mut GstBuffer, buf2: *mut GstBuffer) -> *mut GstBuffer;
pub fn gst_buffer_append_memory(buffer: *mut GstBuffer, mem: *mut GstMemory);
pub fn gst_buffer_append_region(buf1: *mut GstBuffer, buf2: *mut GstBuffer, offset: ssize_t, size: ssize_t) -> *mut GstBuffer;
@ -4396,6 +4486,10 @@ extern "C" {
pub fn gst_buffer_get_memory(buffer: *mut GstBuffer, idx: c_uint) -> *mut GstMemory;
pub fn gst_buffer_get_memory_range(buffer: *mut GstBuffer, idx: c_uint, length: c_int) -> *mut GstMemory;
pub fn gst_buffer_get_meta(buffer: *mut GstBuffer, api: GType) -> *mut GstMeta;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_buffer_get_n_meta(buffer: *mut GstBuffer, api_type: GType) -> c_uint;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_buffer_get_reference_timestamp_meta(buffer: *mut GstBuffer, reference: *mut GstCaps) -> *mut GstReferenceTimestampMeta;
pub fn gst_buffer_get_size(buffer: *mut GstBuffer) -> size_t;
pub fn gst_buffer_get_sizes(buffer: *mut GstBuffer, offset: *mut size_t, maxsize: *mut size_t) -> size_t;
pub fn gst_buffer_get_sizes_range(buffer: *mut GstBuffer, idx: c_uint, length: c_int, offset: *mut size_t, maxsize: *mut size_t) -> size_t;
@ -4439,10 +4533,14 @@ extern "C" {
pub fn gst_buffer_list_get_type() -> GType;
pub fn gst_buffer_list_new() -> *mut GstBufferList;
pub fn gst_buffer_list_new_sized(size: c_uint) -> *mut GstBufferList;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_buffer_list_calculate_size(list: *mut GstBufferList) -> size_t;
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_buffer_list_copy_deep(list: *const GstBufferList) -> *mut GstBufferList;
pub fn gst_buffer_list_foreach(list: *mut GstBufferList, func: GstBufferListFunc, user_data: gpointer) -> gboolean;
pub fn gst_buffer_list_get(list: *mut GstBufferList, idx: c_uint) -> *mut GstBuffer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_buffer_list_get_writable(list: *mut GstBufferList, idx: c_uint) -> *mut GstBuffer;
pub fn gst_buffer_list_insert(list: *mut GstBufferList, idx: c_int, buffer: *mut GstBuffer);
pub fn gst_buffer_list_length(list: *mut GstBufferList) -> c_uint;
pub fn gst_buffer_list_remove(list: *mut GstBufferList, idx: c_uint, length: c_uint);
@ -4642,6 +4740,8 @@ extern "C" {
pub fn gst_element_class_add_static_metadata(klass: *mut GstElementClass, key: *const c_char, value: *const c_char);
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_element_class_add_static_pad_template(klass: *mut GstElementClass, static_templ: *mut GstStaticPadTemplate);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_element_class_add_static_pad_template_with_gtype(klass: *mut GstElementClass, static_templ: *mut GstStaticPadTemplate, pad_type: GType);
pub fn gst_element_class_get_metadata(klass: *mut GstElementClass, key: *const c_char) -> *const c_char;
pub fn gst_element_class_get_pad_template(element_class: *mut GstElementClass, name: *const c_char) -> *mut GstPadTemplate;
pub fn gst_element_class_get_pad_template_list(element_class: *mut GstElementClass) -> *mut glib::GList;
@ -4885,6 +4985,8 @@ extern "C" {
pub fn gst_message_streams_selected_get_size(message: *mut GstMessage) -> c_uint;
#[cfg(any(feature = "v1_10", feature = "dox"))]
pub fn gst_message_streams_selected_get_stream(message: *mut GstMessage, idx: c_uint) -> *mut GstStream;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_message_writable_structure(message: *mut GstMessage) -> *mut GstStructure;
//=========================================================================
// GstMeta
@ -4967,6 +5069,25 @@ extern "C" {
//=========================================================================
pub fn gst_poll_fd_init(fd: *mut GstPollFD);
//=========================================================================
// GstPromise
//=========================================================================
pub fn gst_promise_get_type() -> GType;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_promise_new() -> *mut GstPromise;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_promise_new_with_change_func(func: GstPromiseChangeFunc, user_data: gpointer, notify: glib::GDestroyNotify) -> *mut GstPromise;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_promise_expire(promise: *mut GstPromise);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_promise_get_reply(promise: *mut GstPromise) -> *const GstStructure;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_promise_interrupt(promise: *mut GstPromise);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_promise_reply(promise: *mut GstPromise, s: *mut GstStructure);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_promise_wait(promise: *mut GstPromise) -> GstPromiseResult;
//=========================================================================
// GstProtectionMeta
//=========================================================================
@ -5068,6 +5189,12 @@ extern "C" {
pub fn gst_query_set_uri_redirection_permanent(query: *mut GstQuery, permanent: gboolean);
pub fn gst_query_writable_structure(query: *mut GstQuery) -> *mut GstStructure;
//=========================================================================
// GstReferenceTimestampMeta
//=========================================================================
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_reference_timestamp_meta_get_info() -> *const GstMetaInfo;
//=========================================================================
// GstSample
//=========================================================================
@ -5479,6 +5606,8 @@ extern "C" {
pub fn gst_bus_create_watch(bus: *mut GstBus) -> *mut glib::GSource;
pub fn gst_bus_disable_sync_message_emission(bus: *mut GstBus);
pub fn gst_bus_enable_sync_message_emission(bus: *mut GstBus);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_bus_get_pollfd(bus: *mut GstBus, fd: *mut glib::GPollFD);
pub fn gst_bus_have_pending(bus: *mut GstBus) -> gboolean;
pub fn gst_bus_peek(bus: *mut GstBus) -> *mut GstMessage;
pub fn gst_bus_poll(bus: *mut GstBus, events: GstMessageType, timeout: GstClockTime) -> *mut GstMessage;
@ -5619,6 +5748,8 @@ extern "C" {
pub fn gst_device_provider_get_factory(provider: *mut GstDeviceProvider) -> *mut GstDeviceProviderFactory;
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_device_provider_get_hidden_providers(provider: *mut GstDeviceProvider) -> *mut *mut c_char;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_device_provider_get_metadata(provider: *mut GstDeviceProvider, key: *const c_char) -> *const c_char;
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_device_provider_hide_provider(provider: *mut GstDeviceProvider, name: *const c_char);
#[cfg(any(feature = "v1_4", feature = "dox"))]
@ -5681,6 +5812,12 @@ extern "C" {
pub fn gst_element_change_state(element: *mut GstElement, transition: GstStateChange) -> GstStateChangeReturn;
pub fn gst_element_continue_state(element: *mut GstElement, ret: GstStateChangeReturn) -> GstStateChangeReturn;
pub fn gst_element_create_all_pads(element: *mut GstElement);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_element_foreach_pad(element: *mut GstElement, func: GstElementForeachPadFunc, user_data: gpointer) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_element_foreach_sink_pad(element: *mut GstElement, func: GstElementForeachPadFunc, user_data: gpointer) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_element_foreach_src_pad(element: *mut GstElement, func: GstElementForeachPadFunc, user_data: gpointer) -> gboolean;
pub fn gst_element_get_base_time(element: *mut GstElement) -> GstClockTime;
pub fn gst_element_get_bus(element: *mut GstElement) -> *mut GstBus;
pub fn gst_element_get_clock(element: *mut GstElement) -> *mut GstClock;
@ -5693,6 +5830,12 @@ extern "C" {
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_element_get_contexts(element: *mut GstElement) -> *mut glib::GList;
pub fn gst_element_get_factory(element: *mut GstElement) -> *mut GstElementFactory;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_element_get_metadata(element: *mut GstElement, key: *const c_char) -> *const c_char;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_element_get_pad_template(element: *mut GstElement, name: *const c_char) -> *mut GstPadTemplate;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_element_get_pad_template_list(element: *mut GstElement) -> *mut glib::GList;
pub fn gst_element_get_request_pad(element: *mut GstElement, name: *const c_char) -> *mut GstPad;
pub fn gst_element_get_start_time(element: *mut GstElement) -> GstClockTime;
pub fn gst_element_get_state(element: *mut GstElement, state: *mut GstState, pending: *mut GstState, timeout: GstClockTime) -> GstStateChangeReturn;
@ -5941,6 +6084,10 @@ extern "C" {
//=========================================================================
pub fn gst_pad_template_get_type() -> GType;
pub fn gst_pad_template_new(name_template: *const c_char, direction: GstPadDirection, presence: GstPadPresence, caps: *mut GstCaps) -> *mut GstPadTemplate;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_pad_template_new_from_static_pad_template_with_gtype(pad_template: *mut GstStaticPadTemplate, pad_type: GType) -> *mut GstPadTemplate;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_pad_template_new_with_gtype(name_template: *const c_char, direction: GstPadDirection, presence: GstPadPresence, caps: *mut GstCaps, pad_type: GType) -> *mut GstPadTemplate;
pub fn gst_pad_template_get_caps(templ: *mut GstPadTemplate) -> *mut GstCaps;
pub fn gst_pad_template_pad_created(templ: *mut GstPadTemplate, pad: *mut GstPad);
@ -5981,14 +6128,14 @@ extern "C" {
pub fn gst_plugin_get_type() -> GType;
pub fn gst_plugin_list_free(list: *mut glib::GList);
pub fn gst_plugin_load_by_name(name: *const c_char) -> *mut GstPlugin;
pub fn gst_plugin_load_file(filename: *const c_char, error: *mut *mut glib::GError) -> *mut GstPlugin;
pub fn gst_plugin_load_file(filename: *mut c_char, error: *mut *mut glib::GError) -> *mut GstPlugin;
pub fn gst_plugin_register_static(major_version: c_int, minor_version: c_int, name: *const c_char, description: *const c_char, init_func: GstPluginInitFunc, version: *const c_char, license: *const c_char, source: *const c_char, package: *const c_char, origin: *const c_char) -> gboolean;
pub fn gst_plugin_register_static_full(major_version: c_int, minor_version: c_int, name: *const c_char, description: *const c_char, init_full_func: GstPluginInitFullFunc, version: *const c_char, license: *const c_char, source: *const c_char, package: *const c_char, origin: *const c_char, user_data: gpointer) -> gboolean;
pub fn gst_plugin_add_dependency(plugin: *mut GstPlugin, env_vars: *mut *mut c_char, paths: *mut *mut c_char, names: *mut *mut c_char, flags: GstPluginDependencyFlags);
pub fn gst_plugin_add_dependency_simple(plugin: *mut GstPlugin, env_vars: *const c_char, paths: *const c_char, names: *const c_char, flags: GstPluginDependencyFlags);
pub fn gst_plugin_get_cache_data(plugin: *mut GstPlugin) -> *const GstStructure;
pub fn gst_plugin_get_description(plugin: *mut GstPlugin) -> *const c_char;
pub fn gst_plugin_get_filename(plugin: *mut GstPlugin) -> *const c_char;
pub fn gst_plugin_get_filename(plugin: *mut GstPlugin) -> *mut c_char;
pub fn gst_plugin_get_license(plugin: *mut GstPlugin) -> *const c_char;
pub fn gst_plugin_get_name(plugin: *mut GstPlugin) -> *const c_char;
pub fn gst_plugin_get_origin(plugin: *mut GstPlugin) -> *const c_char;
@ -6048,7 +6195,7 @@ extern "C" {
pub fn gst_registry_plugin_filter(registry: *mut GstRegistry, filter: GstPluginFilter, first: gboolean, user_data: gpointer) -> *mut glib::GList;
pub fn gst_registry_remove_feature(registry: *mut GstRegistry, feature: *mut GstPluginFeature);
pub fn gst_registry_remove_plugin(registry: *mut GstRegistry, plugin: *mut GstPlugin);
pub fn gst_registry_scan_path(registry: *mut GstRegistry, path: *const c_char) -> gboolean;
pub fn gst_registry_scan_path(registry: *mut GstRegistry, path: *mut c_char) -> gboolean;
//=========================================================================
// GstStream
@ -6137,6 +6284,8 @@ extern "C" {
pub fn gst_tracer_factory_get_type() -> GType;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_tracer_factory_get_list() -> *mut glib::GList;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_tracer_factory_get_tracer_type(factory: *mut GstTracerFactory) -> GType;
//=========================================================================
// GstTracerRecord
@ -6249,6 +6398,8 @@ extern "C" {
#[cfg(any(feature = "v1_12", feature = "dox"))]
pub fn gst_calculate_linear_regression(xy: *const GstClockTime, temp: *mut GstClockTime, n: c_uint, m_num: *mut GstClockTime, m_denom: *mut GstClockTime, b: *mut GstClockTime, xbase: *mut GstClockTime, r_squared: *mut c_double) -> gboolean;
pub fn gst_debug_add_log_function(func: GstLogFunction, user_data: gpointer, notify: glib::GDestroyNotify);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_debug_add_ring_buffer_logger(max_size_per_thread: c_uint, thread_timeout: c_uint);
pub fn gst_debug_bin_to_dot_data(bin: *mut GstBin, details: GstDebugGraphDetails) -> *mut c_char;
pub fn gst_debug_bin_to_dot_file(bin: *mut GstBin, details: GstDebugGraphDetails, file_name: *const c_char);
pub fn gst_debug_bin_to_dot_file_with_ts(bin: *mut GstBin, details: GstDebugGraphDetails, file_name: *const c_char);
@ -6268,6 +6419,10 @@ extern "C" {
pub fn gst_debug_print_stack_trace();
pub fn gst_debug_remove_log_function(func: GstLogFunction) -> c_uint;
pub fn gst_debug_remove_log_function_by_data(data: gpointer) -> c_uint;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_debug_remove_ring_buffer_logger();
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_debug_ring_buffer_logger_get_logs() -> *mut *mut c_char;
pub fn gst_debug_set_active(active: gboolean);
#[cfg(any(feature = "v1_2", feature = "dox"))]
pub fn gst_debug_set_color_mode(mode: GstDebugColorMode);
@ -6286,6 +6441,8 @@ extern "C" {
pub fn gst_flow_get_name(ret: GstFlowReturn) -> *const c_char;
pub fn gst_flow_to_quark(ret: GstFlowReturn) -> glib::GQuark;
pub fn gst_formats_contains(formats: *mut GstFormat, format: GstFormat) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_get_main_executable_path() -> *const c_char;
#[cfg(any(feature = "v1_8", feature = "dox"))]
pub fn gst_info_strdup_printf(format: *const c_char, ...) -> *mut c_char;
//#[cfg(any(feature = "v1_8", feature = "dox"))]
@ -6298,6 +6455,7 @@ extern "C" {
pub fn gst_is_caps_features(obj: gconstpointer) -> gboolean;
pub fn gst_is_initialized() -> gboolean;
pub fn gst_make_element_message_details(name: *const c_char, ...) -> *mut GstStructure;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_param_spec_array(name: *const c_char, nick: *const c_char, blurb: *const c_char, element_spec: *mut gobject::GParamSpec, flags: gobject::GParamFlags) -> *mut gobject::GParamSpec;
pub fn gst_param_spec_fraction(name: *const c_char, nick: *const c_char, blurb: *const c_char, min_num: c_int, min_denom: c_int, max_num: c_int, max_denom: c_int, default_num: c_int, default_denom: c_int, flags: gobject::GParamFlags) -> *mut gobject::GParamSpec;
pub fn gst_parent_buffer_meta_api_get_type() -> GType;
@ -6315,9 +6473,12 @@ extern "C" {
pub fn gst_printerrln(format: *const c_char, ...);
#[cfg(any(feature = "v1_12", feature = "dox"))]
pub fn gst_println(format: *const c_char, ...);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_protection_filter_systems_by_available_decryptors(system_identifiers: *mut *const c_char) -> *mut *mut c_char;
pub fn gst_protection_meta_api_get_type() -> GType;
#[cfg(any(feature = "v1_6", feature = "dox"))]
pub fn gst_protection_select_system(system_identifiers: *mut *mut c_char) -> *const c_char;
pub fn gst_reference_timestamp_meta_api_get_type() -> GType;
pub fn gst_segtrap_is_enabled() -> gboolean;
pub fn gst_segtrap_set_enabled(enabled: gboolean);
pub fn gst_static_caps_get_type() -> GType;
@ -6336,6 +6497,8 @@ extern "C" {
pub fn gst_update_registry() -> gboolean;
pub fn gst_util_array_binary_search(array: gpointer, num_elements: c_uint, element_size: size_t, search_func: glib::GCompareDataFunc, mode: GstSearchMode, search_data: gconstpointer, user_data: gpointer) -> gpointer;
pub fn gst_util_double_to_fraction(src: c_double, dest_n: *mut c_int, dest_d: *mut c_int);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_util_dump_buffer(buf: *mut GstBuffer);
pub fn gst_util_dump_mem(mem: *const u8, size: c_uint);
pub fn gst_util_fraction_add(a_n: c_int, a_d: c_int, b_n: c_int, b_d: c_int, res_n: *mut c_int, res_d: *mut c_int) -> gboolean;
pub fn gst_util_fraction_compare(a_n: c_int, a_d: c_int, b_n: c_int, b_d: c_int) -> c_int;

View file

@ -19,6 +19,7 @@ v1_6 = ["v1_4"]
v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
dox = []
[lib]

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-tag-1.0";
let shared_libs = ["gsttag-1.0"];
let version = if cfg!(feature = "v1_12") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT

View file

@ -22,6 +22,7 @@ v1_6 = ["v1_4"]
v1_8 = ["v1_6"]
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
dox = []
[lib]

View file

@ -16,7 +16,9 @@ fn main() {
fn find() -> Result<(), Error> {
let package_name = "gstreamer-video-1.0";
let shared_libs = ["gstvideo-1.0"];
let version = if cfg!(feature = "v1_12") {
let version = if cfg!(feature = "v1_14") {
"1.14"
} else if cfg!(feature = "v1_12") {
"1.12"
} else if cfg!(feature = "v1_10") {
"1.10"

View file

@ -1,4 +1,4 @@
// This file was generated by gir (https://github.com/gtk-rs/gir @ fbb95f4)
// This file was generated by gir (https://github.com/gtk-rs/gir @ a43de9a)
// from gir-files (https://github.com/gtk-rs/gir-files @ ???)
// DO NOT EDIT
@ -193,6 +193,9 @@ pub const GST_VIDEO_FORMAT_I422_12BE: GstVideoFormat = 74;
pub const GST_VIDEO_FORMAT_I422_12LE: GstVideoFormat = 75;
pub const GST_VIDEO_FORMAT_Y444_12BE: GstVideoFormat = 76;
pub const GST_VIDEO_FORMAT_Y444_12LE: GstVideoFormat = 77;
pub const GST_VIDEO_FORMAT_GRAY10_LE32: GstVideoFormat = 78;
pub const GST_VIDEO_FORMAT_NV12_10LE32: GstVideoFormat = 79;
pub const GST_VIDEO_FORMAT_NV16_10LE32: GstVideoFormat = 80;
pub type GstVideoGLTextureOrientation = c_int;
pub const GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL: GstVideoGLTextureOrientation = 0;
@ -358,7 +361,7 @@ pub const GST_VIDEO_DECODER_SINK_NAME: *const c_char = b"sink\0" as *const u8 as
pub const GST_VIDEO_DECODER_SRC_NAME: *const c_char = b"src\0" as *const u8 as *const c_char;
pub const GST_VIDEO_ENCODER_SINK_NAME: *const c_char = b"sink\0" as *const u8 as *const c_char;
pub const GST_VIDEO_ENCODER_SRC_NAME: *const c_char = b"src\0" as *const u8 as *const c_char;
pub const GST_VIDEO_FORMATS_ALL: *const c_char = b"{ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE }\0" as *const u8 as *const c_char;
pub const GST_VIDEO_FORMATS_ALL: *const c_char = b"{ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32 }\0" as *const u8 as *const c_char;
pub const GST_VIDEO_FPS_RANGE: *const c_char = b"(fraction) [ 0, max ]\0" as *const u8 as *const c_char;
pub const GST_VIDEO_MAX_COMPONENTS: c_int = 4;
pub const GST_VIDEO_MAX_PLANES: c_int = 4;
@ -1388,6 +1391,16 @@ impl ::std::fmt::Debug for GstVideoOverlayInterface {
}
}
#[repr(C)]
pub struct GstVideoOverlayProperties(c_void);
impl ::std::fmt::Debug for GstVideoOverlayProperties {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstVideoOverlayProperties @ {:?}", self as *const _))
.finish()
}
}
#[repr(C)]
pub struct GstVideoOverlayRectangle(c_void);
@ -1429,6 +1442,7 @@ pub struct GstVideoRegionOfInterestMeta {
pub y: c_uint,
pub w: c_uint,
pub h: c_uint,
pub params: *mut glib::GList,
}
impl ::std::fmt::Debug for GstVideoRegionOfInterestMeta {
@ -1442,6 +1456,7 @@ impl ::std::fmt::Debug for GstVideoRegionOfInterestMeta {
.field("y", &self.y)
.field("w", &self.w)
.field("h", &self.h)
.field("params", &self.params)
.finish()
}
}
@ -2134,6 +2149,10 @@ extern "C" {
//=========================================================================
// GstVideoRegionOfInterestMeta
//=========================================================================
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_video_region_of_interest_meta_add_param(meta: *mut GstVideoRegionOfInterestMeta, s: *mut gst::GstStructure);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_video_region_of_interest_meta_get_param(meta: *mut GstVideoRegionOfInterestMeta, name: *const c_char) -> *mut gst::GstStructure;
pub fn gst_video_region_of_interest_meta_get_info() -> *const gst::GstMetaInfo;
//=========================================================================
@ -2288,8 +2307,12 @@ extern "C" {
pub fn gst_video_encoder_get_frame(encoder: *mut GstVideoEncoder, frame_number: c_int) -> *mut GstVideoCodecFrame;
pub fn gst_video_encoder_get_frames(encoder: *mut GstVideoEncoder) -> *mut glib::GList;
pub fn gst_video_encoder_get_latency(encoder: *mut GstVideoEncoder, min_latency: *mut gst::GstClockTime, max_latency: *mut gst::GstClockTime);
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_video_encoder_get_max_encode_time(encoder: *mut GstVideoEncoder, frame: *mut GstVideoCodecFrame) -> gst::GstClockTimeDiff;
pub fn gst_video_encoder_get_oldest_frame(encoder: *mut GstVideoEncoder) -> *mut GstVideoCodecFrame;
pub fn gst_video_encoder_get_output_state(encoder: *mut GstVideoEncoder) -> *mut GstVideoCodecState;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_video_encoder_is_qos_enabled(encoder: *mut GstVideoEncoder) -> gboolean;
pub fn gst_video_encoder_merge_tags(encoder: *mut GstVideoEncoder, tags: *const gst::GstTagList, mode: gst::GstTagMergeMode);
pub fn gst_video_encoder_negotiate(encoder: *mut GstVideoEncoder) -> gboolean;
pub fn gst_video_encoder_proxy_getcaps(enc: *mut GstVideoEncoder, caps: *mut gst::GstCaps, filter: *mut gst::GstCaps) -> *mut gst::GstCaps;
@ -2297,6 +2320,8 @@ extern "C" {
pub fn gst_video_encoder_set_latency(encoder: *mut GstVideoEncoder, min_latency: gst::GstClockTime, max_latency: gst::GstClockTime);
pub fn gst_video_encoder_set_min_pts(encoder: *mut GstVideoEncoder, min_pts: gst::GstClockTime);
pub fn gst_video_encoder_set_output_state(encoder: *mut GstVideoEncoder, caps: *mut gst::GstCaps, reference: *mut GstVideoCodecState) -> *mut GstVideoCodecState;
#[cfg(any(feature = "v1_14", feature = "dox"))]
pub fn gst_video_encoder_set_qos_enabled(encoder: *mut GstVideoEncoder, enabled: gboolean);
//=========================================================================
// GstVideoFilter
@ -2379,6 +2404,8 @@ extern "C" {
// GstVideoOverlay
//=========================================================================
pub fn gst_video_overlay_get_type() -> GType;
pub fn gst_video_overlay_install_properties(oclass: *mut gobject::GObjectClass, last_prop_id: c_int);
pub fn gst_video_overlay_set_property(object: *mut gobject::GObject, last_prop_id: c_int, property_id: c_uint, value: *const gobject::GValue) -> gboolean;
pub fn gst_video_overlay_expose(overlay: *mut GstVideoOverlay);
pub fn gst_video_overlay_got_window_handle(overlay: *mut GstVideoOverlay, handle: uintptr_t);
pub fn gst_video_overlay_handle_events(overlay: *mut GstVideoOverlay, handle_events: gboolean);