Update minimum supported version to 1.14

This is the version that is available in Ubuntu 18.04.
This commit is contained in:
Sebastian Dröge 2022-04-07 11:22:39 +03:00
parent 5052a93ee3
commit 4651c9db4d
216 changed files with 604 additions and 3311 deletions

View file

@ -24,7 +24,7 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.8 and gst-plugins-base 1.8 installed. In addition,
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
@ -45,16 +45,13 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.8. If you
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the
above packages, `libgstreamer-plugins-bad1.0-dev` is installed and
that the version is >= 1.12. See the `Cargo.toml` files for the full
details,
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ # Only if you wish to install gstreamer-player, make sure the version
$ # of this package is >= 1.12.
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
@ -82,15 +79,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.12.3-x86_64.pkg` and
`gstreamer-1.0-devel-1.12.3-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -118,9 +113,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -130,8 +123,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.12.3.msi` and
`gstreamer-1.0-devel-x86_64-1.12.3.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -55,8 +55,6 @@ gtkvideooverlay-x11 = ["gtkvideooverlay"]
gtkvideooverlay-quartz = ["gtkvideooverlay"]
rtsp-server = ["gst-rtsp-server", "gst-rtsp", "gst-sdp"]
rtsp-server-record = ["gst-rtsp-server", "gst-rtsp", "gio"]
v1_10 = ["gst/v1_10"]
v1_14 = ["gst/v1_14"]
pango-cairo = ["pango", "pangocairo", "cairo-rs"]
overlay-composition = ["pango", "pangocairo", "cairo-rs"]
gl = ["gst-gl", "gl_generator", "glutin"]
@ -70,7 +68,6 @@ name = "appsrc"
[[bin]]
name = "custom_events"
required-features = ["v1_10"]
[[bin]]
name = "custom_meta"
@ -80,7 +77,6 @@ name = "decodebin"
[[bin]]
name = "debug_ringbuffer"
required-features = ["v1_14"]
[[bin]]
name = "encodebin"

View file

