mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-11-25 11:01:10 +00:00
Adapt to no longer renamed ffi crates
Allows us to set all the crates in the main workspace file, so changing their versions or branch is much simpler and reduce the amount of noise in the diff Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1450>
This commit is contained in:
parent
10aff0d66e
commit
4ebec84f5e
308 changed files with 510 additions and 419 deletions
17
Cargo.toml
17
Cargo.toml
|
@ -123,15 +123,32 @@ gobject-sys = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master"
|
||||||
cairo-rs = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
cairo-rs = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
||||||
pango = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
pango = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
||||||
pangocairo = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
pangocairo = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
||||||
|
gstreamer-allocators-sys = { path = "gstreamer-allocators/sys" }
|
||||||
|
gstreamer-analytics-sys = { path = "gstreamer-analytics/sys" }
|
||||||
|
gstreamer-app-sys = { path = "gstreamer-app/sys" }
|
||||||
gstreamer-audio-sys = { path = "./gstreamer-audio/sys"}
|
gstreamer-audio-sys = { path = "./gstreamer-audio/sys"}
|
||||||
gstreamer-base-sys = { path = "./gstreamer-base/sys"}
|
gstreamer-base-sys = { path = "./gstreamer-base/sys"}
|
||||||
|
gstreamer-check-sys = { path = "./gstreamer-check/sys" }
|
||||||
|
gstreamer-controller-sys = { path = "./gstreamer-controller/sys" }
|
||||||
|
gstreamer-editing-services-sys = { path = "./gstreamer-editing-services/sys"}
|
||||||
|
gstreamer-gl-egl-sys = { path = "./gstreamer-gl/egl/sys"}
|
||||||
|
gstreamer-gl-wayland-sys = { path = "./gstreamer-gl/wayland/sys"}
|
||||||
|
gstreamer-gl-x11-sys = { path = "./gstreamer-gl/x11/sys"}
|
||||||
gstreamer-gl-sys = { path = "./gstreamer-gl/sys"}
|
gstreamer-gl-sys = { path = "./gstreamer-gl/sys"}
|
||||||
|
gstreamer-mpegts-sys = { path = "./gstreamer-mpegts/sys"}
|
||||||
gstreamer-net-sys = { path = "./gstreamer-net/sys"}
|
gstreamer-net-sys = { path = "./gstreamer-net/sys"}
|
||||||
gstreamer-pbutils-sys = { path = "./gstreamer-pbutils/sys"}
|
gstreamer-pbutils-sys = { path = "./gstreamer-pbutils/sys"}
|
||||||
|
gstreamer-play-sys = { path = "./gstreamer-play/sys" }
|
||||||
|
gstreamer-player-sys = { path = "./gstreamer-player/sys" }
|
||||||
|
gstreamer-rtp-sys = { path = "./gstreamer-rtp/sys" }
|
||||||
gstreamer-rtsp-sys = { path = "./gstreamer-rtsp/sys"}
|
gstreamer-rtsp-sys = { path = "./gstreamer-rtsp/sys"}
|
||||||
|
gstreamer-rtsp-server-sys = { path = "./gstreamer-rtsp-server/sys" }
|
||||||
gstreamer-sdp-sys = { path = "./gstreamer-sdp/sys"}
|
gstreamer-sdp-sys = { path = "./gstreamer-sdp/sys"}
|
||||||
|
gstreamer-tag-sys = { path = "./gstreamer-tag/sys" }
|
||||||
gstreamer-sys = { path = "./gstreamer/sys"}
|
gstreamer-sys = { path = "./gstreamer/sys"}
|
||||||
|
gstreamer-validate-sys = { path = "./gstreamer-validate/sys" }
|
||||||
gstreamer-video-sys = { path = "./gstreamer-video/sys"}
|
gstreamer-video-sys = { path = "./gstreamer-video/sys"}
|
||||||
|
gstreamer-webrtc-sys = { path = "./gstreamer-webrtc/sys" }
|
||||||
ges = { package = "gstreamer-editing-services", path = "./gstreamer-editing-services" }
|
ges = { package = "gstreamer-editing-services", path = "./gstreamer-editing-services" }
|
||||||
gst = { package = "gstreamer", path = "./gstreamer" }
|
gst = { package = "gstreamer", path = "./gstreamer" }
|
||||||
gst-allocators = { package = "gstreamer-allocators", path = "./gstreamer-allocators" }
|
gst-allocators = { package = "gstreamer-allocators", path = "./gstreamer-allocators" }
|
||||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
ffi = { package = "gstreamer-allocators-sys", path = "sys" }
|
gstreamer-allocators-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
once_cell = "1"
|
once_cell = "1"
|
||||||
|
@ -25,12 +25,12 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gstreamer-allocators-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gstreamer-allocators-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gstreamer-allocators-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gstreamer-allocators-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gstreamer-allocators-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gstreamer-allocators-sys/v1_26", "v1_24"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
|
@ -9,7 +9,7 @@ use gst::{Memory, MemoryRef};
|
||||||
#[cfg(feature = "v1_16")]
|
#[cfg(feature = "v1_16")]
|
||||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
|
#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
|
||||||
use crate::FdMemoryFlags;
|
use crate::FdMemoryFlags;
|
||||||
use crate::{DmaBufAllocator, FdMemory, FdMemoryRef};
|
use crate::{ffi, DmaBufAllocator, FdMemory, FdMemoryRef};
|
||||||
|
|
||||||
gst::memory_object_wrapper!(
|
gst::memory_object_wrapper!(
|
||||||
DmaBufMemory,
|
DmaBufMemory,
|
||||||
|
|
|
@ -3,7 +3,7 @@ use std::{fmt, mem, os::unix::prelude::IntoRawFd};
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::{Memory, MemoryRef};
|
use gst::{Memory, MemoryRef};
|
||||||
|
|
||||||
use crate::{DRMDumbAllocator, DmaBufMemory};
|
use crate::{ffi, DRMDumbAllocator, DmaBufMemory};
|
||||||
|
|
||||||
gst::memory_object_wrapper!(
|
gst::memory_object_wrapper!(
|
||||||
DRMDumbMemory,
|
DRMDumbMemory,
|
||||||
|
|
|
@ -3,7 +3,7 @@ use std::{fmt, os::unix::prelude::RawFd};
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::{Memory, MemoryRef};
|
use gst::{Memory, MemoryRef};
|
||||||
|
|
||||||
use crate::{FdAllocator, FdMemoryFlags};
|
use crate::{ffi, FdAllocator, FdMemoryFlags};
|
||||||
|
|
||||||
gst::memory_object_wrapper!(
|
gst::memory_object_wrapper!(
|
||||||
FdMemory,
|
FdMemory,
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
#![doc = include_str!("../README.md")]
|
#![doc = include_str!("../README.md")]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use glib;
|
pub use glib;
|
||||||
pub use gst;
|
pub use gst;
|
||||||
|
pub use gstreamer_allocators_sys as ffi;
|
||||||
|
|
||||||
macro_rules! assert_initialized_main_thread {
|
macro_rules! assert_initialized_main_thread {
|
||||||
() => {
|
() => {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::{Memory, MemoryRef};
|
use gst::{Memory, MemoryRef};
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
|
||||||
use crate::ShmAllocator;
|
use crate::{ffi, ShmAllocator};
|
||||||
|
|
||||||
impl ShmAllocator {
|
impl ShmAllocator {
|
||||||
#[doc(alias = "gst_shm_allocator_get")]
|
#[doc(alias = "gst_shm_allocator_get")]
|
||||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
ffi = { package = "gstreamer-analytics-sys", path = "sys" }
|
gstreamer-analytics-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_26 = ["gst/v1_26", "ffi/v1_26"]
|
v1_26 = ["gst/v1_26", "gstreamer-analytics-sys/v1_26"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
|
||||||
use crate::relation_meta::*;
|
use crate::{ffi, relation_meta::*};
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum AnalyticsClassificationMtd {}
|
pub enum AnalyticsClassificationMtd {}
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
#![doc = include_str!("../README.md")]
|
#![doc = include_str!("../README.md")]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use glib;
|
pub use glib;
|
||||||
pub use gst;
|
pub use gst;
|
||||||
|
pub use gstreamer_analytics_sys as ffi;
|
||||||
|
|
||||||
macro_rules! skip_assert_initialized {
|
macro_rules! skip_assert_initialized {
|
||||||
() => {};
|
() => {};
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
|
||||||
use crate::relation_meta::*;
|
use crate::{ffi, relation_meta::*};
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum AnalyticsODMtd {}
|
pub enum AnalyticsODMtd {}
|
||||||
|
|
|
@ -4,7 +4,7 @@ use glib::translate::*;
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
|
|
||||||
use crate::RelTypes;
|
use crate::{ffi, RelTypes};
|
||||||
|
|
||||||
#[repr(transparent)]
|
#[repr(transparent)]
|
||||||
#[doc(alias = "GstAnalyticsRelationMeta")]
|
#[doc(alias = "GstAnalyticsRelationMeta")]
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
|
||||||
use crate::relation_meta::*;
|
use crate::{ffi, relation_meta::*};
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum AnalyticsTrackingMtd {}
|
pub enum AnalyticsTrackingMtd {}
|
||||||
|
|
|
@ -17,7 +17,7 @@ rust-version.workspace = true
|
||||||
futures-core = "0.3"
|
futures-core = "0.3"
|
||||||
futures-sink = "0.3"
|
futures-sink = "0.3"
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
ffi = { package = "gstreamer-app-sys", path = "sys" }
|
gstreamer-app-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
gst-base.workspace = true
|
gst-base.workspace = true
|
||||||
|
@ -29,12 +29,12 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gst-base/v1_16", "gstreamer-app-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "gst-base/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gst-base/v1_18", "gstreamer-app-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "gst-base/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gst-base/v1_20", "gstreamer-app-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "gst-base/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gst-base/v1_22", "gstreamer-app-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "gst-base/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gst-base/v1_24", "gstreamer-app-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "gst-base/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gst-base/v1_26", "gstreamer-app-sys/v1_26", "v1_24"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
|
@ -14,7 +14,7 @@ use std::sync::atomic::{AtomicBool, Ordering};
|
||||||
use futures_core::Stream;
|
use futures_core::Stream;
|
||||||
use glib::{ffi::gpointer, prelude::*, translate::*};
|
use glib::{ffi::gpointer, prelude::*, translate::*};
|
||||||
|
|
||||||
use crate::AppSink;
|
use crate::{ffi, AppSink};
|
||||||
|
|
||||||
#[allow(clippy::type_complexity)]
|
#[allow(clippy::type_complexity)]
|
||||||
pub struct AppSinkCallbacks {
|
pub struct AppSinkCallbacks {
|
||||||
|
|
|
@ -18,7 +18,7 @@ use glib::{
|
||||||
translate::*,
|
translate::*,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::AppSrc;
|
use crate::{ffi, AppSrc};
|
||||||
|
|
||||||
#[allow(clippy::type_complexity)]
|
#[allow(clippy::type_complexity)]
|
||||||
pub struct AppSrcCallbacks {
|
pub struct AppSrcCallbacks {
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
#![doc = include_str!("../README.md")]
|
#![doc = include_str!("../README.md")]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use glib;
|
pub use glib;
|
||||||
pub use gst;
|
pub use gst;
|
||||||
pub use gst_base;
|
pub use gst_base;
|
||||||
|
pub use gstreamer_app_sys as ffi;
|
||||||
|
|
||||||
macro_rules! assert_initialized_main_thread {
|
macro_rules! assert_initialized_main_thread {
|
||||||
() => {
|
() => {
|
||||||
|
|
|
@ -16,7 +16,7 @@ rust-version.workspace = true
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
cfg-if = "1.0"
|
cfg-if = "1.0"
|
||||||
ffi = { package = "gstreamer-audio-sys", path = "sys" }
|
gstreamer-audio-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
gst-base.workspace = true
|
gst-base.workspace = true
|
||||||
|
@ -31,12 +31,12 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gst-base/v1_16", "gstreamer-audio-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "gst-base/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gst-base/v1_18", "gstreamer-audio-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "gst-base/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gst-base/v1_20", "gstreamer-audio-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "gst-base/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gst-base/v1_22", "gstreamer-audio-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "gst-base/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gst-base/v1_24", "gstreamer-audio-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "gst-base/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gst-base/v1_26", "gstreamer-audio-sys/v1_26", "v1_24"]
|
||||||
serde = ["dep:serde", "gst/serde"]
|
serde = ["dep:serde", "gst/serde"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
|
|
|
@ -8,7 +8,7 @@ use glib::signal::{connect_raw, SignalHandlerId};
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
use crate::auto::{AudioAggregator, AudioAggregatorPad};
|
use crate::{ffi, AudioAggregator, AudioAggregatorPad};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -6,7 +6,7 @@ use glib::{
|
||||||
translate::*,
|
translate::*,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::auto::AudioAggregatorConvertPad;
|
use crate::{ffi, AudioAggregatorConvertPad};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
use glib::{object::IsA, translate::*};
|
use glib::translate::*;
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
use crate::auto::AudioAggregatorPad;
|
use crate::{ffi, AudioAggregatorPad};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use std::{fmt, marker::PhantomData, mem, ops, ptr, slice};
|
use std::{fmt, marker::PhantomData, mem, ops, ptr, slice};
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
|
||||||
use smallvec::SmallVec;
|
use smallvec::SmallVec;
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use std::{mem, slice};
|
use std::{mem, slice};
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
use glib::{prelude::*, translate::*, value::FromValue, Type};
|
use glib::{prelude::*, translate::*, value::FromValue, Type};
|
||||||
|
|
||||||
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
||||||
|
|
|
@ -4,7 +4,7 @@ use std::{mem, ptr};
|
||||||
|
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
|
|
||||||
use crate::{AudioDecoder, AudioInfo};
|
use crate::{ffi, AudioDecoder, AudioInfo};
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
fn _gst_audio_decoder_error(
|
fn _gst_audio_decoder_error(
|
||||||
|
|
|
@ -4,7 +4,7 @@ use std::{mem, ptr};
|
||||||
|
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
|
|
||||||
use crate::AudioEncoder;
|
use crate::{ffi, AudioEncoder};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst_base::prelude::*;
|
use gst_base::prelude::*;
|
||||||
|
|
||||||
use crate::{AudioFilter, AudioInfo};
|
use crate::{ffi, AudioFilter, AudioInfo};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use std::str;
|
use std::str;
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
use glib::translate::{from_glib, IntoGlib};
|
use glib::translate::{from_glib, IntoGlib};
|
||||||
use once_cell::sync::Lazy;
|
use once_cell::sync::Lazy;
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use std::{cmp::Ordering, fmt, marker::PhantomData, str};
|
use std::{cmp::Ordering, fmt, marker::PhantomData, str};
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
use glib::{
|
use glib::{
|
||||||
prelude::*,
|
prelude::*,
|
||||||
translate::{from_glib, from_glib_none, FromGlib, IntoGlib, ToGlibPtr, ToGlibPtrMut},
|
translate::{from_glib, from_glib_none, FromGlib, IntoGlib, ToGlibPtr, ToGlibPtrMut},
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use std::{fmt, marker::PhantomData, mem, ptr, slice};
|
use std::{fmt, marker::PhantomData, mem, ptr, slice};
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
use glib::translate::{
|
use glib::translate::{
|
||||||
from_glib, from_glib_full, from_glib_none, IntoGlib, ToGlibPtr, ToGlibPtrMut,
|
from_glib, from_glib_full, from_glib_none, IntoGlib, ToGlibPtr, ToGlibPtrMut,
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,6 +14,8 @@ use glib::translate::{from_glib, IntoGlib};
|
||||||
use glib::translate::{from_glib_none, ToGlibPtr};
|
use glib::translate::{from_glib_none, ToGlibPtr};
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
|
|
||||||
#[repr(transparent)]
|
#[repr(transparent)]
|
||||||
#[doc(alias = "GstAudioClippingMeta")]
|
#[doc(alias = "GstAudioClippingMeta")]
|
||||||
pub struct AudioClippingMeta(ffi::GstAudioClippingMeta);
|
pub struct AudioClippingMeta(ffi::GstAudioClippingMeta);
|
||||||
|
@ -295,11 +297,14 @@ impl fmt::Debug for AudioLevelMeta {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub mod tags {
|
pub mod tags {
|
||||||
gst::impl_meta_tag!(Audio, GST_META_TAG_AUDIO_STR);
|
gst::impl_meta_tag!(Audio, crate::ffi::GST_META_TAG_AUDIO_STR);
|
||||||
gst::impl_meta_tag!(Channels, GST_META_TAG_AUDIO_CHANNELS_STR);
|
gst::impl_meta_tag!(Channels, crate::ffi::GST_META_TAG_AUDIO_CHANNELS_STR);
|
||||||
gst::impl_meta_tag!(Rate, GST_META_TAG_AUDIO_RATE_STR);
|
gst::impl_meta_tag!(Rate, crate::ffi::GST_META_TAG_AUDIO_RATE_STR);
|
||||||
#[cfg(feature = "v1_24")]
|
#[cfg(feature = "v1_24")]
|
||||||
gst::impl_meta_tag!(DSDPlaneOffsets, GST_META_TAG_DSD_PLANE_OFFSETS_STR);
|
gst::impl_meta_tag!(
|
||||||
|
DSDPlaneOffsets,
|
||||||
|
crate::ffi::GST_META_TAG_DSD_PLANE_OFFSETS_STR
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|
|
@ -5,10 +5,10 @@ use std::fmt;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::Caps;
|
use gst::Caps;
|
||||||
|
|
||||||
use crate::{ffi::GstAudioRingBufferSpec, AudioInfo, AudioRingBufferFormatType};
|
use crate::{ffi, AudioInfo, AudioRingBufferFormatType};
|
||||||
|
|
||||||
#[repr(transparent)]
|
#[repr(transparent)]
|
||||||
pub struct AudioRingBufferSpec(pub(crate) GstAudioRingBufferSpec);
|
pub struct AudioRingBufferSpec(pub(crate) ffi::GstAudioRingBufferSpec);
|
||||||
|
|
||||||
impl AudioRingBufferSpec {
|
impl AudioRingBufferSpec {
|
||||||
#[doc(alias = "get_type")]
|
#[doc(alias = "get_type")]
|
||||||
|
|
|
@ -18,7 +18,7 @@ impl AudioStreamAlign {
|
||||||
let mut out_timestamp = mem::MaybeUninit::uninit();
|
let mut out_timestamp = mem::MaybeUninit::uninit();
|
||||||
let mut out_duration = mem::MaybeUninit::uninit();
|
let mut out_duration = mem::MaybeUninit::uninit();
|
||||||
let mut out_sample_position = mem::MaybeUninit::uninit();
|
let mut out_sample_position = mem::MaybeUninit::uninit();
|
||||||
let ret = from_glib(ffi::gst_audio_stream_align_process(
|
let ret = from_glib(crate::ffi::gst_audio_stream_align_process(
|
||||||
self.to_glib_none_mut().0,
|
self.to_glib_none_mut().0,
|
||||||
discont.into_glib(),
|
discont.into_glib(),
|
||||||
timestamp.into_glib(),
|
timestamp.into_glib(),
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use std::i32;
|
use std::i32;
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
use glib::translate::{from_glib_full, IntoGlibPtr, ToGlibPtr};
|
use glib::translate::{from_glib_full, IntoGlibPtr, ToGlibPtr};
|
||||||
|
|
||||||
#[doc(alias = "gst_audio_buffer_clip")]
|
#[doc(alias = "gst_audio_buffer_clip")]
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
#![doc = include_str!("../README.md")]
|
#![doc = include_str!("../README.md")]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use glib;
|
pub use glib;
|
||||||
pub use gst;
|
pub use gst;
|
||||||
pub use gst_base;
|
pub use gst_base;
|
||||||
|
pub use gstreamer_audio_sys as ffi;
|
||||||
|
|
||||||
macro_rules! assert_initialized_main_thread {
|
macro_rules! assert_initialized_main_thread {
|
||||||
() => {
|
() => {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::ptr;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst_base::{prelude::*, subclass::prelude::*};
|
use gst_base::{prelude::*, subclass::prelude::*};
|
||||||
|
|
||||||
use crate::{AudioAggregator, AudioAggregatorPad};
|
use crate::{ffi, AudioAggregator, AudioAggregatorPad};
|
||||||
|
|
||||||
pub trait AudioAggregatorImpl: AudioAggregatorImplExt + AggregatorImpl {
|
pub trait AudioAggregatorImpl: AudioAggregatorImplExt + AggregatorImpl {
|
||||||
fn create_output_buffer(&self, num_frames: u32) -> Option<gst::Buffer> {
|
fn create_output_buffer(&self, num_frames: u32) -> Option<gst::Buffer> {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::ptr;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst_base::{prelude::*, subclass::prelude::*};
|
use gst_base::{prelude::*, subclass::prelude::*};
|
||||||
|
|
||||||
use crate::AudioAggregatorPad;
|
use crate::{ffi, AudioAggregatorPad};
|
||||||
|
|
||||||
pub trait AudioAggregatorPadImpl: AudioAggregatorPadImplExt + AggregatorPadImpl {
|
pub trait AudioAggregatorPadImpl: AudioAggregatorPadImplExt + AggregatorPadImpl {
|
||||||
const HANDLE_CONVERSION: bool = false;
|
const HANDLE_CONVERSION: bool = false;
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::{mem, ptr};
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::subclass::prelude::*;
|
use gst::subclass::prelude::*;
|
||||||
|
|
||||||
use crate::{prelude::*, AudioDecoder};
|
use crate::{ffi, prelude::*, AudioDecoder};
|
||||||
|
|
||||||
pub trait AudioDecoderImpl: AudioDecoderImplExt + ElementImpl {
|
pub trait AudioDecoderImpl: AudioDecoderImplExt + ElementImpl {
|
||||||
fn open(&self) -> Result<(), gst::ErrorMessage> {
|
fn open(&self) -> Result<(), gst::ErrorMessage> {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::ptr;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::subclass::prelude::*;
|
use gst::subclass::prelude::*;
|
||||||
|
|
||||||
use crate::{prelude::*, AudioEncoder, AudioInfo};
|
use crate::{ffi, prelude::*, AudioEncoder, AudioInfo};
|
||||||
|
|
||||||
pub trait AudioEncoderImpl: AudioEncoderImplExt + ElementImpl {
|
pub trait AudioEncoderImpl: AudioEncoderImplExt + ElementImpl {
|
||||||
fn open(&self) -> Result<(), gst::ErrorMessage> {
|
fn open(&self) -> Result<(), gst::ErrorMessage> {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst_base::{prelude::*, subclass::prelude::*};
|
use gst_base::{prelude::*, subclass::prelude::*};
|
||||||
|
|
||||||
use crate::{AudioFilter, AudioInfo};
|
use crate::{ffi, AudioFilter, AudioInfo};
|
||||||
|
|
||||||
pub trait AudioFilterImpl: AudioFilterImplExt + BaseTransformImpl {
|
pub trait AudioFilterImpl: AudioFilterImplExt + BaseTransformImpl {
|
||||||
fn allowed_caps() -> &'static gst::Caps {
|
fn allowed_caps() -> &'static gst::Caps {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use gst::LoggableError;
|
||||||
use gst_base::subclass::prelude::*;
|
use gst_base::subclass::prelude::*;
|
||||||
|
|
||||||
use super::prelude::*;
|
use super::prelude::*;
|
||||||
use crate::{AudioRingBufferSpec, AudioSink};
|
use crate::{ffi, AudioRingBufferSpec, AudioSink};
|
||||||
|
|
||||||
pub trait AudioSinkImpl: AudioSinkImplExt + AudioBaseSinkImpl {
|
pub trait AudioSinkImpl: AudioSinkImplExt + AudioBaseSinkImpl {
|
||||||
fn close(&self) -> Result<(), LoggableError> {
|
fn close(&self) -> Result<(), LoggableError> {
|
||||||
|
|
|
@ -7,7 +7,7 @@ use gst::LoggableError;
|
||||||
use gst_base::subclass::prelude::*;
|
use gst_base::subclass::prelude::*;
|
||||||
|
|
||||||
use super::prelude::*;
|
use super::prelude::*;
|
||||||
use crate::{AudioRingBufferSpec, AudioSrc};
|
use crate::{ffi, AudioRingBufferSpec, AudioSrc};
|
||||||
|
|
||||||
pub trait AudioSrcImpl: AudioSrcImplExt + AudioBaseSrcImpl {
|
pub trait AudioSrcImpl: AudioSrcImplExt + AudioBaseSrcImpl {
|
||||||
fn close(&self) -> Result<(), LoggableError> {
|
fn close(&self) -> Result<(), LoggableError> {
|
||||||
|
|
|
@ -16,7 +16,7 @@ rust-version.workspace = true
|
||||||
[dependencies]
|
[dependencies]
|
||||||
cfg-if = "1.0"
|
cfg-if = "1.0"
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
ffi = { package = "gstreamer-base-sys", path = "sys" }
|
gstreamer-base-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
atomic_refcell = "0.1"
|
atomic_refcell = "0.1"
|
||||||
|
@ -26,13 +26,13 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_14_1 = ["ffi/v1_14_1"]
|
v1_14_1 = ["gstreamer-base-sys/v1_14_1"]
|
||||||
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14_1"]
|
v1_16 = ["gst/v1_16", "gstreamer-base-sys/v1_16", "v1_14_1"]
|
||||||
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gstreamer-base-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gstreamer-base-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gstreamer-base-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gstreamer-base-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gstreamer-base-sys/v1_26", "v1_24"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
|
@ -4,7 +4,7 @@ use std::{io, mem, ops};
|
||||||
|
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
|
||||||
use crate::Adapter;
|
use crate::{ffi, Adapter};
|
||||||
|
|
||||||
impl Adapter {
|
impl Adapter {
|
||||||
#[doc(alias = "gst_adapter_copy")]
|
#[doc(alias = "gst_adapter_copy")]
|
||||||
|
|
|
@ -14,8 +14,7 @@ use glib::signal::{connect_raw, SignalHandlerId};
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::{format::FormattedValue, prelude::*};
|
use gst::{format::FormattedValue, prelude::*};
|
||||||
|
|
||||||
use crate::Aggregator;
|
use crate::{ffi, Aggregator, AggregatorPad};
|
||||||
use crate::AggregatorPad;
|
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
use crate::AggregatorPad;
|
use crate::{ffi, AggregatorPad};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -8,7 +8,7 @@ use gst::{
|
||||||
prelude::*,
|
prelude::*,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::{BaseParse, BaseParseFrame};
|
use crate::{ffi, BaseParse, BaseParseFrame};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -4,7 +4,7 @@ use std::{fmt, marker::PhantomData, ptr};
|
||||||
|
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
|
||||||
use crate::{BaseParse, BaseParseFrameFlags};
|
use crate::{ffi, BaseParse, BaseParseFrameFlags};
|
||||||
|
|
||||||
pub struct BaseParseFrame<'a>(
|
pub struct BaseParseFrame<'a>(
|
||||||
ptr::NonNull<ffi::GstBaseParseFrame>,
|
ptr::NonNull<ffi::GstBaseParseFrame>,
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::mem;
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
use crate::BaseSink;
|
use crate::{ffi, BaseSink};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::{mem, ptr};
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
use crate::BaseSrc;
|
use crate::{ffi, BaseSrc};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::{mem, ptr};
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
use crate::BaseTransform;
|
use crate::{ffi, BaseTransform};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
// Take a look at the license at the top of the repository in the LICENSE file.
|
// Take a look at the license at the top of the repository in the LICENSE file.
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
|
|
||||||
glib::wrapper! {
|
glib::wrapper! {
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
use std::mem;
|
use std::mem;
|
||||||
|
|
||||||
pub use crate::auto::functions::*;
|
pub use crate::auto::functions::*;
|
||||||
|
use crate::ffi;
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
|
|
||||||
#[doc(alias = "gst_type_find_helper_for_data")]
|
#[doc(alias = "gst_type_find_helper_for_data")]
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
#![doc = include_str!("../README.md")]
|
#![doc = include_str!("../README.md")]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use glib;
|
pub use glib;
|
||||||
pub use gst;
|
pub use gst;
|
||||||
|
pub use gstreamer_base_sys as ffi;
|
||||||
|
|
||||||
macro_rules! assert_initialized_main_thread {
|
macro_rules! assert_initialized_main_thread {
|
||||||
() => {
|
() => {
|
||||||
|
@ -20,6 +20,7 @@ macro_rules! skip_assert_initialized {
|
||||||
() => {};
|
() => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(unused_imports)]
|
||||||
mod auto;
|
mod auto;
|
||||||
pub use crate::auto::*;
|
pub use crate::auto::*;
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::ptr;
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::subclass::prelude::*;
|
use gst::subclass::prelude::*;
|
||||||
|
|
||||||
use crate::{Aggregator, AggregatorPad};
|
use crate::{ffi, Aggregator, AggregatorPad};
|
||||||
|
|
||||||
pub trait AggregatorImpl: AggregatorImplExt + ElementImpl {
|
pub trait AggregatorImpl: AggregatorImplExt + ElementImpl {
|
||||||
fn flush(&self) -> Result<gst::FlowSuccess, gst::FlowError> {
|
fn flush(&self) -> Result<gst::FlowSuccess, gst::FlowError> {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::subclass::prelude::*;
|
use gst::subclass::prelude::*;
|
||||||
|
|
||||||
use crate::{Aggregator, AggregatorPad};
|
use crate::{ffi, Aggregator, AggregatorPad};
|
||||||
|
|
||||||
pub trait AggregatorPadImpl: AggregatorPadImplExt + PadImpl {
|
pub trait AggregatorPadImpl: AggregatorPadImplExt + PadImpl {
|
||||||
fn flush(&self, aggregator: &Aggregator) -> Result<gst::FlowSuccess, gst::FlowError> {
|
fn flush(&self, aggregator: &Aggregator) -> Result<gst::FlowSuccess, gst::FlowError> {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::mem;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::subclass::prelude::*;
|
use gst::subclass::prelude::*;
|
||||||
|
|
||||||
use crate::{prelude::*, BaseParse, BaseParseFrame};
|
use crate::{ffi, prelude::*, BaseParse, BaseParseFrame};
|
||||||
|
|
||||||
pub trait BaseParseImpl: BaseParseImplExt + ElementImpl {
|
pub trait BaseParseImpl: BaseParseImplExt + ElementImpl {
|
||||||
fn start(&self) -> Result<(), gst::ErrorMessage> {
|
fn start(&self) -> Result<(), gst::ErrorMessage> {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::ptr;
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::subclass::prelude::*;
|
use gst::subclass::prelude::*;
|
||||||
|
|
||||||
use crate::BaseSink;
|
use crate::{ffi, BaseSink};
|
||||||
|
|
||||||
pub trait BaseSinkImpl: BaseSinkImplExt + ElementImpl {
|
pub trait BaseSinkImpl: BaseSinkImplExt + ElementImpl {
|
||||||
fn start(&self) -> Result<(), gst::ErrorMessage> {
|
fn start(&self) -> Result<(), gst::ErrorMessage> {
|
||||||
|
|
|
@ -6,7 +6,7 @@ use atomic_refcell::AtomicRefCell;
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::{prelude::*, subclass::prelude::*};
|
use gst::{prelude::*, subclass::prelude::*};
|
||||||
|
|
||||||
use crate::{prelude::BaseSrcExtManual, BaseSrc};
|
use crate::{ffi, prelude::*, BaseSrc};
|
||||||
|
|
||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
pub(super) struct InstanceData {
|
pub(super) struct InstanceData {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::{mem, ptr};
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::subclass::prelude::*;
|
use gst::subclass::prelude::*;
|
||||||
|
|
||||||
use crate::{prelude::*, BaseTransform};
|
use crate::{ffi, prelude::*, BaseTransform};
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
||||||
pub enum BaseTransformMode {
|
pub enum BaseTransformMode {
|
||||||
|
|
|
@ -6,7 +6,7 @@ use glib::{prelude::*, subclass::prelude::*, translate::*};
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
use super::base_src::{BaseSrcImpl, CreateSuccess};
|
use super::base_src::{BaseSrcImpl, CreateSuccess};
|
||||||
use crate::{prelude::BaseSrcExtManual, PushSrc};
|
use crate::{ffi, prelude::*, PushSrc};
|
||||||
|
|
||||||
pub trait PushSrcImpl: PushSrcImplExt + BaseSrcImpl {
|
pub trait PushSrcImpl: PushSrcImplExt + BaseSrcImpl {
|
||||||
fn fill(&self, buffer: &mut gst::BufferRef) -> Result<gst::FlowSuccess, gst::FlowError> {
|
fn fill(&self, buffer: &mut gst::BufferRef) -> Result<gst::FlowSuccess, gst::FlowError> {
|
||||||
|
|
|
@ -14,7 +14,7 @@ edition.workspace = true
|
||||||
rust-version.workspace = true
|
rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ffi = { package = "gstreamer-check-sys", path = "sys" }
|
gstreamer-check-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
|
|
||||||
|
@ -23,12 +23,12 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gstreamer-check-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gstreamer-check-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gstreamer-check-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gstreamer-check-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gstreamer-check-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gstreamer-check-sys/v1_26", "v1_24"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::{mem, ops, path, ptr};
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
use crate::TestClock;
|
use crate::{ffi, TestClock};
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
#[doc(alias = "GstHarness")]
|
#[doc(alias = "GstHarness")]
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
#![doc = include_str!("../README.md")]
|
#![doc = include_str!("../README.md")]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use glib;
|
pub use glib;
|
||||||
pub use gst;
|
pub use gst;
|
||||||
|
pub use gstreamer_check_sys as ffi;
|
||||||
|
|
||||||
macro_rules! assert_initialized_main_thread {
|
macro_rules! assert_initialized_main_thread {
|
||||||
() => {
|
() => {
|
||||||
|
|
|
@ -4,7 +4,7 @@ use std::ptr;
|
||||||
|
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
|
||||||
use crate::TestClock;
|
use crate::{ffi, TestClock};
|
||||||
|
|
||||||
impl TestClock {
|
impl TestClock {
|
||||||
#[doc(alias = "gst_test_clock_has_id")]
|
#[doc(alias = "gst_test_clock_has_id")]
|
||||||
|
|
|
@ -14,7 +14,7 @@ edition.workspace = true
|
||||||
rust-version.workspace = true
|
rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ffi = { package = "gstreamer-controller-sys", path = "sys" }
|
gstreamer-controller-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
|
|
||||||
|
@ -23,12 +23,12 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gstreamer-controller-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gstreamer-controller-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gstreamer-controller-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gstreamer-controller-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gstreamer-controller-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gstreamer-controller-sys/v1_26", "v1_24"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
|
|
||||||
glib::wrapper! {
|
glib::wrapper! {
|
||||||
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||||
#[doc(alias = "GstControlPoint")]
|
#[doc(alias = "GstControlPoint")]
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
#![doc = include_str!("../README.md")]
|
#![doc = include_str!("../README.md")]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use glib;
|
pub use glib;
|
||||||
pub use gst;
|
pub use gst;
|
||||||
|
pub use gstreamer_controller_sys as ffi;
|
||||||
|
|
||||||
macro_rules! assert_initialized_main_thread {
|
macro_rules! assert_initialized_main_thread {
|
||||||
() => {
|
() => {
|
||||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
ffi = { package = "gstreamer-editing-services-sys", path = "sys"}
|
gstreamer-editing-services-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gio.workspace = true
|
gio.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
|
@ -28,12 +28,12 @@ gir-format-check = "0.1"
|
||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
v1_16 = ["gst/v1_16", "gst-base/v1_16", "gst-pbutils/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gst-base/v1_16", "gst-pbutils/v1_16", "gstreamer-editing-services-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "gst-base/v1_18", "gst-pbutils/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gst-base/v1_18", "gst-pbutils/v1_18", "gstreamer-editing-services-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "gst-base/v1_20", "gst-pbutils/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gst-base/v1_20", "gst-pbutils/v1_20", "gstreamer-editing-services-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "gst-base/v1_22", "gst-pbutils/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gst-base/v1_22", "gst-pbutils/v1_22", "gstreamer-editing-services-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "gst-base/v1_24", "gst-pbutils/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gst-base/v1_24", "gst-pbutils/v1_24", "gstreamer-editing-services-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "gst-base/v1_26", "gst-pbutils/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gst-base/v1_26", "gst-pbutils/v1_26", "gstreamer-editing-services-sys/v1_26", "v1_24"]
|
||||||
serde = ["dep:serde", "gst/serde", "gst-pbutils/serde"]
|
serde = ["dep:serde", "gst/serde", "gst-pbutils/serde"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
use crate::ffi;
|
||||||
use glib::translate::from_glib;
|
use glib::translate::from_glib;
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// Take a look at the license at the top of the repository in the LICENSE file.
|
// Take a look at the license at the top of the repository in the LICENSE file.
|
||||||
use crate::{prelude::*, Formatter};
|
use crate::{ffi, prelude::*, Formatter};
|
||||||
use gst::glib::translate::*;
|
use gst::glib::translate::*;
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
use std::sync::Once;
|
use std::sync::Once;
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use gio;
|
pub use gio;
|
||||||
pub use glib;
|
pub use glib;
|
||||||
use glib::translate::from_glib;
|
use glib::translate::from_glib;
|
||||||
pub use gst;
|
pub use gst;
|
||||||
pub use gst_base;
|
pub use gst_base;
|
||||||
pub use gst_pbutils;
|
pub use gst_pbutils;
|
||||||
|
pub use gstreamer_editing_services_sys as ffi;
|
||||||
|
|
||||||
static GES_INIT: Once = Once::new();
|
static GES_INIT: Once = Once::new();
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
// Take a look at the license at the top of the repository in the LICENSE file.
|
// Take a look at the license at the top of the repository in the LICENSE file.
|
||||||
|
|
||||||
use crate::prelude::*;
|
use crate::{ffi, prelude::*, Formatter};
|
||||||
use crate::Formatter;
|
|
||||||
use glib::{subclass::prelude::*, translate::*};
|
use glib::{subclass::prelude::*, translate::*};
|
||||||
|
|
||||||
pub trait FormatterImpl: FormatterImplExt + ObjectImpl + Send + Sync {
|
pub trait FormatterImpl: FormatterImplExt + ObjectImpl + Send + Sync {
|
||||||
|
|
|
@ -18,7 +18,7 @@ rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
ffi = { package = "gstreamer-gl-sys", path = "sys" }
|
gstreamer-gl-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
gst-base.workspace = true
|
gst-base.workspace = true
|
||||||
|
@ -32,12 +32,12 @@ serde_json = "1.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "gst-base/v1_16", "gst-video/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gst-base/v1_16", "gst-video/v1_16", "gstreamer-gl-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "gst-base/v1_18", "gst-video/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gst-base/v1_18", "gst-video/v1_18", "gstreamer-gl-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "gst-base/v1_20", "gst-video/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gst-base/v1_20", "gst-video/v1_20", "gstreamer-gl-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "gst-base/v1_22", "gst-video/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gst-base/v1_22", "gst-video/v1_22", "gstreamer-gl-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "gst-base/v1_24", "gst-video/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gst-base/v1_24", "gst-video/v1_24", "gstreamer-gl-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "gst-base/v1_26", "gst-video/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gst-base/v1_26", "gst-video/v1_26", "gstreamer-gl-sys/v1_26", "v1_24"]
|
||||||
serde = ["dep:serde", "gst/serde", "gst-video/serde"]
|
serde = ["dep:serde", "gst/serde", "gst-video/serde"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
|
|
|
@ -17,7 +17,7 @@ rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
ffi = { package = "gstreamer-gl-egl-sys", path = "sys" }
|
gstreamer-gl-egl-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
gst-gl.workspace = true
|
gst-gl.workspace = true
|
||||||
|
@ -27,12 +27,12 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "gst-gl/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gst-gl/v1_16", "gstreamer-gl-egl-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "gst-gl/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gst-gl/v1_18", "gstreamer-gl-egl-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "gst-gl/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gst-gl/v1_20", "gstreamer-gl-egl-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "gst-gl/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gst-gl/v1_22", "gstreamer-gl-egl-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "gst-gl/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gst-gl/v1_24", "gstreamer-gl-egl-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "gst-gl/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gst-gl/v1_26", "gstreamer-gl-egl-sys/v1_26", "v1_24"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
|
@ -10,7 +10,7 @@ use glib::{ffi::gpointer, translate::*};
|
||||||
use gst_gl::GLDisplayType;
|
use gst_gl::GLDisplayType;
|
||||||
use libc::uintptr_t;
|
use libc::uintptr_t;
|
||||||
|
|
||||||
use crate::GLDisplayEGL;
|
use crate::{ffi, GLDisplayEGL};
|
||||||
|
|
||||||
impl GLDisplayEGL {
|
impl GLDisplayEGL {
|
||||||
#[doc(alias = "gst_gl_display_egl_new_with_egl_display")]
|
#[doc(alias = "gst_gl_display_egl_new_with_egl_display")]
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
#![cfg_attr(docsrs, feature(doc_cfg))]
|
#![cfg_attr(docsrs, feature(doc_cfg))]
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use gst_gl;
|
pub use gst_gl;
|
||||||
|
pub use gstreamer_gl_egl_sys as ffi;
|
||||||
|
|
||||||
macro_rules! assert_initialized_main_thread {
|
macro_rules! assert_initialized_main_thread {
|
||||||
() => {
|
() => {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::ptr;
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::ContextRef;
|
use gst::ContextRef;
|
||||||
|
|
||||||
use crate::GLDisplay;
|
use crate::{ffi, GLDisplay};
|
||||||
|
|
||||||
pub trait ContextGLExt {
|
pub trait ContextGLExt {
|
||||||
#[doc(alias = "get_gl_display")]
|
#[doc(alias = "get_gl_display")]
|
||||||
|
|
|
@ -3,7 +3,7 @@ use std::ptr;
|
||||||
use glib::{object::IsA, translate::*};
|
use glib::{object::IsA, translate::*};
|
||||||
|
|
||||||
pub use crate::auto::functions::*;
|
pub use crate::auto::functions::*;
|
||||||
use crate::{GLContext, GLDisplay};
|
use crate::{ffi, GLContext, GLDisplay};
|
||||||
|
|
||||||
#[doc(alias = "gst_gl_handle_context_query")]
|
#[doc(alias = "gst_gl_handle_context_query")]
|
||||||
pub fn gl_handle_context_query(
|
pub fn gl_handle_context_query(
|
||||||
|
|
|
@ -2,7 +2,7 @@ use ffi::GstGLBaseMemory;
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use gst::{Memory, MemoryRef};
|
use gst::{Memory, MemoryRef};
|
||||||
|
|
||||||
use crate::{GLAllocationParams, GLBaseMemoryAllocator};
|
use crate::{ffi, GLAllocationParams, GLBaseMemoryAllocator};
|
||||||
|
|
||||||
gst::memory_object_wrapper!(
|
gst::memory_object_wrapper!(
|
||||||
GLBaseMemory,
|
GLBaseMemory,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
use libc::uintptr_t;
|
use libc::uintptr_t;
|
||||||
|
|
||||||
use crate::{GLContext, GLDisplay, GLPlatform, GLAPI};
|
use crate::{ffi, GLContext, GLDisplay, GLPlatform, GLAPI};
|
||||||
|
|
||||||
impl GLContext {
|
impl GLContext {
|
||||||
pub unsafe fn new_wrapped<T: IsA<GLDisplay>>(
|
pub unsafe fn new_wrapped<T: IsA<GLDisplay>>(
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
use crate::{GLContext, GLDisplay};
|
use crate::{ffi, GLContext, GLDisplay};
|
||||||
|
|
||||||
use glib::prelude::*;
|
use glib::prelude::*;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
use glib::{prelude::*, translate::*};
|
use glib::{prelude::*, translate::*};
|
||||||
|
|
||||||
use crate::{GLFramebuffer, GLMemoryRef};
|
use crate::{ffi, GLFramebuffer, GLMemoryRef};
|
||||||
|
|
||||||
mod sealed {
|
mod sealed {
|
||||||
pub trait Sealed {}
|
pub trait Sealed {}
|
||||||
|
|
|
@ -2,7 +2,7 @@ use ffi::GstGLMemory;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::{result_from_gboolean, LoggableError, Memory, MemoryRef, CAT_RUST};
|
use gst::{result_from_gboolean, LoggableError, Memory, MemoryRef, CAT_RUST};
|
||||||
|
|
||||||
use crate::{GLBaseMemory, GLBaseMemoryRef, GLFormat, GLTextureTarget};
|
use crate::{ffi, GLBaseMemory, GLBaseMemoryRef, GLFormat, GLTextureTarget};
|
||||||
|
|
||||||
gst::memory_object_wrapper!(
|
gst::memory_object_wrapper!(
|
||||||
GLMemory,
|
GLMemory,
|
||||||
|
|
|
@ -2,7 +2,7 @@ use ffi::GstGLMemoryPBO;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::{Memory, MemoryRef};
|
use gst::{Memory, MemoryRef};
|
||||||
|
|
||||||
use crate::{GLBaseMemory, GLBaseMemoryRef, GLMemory, GLMemoryRef};
|
use crate::{ffi, GLBaseMemory, GLBaseMemoryRef, GLMemory, GLMemoryRef};
|
||||||
|
|
||||||
gst::memory_object_wrapper!(
|
gst::memory_object_wrapper!(
|
||||||
GLMemoryPBO,
|
GLMemoryPBO,
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::fmt;
|
||||||
use glib::translate::*;
|
use glib::translate::*;
|
||||||
use gst::prelude::*;
|
use gst::prelude::*;
|
||||||
|
|
||||||
use crate::GLContext;
|
use crate::{ffi, GLContext};
|
||||||
|
|
||||||
#[repr(transparent)]
|
#[repr(transparent)]
|
||||||
#[doc(alias = "GstGLSyncMeta")]
|
#[doc(alias = "GstGLSyncMeta")]
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
use std::{fmt::Debug, marker::PhantomData, mem, ptr};
|
use std::{fmt::Debug, marker::PhantomData, mem, ptr};
|
||||||
|
|
||||||
use crate::GLMemoryRef;
|
use crate::{ffi, GLMemoryRef};
|
||||||
use glib::translate::{from_glib, Borrowed, ToGlibPtr};
|
use glib::translate::{from_glib, Borrowed, ToGlibPtr};
|
||||||
use gst_video::{video_frame::IsVideoFrame, VideoFrameExt};
|
use gst_video::{video_frame::IsVideoFrame, VideoFrameExt};
|
||||||
|
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
#![doc = include_str!("../README.md")]
|
#![doc = include_str!("../README.md")]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use glib;
|
pub use glib;
|
||||||
pub use gst;
|
pub use gst;
|
||||||
pub use gst_base;
|
pub use gst_base;
|
||||||
pub use gst_video;
|
pub use gst_video;
|
||||||
|
pub use gstreamer_gl_sys as ffi;
|
||||||
|
|
||||||
macro_rules! assert_initialized_main_thread {
|
macro_rules! assert_initialized_main_thread {
|
||||||
() => {
|
() => {
|
||||||
|
|
|
@ -3,7 +3,7 @@ use glib::translate::*;
|
||||||
use gst::{ffi::GstCaps, result_from_gboolean, Caps, LoggableError, CAT_RUST};
|
use gst::{ffi::GstCaps, result_from_gboolean, Caps, LoggableError, CAT_RUST};
|
||||||
use gst_base::subclass::prelude::*;
|
use gst_base::subclass::prelude::*;
|
||||||
|
|
||||||
use crate::{prelude::*, GLBaseFilter};
|
use crate::{ffi, prelude::*, GLBaseFilter};
|
||||||
|
|
||||||
pub trait GLBaseFilterImpl: GLBaseFilterImplExt + BaseTransformImpl {
|
pub trait GLBaseFilterImpl: GLBaseFilterImplExt + BaseTransformImpl {
|
||||||
fn gl_set_caps(&self, incaps: &Caps, outcaps: &Caps) -> Result<(), LoggableError> {
|
fn gl_set_caps(&self, incaps: &Caps, outcaps: &Caps) -> Result<(), LoggableError> {
|
||||||
|
|
|
@ -3,7 +3,7 @@ use glib::translate::*;
|
||||||
use gst::{result_from_gboolean, LoggableError, CAT_RUST};
|
use gst::{result_from_gboolean, LoggableError, CAT_RUST};
|
||||||
use gst_base::subclass::prelude::*;
|
use gst_base::subclass::prelude::*;
|
||||||
|
|
||||||
use crate::{prelude::*, GLBaseSrc, GLMemory, GLAPI};
|
use crate::{ffi, prelude::*, GLBaseSrc, GLMemory, GLAPI};
|
||||||
|
|
||||||
pub trait GLBaseSrcImpl: GLBaseSrcImplExt + PushSrcImpl {
|
pub trait GLBaseSrcImpl: GLBaseSrcImplExt + PushSrcImpl {
|
||||||
const SUPPORTED_GL_API: GLAPI;
|
const SUPPORTED_GL_API: GLAPI;
|
||||||
|
|
|
@ -5,7 +5,7 @@ use gst::{
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::prelude::*;
|
use super::prelude::*;
|
||||||
use crate::{prelude::*, GLFilter, GLMemory};
|
use crate::{ffi, prelude::*, GLFilter, GLMemory};
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
|
||||||
pub enum GLFilterMode {
|
pub enum GLFilterMode {
|
||||||
|
|
|
@ -18,7 +18,7 @@ rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
ffi = { package = "gstreamer-gl-wayland-sys", path = "sys" }
|
gstreamer-gl-wayland-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
gst-gl.workspace = true
|
gst-gl.workspace = true
|
||||||
|
@ -28,12 +28,12 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "gst-gl/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gst-gl/v1_16", "gstreamer-gl-wayland-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "gst-gl/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gst-gl/v1_18", "gstreamer-gl-wayland-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "gst-gl/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gst-gl/v1_20", "gstreamer-gl-wayland-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "gst-gl/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gst-gl/v1_22", "gstreamer-gl-wayland-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "gst-gl/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gst-gl/v1_24", "gstreamer-gl-wayland-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "gst-gl/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gst-gl/v1_26", "gstreamer-gl-wayland-sys/v1_26", "v1_24"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
|
@ -15,9 +15,9 @@ impl GLDisplayWayland {
|
||||||
pub unsafe fn with_display(
|
pub unsafe fn with_display(
|
||||||
display: uintptr_t,
|
display: uintptr_t,
|
||||||
) -> Result<GLDisplayWayland, glib::error::BoolError> {
|
) -> Result<GLDisplayWayland, glib::error::BoolError> {
|
||||||
from_glib_full::<_, Option<GLDisplayWayland>>(ffi::gst_gl_display_wayland_new_with_display(
|
from_glib_full::<_, Option<GLDisplayWayland>>(
|
||||||
display as gpointer,
|
crate::ffi::gst_gl_display_wayland_new_with_display(display as gpointer),
|
||||||
))
|
)
|
||||||
.ok_or_else(|| glib::bool_error!("Failed to create new Wayland GL display"))
|
.ok_or_else(|| glib::bool_error!("Failed to create new Wayland GL display"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
#![cfg_attr(docsrs, feature(doc_cfg))]
|
#![cfg_attr(docsrs, feature(doc_cfg))]
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use gst_gl;
|
pub use gst_gl;
|
||||||
|
pub use gstreamer_gl_wayland_sys as ffi;
|
||||||
|
|
||||||
macro_rules! assert_initialized_main_thread {
|
macro_rules! assert_initialized_main_thread {
|
||||||
() => {
|
() => {
|
||||||
|
|
|
@ -18,7 +18,7 @@ rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
ffi = { package = "gstreamer-gl-x11-sys", path = "sys" }
|
gstreamer-gl-x11-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
gst-gl.workspace = true
|
gst-gl.workspace = true
|
||||||
|
@ -28,12 +28,12 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "gst-gl/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gst-gl/v1_16", "gstreamer-gl-x11-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "gst-gl/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gst-gl/v1_18", "gstreamer-gl-x11-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "gst-gl/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gst-gl/v1_20", "gstreamer-gl-x11-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "gst-gl/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gst-gl/v1_22", "gstreamer-gl-x11-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "gst-gl/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gst-gl/v1_24", "gstreamer-gl-x11-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "gst-gl/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gst-gl/v1_26", "gstreamer-gl-x11-sys/v1_26", "v1_24"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
|
@ -13,7 +13,7 @@ use crate::GLDisplayX11;
|
||||||
|
|
||||||
impl GLDisplayX11 {
|
impl GLDisplayX11 {
|
||||||
pub unsafe fn with_display(display: uintptr_t) -> Result<GLDisplayX11, glib::error::BoolError> {
|
pub unsafe fn with_display(display: uintptr_t) -> Result<GLDisplayX11, glib::error::BoolError> {
|
||||||
from_glib_full::<_, Option<GLDisplayX11>>(ffi::gst_gl_display_x11_new_with_display(
|
from_glib_full::<_, Option<GLDisplayX11>>(crate::ffi::gst_gl_display_x11_new_with_display(
|
||||||
display as gpointer,
|
display as gpointer,
|
||||||
))
|
))
|
||||||
.ok_or_else(|| glib::bool_error!("Failed to create new X11 GL display"))
|
.ok_or_else(|| glib::bool_error!("Failed to create new X11 GL display"))
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
#![cfg_attr(docsrs, feature(doc_cfg))]
|
#![cfg_attr(docsrs, feature(doc_cfg))]
|
||||||
#![allow(clippy::missing_safety_doc)]
|
#![allow(clippy::missing_safety_doc)]
|
||||||
|
|
||||||
pub use ffi;
|
|
||||||
pub use gst_gl;
|
pub use gst_gl;
|
||||||
|
pub use gstreamer_gl_x11_sys as ffi;
|
||||||
|
|
||||||
macro_rules! assert_initialized_main_thread {
|
macro_rules! assert_initialized_main_thread {
|
||||||
() => {
|
() => {
|
||||||
|
|
|
@ -14,7 +14,7 @@ edition.workspace = true
|
||||||
rust-version.workspace = true
|
rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ffi = { package = "gstreamer-mpegts-sys", path = "sys" }
|
gstreamer-mpegts-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
|
|
||||||
|
@ -23,12 +23,12 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gstreamer-mpegts-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gstreamer-mpegts-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gstreamer-mpegts-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gstreamer-mpegts-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gstreamer-mpegts-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gstreamer-mpegts-sys/v1_26", "v1_24"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
|
|
||||||
use std::sync::Once;
|
use std::sync::Once;
|
||||||
|
|
||||||
pub use ffi::*;
|
|
||||||
pub use glib;
|
pub use glib;
|
||||||
pub use gst;
|
pub use gst;
|
||||||
|
pub use gstreamer_mpegts_sys as ffi;
|
||||||
|
|
||||||
static MPEGTS_INIT: Once = Once::new();
|
static MPEGTS_INIT: Once = Once::new();
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ macro_rules! assert_initialized_main_thread {
|
||||||
if !gst::INITIALIZED.load(std::sync::atomic::Ordering::SeqCst) {
|
if !gst::INITIALIZED.load(std::sync::atomic::Ordering::SeqCst) {
|
||||||
gst::assert_initialized();
|
gst::assert_initialized();
|
||||||
}
|
}
|
||||||
crate::MPEGTS_INIT.call_once(|| unsafe { ffi::gst_mpegts_initialize() });
|
crate::MPEGTS_INIT.call_once(|| unsafe { crate::ffi::gst_mpegts_initialize() });
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ edition.workspace = true
|
||||||
rust-version.workspace = true
|
rust-version.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
ffi = { package = "gstreamer-net-sys", path = "sys" }
|
gstreamer-net-sys.workspace = true
|
||||||
glib.workspace = true
|
glib.workspace = true
|
||||||
gio.workspace = true
|
gio.workspace = true
|
||||||
gst.workspace = true
|
gst.workspace = true
|
||||||
|
@ -24,12 +24,12 @@ gir-format-check = "0.1"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
v1_16 = ["gst/v1_16", "ffi/v1_16"]
|
v1_16 = ["gst/v1_16", "gstreamer-net-sys/v1_16"]
|
||||||
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
|
v1_18 = ["gst/v1_18", "gstreamer-net-sys/v1_18", "v1_16"]
|
||||||
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
|
v1_20 = ["gst/v1_20", "gstreamer-net-sys/v1_20", "v1_18"]
|
||||||
v1_22 = ["gst/v1_22", "ffi/v1_22", "v1_20"]
|
v1_22 = ["gst/v1_22", "gstreamer-net-sys/v1_22", "v1_20"]
|
||||||
v1_24 = ["gst/v1_24", "ffi/v1_24", "v1_22"]
|
v1_24 = ["gst/v1_24", "gstreamer-net-sys/v1_24", "v1_22"]
|
||||||
v1_26 = ["gst/v1_26", "ffi/v1_26", "v1_24"]
|
v1_26 = ["gst/v1_26", "gstreamer-net-sys/v1_26", "v1_24"]
|
||||||
|
|
||||||
[package.metadata.docs.rs]
|
[package.metadata.docs.rs]
|
||||||
all-features = true
|
all-features = true
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue