Commit 57c58f25 authored by Alexey Galakhov's avatar Alexey Galakhov Committed by Sebastian Dröge

Add generation files for gstreamer-controller-sys

parent 8825a27c
Pipeline #207582 passed with stages
in 11 minutes and 33 seconds
......@@ -73,7 +73,8 @@ stages:
gstreamer-sys \
gstreamer-tag-sys \
gstreamer-video-sys \
gstreamer-webrtc-sys; \
gstreamer-webrtc-sys \
gstreamer-controller-sys; \
do \
cargo test --locked -p $crate; \
done
......
......@@ -19,4 +19,5 @@ members = [
"gstreamer-editing-services-sys",
"gstreamer-check-sys",
"gstreamer-rtp-sys",
"gstreamer-controller-sys",
]
[options]
girs_dir = "gir-files"
library = "GstController"
version = "1.0"
min_cfg_version = "1.8"
target_path = "gstreamer-controller-sys"
work_mode = "sys"
external_libraries = [
"GLib",
"GObject",
]
extra_versions = [
"1.18",
"1.16",
"1.14",
"1.12",
"1.10",
"1.8",
]
[external_libraries]
gstreamer="Gst"
gstreamer_base="GstBase"
This diff is collapsed.
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html),
specifically the [variant used by Rust](http://doc.crates.io/manifest.html#the-version-field).
## [0.9.1] - 2020-09-08
### Changed
- Updated bindings to 1.18.0. This stabilized GStreamer 1.18 support and any
API behind the "v1_18" feature is considered stable now.
## [0.9.0] - 2020-07-05
### Added
- Updated bindings to 1.17.2, adding experimental 1.18 support. This can be
opted-in via the "v1_18" feature flag but there might still be API changes
in the newly added API.
### Changed
- Minimum supported GStreamer version is 1.8 now.
- The `system-deps` crate is now used for declaring the dependency on the C
libraries instead of directly using `pkg-config`.
### Fixed
- Various missing version markers were added, which should allow compilation
against GStreamer 1.8 on Windows again. On Windows missing symbols are
apparently an error even if they're not used.
- `AUDIO/VIDEO_FORMATS_ALL` are ignored now as they're endian-dependent.
## [0.8.1] - 2019-12-16
### Added
- GStreamer RTP bindings
### Changed
- Update minimum supported Rust version to 1.36
- Update introspection data to GStreamer 1.16.2 release
## [0.8.0] - 2019-06-24
### Added
- GstGLDisplayX11 and GstGLDisplayWayland were added to gstreamer-gl-sys in
addition to GstGLDisplayEGL that existed before
### Changed
- Updated to GStreamer 1.16.0 .gir files, plus backported fixes
- Updated to latest gir
- Run all code through rustfmt after code generation
## [0.7.0] - 2019-02-22
### Added
- GstGL (OpenGL/GLES) bindings
### Changed
- Switch to Rust 1.31 as minimum supported version
- Generate GstVideoOverlayFormatFlags as flags type instead of enum
- Updates GstMpegts with various annotation fixes from GStreamer git master
## [0.6.1] - 2018-11-10
### Added
- GstCheck and GES (gstreamer editing services) bindings
### Changed
- Updated .gir files to 1.14.4 release
- All references were updated from GitHub to freedesktop.org GitLab
- Various functions take \*const instead of \*mut as parameters now
### Fixed
- Various functions and structs having pointer-of-array parameters/fields have
now fixed types. They were previously flat arrays instead of
pointer-of-arrays.
- Set gstreamer-webrtc-sys minimum version to 1.14. It did not exist before
that
## [0.6.0] - 2018-09-08
### Changed
- Updated everything to GStreamer 1.14.2
- Various fixes to how the code generator is used
- Regenerate with latest GIR code generator
### Fixed
- WebRTCICETransport and WebRTCDTLSTransport have the correct parent class
struct
- gstreamer-webrtc-sys correctly depends/links to gstreamer-sys
- Removed unneeded dependencies from the code generator configuration files
## [0.5.0] - 2018-03-20
### Changed
- Updated everything to GStreamer 1.14.0
### Added
- GstSdp, GstRtsp, GstRtspServer and GstWebRTC bindings
### Fixed
- Use external_libraries feature of gir to require less manual editing
- Remove some unused crates from dependencies
- Disale print_system_libs in calls to pkg-config to work better with
non-system installs of GStreamer
## [0.4.1] - 2018-02-18
### Fixed
- Fix native library name of GstNet bindings
## [0.4.0] - 2017-12-23
### Added
- GstNet bindings
- Debug impls for basically every type
- Script to automatically regenerate everything
### Changed
- gst_player_[sg]et_multiview_mode() argument types were changed from
GstMultiviewMode to GstMultiviewFramePacking, which is the correct subset
of the former that is allowed here
- gst_plugin_add_dependency() takes *mut *mut c_char as argument type instead
of *mut *const c_char
## [0.3.0] - 2017-11-26
### Added
- GstMpegTs bindings
### Changed
- GstDebugColorFlags from an enum to a bitfield
- Updated to bitflags 1.0
- Added support for the "dox" feature to generate documentation for all
possible versions
- Depend on glib-sys/gobject-sys 0.5
### Fixes
- GstStackTraceFlags, gst_flow_combiner_ref/unref are only available since
1.12 and 1.12.1 respectively
- All C enums are represented as integers + constants now to prevent undefined
behaviour when out-of-range values are received
## [0.2.1] - 2017-09-10
### Changed
- Add README.md to all crates directly
### Fixed
- Fix various compiler warnings
- Fix versioning/feature mess. Now each library has features for all major
versions and for the correct minor versions that added API.
- Removed Cargo.lock from GIT
## [0.2.0] - 2017-08-28
### Added
- Add GstPlayer bindings
### Changed
- Depend on bitflags 0.9
- Update GIR files to 1.12.1 release
- Fix various errors in the GIR files, backported from GStreamer GIT master
- Depend on gobject-sys/glib-sys 0.4.0 for various improvements
- Regenerated everything with latest GIR
## [0.1.1] - 2017-05-10
### Added
- Add GstTag and GstApp bindings
- Add lots of missing fields to all the structs thanks to GIR improvements
### Changed
- Update GIR files to 1.12.0 release
- Depend on gobject-sys/glib-sys 0.3.4 release for more complete structs
- Regenerated everything with latest GIR
## 0.1.0 - 2017-04-09
- Initial release of the autogenerated GStreamer FFI bindings.
[Unreleased]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.9.1...HEAD
[0.9.1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.9.0...0.9.1
[0.9.0]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.8.1...0.9.0
[0.8.1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.8.0...0.8.1
[0.8.0]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.7.0...0.8.0
[0.7.0]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.6.1...0.7.0
[0.6.1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.6.0...0.6.1
[0.6.0]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.5.0...0.6.0
[0.5.0]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.4.1...0.5.0
[0.4.1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.4.0...0.4.1
[0.4.0]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.3.0...0.4.0
[0.3.0]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.2.1...0.3.0
[0.2.1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.2.0...0.2.1
[0.2.0]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.1.1...0.2.0
[0.1.1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/compare/0.1.0...0.1.1
[build-dependencies]
pkg-config = "0.3.7"
system-deps = "1.3"
[dependencies]
libc = "0.2"
[dependencies.glib-sys]
git = "https://github.com/gtk-rs/sys"
[dependencies.gobject-sys]
git = "https://github.com/gtk-rs/sys"
[dependencies.gstreamer-base-sys]
path = "../gstreamer-base-sys"
[dependencies.gstreamer-sys]
path = "../gstreamer-sys"
[dev-dependencies]
shell-words = "0.1.0"
tempfile = "3"
[features]
v1_2 = []
v1_4 = ["v1_2"]
v1_6 = ["v1_4"]
v1_8 = []
v1_10 = ["v1_8"]
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
v1_16 = ["v1_14"]
v1_18 = ["v1_16"]
dox = []
[lib]
name = "gstreamer_controller_sys"
[package]
authors = ["Alexey Galakhov <agalakhov@gmail.com>"]
build = "build.rs"
description = "FFI bindings to libgstcontroller-1.0"
documentation = "https://slomo.pages.freedesktop.org/rustdocs/gstreamer-sys/gstreamer_app_sys/"
homepage = "https://gstreamer.freedesktop.org"
keywords = ["ffi", "gstreamer", "gnome", "multimedia"]
license = "MIT"
links = "gstcontroller-1.0"
name = "gstreamer-controller-sys"
readme = "README.md"
repository = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys"
version = "0.10.0"
[package.metadata.docs.rs]
features = ["dox"]
[package.metadata.system-deps.gstreamer_controller_1_0]
name = "gstreamer-controller-1.0"
version = "1.8"
[package.metadata.system-deps.gstreamer_controller_1_0.feature-versions]
v1_10 = "1.10"
v1_12 = "1.12"
v1_14 = "1.14"
v1_16 = "1.16"
v1_18 = "1.18"
# NOTE: The canonical repository for gstreamer-sys has moved to [freedesktop.org GitLab](https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys)!
# gstreamer-sys [![crates.io](https://img.shields.io/crates/v/gstreamer-audio-sys.svg)](https://crates.io/crates/gstreamer-audio-sys) [![pipeline status](https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/badges/master/pipeline.svg)](https://gitlab.freedesktop.org/gstreamer/gstreamer-rs-sys/commits/master)
[GStreamer](https://gstreamer.freedesktop.org/) (Audio library) FFI bindings for Rust.
These bindings are providing unsafe FFI API that can be used to interface with
GStreamer. Generally they are meant to be used as the building block for
higher-level abstractions like:
* Bindings for GStreamer applications and plugins: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs
* Various GStreamer plugins written in Rust: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs
The bindings are autogenerated with [gir](https://github.com/gtk-rs/gir/)
based on the [GObject-Introspection](https://wiki.gnome.org/Projects/GObjectIntrospection/)
API metadata provided by the GStreamer project.
## LICENSE
gstreamer-sys and all crates contained here are licensed under the MIT
license ([LICENSE](LICENSE) or http://opensource.org/licenses/MIT).
GStreamer itself is licensed under the Lesser General Public License version
2.1 or (at your option) any later version:
https://www.gnu.org/licenses/lgpl-2.1.html
## Contribution
Any kinds of contributions are welcome as a pull request.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in gstreamer-rs by you shall be licensed under the MIT license as above,
without any additional terms or conditions.
// This file was generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
// from gir-files (https://github.com/gtk-rs/gir-files @ 91e1ef0)
// DO NOT EDIT
#[cfg(not(feature = "dox"))]
extern crate system_deps;
#[cfg(not(feature = "dox"))]
use std::io;
#[cfg(not(feature = "dox"))]
use std::io::prelude::*;
#[cfg(not(feature = "dox"))]
use std::process;
#[cfg(feature = "dox")]
fn main() {} // prevent linking libraries to avoid documentation failure
#[cfg(not(feature = "dox"))]
fn main() {
if let Err(s) = system_deps::Config::new().probe() {
let _ = eprintln!("{}", s);
process::exit(1);
}
}
// This file was generated by gir (https://github.com/gtk-rs/gir @ 60cbef0)
// from gir-files (https://github.com/gtk-rs/gir-files @ 91e1ef0)
// DO NOT EDIT
#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
#![allow(
clippy::approx_constant,
clippy::type_complexity,
clippy::unreadable_literal
)]
extern crate glib_sys as glib;
extern crate gobject_sys as gobject;
extern crate gstreamer_base_sys as gst_base;
extern crate gstreamer_sys as gst;
extern crate libc;
#[allow(unused_imports)]
use libc::{
c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
intptr_t, size_t, ssize_t, time_t, uintptr_t, FILE,
};
#[allow(unused_imports)]
use glib::{gboolean, gconstpointer, gpointer, GType};
// Enums
pub type GstInterpolationMode = c_int;
pub const GST_INTERPOLATION_MODE_NONE: GstInterpolationMode = 0;
pub const GST_INTERPOLATION_MODE_LINEAR: GstInterpolationMode = 1;
pub const GST_INTERPOLATION_MODE_CUBIC: GstInterpolationMode = 2;
pub const GST_INTERPOLATION_MODE_CUBIC_MONOTONIC: GstInterpolationMode = 3;
pub type GstLFOWaveform = c_int;
pub const GST_LFO_WAVEFORM_SINE: GstLFOWaveform = 0;
pub const GST_LFO_WAVEFORM_SQUARE: GstLFOWaveform = 1;
pub const GST_LFO_WAVEFORM_SAW: GstLFOWaveform = 2;
pub const GST_LFO_WAVEFORM_REVERSE_SAW: GstLFOWaveform = 3;
pub const GST_LFO_WAVEFORM_TRIANGLE: GstLFOWaveform = 4;
// Unions
#[repr(C)]
#[derive(Copy, Clone)]
pub union GstControlPoint_cache {
pub cubic: GstControlPoint_cache_cubic,
pub cubic_monotonic: GstControlPoint_cache_cubic_monotonic,
pub _gst_reserved: [u8; 64],
}
impl ::std::fmt::Debug for GstControlPoint_cache {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstControlPoint_cache @ {:?}", self as *const _))
.field("cubic", unsafe { &self.cubic })
.field("cubic_monotonic", unsafe { &self.cubic_monotonic })
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union GstDirectControlBinding_ABI {
pub _gst_reserved: [gpointer; 4],
pub abi: GstDirectControlBinding_ABI_abi,
}
impl ::std::fmt::Debug for GstDirectControlBinding_ABI {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!(
"GstDirectControlBinding_ABI @ {:?}",
self as *const _
))
.field("_gst_reserved", unsafe { &self._gst_reserved })
.field("abi", unsafe { &self.abi })
.finish()
}
}
// Callbacks
pub type GstDirectControlBindingConvertGValue =
Option<unsafe extern "C" fn(*mut GstDirectControlBinding, c_double, *mut gobject::GValue)>;
pub type GstDirectControlBindingConvertValue =
Option<unsafe extern "C" fn(*mut GstDirectControlBinding, c_double, gpointer)>;
// Records
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstARGBControlBindingClass {
pub parent_class: gst::GstControlBindingClass,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstARGBControlBindingClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!(
"GstARGBControlBindingClass @ {:?}",
self as *const _
))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstControlPoint {
pub timestamp: gst::GstClockTime,
pub value: c_double,
pub cache: GstControlPoint_cache,
}
impl ::std::fmt::Debug for GstControlPoint {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("GstControlPoint @ {:?}", self as *const _))
.field("timestamp", &self.timestamp)
.field("value", &self.value)
.field("cache", &self.cache)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstControlPoint_cache_cubic {
pub h: c_double,
pub z: c_double,
}
impl ::std::fmt::Debug for GstControlPoint_cache_cubic {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!(
"GstControlPoint_cache_cubic @ {:?}",
self as *const _
))
.field("h", &self.h)
.field("z", &self.z)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstControlPoint_cache_cubic_monotonic {
pub c1s: c_double,
pub c2s: c_double,
pub c3s: c_double,
}
impl ::std::fmt::Debug for GstControlPoint_cache_cubic_monotonic {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!(
"GstControlPoint_cache_cubic_monotonic @ {:?}",
self as *const _
))
.field("c1s", &self.c1s)
.field("c2s", &self.c2s)
.field("c3s", &self.c3s)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstDirectControlBindingClass {
pub parent_class: gst::GstControlBindingClass,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstDirectControlBindingClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!(
"GstDirectControlBindingClass @ {:?}",
self as *const _
))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstDirectControlBinding_ABI_abi {
pub want_absolute: gboolean,
}
impl ::std::fmt::Debug for GstDirectControlBinding_ABI_abi {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!(
"GstDirectControlBinding_ABI_abi @ {:?}",
self as *const _
))
.field("want_absolute", &self.want_absolute)
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstInterpolationControlSourceClass {
pub parent_class: GstTimedValueControlSourceClass,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstInterpolationControlSourceClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!(
"GstInterpolationControlSourceClass @ {:?}",
self as *const _
))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[repr(C)]
pub struct _GstInterpolationControlSourcePrivate(c_void);
pub type GstInterpolationControlSourcePrivate = *mut _GstInterpolationControlSourcePrivate;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstLFOControlSourceClass {
pub parent_class: gst::GstControlSourceClass,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstLFOControlSourceClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!(
"GstLFOControlSourceClass @ {:?}",
self as *const _
))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[repr(C)]
pub struct _GstLFOControlSourcePrivate(c_void);
pub type GstLFOControlSourcePrivate = *mut _GstLFOControlSourcePrivate;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstProxyControlBindingClass {
pub parent_class: gst::GstControlBindingClass,
pub _padding: [gpointer; 4],
}
impl ::std::fmt::Debug for GstProxyControlBindingClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!(
"GstProxyControlBindingClass @ {:?}",
self as *const _
))
.finish()
}
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstTimedValueControlSourceClass {
pub parent_class: gst::GstControlSourceClass,
pub _gst_reserved: [gpointer; 4],
}
impl ::std::fmt::Debug for GstTimedValueControlSourceClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!(
"GstTimedValueControlSourceClass @ {:?}",
self as *const _
))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[repr(C)]
pub struct _GstTimedValueControlSourcePrivate(c_void);
pub type GstTimedValueControlSourcePrivate = *mut _GstTimedValueControlSourcePrivate;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct GstTriggerControlSourceClass {
pub parent_class: GstTimedValueControlSourceClass,