@ -34,7 +34,6 @@ use gst::element_warning;
use gst::prelude::*;
use std::env;
#[cfg(feature = "v1_10")]
use std::sync::{Arc, Mutex};
use anyhow::Error;
@ -56,7 +55,6 @@ struct ErrorMessage {
source: glib::Error,
}
#[cfg(feature = "v1_10")]
#[derive(Clone, Debug, glib::Boxed)]
#[boxed_type(name = "ErrorValue")]
struct ErrorValue(Arc<Mutex<Option<Error>>>);
@ -202,7 +200,6 @@ fn example_main() -> Result<(), Error> {
if let Err(err) = insert_sink(is_audio, is_video) {
// The following sends a message of type Error on the bus, containing our detailed
// error information.
#[cfg(feature = "v1_10")]
element_error!(
dbin,
gst::LibraryError::Failed,
@ -212,14 +209,6 @@ fn example_main() -> Result<(), Error> {
&ErrorValue(Arc::new(Mutex::new(Some(err)))))
.build()
);
#[cfg(not(feature = "v1_10"))]
element_error!(
dbin,
gst::LibraryError::Failed,
("Failed to insert sink"),
["{}", err]
);
}
});
@ -241,39 +230,23 @@ fn example_main() -> Result<(), Error> {
MessageView::Error(err) => {
pipeline.set_state(gst::State::Null)?;
#[cfg(feature = "v1_10")]
{
match err.details() {
// This bus-message of type error contained our custom error-details struct
// that we sent in the pad-added callback above. So we unpack it and log
// the detailed error information here. details contains a glib::SendValue.
// The unpacked error is the converted to a Result::Err, stopping the
// application's execution.
Some(details) if details.name() == "error-details" => details
.get::<&ErrorValue>("error")
.unwrap()
.clone()
.0
.lock()
.unwrap()
.take()
.map(Result::Err)
.expect("error-details message without actual error"),
_ => Err(ErrorMessage {
src: msg
.src()
.map(|s| String::from(s.path_string()))
.unwrap_or_else(|| String::from("None")),
error: err.error().to_string(),
debug: err.debug(),
source: err.error(),
}
.into()),
}?;
}
#[cfg(not(feature = "v1_10"))]
{
return Err(ErrorMessage {
match err.details() {
// This bus-message of type error contained our custom error-details struct
// that we sent in the pad-added callback above. So we unpack it and log
// the detailed error information here. details contains a glib::SendValue.
// The unpacked error is the converted to a Result::Err, stopping the
// application's execution.
Some(details) if details.name() == "error-details" => details
.get::<&ErrorValue>("error")
.unwrap()
.clone()
.0
.lock()
.unwrap()
.take()
.map(Result::Err)
.expect("error-details message without actual error"),
_ => Err(ErrorMessage {
src: msg
.src()
.map(|s| String::from(s.path_string()))
@ -282,8 +255,8 @@ fn example_main() -> Result<(), Error> {
debug: err.debug(),
source: err.error(),
}
.into());
}
.into()),
}?;
}
MessageView::StateChanged(s) => {
println!(

View file

@ -18,7 +18,6 @@ use gst::element_warning;
use gst_pbutils::prelude::*;
use std::env;
#[cfg(feature = "v1_10")]
use std::sync::{Arc, Mutex};
use anyhow::Error;
@ -40,7 +39,6 @@ struct ErrorMessage {
source: glib::Error,
}
#[cfg(feature = "v1_10")]
#[derive(Clone, Debug, glib::Boxed)]
#[boxed_type(name = "ErrorValue")]
struct ErrorValue(Arc<Mutex<Option<Error>>>);
@ -226,7 +224,6 @@ fn example_main() -> Result<(), Error> {
};
if let Err(err) = link_to_encodebin(is_audio, is_video) {
#[cfg(feature = "v1_10")]
element_error!(
dbin,
gst::LibraryError::Failed,
@ -236,14 +233,6 @@ fn example_main() -> Result<(), Error> {
&ErrorValue(Arc::new(Mutex::new(Some(err)))))
.build()
);
#[cfg(not(feature = "v1_10"))]
element_error!(
dbin,
gst::LibraryError::Failed,
("Failed to insert sink"),
["{}", err]
);
}
});
@ -261,34 +250,18 @@ fn example_main() -> Result<(), Error> {
MessageView::Error(err) => {
pipeline.set_state(gst::State::Null)?;
#[cfg(feature = "v1_10")]
{
match err.details() {
Some(details) if details.name() == "error-details" => details
.get::<&ErrorValue>("error")
.unwrap()
.clone()
.0
.lock()
.unwrap()
.take()
.map(Result::Err)
.expect("error-details message without actual error"),
_ => Err(ErrorMessage {
src: msg
.src()
.map(|s| String::from(s.path_string()))
.unwrap_or_else(|| String::from("None")),
error: err.error().to_string(),
debug: err.debug(),
source: err.error(),
}
.into()),
}?;
}
#[cfg(not(feature = "v1_10"))]
{
return Err(ErrorMessage {
match err.details() {
Some(details) if details.name() == "error-details" => details
.get::<&ErrorValue>("error")
.unwrap()
.clone()
.0
.lock()
.unwrap()
.take()
.map(Result::Err)
.expect("error-details message without actual error"),
_ => Err(ErrorMessage {
src: msg
.src()
.map(|s| String::from(s.path_string()))
@ -297,8 +270,8 @@ fn example_main() -> Result<(), Error> {
debug: err.debug(),
source: err.error(),
}
.into());
}
.into()),
}?;
}
MessageView::StateChanged(s) => {
println!(

View file

@ -23,7 +23,7 @@ fn main_loop(uri: &str) -> Result<(), Error> {
let dispatcher = gst_player::PlayerGMainContextSignalDispatcher::new(None);
let player = gst_player::Player::new(
None,
gst_player::PlayerVideoRenderer::NONE,
Some(&dispatcher.upcast::<gst_player::PlayerSignalDispatcher>()),
);

View file

@ -26,10 +26,7 @@ gir-format-check = "0.1"
[features]
default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"]
v1_12 = ["gst/v1_12", "ffi/v1_12", "v1_10"]
v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"]
v1_16 = ["gst/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
v1_22 = ["gst/v1_22", "ffi/v1_22", "v1_20"]

View file

@ -4,7 +4,7 @@ generate_display_trait = false
generate_safety_asserts = true
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "GstAllocators"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
single_version_file = true
trust_return_value_nullability = true
version = "1.0"
@ -69,4 +69,4 @@ name = "GstAllocators.FdAllocator"
status = "generate"
[[object.function]]
name = "alloc"
manual = true
manual = true

View file

@ -24,7 +24,7 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.8 and gst-plugins-base 1.8 installed. In addition,
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
@ -45,16 +45,13 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.8. If you
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the
above packages, `libgstreamer-plugins-bad1.0-dev` is installed and
that the version is >= 1.12. See the `Cargo.toml` files for the full
details,
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ # Only if you wish to install gstreamer-player, make sure the version
$ # of this package is >= 1.12.
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
@ -82,15 +79,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.12.3-x86_64.pkg` and
`gstreamer-1.0-devel-1.12.3-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -118,9 +113,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -130,8 +123,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.12.3.msi` and
`gstreamer-1.0-devel-x86_64-1.12.3.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -15,8 +15,6 @@ pub static ALLOCATOR_FD: once_cell::sync::Lazy<&'static str> =
once_cell::sync::Lazy::new(|| unsafe {
CStr::from_ptr(ffi::GST_ALLOCATOR_FD).to_str().unwrap()
});
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(alias = "GST_CAPS_FEATURE_MEMORY_DMABUF")]
pub static CAPS_FEATURE_MEMORY_DMABUF: once_cell::sync::Lazy<&'static str> =
once_cell::sync::Lazy::new(|| unsafe {

View file

@ -5,23 +5,15 @@
#[cfg(any(target_os = "linux", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(target_os = "linux")))]
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
mod dma_buf_allocator;
#[cfg(any(target_os = "linux", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(target_os = "linux")))]
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub use self::dma_buf_allocator::DmaBufAllocator;
mod fd_allocator;
pub use self::fd_allocator::FdAllocator;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod phys_memory_allocator;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use self::phys_memory_allocator::PhysMemoryAllocator;
mod flags;
@ -32,13 +24,9 @@ pub mod functions;
mod constants;
pub use self::constants::ALLOCATOR_DMABUF;
pub use self::constants::ALLOCATOR_FD;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub use self::constants::CAPS_FEATURE_MEMORY_DMABUF;
#[doc(hidden)]
pub mod traits {
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::phys_memory_allocator::PhysMemoryAllocatorExt;
}

View file

@ -38,11 +38,7 @@ macro_rules! skip_assert_initialized {
mod auto;
pub use crate::auto::*;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
mod caps_features;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub use crate::caps_features::CAPS_FEATURES_MEMORY_DMABUF;
mod fd_allocator;
@ -50,20 +46,12 @@ pub use fd_allocator::*;
#[cfg(any(target_os = "linux", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(target_os = "linux")))]
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
mod dma_buf_allocator;
#[cfg(any(target_os = "linux", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(target_os = "linux")))]
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub use dma_buf_allocator::*;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod phys_memory;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use phys_memory::*;
// Re-export all the traits in a prelude module, so that applications

View file

@ -22,10 +22,7 @@ tempfile = "3"
[features]
dox = []
v1_10 = []
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
v1_16 = ["v1_14"]
v1_16 = []
v1_18 = ["v1_16"]
v1_20 = ["v1_18"]
v1_22 = ["v1_20"]
@ -51,15 +48,6 @@ version = "0.19.0"
features = ["dox"]
[package.metadata.system-deps.gstreamer_allocators_1_0]
name = "gstreamer-allocators-1.0"
version = "1.8"
[package.metadata.system-deps.gstreamer_allocators_1_0.v1_10]
version = "1.10"
[package.metadata.system-deps.gstreamer_allocators_1_0.v1_12]
version = "1.12"
[package.metadata.system-deps.gstreamer_allocators_1_0.v1_14]
version = "1.14"
[package.metadata.system-deps.gstreamer_allocators_1_0.v1_16]

View file

@ -2,16 +2,13 @@
girs_directories = ["../../gir-files", "../../gst-gir-files"]
library = "GstAllocators"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "sys"
extra_versions = [
"1.20",
"1.18",
"1.16",
"1.14",
"1.12",
"1.10",
]
external_libraries = [

View file

@ -129,8 +129,6 @@ extern "C" {
//=========================================================================
// GstDmaBufAllocator
//=========================================================================
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn gst_dmabuf_allocator_get_type() -> GType;
pub fn gst_dmabuf_allocator_new() -> *mut gst::GstAllocator;
pub fn gst_dmabuf_allocator_alloc(
@ -162,8 +160,6 @@ extern "C" {
//=========================================================================
// GstPhysMemoryAllocator
//=========================================================================
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_phys_memory_allocator_get_type() -> GType;
//=========================================================================
@ -173,11 +169,7 @@ extern "C" {
pub fn gst_fd_memory_get_fd(mem: *mut gst::GstMemory) -> c_int;
pub fn gst_is_dmabuf_memory(mem: *mut gst::GstMemory) -> gboolean;
pub fn gst_is_fd_memory(mem: *mut gst::GstMemory) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_is_phys_memory(mem: *mut gst::GstMemory) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_phys_memory_get_phys_addr(mem: *mut gst::GstMemory) -> uintptr_t;
}

View file

@ -31,10 +31,7 @@ gir-format-check = "0.1"
[features]
default = []
v1_10 = ["gst/v1_10", "gst-base/v1_10", "ffi/v1_10"]
v1_12 = ["gst/v1_12", "gst-base/v1_12", "ffi/v1_12", "v1_10"]
v1_14 = ["gst/v1_14", "gst-base/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16", "v1_14"]
v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "gst-base/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-base/v1_20", "ffi/v1_20", "v1_18"]
v1_22 = ["gst/v1_22", "gst-base/v1_22", "ffi/v1_22", "v1_20"]

View file

@ -2,7 +2,7 @@
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "GstApp"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "normal"
concurrency = "send+sync"
generate_safety_asserts = true

View file

@ -24,7 +24,7 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.8 and gst-plugins-base 1.8 installed. In addition,
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
@ -45,16 +45,13 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.8. If you
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the
above packages, `libgstreamer-plugins-bad1.0-dev` is installed and
that the version is >= 1.12. See the `Cargo.toml` files for the full
details,
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ # Only if you wish to install gstreamer-player, make sure the version
$ # of this package is >= 1.12.
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
@ -82,15 +79,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.12.3-x86_64.pkg` and
`gstreamer-1.0-devel-1.12.3-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -118,9 +113,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -130,8 +123,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.12.3.msi` and
`gstreamer-1.0-devel-x86_64-1.12.3.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -9,7 +9,6 @@ use std::panic;
use std::ptr;
use std::sync::atomic::{AtomicBool, Ordering};
#[cfg(any(feature = "v1_10"))]
use {
futures_core::Stream,
std::{
@ -307,8 +306,6 @@ impl AppSink {
}
#[doc(alias = "drop-out-of-segment")]
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn drops_out_of_segment(&self) -> bool {
unsafe {
from_glib(gst_base::ffi::gst_base_sink_get_drop_out_of_segment(
@ -442,8 +439,6 @@ impl AppSink {
}
#[doc(alias = "drop-out-of-segment")]
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(alias = "gst_base_sink_set_drop_out_of_segment")]
pub fn set_drop_out_of_segment(&self, drop_out_of_segment: bool) {
unsafe {
@ -914,20 +909,17 @@ impl AppSink {
}
}
#[cfg(any(feature = "v1_10"))]
pub fn stream(&self) -> AppSinkStream {
AppSinkStream::new(self)
}
}
#[cfg(any(feature = "v1_10"))]
#[derive(Debug)]
pub struct AppSinkStream {
app_sink: glib::WeakRef<AppSink>,
waker_reference: Arc<Mutex<Option<Waker>>>,
}
#[cfg(any(feature = "v1_10"))]
impl AppSinkStream {
fn new(app_sink: &AppSink) -> Self {
skip_assert_initialized!();
@ -966,7 +958,6 @@ impl AppSinkStream {
}
}
#[cfg(any(feature = "v1_10"))]
impl Drop for AppSinkStream {
fn drop(&mut self) {
// This is not thread-safe before 1.16.3, see
@ -979,7 +970,6 @@ impl Drop for AppSinkStream {
}
}
#[cfg(any(feature = "v1_10"))]
impl Stream for AppSinkStream {
type Item = gst::Sample;
@ -1006,7 +996,6 @@ impl Stream for AppSinkStream {
}
}
#[cfg(any(feature = "v1_10"))]
#[cfg(test)]
mod tests {
use super::*;

View file

@ -215,8 +215,6 @@ impl AppSrc {
}
}
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
#[doc(alias = "gst_app_src_push_buffer_list")]
pub fn push_buffer_list(
&self,

View file

@ -22,8 +22,6 @@ glib::wrapper! {
}
impl AppSink {
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(alias = "gst_app_sink_get_buffer_list_support")]
#[doc(alias = "get_buffer_list_support")]
pub fn is_buffer_list_support(&self) -> bool {
@ -89,8 +87,6 @@ impl AppSink {
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(alias = "gst_app_sink_set_buffer_list_support")]
pub fn set_buffer_list_support(&self, enable_lists: bool) {
unsafe {
@ -149,8 +145,6 @@ impl AppSink {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_app_sink_try_pull_preroll")]
pub fn try_pull_preroll(
&self,
@ -164,8 +158,6 @@ impl AppSink {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_app_sink_try_pull_sample")]
pub fn try_pull_sample(
&self,

View file

@ -63,8 +63,6 @@ impl AppSrc {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_app_src_get_duration")]
#[doc(alias = "get_duration")]
pub fn duration(&self) -> Option<gst::ClockTime> {
@ -135,8 +133,6 @@ impl AppSrc {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_app_src_set_duration")]
pub fn set_duration(&self, duration: impl Into<Option<gst::ClockTime>>) {
unsafe {
@ -402,8 +398,6 @@ impl AppSrc {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "duration")]
pub fn connect_duration_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,

View file

@ -21,10 +21,7 @@ shell-words = "1.0.0"
tempfile = "3"
[features]
v1_10 = []
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
v1_16 = ["v1_14"]
v1_16 = []
v1_18 = ["v1_16"]
v1_20 = ["v1_18"]
v1_22 = ["v1_20"]
@ -51,15 +48,6 @@ rust-version = "1.57"
features = ["dox"]
[package.metadata.system-deps.gstreamer_app_1_0]
name = "gstreamer-app-1.0"
version = "1.8"
[package.metadata.system-deps.gstreamer_app_1_0.v1_10]
version = "1.10"
[package.metadata.system-deps.gstreamer_app_1_0.v1_12]
version = "1.12"
[package.metadata.system-deps.gstreamer_app_1_0.v1_14]
version = "1.14"
[package.metadata.system-deps.gstreamer_app_1_0.v1_16]

View file

@ -2,7 +2,7 @@
girs_directories = ["../../gir-files", "../../gst-gir-files"]
library = "GstApp"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "sys"
external_libraries = [
@ -13,9 +13,6 @@ extra_versions = [
"1.20",
"1.18",
"1.16",
"1.14",
"1.12",
"1.10",
]
[external_libraries]

View file

@ -207,8 +207,6 @@ extern "C" {
// GstAppSink
//=========================================================================
pub fn gst_app_sink_get_type() -> GType;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn gst_app_sink_get_buffer_list_support(appsink: *mut GstAppSink) -> gboolean;
pub fn gst_app_sink_get_caps(appsink: *mut GstAppSink) -> *mut gst::GstCaps;
pub fn gst_app_sink_get_drop(appsink: *mut GstAppSink) -> gboolean;
@ -221,8 +219,6 @@ extern "C" {
pub fn gst_app_sink_pull_object(appsink: *mut GstAppSink) -> *mut gst::GstMiniObject;
pub fn gst_app_sink_pull_preroll(appsink: *mut GstAppSink) -> *mut gst::GstSample;
pub fn gst_app_sink_pull_sample(appsink: *mut GstAppSink) -> *mut gst::GstSample;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn gst_app_sink_set_buffer_list_support(appsink: *mut GstAppSink, enable_lists: gboolean);
pub fn gst_app_sink_set_callbacks(
appsink: *mut GstAppSink,
@ -241,14 +237,10 @@ extern "C" {
appsink: *mut GstAppSink,
timeout: gst::GstClockTime,
) -> *mut gst::GstMiniObject;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_app_sink_try_pull_preroll(
appsink: *mut GstAppSink,
timeout: gst::GstClockTime,
) -> *mut gst::GstSample;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_app_sink_try_pull_sample(
appsink: *mut GstAppSink,
timeout: gst::GstClockTime,
@ -267,8 +259,6 @@ extern "C" {
#[cfg(any(feature = "v1_20", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))]
pub fn gst_app_src_get_current_level_time(appsrc: *mut GstAppSrc) -> gst::GstClockTime;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_app_src_get_duration(appsrc: *mut GstAppSrc) -> gst::GstClockTime;
pub fn gst_app_src_get_emit_signals(appsrc: *mut GstAppSrc) -> gboolean;
pub fn gst_app_src_get_latency(appsrc: *mut GstAppSrc, min: *mut u64, max: *mut u64);
@ -288,8 +278,6 @@ extern "C" {
appsrc: *mut GstAppSrc,
buffer: *mut gst::GstBuffer,
) -> gst::GstFlowReturn;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_app_src_push_buffer_list(
appsrc: *mut GstAppSrc,
buffer_list: *mut gst::GstBufferList,
@ -305,8 +293,6 @@ extern "C" {
notify: glib::GDestroyNotify,
);
pub fn gst_app_src_set_caps(appsrc: *mut GstAppSrc, caps: *const gst::GstCaps);
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_app_src_set_duration(appsrc: *mut GstAppSrc, duration: gst::GstClockTime);
pub fn gst_app_src_set_emit_signals(appsrc: *mut GstAppSrc, emit: gboolean);
pub fn gst_app_src_set_latency(appsrc: *mut GstAppSrc, min: u64, max: u64);

View file

@ -30,10 +30,7 @@ gir-format-check = "0.1"
[features]
default = []
v1_10 = ["gst/v1_10", "gst-base/v1_10", "ffi/v1_10"]
v1_12 = ["gst/v1_12", "gst-base/v1_12", "ffi/v1_12", "v1_10"]
v1_14 = ["gst/v1_14", "gst-base/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16", "v1_14"]
v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "gst-base/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-base/v1_20", "ffi/v1_20", "v1_18"]
v1_22 = ["gst/v1_22", "gst-base/v1_22", "ffi/v1_22", "v1_20"]

View file

@ -2,7 +2,7 @@
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "GstAudio"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "normal"
concurrency = "send+sync"
generate_safety_asserts = true
@ -26,6 +26,7 @@ generate = [
"GstAudio.AudioLayout",
"GstAudio.AudioNoiseShapingMethod",
"GstAudio.AudioResamplerMethod",
"GstAudio.AudioRingBufferFormatType",
"GstAudio.AudioSink",
"GstAudio.AudioSrc",
"GstAudio.StreamVolume",
@ -366,22 +367,6 @@ status = "generate"
name = "none"
ignore = true
[[object]]
name = "GstAudio.AudioRingBufferFormatType"
status = "generate"
[[object.member]]
name = "mpeg2_aac_raw"
version = "1.12"
[[object.member]]
name = "mpeg4_aac_raw"
version = "1.12"
[[object.member]]
name = "flac"
version = "1.12"
[[object]]
name = "GstAudio.AudioStreamAlign"
status = "generate"

View file

@ -24,7 +24,7 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.8 and gst-plugins-base 1.8 installed. In addition,
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
@ -45,16 +45,13 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.8. If you
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the
above packages, `libgstreamer-plugins-bad1.0-dev` is installed and
that the version is >= 1.12. See the `Cargo.toml` files for the full
details,
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ # Only if you wish to install gstreamer-player, make sure the version
$ # of this package is >= 1.12.
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
@ -82,15 +79,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.12.3-x86_64.pkg` and
`gstreamer-1.0-devel-1.12.3-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -118,9 +113,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -130,8 +123,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.12.3.msi` and
`gstreamer-1.0-devel-x86_64-1.12.3.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -1,9 +1,13 @@
use crate::auto::AudioAggregator;
use crate::auto::AudioAggregatorPad;
use glib::object::{Cast, IsA};
#[cfg(any(feature = "v1_18", feature = "dox"))]
use glib::object::Cast;
use glib::object::IsA;
#[cfg(any(feature = "v1_18", feature = "dox"))]
use glib::signal::{connect_raw, SignalHandlerId};
use glib::translate::*;
#[cfg(any(feature = "v1_18", feature = "dox"))]
use std::mem::transmute;
pub trait AudioAggregatorExtManual: 'static {

View file

@ -109,14 +109,10 @@ impl AudioConverterConfig {
.unwrap_or(1)
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn set_resampler_method(&mut self, v: crate::AudioResamplerMethod) {
self.0.set("GstAudioConverter.resampler-method", &v);
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "get_resampler_method")]
pub fn resampler_method(&self) -> crate::AudioResamplerMethod {
self.0

View file

@ -6,8 +6,6 @@ use glib::translate::*;
use std::mem;
impl AudioStreamAlign {
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
#[doc(alias = "gst_audio_stream_align_process")]
pub fn process(
&mut self,

View file

@ -87,8 +87,6 @@ pub trait AudioDecoderExt: 'static {
#[doc(alias = "gst_audio_decoder_proxy_getcaps")]
fn proxy_getcaps(&self, caps: Option<&gst::Caps>, filter: Option<&gst::Caps>) -> gst::Caps;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_audio_decoder_set_allocation_caps")]
fn set_allocation_caps(&self, allocation_caps: Option<&gst::Caps>);
@ -276,8 +274,6 @@ impl<O: IsA<AudioDecoder>> AudioDecoderExt for O {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
fn set_allocation_caps(&self, allocation_caps: Option<&gst::Caps>) {
unsafe {
ffi::gst_audio_decoder_set_allocation_caps(

View file

@ -87,8 +87,6 @@ pub trait AudioEncoderExt: 'static {
#[doc(alias = "gst_audio_encoder_proxy_getcaps")]
fn proxy_getcaps(&self, caps: Option<&gst::Caps>, filter: Option<&gst::Caps>) -> gst::Caps;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_audio_encoder_set_allocation_caps")]
fn set_allocation_caps(&self, allocation_caps: Option<&gst::Caps>);
@ -275,8 +273,6 @@ impl<O: IsA<AudioEncoder>> AudioEncoderExt for O {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
fn set_allocation_caps(&self, allocation_caps: Option<&gst::Caps>) {
unsafe {
ffi::gst_audio_encoder_set_allocation_caps(

View file

@ -631,8 +631,6 @@ impl ToValue for AudioNoiseShapingMethod {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "GstAudioResamplerMethod")]
@ -651,8 +649,6 @@ pub enum AudioResamplerMethod {
__Unknown(i32),
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(hidden)]
impl IntoGlib for AudioResamplerMethod {
type GlibType = ffi::GstAudioResamplerMethod;
@ -669,8 +665,6 @@ impl IntoGlib for AudioResamplerMethod {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(hidden)]
impl FromGlib<ffi::GstAudioResamplerMethod> for AudioResamplerMethod {
unsafe fn from_glib(value: ffi::GstAudioResamplerMethod) -> Self {
@ -686,22 +680,16 @@ impl FromGlib<ffi::GstAudioResamplerMethod> for AudioResamplerMethod {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
impl StaticType for AudioResamplerMethod {
fn static_type() -> Type {
unsafe { from_glib(ffi::gst_audio_resampler_method_get_type()) }
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
impl glib::value::ValueType for AudioResamplerMethod {
type Type = Self;
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
unsafe impl<'a> FromValue<'a> for AudioResamplerMethod {
type Checker = glib::value::GenericValueTypeChecker<Self>;
@ -711,8 +699,6 @@ unsafe impl<'a> FromValue<'a> for AudioResamplerMethod {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
impl ToValue for AudioResamplerMethod {
fn to_value(&self) -> glib::Value {
let mut value = glib::Value::for_value_type::<Self>();
@ -755,16 +741,10 @@ pub enum AudioRingBufferFormatType {
Mpeg2Aac,
#[doc(alias = "GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC")]
Mpeg4Aac,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(alias = "GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC_RAW")]
Mpeg2AacRaw,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(alias = "GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC_RAW")]
Mpeg4AacRaw,
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(alias = "GST_AUDIO_RING_BUFFER_FORMAT_TYPE_FLAC")]
Flac,
#[doc(hidden)]
@ -789,11 +769,8 @@ impl IntoGlib for AudioRingBufferFormatType {
Self::Dts => ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_DTS,
Self::Mpeg2Aac => ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC,
Self::Mpeg4Aac => ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC,
#[cfg(any(feature = "v1_12", feature = "dox"))]
Self::Mpeg2AacRaw => ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC_RAW,
#[cfg(any(feature = "v1_12", feature = "dox"))]
Self::Mpeg4AacRaw => ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC_RAW,
#[cfg(any(feature = "v1_12", feature = "dox"))]
Self::Flac => ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_FLAC,
Self::__Unknown(value) => value,
}
@ -817,11 +794,8 @@ impl FromGlib<ffi::GstAudioRingBufferFormatType> for AudioRingBufferFormatType {
ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_DTS => Self::Dts,
ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC => Self::Mpeg2Aac,
ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC => Self::Mpeg4Aac,
#[cfg(any(feature = "v1_12", feature = "dox"))]
ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC_RAW => Self::Mpeg2AacRaw,
#[cfg(any(feature = "v1_12", feature = "dox"))]
ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC_RAW => Self::Mpeg4AacRaw,
#[cfg(any(feature = "v1_12", feature = "dox"))]
ffi::GST_AUDIO_RING_BUFFER_FORMAT_TYPE_FLAC => Self::Flac,
value => Self::__Unknown(value),
}

View file

@ -3,25 +3,13 @@
// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
// DO NOT EDIT
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_aggregator;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use self::audio_aggregator::AudioAggregator;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_aggregator_convert_pad;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use self::audio_aggregator_convert_pad::AudioAggregatorConvertPad;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_aggregator_pad;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use self::audio_aggregator_pad::AudioAggregatorPad;
mod audio_base_sink;
@ -45,11 +33,7 @@ pub use self::audio_src::AudioSrc;
mod stream_volume;
pub use self::stream_volume::StreamVolume;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_stream_align;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use self::audio_stream_align::AudioStreamAlign;
mod enums;
@ -58,8 +42,6 @@ pub use self::enums::AudioDitherMethod;
pub use self::enums::AudioFormat;
pub use self::enums::AudioLayout;
pub use self::enums::AudioNoiseShapingMethod;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub use self::enums::AudioResamplerMethod;
pub use self::enums::AudioRingBufferFormatType;
pub use self::enums::StreamVolumeFormat;
@ -71,14 +53,8 @@ pub use self::flags::AudioPackFlags;
#[doc(hidden)]
pub mod traits {
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::audio_aggregator::AudioAggregatorExt;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::audio_aggregator_convert_pad::AudioAggregatorConvertPadExt;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::audio_aggregator_pad::AudioAggregatorPadExt;
pub use super::audio_base_sink::AudioBaseSinkExt;
pub use super::audio_base_src::AudioBaseSrcExt;

View file

@ -43,17 +43,9 @@ mod audio_meta;
pub use crate::audio_meta::*;
mod audio_channel_position;
pub use crate::audio_channel_position::*;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_aggregator;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_aggregator_convert_pad;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_aggregator_pad;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_stream_align;
mod functions;
pub use crate::functions::*;
@ -70,8 +62,6 @@ mod audio_encoder;
mod audio_converter;
pub use crate::audio_converter::AudioConverterConfig;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod utils;
// Re-export all the traits in a prelude module, so that applications
@ -82,14 +72,8 @@ pub mod prelude {
pub use super::audio_decoder::AudioDecoderExtManual;
pub use super::audio_encoder::AudioEncoderExtManual;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use crate::audio_aggregator::AudioAggregatorExtManual;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use crate::audio_aggregator_convert_pad::AudioAggregatorConvertPadExtManual;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use crate::audio_aggregator_pad::AudioAggregatorPadExtManual;
pub use crate::audio_format::AudioFormatIteratorExt;

View file

@ -2,14 +2,8 @@
#![allow(clippy::cast_ptr_alignment)]
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_aggregator;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_aggregator_convert_pad;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod audio_aggregator_pad;
mod audio_base_sink;
mod audio_base_src;
@ -22,14 +16,8 @@ pub mod prelude {
#[doc(hidden)]
pub use gst_base::subclass::prelude::*;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::audio_aggregator::{AudioAggregatorImpl, AudioAggregatorImplExt};
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::audio_aggregator_convert_pad::AudioAggregatorConvertPadImpl;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::audio_aggregator_pad::{AudioAggregatorPadImpl, AudioAggregatorPadImplExt};
pub use super::audio_base_sink::AudioBaseSinkImpl;
pub use super::audio_base_src::AudioBaseSrcImpl;

View file

@ -25,10 +25,7 @@ shell-words = "1.0.0"
tempfile = "3"
[features]
v1_10 = []
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
v1_16 = ["v1_14"]
v1_16 = []
v1_18 = ["v1_16"]
v1_20 = ["v1_18"]
v1_22 = ["v1_20"]
@ -55,15 +52,6 @@ rust-version = "1.57"
features = ["dox"]
[package.metadata.system-deps.gstreamer_audio_1_0]
name = "gstreamer-audio-1.0"
version = "1.8"
[package.metadata.system-deps.gstreamer_audio_1_0.v1_10]
version = "1.10"
[package.metadata.system-deps.gstreamer_audio_1_0.v1_12]
version = "1.12"
[package.metadata.system-deps.gstreamer_audio_1_0.v1_14]
version = "1.14"
[package.metadata.system-deps.gstreamer_audio_1_0.v1_16]

View file

@ -2,16 +2,13 @@
girs_directories = ["../../gir-files", "../../gst-gir-files"]
library = "GstAudio"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "sys"
extra_versions = [
"1.20",
"1.18",
"1.16",
"1.14",
"1.12",
"1.10",
]
external_libraries = [
@ -37,13 +34,6 @@ status = "generate"
name = "reorder_channels"
version = "1.0"
[[object]]
name = "GstAudio.AudioConverter"
status = "generate"
[[object.function]]
name = "get_type"
version = "1.14"
[[object]]
name = "GstAudio.*"
status = "generate"

View file

@ -1485,22 +1485,16 @@ extern "C" {
//=========================================================================
// GstAudioResamplerFilterInterpolation
//=========================================================================
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_filter_interpolation_get_type() -> GType;
//=========================================================================
// GstAudioResamplerFilterMode
//=========================================================================
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_filter_mode_get_type() -> GType;
//=========================================================================
// GstAudioResamplerMethod
//=========================================================================
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_method_get_type() -> GType;
//=========================================================================
@ -1546,8 +1540,6 @@ extern "C" {
//=========================================================================
// GstAudioResamplerFlags
//=========================================================================
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_flags_get_type() -> GType;
//=========================================================================
@ -1605,8 +1597,6 @@ extern "C" {
out_channels: c_int,
out_position: *mut GstAudioChannelPosition,
) -> *mut GstAudioChannelMixer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_channel_mixer_new_with_matrix(
flags: GstAudioChannelMixerFlags,
format: GstAudioFormat,
@ -1623,8 +1613,6 @@ extern "C" {
//=========================================================================
// GstAudioConverter
//=========================================================================
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_converter_get_type() -> GType;
pub fn gst_audio_converter_new(
flags: GstAudioConverterFlags,
@ -1632,8 +1620,6 @@ extern "C" {
out_info: *mut GstAudioInfo,
config: *mut gst::GstStructure,
) -> *mut GstAudioConverter;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_converter_convert(
convert: *mut GstAudioConverter,
flags: GstAudioConverterFlags,
@ -1669,8 +1655,6 @@ extern "C" {
out: *mut gpointer,
out_frames: size_t,
) -> gboolean;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn gst_audio_converter_supports_inplace(convert: *mut GstAudioConverter) -> gboolean;
pub fn gst_audio_converter_update_config(
convert: *mut GstAudioConverter,
@ -1773,26 +1757,16 @@ extern "C" {
//=========================================================================
// GstAudioResampler
//=========================================================================
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_free(resampler: *mut GstAudioResampler);
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_get_in_frames(
resampler: *mut GstAudioResampler,
out_frames: size_t,
) -> size_t;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_get_max_latency(resampler: *mut GstAudioResampler) -> size_t;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_get_out_frames(
resampler: *mut GstAudioResampler,
in_frames: size_t,
) -> size_t;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_resample(
resampler: *mut GstAudioResampler,
in_: *mut gpointer,
@ -1800,19 +1774,13 @@ extern "C" {
out: *mut gpointer,
out_frames: size_t,
);
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_reset(resampler: *mut GstAudioResampler);
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_update(
resampler: *mut GstAudioResampler,
in_rate: c_int,
out_rate: c_int,
options: *mut gst::GstStructure,
) -> gboolean;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_new(
method: GstAudioResamplerMethod,
flags: GstAudioResamplerFlags,
@ -1822,8 +1790,6 @@ extern "C" {
out_rate: c_int,
options: *mut gst::GstStructure,
) -> *mut GstAudioResampler;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_resampler_options_set_quality(
method: GstAudioResamplerMethod,
quality: c_uint,
@ -1835,52 +1801,30 @@ extern "C" {
//=========================================================================
// GstAudioStreamAlign
//=========================================================================
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_get_type() -> GType;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
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"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_copy(
align: *const GstAudioStreamAlign,
) -> *mut GstAudioStreamAlign;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_free(align: *mut GstAudioStreamAlign);
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_get_alignment_threshold(
align: *const GstAudioStreamAlign,
) -> gst::GstClockTime;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_get_discont_wait(
align: *const GstAudioStreamAlign,
) -> gst::GstClockTime;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_get_rate(align: *const GstAudioStreamAlign) -> c_int;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_get_samples_since_discont(
align: *const GstAudioStreamAlign,
) -> u64;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_get_timestamp_at_discont(
align: *const GstAudioStreamAlign,
) -> gst::GstClockTime;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_mark_discont(align: *mut GstAudioStreamAlign);
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_process(
align: *mut GstAudioStreamAlign,
discont: gboolean,
@ -1890,30 +1834,20 @@ extern "C" {
out_duration: *mut gst::GstClockTime,
out_sample_position: *mut u64,
) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_set_alignment_threshold(
align: *mut GstAudioStreamAlign,
alignment_threshold: gst::GstClockTime,
);
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_set_discont_wait(
align: *mut GstAudioStreamAlign,
discont_wait: gst::GstClockTime,
);
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_stream_align_set_rate(align: *mut GstAudioStreamAlign, rate: c_int);
//=========================================================================
// GstAudioAggregator
//=========================================================================
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_aggregator_get_type() -> GType;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_aggregator_set_sink_caps(
aagg: *mut GstAudioAggregator,
pad: *mut GstAudioAggregatorPad,
@ -1923,15 +1857,11 @@ extern "C" {
//=========================================================================
// GstAudioAggregatorConvertPad
//=========================================================================
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_aggregator_convert_pad_get_type() -> GType;
//=========================================================================
// GstAudioAggregatorPad
//=========================================================================
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_audio_aggregator_pad_get_type() -> GType;
//=========================================================================
@ -2074,8 +2004,6 @@ extern "C" {
caps: *mut gst::GstCaps,
filter: *mut gst::GstCaps,
) -> *mut gst::GstCaps;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_decoder_set_allocation_caps(
dec: *mut GstAudioDecoder,
allocation_caps: *mut gst::GstCaps,
@ -2153,8 +2081,6 @@ extern "C" {
caps: *mut gst::GstCaps,
filter: *mut gst::GstCaps,
) -> *mut gst::GstCaps;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_encoder_set_allocation_caps(
enc: *mut GstAudioEncoder,
allocation_caps: *mut gst::GstCaps,
@ -2250,8 +2176,6 @@ extern "C" {
cb: GstAudioRingBufferCallback,
user_data: gpointer,
);
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn gst_audio_ring_buffer_set_callback_full(
buf: *mut GstAudioRingBuffer,
cb: GstAudioRingBufferCallback,
@ -2318,8 +2242,6 @@ extern "C" {
force_order: gboolean,
channel_mask: *mut u64,
) -> gboolean;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_audio_channel_positions_to_string(
position: *const GstAudioChannelPosition,
channels: c_int,

View file

@ -26,11 +26,7 @@ gir-format-check = "0.1"
[features]
default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"]
v1_12 = ["gst/v1_12", "ffi/v1_12", "v1_10"]
v1_12_1 = ["gst/v1_12_1", "ffi/v1_12_1", "v1_12"]
v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12_1"]
v1_14_1 = ["gst/v1_14", "ffi/v1_14_1", "v1_14"]
v1_14_1 = ["ffi/v1_14_1"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14_1"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]

View file

@ -2,7 +2,7 @@
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "GstBase"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "normal"
concurrency = "send+sync"
generate_safety_asserts = true
@ -214,10 +214,6 @@ manual_traits = ["AggregatorExtManual"]
name = "min_latency"
mandatory = true
[[object.property]]
name = "latency"
version = "1.14"
[[object.property]]
name = "start-time-selection"
version = "1.18"

View file

@ -24,7 +24,7 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.8 and gst-plugins-base 1.8 installed. In addition,
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
@ -45,16 +45,13 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.8. If you
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the
above packages, `libgstreamer-plugins-bad1.0-dev` is installed and
that the version is >= 1.12. See the `Cargo.toml` files for the full
details,
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ # Only if you wish to install gstreamer-player, make sure the version
$ # of this package is >= 1.12.
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
@ -82,15 +79,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.12.3-x86_64.pkg` and
`gstreamer-1.0-devel-1.12.3-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -118,9 +113,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -130,8 +123,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.12.3.msi` and
`gstreamer-1.0-devel-x86_64-1.12.3.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -294,14 +294,10 @@ impl UniqueAdapter {
self.0.copy_bytes(offset, size)
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn distance_from_discont(&self) -> u64 {
self.0.distance_from_discont()
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn dts_at_discont(&self) -> Option<gst::ClockTime> {
self.0.dts_at_discont()
}
@ -350,8 +346,6 @@ impl UniqueAdapter {
self.0.masked_scan_uint32_peek(mask, pattern, offset, size)
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn offset_at_discont(&self) -> u64 {
self.0.offset_at_discont()
}
@ -364,8 +358,6 @@ impl UniqueAdapter {
self.0.prev_dts_at_offset(offset)
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn prev_offset(&self) -> (u64, u64) {
self.0.prev_offset()
}
@ -378,8 +370,6 @@ impl UniqueAdapter {
self.0.prev_pts_at_offset(offset)
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn pts_at_discont(&self) -> Option<gst::ClockTime> {
self.0.pts_at_discont()
}

View file

@ -40,22 +40,16 @@ impl Adapter {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_adapter_distance_from_discont")]
pub fn distance_from_discont(&self) -> u64 {
unsafe { ffi::gst_adapter_distance_from_discont(self.to_glib_none().0) }
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_adapter_dts_at_discont")]
pub fn dts_at_discont(&self) -> Option<gst::ClockTime> {
unsafe { from_glib(ffi::gst_adapter_dts_at_discont(self.to_glib_none().0)) }
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_adapter_offset_at_discont")]
pub fn offset_at_discont(&self) -> u64 {
unsafe { ffi::gst_adapter_offset_at_discont(self.to_glib_none().0) }
@ -88,8 +82,6 @@ impl Adapter {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_adapter_prev_offset")]
pub fn prev_offset(&self) -> (u64, u64) {
unsafe {
@ -127,8 +119,6 @@ impl Adapter {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "gst_adapter_pts_at_discont")]
pub fn pts_at_discont(&self) -> Option<gst::ClockTime> {
unsafe { from_glib(ffi::gst_adapter_pts_at_discont(self.to_glib_none().0)) }

View file

@ -114,8 +114,6 @@ pub trait AggregatorExt: 'static {
f: F,
) -> SignalHandlerId;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
#[doc(alias = "latency")]
fn connect_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(&self, f: F)
-> SignalHandlerId;
@ -286,8 +284,6 @@ impl<O: IsA<Aggregator>> AggregatorExt for O {
}
}
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
fn connect_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,

View file

@ -33,8 +33,6 @@ pub trait BaseParseExt: 'static {
#[doc(alias = "gst_base_parse_add_index_entry")]
fn add_index_entry(&self, offset: u64, ts: gst::ClockTime, key: bool, force: bool) -> bool;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(alias = "gst_base_parse_drain")]
fn drain(&self);
@ -98,8 +96,6 @@ impl<O: IsA<BaseParse>> BaseParseExt for O {
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
fn drain(&self) {
unsafe {
ffi::gst_base_parse_drain(self.as_ref().to_glib_none().0);

View file

@ -38,8 +38,6 @@ pub trait BaseSinkExt: 'static {
#[doc(alias = "get_blocksize")]
fn blocksize(&self) -> u32;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(alias = "gst_base_sink_get_drop_out_of_segment")]
#[doc(alias = "get_drop_out_of_segment")]
fn drops_out_of_segment(&self) -> bool;
@ -91,8 +89,6 @@ pub trait BaseSinkExt: 'static {
#[doc(alias = "gst_base_sink_set_blocksize")]
fn set_blocksize(&self, blocksize: u32);
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
#[doc(alias = "gst_base_sink_set_drop_out_of_segment")]
fn set_drop_out_of_segment(&self, drop_out_of_segment: bool);
@ -233,8 +229,6 @@ impl<O: IsA<BaseSink>> BaseSinkExt for O {
unsafe { ffi::gst_base_sink_get_blocksize(self.as_ref().to_glib_none().0) }
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
fn drops_out_of_segment(&self) -> bool {
unsafe {
from_glib(ffi::gst_base_sink_get_drop_out_of_segment(
@ -312,8 +306,6 @@ impl<O: IsA<BaseSink>> BaseSinkExt for O {
}
}
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
fn set_drop_out_of_segment(&self, drop_out_of_segment: bool) {
unsafe {
ffi::gst_base_sink_set_drop_out_of_segment(

View file

@ -6,18 +6,10 @@
mod adapter;
pub use self::adapter::Adapter;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod aggregator;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use self::aggregator::Aggregator;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod aggregator_pad;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use self::aggregator_pad::AggregatorPad;
mod base_parse;
@ -47,11 +39,7 @@ pub mod functions;
#[doc(hidden)]
pub mod traits {
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::aggregator::AggregatorExt;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::aggregator_pad::AggregatorPadExt;
pub use super::base_parse::BaseParseExt;
pub use super::base_sink::BaseSinkExt;

View file

@ -38,11 +38,7 @@ mod adapter;
pub use crate::adapter::*;
mod flow_combiner;
pub use crate::flow_combiner::*;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod aggregator;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod aggregator_pad;
mod base_parse;
mod base_sink;
@ -62,11 +58,7 @@ pub mod prelude {
#[doc(hidden)]
pub use gst::prelude::*;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use crate::aggregator::AggregatorExtManual;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use crate::aggregator_pad::AggregatorPadExtManual;
pub use crate::auto::traits::*;
pub use crate::base_parse::BaseParseExtManual;

View file

@ -12,22 +12,14 @@ mod push_src;
pub use self::base_transform::BaseTransformMode;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod aggregator;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
mod aggregator_pad;
pub mod prelude {
#[doc(hidden)]
pub use gst::subclass::prelude::*;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::aggregator::{AggregatorImpl, AggregatorImplExt};
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub use super::aggregator_pad::{AggregatorPadImpl, AggregatorPadImplExt};
pub use super::base_parse::{BaseParseImpl, BaseParseImplExt};
pub use super::base_sink::{BaseSinkImpl, BaseSinkImplExt};

View file

@ -21,11 +21,7 @@ shell-words = "1.0.0"
tempfile = "3"
[features]
v1_10 = []
v1_12 = ["v1_10"]
v1_12_1 = ["v1_12"]
v1_14 = ["v1_12_1"]
v1_14_1 = ["v1_14"]
v1_14_1 = []
v1_14_3 = ["v1_14_1"]
v1_16 = ["v1_14_3"]
v1_18 = ["v1_16"]
@ -54,18 +50,6 @@ rust-version = "1.57"
features = ["dox"]
[package.metadata.system-deps.gstreamer_base_1_0]
name = "gstreamer-base-1.0"
version = "1.8"
[package.metadata.system-deps.gstreamer_base_1_0.v1_10]
version = "1.10"
[package.metadata.system-deps.gstreamer_base_1_0.v1_12]
version = "1.12"
[package.metadata.system-deps.gstreamer_base_1_0.v1_12_1]
version = "1.12.1"
[package.metadata.system-deps.gstreamer_base_1_0.v1_14]
version = "1.14"
[package.metadata.system-deps.gstreamer_base_1_0.v1_14_1]

View file

@ -2,16 +2,13 @@
girs_directories = ["../../gir-files", "../../gst-gir-files"]
library = "GstBase"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "sys"
extra_versions = [
"1.20",
"1.18",
"1.16",
"1.14",
"1.12",
"1.10",
]
external_libraries = [

View file

@ -1265,8 +1265,6 @@ extern "C" {
flags: GstBaseParseFrameFlags,
overhead: c_int,
) -> *mut GstBaseParseFrame;
#[cfg(any(feature = "v1_12_1", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12_1")))]
pub fn gst_base_parse_frame_copy(frame: *mut GstBaseParseFrame) -> *mut GstBaseParseFrame;
pub fn gst_base_parse_frame_free(frame: *mut GstBaseParseFrame);
pub fn gst_base_parse_frame_init(frame: *mut GstBaseParseFrame);
@ -1652,13 +1650,9 @@ extern "C" {
pub fn gst_flow_combiner_add_pad(combiner: *mut GstFlowCombiner, pad: *mut gst::GstPad);
pub fn gst_flow_combiner_clear(combiner: *mut GstFlowCombiner);
pub fn gst_flow_combiner_free(combiner: *mut GstFlowCombiner);
#[cfg(any(feature = "v1_12_1", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12_1")))]
pub fn gst_flow_combiner_ref(combiner: *mut GstFlowCombiner) -> *mut GstFlowCombiner;
pub fn gst_flow_combiner_remove_pad(combiner: *mut GstFlowCombiner, pad: *mut gst::GstPad);
pub fn gst_flow_combiner_reset(combiner: *mut GstFlowCombiner);
#[cfg(any(feature = "v1_12_1", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12_1")))]
pub fn gst_flow_combiner_unref(combiner: *mut GstFlowCombiner);
pub fn gst_flow_combiner_update_flow(
combiner: *mut GstFlowCombiner,
@ -1698,19 +1692,11 @@ extern "C" {
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
pub fn gst_queue_array_peek_nth_struct(array: *mut GstQueueArray, idx: c_uint) -> gpointer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_queue_array_peek_tail(array: *mut GstQueueArray) -> gpointer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_queue_array_peek_tail_struct(array: *mut GstQueueArray) -> gpointer;
pub fn gst_queue_array_pop_head(array: *mut GstQueueArray) -> gpointer;
pub fn gst_queue_array_pop_head_struct(array: *mut GstQueueArray) -> gpointer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_queue_array_pop_tail(array: *mut GstQueueArray) -> gpointer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_queue_array_pop_tail_struct(array: *mut GstQueueArray) -> gpointer;
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);
@ -1740,11 +1726,7 @@ extern "C" {
offset: size_t,
size: size_t,
) -> *mut glib::GBytes;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_adapter_distance_from_discont(adapter: *mut GstAdapter) -> u64;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_adapter_dts_at_discont(adapter: *mut GstAdapter) -> gst::GstClockTime;
pub fn gst_adapter_flush(adapter: *mut GstAdapter, flush: size_t);
pub fn gst_adapter_get_buffer(adapter: *mut GstAdapter, nbytes: size_t) -> *mut gst::GstBuffer;
@ -1773,8 +1755,6 @@ extern "C" {
size: size_t,
value: *mut u32,
) -> ssize_t;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_adapter_offset_at_discont(adapter: *mut GstAdapter) -> u64;
pub fn gst_adapter_prev_dts(adapter: *mut GstAdapter, distance: *mut u64) -> gst::GstClockTime;
pub fn gst_adapter_prev_dts_at_offset(
@ -1782,8 +1762,6 @@ extern "C" {
offset: size_t,
distance: *mut u64,
) -> gst::GstClockTime;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_adapter_prev_offset(adapter: *mut GstAdapter, distance: *mut u64) -> u64;
pub fn gst_adapter_prev_pts(adapter: *mut GstAdapter, distance: *mut u64) -> gst::GstClockTime;
pub fn gst_adapter_prev_pts_at_offset(
@ -1791,8 +1769,6 @@ extern "C" {
offset: size_t,
distance: *mut u64,
) -> gst::GstClockTime;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn gst_adapter_pts_at_discont(adapter: *mut GstAdapter) -> gst::GstClockTime;
pub fn gst_adapter_push(adapter: *mut GstAdapter, buf: *mut gst::GstBuffer);
pub fn gst_adapter_take(adapter: *mut GstAdapter, nbytes: size_t) -> gpointer;
@ -1812,11 +1788,7 @@ extern "C" {
//=========================================================================
// GstAggregator
//=========================================================================
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_get_type() -> GType;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_finish_buffer(
aggregator: *mut GstAggregator,
buffer: *mut gst::GstBuffer,
@ -1827,21 +1799,15 @@ extern "C" {
aggregator: *mut GstAggregator,
bufferlist: *mut gst::GstBufferList,
) -> gst::GstFlowReturn;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_get_allocator(
self_: *mut GstAggregator,
allocator: *mut *mut gst::GstAllocator,
params: *mut gst::GstAllocationParams,
);
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_get_buffer_pool(self_: *mut GstAggregator) -> *mut gst::GstBufferPool;
#[cfg(any(feature = "v1_20", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))]
pub fn gst_aggregator_get_ignore_inactive_pads(self_: *mut GstAggregator) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_get_latency(self_: *mut GstAggregator) -> gst::GstClockTime;
#[cfg(any(feature = "v1_18", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))]
@ -1864,15 +1830,11 @@ extern "C" {
#[cfg(any(feature = "v1_20", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))]
pub fn gst_aggregator_set_ignore_inactive_pads(self_: *mut GstAggregator, ignore: gboolean);
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_set_latency(
self_: *mut GstAggregator,
min_latency: gst::GstClockTime,
max_latency: gst::GstClockTime,
);
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_set_src_caps(self_: *mut GstAggregator, caps: *mut gst::GstCaps);
#[cfg(any(feature = "v1_16", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
@ -1887,26 +1849,16 @@ extern "C" {
//=========================================================================
// GstAggregatorPad
//=========================================================================
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_pad_get_type() -> GType;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_pad_drop_buffer(pad: *mut GstAggregatorPad) -> gboolean;
#[cfg(any(feature = "v1_14_1", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14_1")))]
pub fn gst_aggregator_pad_has_buffer(pad: *mut GstAggregatorPad) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_pad_is_eos(pad: *mut GstAggregatorPad) -> gboolean;
#[cfg(any(feature = "v1_20", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_20")))]
pub fn gst_aggregator_pad_is_inactive(pad: *mut GstAggregatorPad) -> gboolean;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_pad_peek_buffer(pad: *mut GstAggregatorPad) -> *mut gst::GstBuffer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_aggregator_pad_pop_buffer(pad: *mut GstAggregatorPad) -> *mut gst::GstBuffer;
//=========================================================================
@ -1927,8 +1879,6 @@ extern "C" {
dest_format: gst::GstFormat,
dest_value: *mut i64,
) -> gboolean;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn gst_base_parse_drain(parse: *mut GstBaseParse);
pub fn gst_base_parse_finish_frame(
parse: *mut GstBaseParse,
@ -1983,8 +1933,6 @@ extern "C" {
obj: *mut gst::GstMiniObject,
) -> gst::GstFlowReturn;
pub fn gst_base_sink_get_blocksize(sink: *mut GstBaseSink) -> c_uint;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn gst_base_sink_get_drop_out_of_segment(sink: *mut GstBaseSink) -> gboolean;
pub fn gst_base_sink_get_last_sample(sink: *mut GstBaseSink) -> *mut gst::GstSample;
pub fn gst_base_sink_get_latency(sink: *mut GstBaseSink) -> gst::GstClockTime;
@ -2012,8 +1960,6 @@ extern "C" {
) -> gboolean;
pub fn gst_base_sink_set_async_enabled(sink: *mut GstBaseSink, enabled: gboolean);
pub fn gst_base_sink_set_blocksize(sink: *mut GstBaseSink, blocksize: c_uint);
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn gst_base_sink_set_drop_out_of_segment(
sink: *mut GstBaseSink,
drop_out_of_segment: gboolean,
@ -2089,8 +2035,6 @@ 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"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_base_src_submit_buffer_list(
src: *mut GstBaseSrc,
buffer_list: *mut gst::GstBufferList,

View file

@ -24,10 +24,7 @@ gir-format-check = "0.1"
[features]
default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"]
v1_12 = ["gst/v1_12", "ffi/v1_12", "v1_10"]
v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"]
v1_16 = ["gst/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
v1_22 = ["gst/v1_22", "ffi/v1_22", "v1_20"]

View file

@ -2,7 +2,7 @@
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "GstCheck"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "normal"
concurrency = "send+sync"
generate_safety_asserts = true

View file

@ -24,7 +24,7 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.8 and gst-plugins-base 1.8 installed. In addition,
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
@ -45,16 +45,13 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.8. If you
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the
above packages, `libgstreamer-plugins-bad1.0-dev` is installed and
that the version is >= 1.12. See the `Cargo.toml` files for the full
details,
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ # Only if you wish to install gstreamer-player, make sure the version
$ # of this package is >= 1.12.
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
@ -82,15 +79,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.12.3-x86_64.pkg` and
`gstreamer-1.0-devel-1.12.3-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -118,9 +113,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -130,8 +123,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.12.3.msi` and
`gstreamer-1.0-devel-x86_64-1.12.3.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -519,8 +519,6 @@ impl Harness {
// unsafe { TODO: call ffi::gst_harness_stress_statechange_start_full() }
//}
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
#[doc(alias = "gst_harness_take_all_data_as_buffer")]
pub fn take_all_data_as_buffer(&mut self) -> Result<gst::Buffer, glib::BoolError> {
unsafe {
@ -529,8 +527,6 @@ impl Harness {
}
}
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
#[doc(alias = "gst_harness_take_all_data_as_bytes")]
pub fn take_all_data_as_bytes(&mut self) -> Result<glib::Bytes, glib::BoolError> {
unsafe {

View file

@ -21,10 +21,7 @@ shell-words = "1.0.0"
tempfile = "3"
[features]
v1_10 = []
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
v1_16 = ["v1_14"]
v1_16 = []
v1_18 = ["v1_16"]
v1_20 = ["v1_18"]
v1_22 = ["v1_20"]
@ -51,15 +48,6 @@ rust-version = "1.57"
features = ["dox"]
[package.metadata.system-deps.gstreamer_check_1_0]
name = "gstreamer-check-1.0"
version = "1.8"
[package.metadata.system-deps.gstreamer_check_1_0.v1_10]
version = "1.10"
[package.metadata.system-deps.gstreamer_check_1_0.v1_12]
version = "1.12"
[package.metadata.system-deps.gstreamer_check_1_0.v1_14]
version = "1.14"
[package.metadata.system-deps.gstreamer_check_1_0.v1_16]

View file

@ -2,16 +2,13 @@
girs_directories = ["../../gir-files", "../../gst-gir-files"]
library = "GstCheck"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "sys"
extra_versions = [
"1.20",
"1.18",
"1.16",
"1.14",
"1.12",
"1.10",
]
external_libraries = [

View file

@ -309,14 +309,8 @@ extern "C" {
h: *mut GstHarness,
sleep: c_ulong,
) -> *mut GstHarnessThread;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_harness_take_all_data(h: *mut GstHarness, size: *mut size_t) -> *mut u8;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_harness_take_all_data_as_buffer(h: *mut GstHarness) -> *mut gst::GstBuffer;
#[cfg(any(feature = "v1_14", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
pub fn gst_harness_take_all_data_as_bytes(h: *mut GstHarness) -> *mut glib::GBytes;
pub fn gst_harness_teardown(h: *mut GstHarness);
pub fn gst_harness_try_pull(h: *mut GstHarness) -> *mut gst::GstBuffer;

View file

@ -25,10 +25,7 @@ gir-format-check = "0.1"
[features]
default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"]
v1_12 = ["gst/v1_12", "ffi/v1_12", "v1_10"]
v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"]
v1_16 = ["gst/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
v1_22 = ["gst/v1_22", "ffi/v1_22", "v1_20"]

View file

@ -2,7 +2,7 @@
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "GstController"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "normal"
concurrency = "send+sync"
generate_safety_asserts = true
@ -24,6 +24,7 @@ generate = [
"GstController.InterpolationMode",
"GstController.LFOControlSource",
"GstController.LFOWaveform",
"GstController.ProxyControlBinding",
"GstController.TriggerControlSource",
]
@ -39,11 +40,6 @@ name = "Gst.ClockTime"
status = "manual"
conversion_type = "Option"
[[object]]
name = "GstController.ProxyControlBinding"
status = "generate"
version = "1.12"
[[object]]
name = "GstController.TimedValueControlSource"
status = "generate"

View file

@ -24,7 +24,7 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.8 and gst-plugins-base 1.8 installed. In addition,
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
@ -45,16 +45,13 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.8. If you
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the
above packages, `libgstreamer-plugins-bad1.0-dev` is installed and
that the version is >= 1.12. See the `Cargo.toml` files for the full
details,
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ # Only if you wish to install gstreamer-player, make sure the version
$ # of this package is >= 1.12.
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
@ -82,15 +79,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.12.3-x86_64.pkg` and
`gstreamer-1.0-devel-1.12.3-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -118,9 +113,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -130,8 +123,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.12.3.msi` and
`gstreamer-1.0-devel-x86_64-1.12.3.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -15,11 +15,7 @@ pub use self::interpolation_control_source::InterpolationControlSource;
mod lfo_control_source;
pub use self::lfo_control_source::LFOControlSource;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
mod proxy_control_binding;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub use self::proxy_control_binding::ProxyControlBinding;
mod timed_value_control_source;

View file

@ -22,10 +22,7 @@ shell-words = "1.0.0"
tempfile = "3"
[features]
v1_10 = []
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
v1_16 = ["v1_14"]
v1_16 = []
v1_18 = ["v1_16"]
v1_20 = ["v1_18"]
v1_22 = ["v1_20"]
@ -52,15 +49,6 @@ rust-version = "1.57"
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.v1_10]
version = "1.10"
[package.metadata.system-deps.gstreamer_controller_1_0.v1_12]
version = "1.12"
[package.metadata.system-deps.gstreamer_controller_1_0.v1_14]
version = "1.14"
[package.metadata.system-deps.gstreamer_controller_1_0.v1_16]

View file

@ -2,7 +2,7 @@
girs_directories = ["../../gir-files", "../../gst-gir-files"]
library = "GstController"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "sys"
external_libraries = [
@ -14,9 +14,6 @@ extra_versions = [
"1.20",
"1.18",
"1.16",
"1.14",
"1.12",
"1.10",
]
[external_libraries]

View file

@ -478,8 +478,6 @@ extern "C" {
// GstProxyControlBinding
//=========================================================================
pub fn gst_proxy_control_binding_get_type() -> GType;
#[cfg(any(feature = "v1_12", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))]
pub fn gst_proxy_control_binding_new(
object: *mut gst::GstObject,
property_name: *const c_char,

View file

@ -27,10 +27,7 @@ gst-pbutils = { package = "gstreamer-pbutils", path = "../gstreamer-pbutils" }
gir-format-check = "0.1"
[features]
v1_10 = ["gst/v1_10", "gst-base/v1_10", "gst-pbutils/v1_10", "ffi/v1_10"]
v1_12 = ["gst/v1_12", "gst-base/v1_12", "gst-pbutils/v1_12", "ffi/v1_12", "v1_10"]
v1_14 = ["gst/v1_14", "gst-base/v1_14", "gst-pbutils/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "gst-base/v1_16", "gst-pbutils/v1_16", "ffi/v1_16", "v1_14"]
v1_16 = ["gst/v1_16", "gst-base/v1_16", "gst-pbutils/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "gst-base/v1_18", "gst-pbutils/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-base/v1_20", "gst-pbutils/v1_20", "ffi/v1_20", "v1_18"]
v1_22 = ["gst/v1_22", "gst-base/v1_22", "gst-pbutils/v1_22", "ffi/v1_22", "v1_20"]

View file

@ -2,7 +2,7 @@
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "GES"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "normal"
generate_safety_asserts = true
single_version_file = true

View file

@ -29,7 +29,7 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.8 and gst-plugins-base 1.8 installed. In addition,
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
@ -50,16 +50,13 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.8. If you
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the
above packages, `libgstreamer-plugins-bad1.0-dev` is installed and
that the version is >= 1.12. See the `Cargo.toml` files for the full
details,
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ # Only if you wish to install gstreamer-player, make sure the version
$ # of this package is >= 1.12.
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
@ -87,15 +84,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.12.3-x86_64.pkg` and
`gstreamer-1.0-devel-1.12.3-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -123,9 +118,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -135,8 +128,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.12.3.msi` and
`gstreamer-1.0-devel-x86_64-1.12.3.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -5,14 +5,8 @@
use crate::Extractable;
use crate::Formatter;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use crate::Timeline;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use glib::object::IsA;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
use glib::translate::*;
glib::wrapper! {
@ -27,8 +21,6 @@ glib::wrapper! {
impl CommandLineFormatter {
pub const NONE: Option<&'static CommandLineFormatter> = None;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "ges_command_line_formatter_get_help")]
#[doc(alias = "get_help")]
pub fn help(commands: &[&str]) -> glib::GString {
@ -42,8 +34,6 @@ impl CommandLineFormatter {
}
}
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
#[doc(alias = "ges_command_line_formatter_get_timeline_uri")]
#[doc(alias = "get_timeline_uri")]
pub fn timeline_uri(timeline: &impl IsA<Timeline>) -> glib::GString {

View file

@ -209,7 +209,7 @@ pub trait TimelineElementExt: 'static {
#[doc(alias = "ges_timeline_element_set_parent")]
fn set_parent(&self, parent: &impl IsA<TimelineElement>) -> Result<(), glib::error::BoolError>;
#[cfg_attr(feature = "v1_10", deprecated = "Since 1.10")]
#[deprecated = "Since 1.10"]
#[doc(alias = "ges_timeline_element_set_priority")]
fn set_priority(&self, priority: u32) -> bool;
@ -260,7 +260,7 @@ pub trait TimelineElementExt: 'static {
#[doc(alias = "parent")]
fn connect_parent_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
#[cfg_attr(feature = "v1_10", deprecated = "Since 1.10")]
#[deprecated = "Since 1.10"]
#[doc(alias = "priority")]
fn connect_priority_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;

View file

@ -29,10 +29,7 @@ shell-words = "1.0.0"
tempfile = "3"
[features]
v1_10 = []
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
v1_16 = ["v1_14"]
v1_16 = []
v1_18 = ["v1_16"]
v1_20 = ["v1_18"]
v1_22 = ["v1_20"]
@ -59,15 +56,6 @@ rust-version = "1.57"
features = ["dox"]
[package.metadata.system-deps.gst_editing_services_1_0]
name = "gst-editing-services-1.0"
version = "1.8"
[package.metadata.system-deps.gst_editing_services_1_0.v1_10]
version = "1.10"
[package.metadata.system-deps.gst_editing_services_1_0.v1_12]
version = "1.12"
[package.metadata.system-deps.gst_editing_services_1_0.v1_14]
version = "1.14"
[package.metadata.system-deps.gst_editing_services_1_0.v1_16]

View file

@ -2,16 +2,13 @@
girs_directories = ["../../gir-files", "../../gst-gir-files"]
library = "GES"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "sys"
extra_versions = [
"1.20",
"1.18",
"1.16",
"1.14",
"1.12",
"1.10",
]
external_libraries = [

View file

@ -3120,14 +3120,10 @@ extern "C" {
// GESCommandLineFormatter
//=========================================================================
pub fn ges_command_line_formatter_get_type() -> GType;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn ges_command_line_formatter_get_help(
nargs: c_int,
commands: *mut *mut c_char,
) -> *mut c_char;
#[cfg(any(feature = "v1_10", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
pub fn ges_command_line_formatter_get_timeline_uri(timeline: *mut GESTimeline) -> *mut c_char;
//=========================================================================

View file

@ -23,9 +23,9 @@ libc = "0.2"
once_cell = "1.0"
ffi = { package = "gstreamer-gl-sys", path = "sys" }
glib = { git = "https://github.com/gtk-rs/gtk-rs-core" }
gst = { package = "gstreamer", path = "../gstreamer", features = ["v1_14"] }
gst-base = { package = "gstreamer-base", path = "../gstreamer-base", features = ["v1_14"] }
gst-video = { package = "gstreamer-video", path = "../gstreamer-video", features = ["v1_14"] }
gst = { package = "gstreamer", path = "../gstreamer" }
gst-base = { package = "gstreamer-base", path = "../gstreamer-base" }
gst-video = { package = "gstreamer-video", path = "../gstreamer-video" }
[dev-dependencies]
gir-format-check = "0.1"

View file

@ -24,12 +24,11 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you
need to have at least GStreamer 1.14 and gst-plugins-base 1.14
installed. In addition, some of the examples/tutorials require various
GStreamer plugins to be available, which can be found in
gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly
and/or gst-libav.
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
<a name="installation-linux"/>
@ -47,8 +46,15 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.14. See
the `Cargo.toml` files for the full details.
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
Package names on other distributions should be similar.
Please submit a pull request with instructions for yours.
@ -74,13 +80,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
Please, make sure the version of these libraries is >= 1.14.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.14.4-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.4-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -108,7 +114,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
Please, make sure the version of these libraries is >= 1.14.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -118,8 +124,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.4.msi` and
`gstreamer-1.0-devel-x86_64-1.14.4.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -21,7 +21,7 @@ libc = "0.2"
ffi = { package = "gstreamer-gl-egl-sys", path = "sys" }
glib = { git = "https://github.com/gtk-rs/gtk-rs-core" }
gst = { package = "gstreamer", path = "../../gstreamer", features = ["v1_14"] }
gst = { package = "gstreamer", path = "../../gstreamer" }
gst-gl = { package = "gstreamer-gl", path = "../" }
[dev-dependencies]

View file

@ -24,12 +24,11 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you
need to have at least GStreamer 1.14 and gst-plugins-base 1.14
installed. In addition, some of the examples/tutorials require various
GStreamer plugins to be available, which can be found in
gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly
and/or gst-libav.
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
<a name="installation-linux"/>
@ -47,8 +46,15 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.14. See
the `Cargo.toml` files for the full details.
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
Package names on other distributions should be similar.
Please submit a pull request with instructions for yours.
@ -74,13 +80,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
Please, make sure the version of these libraries is >= 1.14.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.14.4-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.4-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -108,7 +114,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
Please, make sure the version of these libraries is >= 1.14.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -118,8 +124,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.4.msi` and
`gstreamer-1.0-devel-x86_64-1.14.4.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -15,17 +15,14 @@ git = "https://github.com/gtk-rs/gtk-rs-core"
[dependencies.gst_base]
package = "gstreamer-base-sys"
path = "../../gstreamer-base/sys"
features = ["v1_14"]
[dependencies.gst]
package = "gstreamer-sys"
path = "../../gstreamer/sys"
features = ["v1_14"]
[dependencies.gst_video]
package = "gstreamer-video-sys"
path = "../../gstreamer-video/sys"
features = ["v1_14"]
[dev-dependencies]
shell-words = "1.0.0"

View file

@ -21,7 +21,7 @@ libc = "0.2"
ffi = { package = "gstreamer-gl-wayland-sys", path = "sys" }
glib = { git = "https://github.com/gtk-rs/gtk-rs-core" }
gst = { package = "gstreamer", path = "../../gstreamer", features = ["v1_14"] }
gst = { package = "gstreamer", path = "../../gstreamer" }
gst-gl = { package = "gstreamer-gl", path = "../" }
[dev-dependencies]

View file

@ -24,12 +24,11 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you
need to have at least GStreamer 1.14 and gst-plugins-base 1.14
installed. In addition, some of the examples/tutorials require various
GStreamer plugins to be available, which can be found in
gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly
and/or gst-libav.
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
<a name="installation-linux"/>
@ -47,8 +46,15 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.14. See
the `Cargo.toml` files for the full details.
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
Package names on other distributions should be similar.
Please submit a pull request with instructions for yours.
@ -74,13 +80,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
Please, make sure the version of these libraries is >= 1.14.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.14.4-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.4-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -108,7 +114,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
Please, make sure the version of these libraries is >= 1.14.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -118,8 +124,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.4.msi` and
`gstreamer-1.0-devel-x86_64-1.14.4.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -21,7 +21,7 @@ libc = "0.2"
ffi = { package = "gstreamer-gl-x11-sys", path = "sys" }
glib = { git = "https://github.com/gtk-rs/gtk-rs-core" }
gst = { package = "gstreamer", path = "../../gstreamer", features = ["v1_14"] }
gst = { package = "gstreamer", path = "../../gstreamer" }
gst-gl = { package = "gstreamer-gl", path = "../" }
[dev-dependencies]

View file

@ -24,12 +24,11 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you
need to have at least GStreamer 1.14 and gst-plugins-base 1.14
installed. In addition, some of the examples/tutorials require various
GStreamer plugins to be available, which can be found in
gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly
and/or gst-libav.
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
<a name="installation-linux"/>
@ -47,8 +46,15 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.14. See
the `Cargo.toml` files for the full details.
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
Package names on other distributions should be similar.
Please submit a pull request with instructions for yours.
@ -74,13 +80,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
Please, make sure the version of these libraries is >= 1.14.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.14.4-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.4-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -108,7 +114,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
Please, make sure the version of these libraries is >= 1.14.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -118,8 +124,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.4.msi` and
`gstreamer-1.0-devel-x86_64-1.14.4.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -21,8 +21,7 @@ shell-words = "1.0.0"
tempfile = "3"
[features]
v1_14 = []
v1_16 = ["v1_14"]
v1_16 = []
v1_18 = ["v1_16"]
v1_20 = ["v1_18"]
v1_22 = ["v1_20"]
@ -49,9 +48,6 @@ rust-version = "1.57"
features = ["dox"]
[package.metadata.system-deps.gstreamer_mpegts_1_0]
name = "gstreamer-mpegts-1.0"
version = "1.12"
[package.metadata.system-deps.gstreamer_mpegts_1_0.v1_14]
version = "1.14"
[package.metadata.system-deps.gstreamer_mpegts_1_0.v1_16]

View file

@ -2,14 +2,13 @@
girs_directories = ["../../gir-files", "../../gst-gir-files"]
library = "GstMpegts"
version = "1.0"
min_cfg_version = "1.12"
min_cfg_version = "1.14"
work_mode = "sys"
extra_versions = [
"1.20",
"1.18",
"1.16",
"1.14",
]
external_libraries = [

View file

@ -24,10 +24,7 @@ gir-format-check = "0.1"
[features]
default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"]
v1_12 = ["gst/v1_12", "ffi/v1_12", "v1_10"]
v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"]
v1_16 = ["gst/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
v1_22 = ["gst/v1_22", "ffi/v1_22", "v1_20"]

View file

@ -2,7 +2,7 @@
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "GstNet"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "normal"
concurrency = "send+sync"
generate_safety_asserts = true
@ -39,37 +39,17 @@ name = "GstNet.NetClientClock"
status = "generate"
final_type = true
[[object.function]]
name = "new"
# Floating reference handling
manual = true
[[object]]
name = "GstNet.NetTimeProvider"
status = "generate"
final_type = true
[[object.function]]
name = "new"
# Floating reference handling
manual = true
[[object]]
name = "GstNet.NtpClock"
status = "generate"
final_type = true
[[object.function]]
name = "new"
# Floating reference handling
manual = true
[[object]]
name = "GstNet.PtpClock"
status = "generate"
final_type = true
[[object.function]]
name = "new"
# Floating reference handling
manual = true

View file

@ -24,7 +24,7 @@ API metadata provided by the GStreamer project.
## Installation
To build the GStreamer bindings or anything depending on them, you need to
have at least GStreamer 1.8 and gst-plugins-base 1.8 installed. In addition,
have at least GStreamer 1.14 and gst-plugins-base 1.14 installed. In addition,
some of the examples/tutorials require various GStreamer plugins to be
available, which can be found in gst-plugins-base, gst-plugins-good,
gst-plugins-bad, gst-plugins-ugly and/or gst-libav.
@ -45,16 +45,13 @@ $ apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-libav libgstrtspserver-1.0-dev libges-1.0-dev
```
The minimum required version of the above libraries is >= 1.8. If you
The minimum required version of the above libraries is >= 1.14. If you
build the gstreamer-player sub-crate, or any of the examples that
depend on gstreamer-player, you must ensure that in addition to the
above packages, `libgstreamer-plugins-bad1.0-dev` is installed and
that the version is >= 1.12. See the `Cargo.toml` files for the full
details,
depend on gstreamer-player, you must ensure that in addition to the above
packages, `libgstreamer-plugins-bad1.0-dev` is installed. See the `Cargo.toml`
files for the full details,
```console
$ # Only if you wish to install gstreamer-player, make sure the version
$ # of this package is >= 1.12.
$ apt-get install libgstreamer-plugins-bad1.0-dev
```
@ -82,15 +79,13 @@ $ brew install gstreamer gst-plugins-base gst-plugins-good \
--enable-gtk3
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
#### GStreamer Binaries
You need to download the *two* `.pkg` files from the GStreamer website and
install them, e.g. `gstreamer-1.0-1.12.3-x86_64.pkg` and
`gstreamer-1.0-devel-1.12.3-x86_64.pkg`.
install them, e.g. `gstreamer-1.0-1.14.0-x86_64.pkg` and
`gstreamer-1.0-devel-1.14.0-x86_64.pkg`.
After installation, you also need to install `pkg-config` (e.g. via Homebrew)
and set the `PKG_CONFIG_PATH` environment variable
@ -118,9 +113,7 @@ $ pacman -S glib2-devel pkg-config \
mingw-w64-x86_64-gst-rtsp-server
```
If you wish to install the gstreamer-player sub-crate, make sure the
version of these libraries is >= 1.12. Otherwise, a version >= 1.8 is
sufficient.
Make sure the version of these libraries is >= 1.14.
Note that the version of `pkg-config` included in `MSYS2` is
[known to have problems](https://github.com/rust-lang/pkg-config-rs/issues/51#issuecomment-346300858)
@ -130,8 +123,8 @@ would be [`pkg-config-lite`](https://sourceforge.net/projects/pkgconfiglite/).
#### GStreamer Binaries
You need to download the *two* `.msi` files for your platform from the
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.12.3.msi` and
`gstreamer-1.0-devel-x86_64-1.12.3.msi`.
GStreamer website and install them, e.g. `gstreamer-1.0-x86_64-1.14.0.msi` and
`gstreamer-1.0-devel-x86_64-1.14.0.msi`.
After installation, you also need to install `pkg-config` (e.g. via MSYS2 or
from [here](https://sourceforge.net/projects/pkgconfiglite/))

View file

@ -3,6 +3,7 @@
// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
// DO NOT EDIT
use glib::object::Cast;
use glib::object::IsA;
use glib::object::ObjectType as ObjectType_;
use glib::signal::connect_raw;
@ -23,6 +24,25 @@ glib::wrapper! {
}
impl NetClientClock {
#[doc(alias = "gst_net_client_clock_new")]
pub fn new(
name: &str,
remote_address: &str,
remote_port: i32,
base_time: impl Into<Option<gst::ClockTime>>,
) -> NetClientClock {
assert_initialized_main_thread!();
unsafe {
gst::Clock::from_glib_full(ffi::gst_net_client_clock_new(
name.to_glib_none().0,
remote_address.to_glib_none().0,
remote_port,
base_time.into().into_glib(),
))
.unsafe_cast()
}
}
pub fn address(&self) -> Option<glib::GString> {
glib::ObjectExt::property(self, "address")
}

View file

@ -3,6 +3,7 @@
// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
// DO NOT EDIT
use glib::object::IsA;
use glib::object::ObjectType as ObjectType_;
use glib::signal::connect_raw;
use glib::signal::SignalHandlerId;
@ -22,6 +23,18 @@ glib::wrapper! {
}
impl NetTimeProvider {
#[doc(alias = "gst_net_time_provider_new")]
pub fn new(clock: &impl IsA<gst::Clock>, address: Option<&str>, port: i32) -> NetTimeProvider {
assert_initialized_main_thread!();
unsafe {
from_glib_full(ffi::gst_net_time_provider_new(
clock.as_ref().to_glib_none().0,
address.to_glib_none().0,
port,
))
}
}
pub fn is_active(&self) -> bool {
glib::ObjectExt::property(self, "active")
}

View file

@ -4,6 +4,8 @@
// DO NOT EDIT
use crate::NetClientClock;
use glib::object::Cast;
use glib::translate::*;
glib::wrapper! {
#[doc(alias = "GstNtpClock")]
@ -14,7 +16,26 @@ glib::wrapper! {
}
}
impl NtpClock {}
impl NtpClock {
#[doc(alias = "gst_ntp_clock_new")]
pub fn new(
name: &str,
remote_address: &str,
remote_port: i32,
base_time: impl Into<Option<gst::ClockTime>>,
) -> NtpClock {
assert_initialized_main_thread!();
unsafe {
gst::Clock::from_glib_full(ffi::gst_ntp_clock_new(
name.to_glib_none().0,
remote_address.to_glib_none().0,
remote_port,
base_time.into().into_glib(),
))
.unsafe_cast()
}
}
}
unsafe impl Send for NtpClock {}
unsafe impl Sync for NtpClock {}

View file

@ -3,6 +3,7 @@
// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
// DO NOT EDIT
use glib::object::Cast;
use glib::object::ObjectType as ObjectType_;
use glib::signal::connect_raw;
use glib::signal::SignalHandlerId;
@ -21,6 +22,15 @@ glib::wrapper! {
}
impl PtpClock {
#[doc(alias = "gst_ptp_clock_new")]
pub fn new(name: &str, domain: u32) -> PtpClock {
assert_initialized_main_thread!();
unsafe {
gst::Clock::from_glib_full(ffi::gst_ptp_clock_new(name.to_glib_none().0, domain))
.unsafe_cast()
}
}
pub fn domain(&self) -> u32 {
glib::ObjectExt::property(self, "domain")
}

View file

@ -28,10 +28,6 @@ macro_rules! skip_assert_initialized {
#[allow(unused_imports)]
mod auto;
pub use crate::auto::*;
mod net_client_clock;
mod net_time_provider;
mod ntp_clock;
mod ptp_clock;
pub use crate::net_address_meta::*;
mod net_address_meta;

View file

@ -1,42 +0,0 @@
// Take a look at the license at the top of the repository in the LICENSE file.
use crate::NetClientClock;
use glib::prelude::*;
use glib::translate::*;
impl NetClientClock {
#[doc(alias = "gst_net_client_clock_new")]
pub fn new(
name: Option<&str>,
remote_address: &str,
remote_port: i32,
base_time: gst::ClockTime,
) -> NetClientClock {
assert_initialized_main_thread!();
let name = name.to_glib_none();
let (major, minor, _, _) = gst::version();
if (major, minor) > (1, 12) {
unsafe {
gst::Clock::from_glib_full(ffi::gst_net_client_clock_new(
name.0,
remote_address.to_glib_none().0,
remote_port,
base_time.into_glib(),
))
.unsafe_cast()
}
} else {
// Workaround for bad floating reference handling in 1.12. This issue was fixed for 1.13
unsafe {
gst::Clock::from_glib_none(ffi::gst_net_client_clock_new(
name.0,
remote_address.to_glib_none().0,
remote_port,
base_time.into_glib(),
))
.unsafe_cast()
}
}
}
}

View file

@ -1,34 +0,0 @@
// Take a look at the license at the top of the repository in the LICENSE file.
use crate::NetTimeProvider;
use glib::prelude::*;
use glib::translate::*;
impl NetTimeProvider {
#[doc(alias = "gst_net_time_provider_new")]
pub fn new<P: IsA<gst::Clock>>(clock: &P, address: Option<&str>, port: i32) -> NetTimeProvider {
assert_initialized_main_thread!();
let address = address.to_glib_none();
let (major, minor, _, _) = gst::version();
if (major, minor) > (1, 12) {
unsafe {
from_glib_full(ffi::gst_net_time_provider_new(
clock.as_ref().to_glib_none().0,
address.0,
port,
))
}
} else {
// Workaround for bad floating reference handling in 1.12. This issue was fixed for 1.13
unsafe {
from_glib_none(ffi::gst_net_time_provider_new(
clock.as_ref().to_glib_none().0,
address.0,
port,
))
}
}
}
}

View file

@ -1,42 +0,0 @@
// Take a look at the license at the top of the repository in the LICENSE file.
use crate::NtpClock;
use glib::prelude::*;
use glib::translate::*;
impl NtpClock {
#[doc(alias = "gst_ntp_clock_new")]
pub fn new(
name: Option<&str>,
remote_address: &str,
remote_port: i32,
base_time: gst::ClockTime,
) -> NtpClock {
assert_initialized_main_thread!();
let name = name.to_glib_none();
let (major, minor, _, _) = gst::version();
if (major, minor) > (1, 12) {
unsafe {
gst::Clock::from_glib_full(ffi::gst_ntp_clock_new(
name.0,
remote_address.to_glib_none().0,
remote_port,
base_time.into_glib(),
))
.unsafe_cast()
}
} else {
// Workaround for bad floating reference handling in 1.12. This issue was fixed for 1.13
unsafe {
gst::Clock::from_glib_none(ffi::gst_ntp_clock_new(
name.0,
remote_address.to_glib_none().0,
remote_port,
base_time.into_glib(),
))
.unsafe_cast()
}
}
}
}

View file

@ -1,25 +0,0 @@
// Take a look at the license at the top of the repository in the LICENSE file.
use crate::PtpClock;
use glib::prelude::*;
use glib::translate::*;
impl PtpClock {
#[doc(alias = "gst_ptp_clock_new")]
pub fn new(name: Option<&str>, domain: u32) -> PtpClock {
assert_initialized_main_thread!();
let name = name.to_glib_none();
let (major, minor, _, _) = gst::version();
if (major, minor) > (1, 12) {
unsafe {
gst::Clock::from_glib_full(ffi::gst_ptp_clock_new(name.0, domain)).unsafe_cast()
}
} else {
// Workaround for bad floating reference handling in 1.12. This issue was fixed for 1.13
unsafe {
gst::Clock::from_glib_none(ffi::gst_ptp_clock_new(name.0, domain)).unsafe_cast()
}
}
}
}

View file

@ -21,10 +21,7 @@ shell-words = "1.0.0"
tempfile = "3"
[features]
v1_10 = []
v1_12 = ["v1_10"]
v1_14 = ["v1_12"]
v1_16 = ["v1_14"]
v1_16 = []
v1_18 = ["v1_16"]
v1_20 = ["v1_18"]
v1_22 = ["v1_20"]
@ -51,15 +48,6 @@ rust-version = "1.57"
features = ["dox"]
[package.metadata.system-deps.gstreamer_net_1_0]
name = "gstreamer-net-1.0"
version = "1.8"
[package.metadata.system-deps.gstreamer_net_1_0.v1_10]
version = "1.10"
[package.metadata.system-deps.gstreamer_net_1_0.v1_12]
version = "1.12"
[package.metadata.system-deps.gstreamer_net_1_0.v1_14]
version = "1.14"
[package.metadata.system-deps.gstreamer_net_1_0.v1_16]

View file

@ -2,16 +2,13 @@
girs_directories = ["../../gir-files", "../../gst-gir-files"]
library = "GstNet"
version = "1.0"
min_cfg_version = "1.8"
min_cfg_version = "1.14"
work_mode = "sys"
extra_versions = [
"1.20",
"1.18",
"1.16",
"1.14",
"1.12",
"1.10",
]
external_libraries = [

Some files were not shown because too many files have changed in this diff Show more