mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-05-20 01:08:26 +00:00
Compare commits
42 commits
Author | SHA1 | Date | |
---|---|---|---|
2f35b4251e | |||
17f657f0d2 | |||
c7acd517c1 | |||
672bebc9ef | |||
09648d7c99 | |||
23e125dcfa | |||
13f0686147 | |||
ab0b99c485 | |||
a570625328 | |||
d138317510 | |||
13ec2732e2 | |||
782c698846 | |||
b5d6697e84 | |||
b1c12073cf | |||
4ad5f374b1 | |||
79088dc6dd | |||
955d91cf05 | |||
484f9b1bdf | |||
3087b92fa4 | |||
7cc1f6cd45 | |||
62973fc83c | |||
9adddc29af | |||
d07f72f34e | |||
02c6b9128c | |||
e99c8ce828 | |||
bff4241a75 | |||
729e064873 | |||
b08ed23989 | |||
36269458f2 | |||
aa4e0d10c8 | |||
49e764fef9 | |||
1e65757ef3 | |||
067c12269e | |||
a9354a3715 | |||
e0eab9d19b | |||
abbfd490d9 | |||
98691e8958 | |||
bc3bdebf96 | |||
6e360451b7 | |||
f005c5ea3d | |||
7d33653fb9 | |||
b13bfe3617 |
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,2 @@
|
|||
target/
|
||||
**/*.rs.bk
|
||||
Cargo.lock
|
||||
|
|
510
Cargo.lock
generated
510
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
72
Cargo.toml
72
Cargo.toml
|
@ -107,7 +107,7 @@ members = [
|
|||
exclude = ["gir"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.22.0"
|
||||
version = "0.22.3"
|
||||
categories = ["api-bindings", "multimedia"]
|
||||
repository = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs"
|
||||
homepage = "https://gstreamer.freedesktop.org"
|
||||
|
@ -115,38 +115,38 @@ edition = "2021"
|
|||
rust-version = "1.70"
|
||||
|
||||
[workspace.dependencies]
|
||||
gio = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
||||
gio-sys = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
||||
glib = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
||||
glib-sys = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
||||
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" }
|
||||
pango = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
||||
pangocairo = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "master" }
|
||||
gstreamer-audio-sys = { path = "./gstreamer-audio/sys"}
|
||||
gstreamer-base-sys = { path = "./gstreamer-base/sys"}
|
||||
gstreamer-gl-sys = { path = "./gstreamer-gl/sys"}
|
||||
gstreamer-net-sys = { path = "./gstreamer-net/sys"}
|
||||
gstreamer-pbutils-sys = { path = "./gstreamer-pbutils/sys"}
|
||||
gstreamer-rtsp-sys = { path = "./gstreamer-rtsp/sys"}
|
||||
gstreamer-sdp-sys = { path = "./gstreamer-sdp/sys"}
|
||||
gstreamer-sys = { path = "./gstreamer/sys"}
|
||||
gstreamer-video-sys = { path = "./gstreamer-video/sys"}
|
||||
ges = { package = "gstreamer-editing-services", path = "./gstreamer-editing-services" }
|
||||
gst = { package = "gstreamer", path = "./gstreamer" }
|
||||
gst-allocators = { package = "gstreamer-allocators", path = "./gstreamer-allocators" }
|
||||
gst-app = { package = "gstreamer-app", path = "./gstreamer-app" }
|
||||
gst-audio = { package = "gstreamer-audio", path = "./gstreamer-audio" }
|
||||
gst-base = { package = "gstreamer-base", path = "./gstreamer-base" }
|
||||
gst-check = { package = "gstreamer-check", path = "./gstreamer-check" }
|
||||
gst-gl = { package = "gstreamer-gl", path = "./gstreamer-gl" }
|
||||
gst-gl-egl = { package = "gstreamer-gl-egl", path = "./gstreamer-gl/egl" }
|
||||
gst-gl-x11 = { package = "gstreamer-gl-x11", path = "./gstreamer-gl/x11" }
|
||||
gst-net = { package = "gstreamer-net", path = "./gstreamer-net" }
|
||||
gst-pbutils = { package = "gstreamer-pbutils", path = "./gstreamer-pbutils" }
|
||||
gst-play = { package = "gstreamer-play", path = "./gstreamer-play" }
|
||||
gst-player = { package = "gstreamer-player", path = "./gstreamer-player" }
|
||||
gst-rtsp = { package = "gstreamer-rtsp", path = "./gstreamer-rtsp" }
|
||||
gst-rtsp-server = { package = "gstreamer-rtsp-server", path = "./gstreamer-rtsp-server" }
|
||||
gst-sdp = { package = "gstreamer-sdp", path = "./gstreamer-sdp" }
|
||||
gst-video = { package = "gstreamer-video", path = "./gstreamer-video" }
|
||||
gio = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "0.19", version = "0.19" }
|
||||
gio-sys = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "0.19", version = "0.19" }
|
||||
glib = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "0.19", version = "0.19" }
|
||||
glib-sys = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "0.19", version = "0.19" }
|
||||
gobject-sys = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "0.19", version = "0.19" }
|
||||
cairo-rs = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "0.19", version = "0.19" }
|
||||
pango = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "0.19", version = "0.19" }
|
||||
pangocairo = { git = "https://github.com/gtk-rs/gtk-rs-core", branch = "0.19", version = "0.19" }
|
||||
gstreamer-audio-sys = { path = "./gstreamer-audio/sys", version = "0.22" }
|
||||
gstreamer-base-sys = { path = "./gstreamer-base/sys", version = "0.22" }
|
||||
gstreamer-gl-sys = { path = "./gstreamer-gl/sys", version = "0.22" }
|
||||
gstreamer-net-sys = { path = "./gstreamer-net/sys", version = "0.22" }
|
||||
gstreamer-pbutils-sys = { path = "./gstreamer-pbutils/sys", version = "0.22" }
|
||||
gstreamer-rtsp-sys = { path = "./gstreamer-rtsp/sys", version = "0.22" }
|
||||
gstreamer-sdp-sys = { path = "./gstreamer-sdp/sys", version = "0.22" }
|
||||
gstreamer-sys = { path = "./gstreamer/sys", version = "0.22" }
|
||||
gstreamer-video-sys = { path = "./gstreamer-video/sys", version = "0.22" }
|
||||
ges = { package = "gstreamer-editing-services", path = "./gstreamer-editing-services", version = "0.22" }
|
||||
gst = { package = "gstreamer", path = "./gstreamer", version = "0.22" }
|
||||
gst-allocators = { package = "gstreamer-allocators", path = "./gstreamer-allocators", version = "0.22" }
|
||||
gst-app = { package = "gstreamer-app", path = "./gstreamer-app", version = "0.22" }
|
||||
gst-audio = { package = "gstreamer-audio", path = "./gstreamer-audio", version = "0.22" }
|
||||
gst-base = { package = "gstreamer-base", path = "./gstreamer-base", version = "0.22" }
|
||||
gst-check = { package = "gstreamer-check", path = "./gstreamer-check", version = "0.22" }
|
||||
gst-gl = { package = "gstreamer-gl", path = "./gstreamer-gl", version = "0.22" }
|
||||
gst-gl-egl = { package = "gstreamer-gl-egl", path = "./gstreamer-gl/egl", version = "0.22" }
|
||||
gst-gl-x11 = { package = "gstreamer-gl-x11", path = "./gstreamer-gl/x11", version = "0.22" }
|
||||
gst-net = { package = "gstreamer-net", path = "./gstreamer-net", version = "0.22" }
|
||||
gst-pbutils = { package = "gstreamer-pbutils", path = "./gstreamer-pbutils", version = "0.22" }
|
||||
gst-play = { package = "gstreamer-play", path = "./gstreamer-play", version = "0.22" }
|
||||
gst-player = { package = "gstreamer-player", path = "./gstreamer-player", version = "0.22" }
|
||||
gst-rtsp = { package = "gstreamer-rtsp", path = "./gstreamer-rtsp", version = "0.22" }
|
||||
gst-rtsp-server = { package = "gstreamer-rtsp-server", path = "./gstreamer-rtsp-server", version = "0.22" }
|
||||
gst-sdp = { package = "gstreamer-sdp", path = "./gstreamer-sdp", version = "0.22" }
|
||||
gst-video = { package = "gstreamer-video", path = "./gstreamer-video", version = "0.22" }
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
variables:
|
||||
GST_RS_IMG_TAG: "2024-02-07.0"
|
||||
GST_RS_STABLE: "1.75.0"
|
||||
GST_RS_IMG_TAG: "2024-03-19.0"
|
||||
GST_RS_STABLE: "1.76.0"
|
||||
GST_RS_MSRV: "1.70.0"
|
||||
|
|
|
@ -9,7 +9,7 @@ pushd .
|
|||
cd ..
|
||||
git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git \
|
||||
--depth 1 \
|
||||
--branch main
|
||||
--branch 1.24
|
||||
|
||||
cd gstreamer
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ FROM "registry.freedesktop.org/gstreamer/gstreamer/amd64/windows:2023-07-17.0-ma
|
|||
|
||||
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
|
||||
|
||||
ARG DEFAULT_BRANCH="main"
|
||||
ARG DEFAULT_BRANCH="1.24"
|
||||
ARG RUST_VERSION="invalid"
|
||||
|
||||
RUN choco install -y pkgconfiglite nasm llvm openssl
|
||||
|
|
|
@ -45,7 +45,7 @@ data-encoding = "2.0"
|
|||
once_cell = "1"
|
||||
|
||||
[target.'cfg(windows)'.dependencies]
|
||||
windows = { version = "0.52", features=["Win32_Graphics_Direct3D11",
|
||||
windows = { version = "0.54", features=["Win32_Graphics_Direct3D11",
|
||||
"Win32_Foundation", "Win32_Graphics_Direct3D", "Win32_Graphics_Dxgi",
|
||||
"Win32_Graphics_Dxgi_Common", "Win32_Graphics_Direct2D",
|
||||
"Win32_Graphics_Direct2D_Common", "Win32_Graphics_DirectWrite",
|
||||
|
|
2
gir
2
gir
|
@ -1 +1 @@
|
|||
Subproject commit 5975266da3b0fa1195e53213502a8c9bc5d9b1ac
|
||||
Subproject commit 0e476ab5c1dec04355e4f516ebcce4edaa940c9e
|
|
@ -1 +1 @@
|
|||
Subproject commit fe8258109e602dcb000890197b62f832006c715a
|
||||
Subproject commit cfc0305f903bcce1c9fb5b5055d3ae8a30912750
|
|
@ -1 +1 @@
|
|||
Subproject commit 63e90a30193bf8d228057c4570a50a0a2b40f2bd
|
||||
Subproject commit bca9723cb3e5833f33306953a8fc612e09ecb1ee
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-allocators-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-allocators-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
once_cell = "1"
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-analytics-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-analytics-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -60,13 +60,13 @@ impl<'a> AnalyticsRelationMetaODExt
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Default, Debug)]
|
||||
#[derive(Clone, Copy, Default, Debug)]
|
||||
pub struct AnalyticsODLocation {
|
||||
x: i32,
|
||||
y: i32,
|
||||
w: i32,
|
||||
h: i32,
|
||||
loc_conf_lvl: f32,
|
||||
pub x: i32,
|
||||
pub y: i32,
|
||||
pub w: i32,
|
||||
pub h: i32,
|
||||
pub loc_conf_lvl: f32,
|
||||
}
|
||||
|
||||
unsafe impl AnalyticsMtd for AnalyticsODMtd {
|
||||
|
@ -82,11 +82,15 @@ unsafe fn from(t: ffi::GstAnalyticsMtd) -> ffi::GstAnalyticsODMtd {
|
|||
|
||||
impl<'a> AnalyticsMtdRef<'a, AnalyticsODMtd> {
|
||||
#[doc(alias = "gst_analytics_od_mtd_get_obj_type")]
|
||||
pub fn obj_type(&self) -> glib::Quark {
|
||||
pub fn obj_type(&self) -> Option<glib::Quark> {
|
||||
unsafe {
|
||||
let mut mtd = from(ffi::GstAnalyticsMtd::unsafe_from(self));
|
||||
let type_ = ffi::gst_analytics_od_mtd_get_obj_type(&mut mtd);
|
||||
glib::Quark::from_glib(type_)
|
||||
if type_ == 0 {
|
||||
None
|
||||
} else {
|
||||
Some(glib::Quark::from_glib(type_))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -143,7 +147,7 @@ mod tests {
|
|||
.add_od_mtd(glib::Quark::from_str("blb"), 0, 1, 10, 20, 0.8)
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(od.obj_type(), glib::Quark::from_str("blb"));
|
||||
assert_eq!(od.obj_type().unwrap(), glib::Quark::from_str("blb"));
|
||||
|
||||
let loc = od.location().unwrap();
|
||||
|
||||
|
@ -159,7 +163,7 @@ mod tests {
|
|||
let meta2 = buf.meta::<AnalyticsRelationMeta>().unwrap();
|
||||
let od2 = meta2.mtd::<AnalyticsODMtd>(0).unwrap();
|
||||
|
||||
assert_eq!(od2.obj_type(), glib::Quark::from_str("blb"));
|
||||
assert_eq!(od2.obj_type().unwrap(), glib::Quark::from_str("blb"));
|
||||
let loc = od2.location().unwrap();
|
||||
|
||||
assert_eq!(loc.x, 0);
|
||||
|
|
|
@ -652,13 +652,13 @@ mod tests {
|
|||
assert_eq!(meta.len(), meta.iter::<AnalyticsAnyMtd>().count());
|
||||
assert_eq!(meta.len(), meta.iter::<AnalyticsODMtd>().count());
|
||||
for mtd in meta.iter::<AnalyticsODMtd>() {
|
||||
assert_eq!(mtd.obj_type(), glib::Quark::from_str("blb"))
|
||||
assert_eq!(mtd.obj_type().unwrap(), glib::Quark::from_str("blb"))
|
||||
}
|
||||
|
||||
assert_eq!(meta.len(), meta.iter::<AnalyticsAnyMtd>().count());
|
||||
for mtd in meta.iter::<AnalyticsAnyMtd>() {
|
||||
if let Ok(mtd) = mtd.downcast::<AnalyticsODMtd>() {
|
||||
assert_eq!(mtd.obj_type(), glib::Quark::from_str("blb"))
|
||||
assert_eq!(mtd.obj_type().unwrap(), glib::Quark::from_str("blb"))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -689,7 +689,7 @@ mod tests {
|
|||
0
|
||||
);
|
||||
for mtd in meta.iter_direct_related::<AnalyticsODMtd>(od1_id, crate::RelTypes::IS_PART_OF) {
|
||||
assert_eq!(mtd.obj_type(), glib::Quark::from_str("blb"))
|
||||
assert_eq!(mtd.obj_type().unwrap(), glib::Quark::from_str("blb"))
|
||||
}
|
||||
|
||||
let mut meta = buf.make_mut().meta_mut::<AnalyticsRelationMeta>().unwrap();
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -28,7 +28,6 @@ use glib::{gboolean, gconstpointer, gpointer, GType};
|
|||
pub type GstAnalyticsMtdType = uintptr_t;
|
||||
|
||||
// Constants
|
||||
pub const GST_AN_RELATION_META_TAG: &[u8] = b"GST-ANALYSIS-RELATION-META-TAG\0";
|
||||
pub const GST_INF_RELATION_SPAN: c_int = -1;
|
||||
pub const GST_ANALYTICS_MTD_TYPE_ANY: c_int = 0;
|
||||
|
||||
|
@ -95,7 +94,6 @@ impl ::std::fmt::Debug for GstAnalyticsMtdImpl {
|
|||
f.debug_struct(&format!("GstAnalyticsMtdImpl @ {self:p}"))
|
||||
.field("name", &self.name)
|
||||
.field("mtd_meta_transform", &self.mtd_meta_transform)
|
||||
.field("_reserved", &self._reserved)
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -268,6 +268,5 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[
|
|||
("(guint) GST_ANALYTICS_REL_TYPE_LAST", "16"),
|
||||
("(guint) GST_ANALYTICS_REL_TYPE_NONE", "0"),
|
||||
("(guint) GST_ANALYTICS_REL_TYPE_RELATE_TO", "8"),
|
||||
("GST_AN_RELATION_META_TAG", "GST-ANALYSIS-RELATION-META-TAG"),
|
||||
("GST_INF_RELATION_SPAN", "-1"),
|
||||
];
|
||||
|
|
|
@ -36,7 +36,6 @@ int main() {
|
|||
PRINT_CONSTANT((guint) GST_ANALYTICS_REL_TYPE_LAST);
|
||||
PRINT_CONSTANT((guint) GST_ANALYTICS_REL_TYPE_NONE);
|
||||
PRINT_CONSTANT((guint) GST_ANALYTICS_REL_TYPE_RELATE_TO);
|
||||
PRINT_CONSTANT(GST_AN_RELATION_META_TAG);
|
||||
PRINT_CONSTANT(GST_INF_RELATION_SPAN);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ rust-version.workspace = true
|
|||
futures-core = "0.3"
|
||||
futures-sink = "0.3"
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-app-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-app-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
gst-base.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -16,7 +16,7 @@ rust-version.workspace = true
|
|||
[dependencies]
|
||||
libc = "0.2"
|
||||
cfg-if = "1.0"
|
||||
ffi = { package = "gstreamer-audio-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-audio-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
gst-base.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -16,7 +16,7 @@ rust-version.workspace = true
|
|||
[dependencies]
|
||||
cfg-if = "1.0"
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-base-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-base-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
atomic_refcell = "0.1"
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -14,7 +14,7 @@ edition.workspace = true
|
|||
rust-version.workspace = true
|
||||
|
||||
[dependencies]
|
||||
ffi = { package = "gstreamer-check-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-check-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -14,7 +14,7 @@ edition.workspace = true
|
|||
rust-version.workspace = true
|
||||
|
||||
[dependencies]
|
||||
ffi = { package = "gstreamer-controller-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-controller-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-editing-services-sys", path = "sys"}
|
||||
ffi = { package = "gstreamer-editing-services-sys", path = "sys", version = "0.22"}
|
||||
glib.workspace = true
|
||||
gio.workspace = true
|
||||
gst.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -20,32 +20,32 @@ impl FrameCompositionMeta {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
pub fn position(&self) -> (i32, i32) {
|
||||
pub fn position(&self) -> (f64, f64) {
|
||||
(self.0.posx, self.0.posy)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn pos_x(&self) -> i32 {
|
||||
pub fn pos_x(&self) -> f64 {
|
||||
self.0.posx
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn pos_y(&self) -> i32 {
|
||||
pub fn pos_y(&self) -> f64 {
|
||||
self.0.posy
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn size(&self) -> (i32, i32) {
|
||||
pub fn size(&self) -> (f64, f64) {
|
||||
(self.0.width, self.0.height)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn width(&self) -> i32 {
|
||||
pub fn width(&self) -> f64 {
|
||||
self.0.width
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn height(&self) -> i32 {
|
||||
pub fn height(&self) -> f64 {
|
||||
self.0.height
|
||||
}
|
||||
|
||||
|
@ -90,8 +90,8 @@ mod tests {
|
|||
|
||||
fn add_composition_meta(
|
||||
buffer: &mut gst::BufferRef,
|
||||
position: (i32, i32),
|
||||
size: (i32, i32),
|
||||
position: (f64, f64),
|
||||
size: (f64, f64),
|
||||
alpha: f64,
|
||||
zorder: u32,
|
||||
operator: i32,
|
||||
|
@ -124,15 +124,21 @@ mod tests {
|
|||
|
||||
let mut buffer = gst::Buffer::with_size(320 * 240 * 4).unwrap();
|
||||
{
|
||||
let _meta =
|
||||
add_composition_meta(buffer.get_mut().unwrap(), (42, 42), (20, 22), 0.42, 2, 42)
|
||||
.unwrap();
|
||||
let _meta = add_composition_meta(
|
||||
buffer.get_mut().unwrap(),
|
||||
(42., 42.),
|
||||
(20., 22.),
|
||||
0.42,
|
||||
2,
|
||||
42,
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
{
|
||||
let meta = buffer.meta::<FrameCompositionMeta>().unwrap();
|
||||
assert_eq!(meta.position(), (42, 42));
|
||||
assert_eq!(meta.size(), (20, 22));
|
||||
assert_eq!(meta.position(), (42., 42.));
|
||||
assert_eq!(meta.size(), (20., 22.));
|
||||
assert_eq!(meta.alpha(), 0.42);
|
||||
assert_eq!(meta.zorder(), 2);
|
||||
assert_eq!(meta.operator(), 42);
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -879,10 +879,10 @@ pub type GESFormatterPrivate = _GESFormatterPrivate;
|
|||
pub struct GESFrameCompositionMeta {
|
||||
pub meta: gst::GstMeta,
|
||||
pub alpha: c_double,
|
||||
pub posx: c_int,
|
||||
pub posy: c_int,
|
||||
pub height: c_int,
|
||||
pub width: c_int,
|
||||
pub posx: c_double,
|
||||
pub posy: c_double,
|
||||
pub height: c_double,
|
||||
pub width: c_double,
|
||||
pub zorder: c_uint,
|
||||
pub operator: c_int,
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-gl-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-gl-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
gst-base.workspace = true
|
||||
|
|
|
@ -17,7 +17,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-gl-egl-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-gl-egl-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
gst-gl.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -18,7 +18,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-gl-wayland-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-gl-wayland-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
gst-gl.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -18,7 +18,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-gl-x11-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-gl-x11-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
gst-gl.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -14,7 +14,7 @@ edition.workspace = true
|
|||
rust-version.workspace = true
|
||||
|
||||
[dependencies]
|
||||
ffi = { package = "gstreamer-mpegts-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-mpegts-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -14,7 +14,7 @@ edition.workspace = true
|
|||
rust-version.workspace = true
|
||||
|
||||
[dependencies]
|
||||
ffi = { package = "gstreamer-net-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-net-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gio.workspace = true
|
||||
gst.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-pbutils-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-pbutils-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
gst-video.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-play-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-play-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst = { workspace = true, features = ["v1_20"] }
|
||||
gst-video = { workspace = true, features = ["v1_20"] }
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-player-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-player-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
gst-video.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-rtp-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-rtp-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
serde = { version = "1.0", optional = true }
|
||||
|
|
|
@ -21,7 +21,6 @@ generate = [
|
|||
"GstRtp.RTCPSDESType",
|
||||
"GstRtp.RTCPType",
|
||||
"GstRtp.RTCPXRType",
|
||||
"GstRtp.RTPBaseDepayload",
|
||||
"GstRtp.RTPHeaderExtensionDirection",
|
||||
"GstRtp.RTPHeaderExtensionFlags",
|
||||
"GstRtp.RTPPayload",
|
||||
|
@ -32,6 +31,7 @@ manual = [
|
|||
"Gst.Caps",
|
||||
"Gst.Element",
|
||||
"Gst.ElementFactory",
|
||||
"Gst.Object",
|
||||
]
|
||||
|
||||
[[object]]
|
||||
|
@ -81,10 +81,20 @@ status = "generate"
|
|||
name = "rtp_source_meta_api_get_type"
|
||||
ignore = true
|
||||
|
||||
[[object]]
|
||||
name = "GstRtp.RTPBaseDepayload"
|
||||
status = "generate"
|
||||
manual_traits = ["RTPBaseDepayloadExtManual"]
|
||||
|
||||
[[object.property]]
|
||||
name = "extensions"
|
||||
# use proper type
|
||||
ignore = true
|
||||
|
||||
[[object]]
|
||||
name = "GstRtp.RTPBasePayload"
|
||||
status = "generate"
|
||||
manual_traits = ["RTPHeaderExtensionExtManual"]
|
||||
manual_traits = ["RTPBasePayloadExtManual"]
|
||||
|
||||
[[object.function]]
|
||||
name = "set_outcaps"
|
||||
|
|
|
@ -15,7 +15,7 @@ use std::boxed::Box as Box_;
|
|||
|
||||
glib::wrapper! {
|
||||
#[doc(alias = "GstRTPBaseDepayload")]
|
||||
pub struct RTPBaseDepayload(Object<ffi::GstRTPBaseDepayload, ffi::GstRTPBaseDepayloadClass>) @extends gst::Element;
|
||||
pub struct RTPBaseDepayload(Object<ffi::GstRTPBaseDepayload, ffi::GstRTPBaseDepayloadClass>) @extends gst::Element, gst::Object;
|
||||
|
||||
match fn {
|
||||
type_ => || ffi::gst_rtp_base_depayload_get_type(),
|
||||
|
|
|
@ -15,7 +15,7 @@ use std::boxed::Box as Box_;
|
|||
|
||||
glib::wrapper! {
|
||||
#[doc(alias = "GstRTPBasePayload")]
|
||||
pub struct RTPBasePayload(Object<ffi::GstRTPBasePayload, ffi::GstRTPBasePayloadClass>) @extends gst::Element;
|
||||
pub struct RTPBasePayload(Object<ffi::GstRTPBasePayload, ffi::GstRTPBasePayloadClass>) @extends gst::Element, gst::Object;
|
||||
|
||||
match fn {
|
||||
type_ => || ffi::gst_rtp_base_payload_get_type(),
|
||||
|
|
|
@ -8,7 +8,7 @@ use glib::{prelude::*, translate::*};
|
|||
|
||||
glib::wrapper! {
|
||||
#[doc(alias = "GstRTPHeaderExtension")]
|
||||
pub struct RTPHeaderExtension(Object<ffi::GstRTPHeaderExtension, ffi::GstRTPHeaderExtensionClass>) @extends gst::Element;
|
||||
pub struct RTPHeaderExtension(Object<ffi::GstRTPHeaderExtension, ffi::GstRTPHeaderExtensionClass>) @extends gst::Element, gst::Object;
|
||||
|
||||
match fn {
|
||||
type_ => || ffi::gst_rtp_header_extension_get_type(),
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use glib::object::IsA;
|
||||
use glib::{prelude::*, translate::*};
|
||||
|
||||
use crate::RTPBaseDepayload;
|
||||
|
||||
|
@ -8,6 +8,48 @@ mod sealed {
|
|||
}
|
||||
|
||||
pub trait RTPBaseDepayloadExtManual: sealed::Sealed + IsA<RTPBaseDepayload> + 'static {
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
fn extensions(&self) -> Vec<crate::RTPHeaderExtension> {
|
||||
let extensions = self.as_ref().property::<gst::Array>("extensions");
|
||||
|
||||
extensions
|
||||
.iter()
|
||||
.map(|v| v.get::<crate::RTPHeaderExtension>().unwrap())
|
||||
.collect()
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
#[doc(alias = "extensions")]
|
||||
fn connect_extensions_notify<F: Fn(&Self) + Send + Sync + 'static>(
|
||||
&self,
|
||||
f: F,
|
||||
) -> glib::SignalHandlerId {
|
||||
unsafe extern "C" fn notify_extensions_trampoline<
|
||||
P: IsA<RTPBaseDepayload>,
|
||||
F: Fn(&P) + Send + Sync + 'static,
|
||||
>(
|
||||
this: *mut ffi::GstRTPBaseDepayload,
|
||||
_param_spec: glib::ffi::gpointer,
|
||||
f: glib::ffi::gpointer,
|
||||
) {
|
||||
let f: &F = &*(f as *const F);
|
||||
f(RTPBaseDepayload::from_glib_borrow(this).unsafe_cast_ref())
|
||||
}
|
||||
unsafe {
|
||||
let f: Box<F> = Box::new(f);
|
||||
glib::signal::connect_raw(
|
||||
self.as_ptr() as *mut _,
|
||||
b"notify::extensions\0".as_ptr() as *const _,
|
||||
Some(std::mem::transmute::<_, unsafe extern "C" fn()>(
|
||||
notify_extensions_trampoline::<Self, F> as *const (),
|
||||
)),
|
||||
Box::into_raw(f),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fn sink_pad(&self) -> &gst::Pad {
|
||||
unsafe {
|
||||
let elt = &*(self.as_ptr() as *const ffi::GstRTPBaseDepayload);
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-rtsp-server-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-rtsp-server-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gio.workspace = true
|
||||
gst.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-rtsp-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-rtsp-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
gst-sdp.workspace = true
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -14,7 +14,7 @@ edition.workspace = true
|
|||
rust-version.workspace = true
|
||||
|
||||
[dependencies]
|
||||
ffi = { package = "gstreamer-sdp-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-sdp-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -8,7 +8,7 @@ description = "Rust bindings for GStreamer Tag Support library"
|
|||
license = "MIT OR Apache-2.0"
|
||||
readme = "README.md"
|
||||
documentation = "https://gstreamer.pages.freedesktop.org/gstreamer-rs/stable/latest/docs/gstreamer_tag/"
|
||||
keywords = ["gstreamer", "multimedia", "audio", "tag", "tags", "gnome"]
|
||||
keywords = ["gstreamer", "multimedia", "audio", "tag", "gnome"]
|
||||
version.workspace = true
|
||||
categories.workspace = true
|
||||
repository.workspace = true
|
||||
|
@ -18,7 +18,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-tag-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-tag-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -15,7 +15,7 @@ rust-version.workspace = true
|
|||
|
||||
[dependencies]
|
||||
libc = "0.2"
|
||||
ffi = { package = "gstreamer-validate-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-validate-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst = { workspace = true, features = ["v1_22"] }
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -17,7 +17,7 @@ rust-version.workspace = true
|
|||
[dependencies]
|
||||
libc = "0.2"
|
||||
cfg-if = "1.0"
|
||||
ffi = { package = "gstreamer-video-sys", path = "sys" }
|
||||
ffi = { package = "gstreamer-video-sys", path = "sys", version = "0.22" }
|
||||
glib.workspace = true
|
||||
gst.workspace = true
|
||||
gst-base.workspace = true
|
||||
|
|
|
@ -18,6 +18,7 @@ external_libraries = [
|
|||
]
|
||||
|
||||
generate = [
|
||||
"GstVideo.AncillaryMetaField",
|
||||
"GstVideo.ColorBalance",
|
||||
"GstVideo.ColorBalanceChannel",
|
||||
"GstVideo.ColorBalanceType",
|
||||
|
|
|
@ -5,6 +5,124 @@
|
|||
|
||||
use glib::{prelude::*, translate::*, GStr};
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
||||
#[non_exhaustive]
|
||||
#[doc(alias = "GstAncillaryMetaField")]
|
||||
pub enum AncillaryMetaField {
|
||||
#[doc(alias = "GST_ANCILLARY_META_FIELD_PROGRESSIVE")]
|
||||
Progressive,
|
||||
#[doc(alias = "GST_ANCILLARY_META_FIELD_INTERLACED_FIRST")]
|
||||
InterlacedFirst,
|
||||
#[doc(alias = "GST_ANCILLARY_META_FIELD_INTERLACED_SECOND")]
|
||||
InterlacedSecond,
|
||||
#[doc(hidden)]
|
||||
__Unknown(i32),
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
#[doc(hidden)]
|
||||
impl IntoGlib for AncillaryMetaField {
|
||||
type GlibType = ffi::GstAncillaryMetaField;
|
||||
|
||||
#[inline]
|
||||
fn into_glib(self) -> ffi::GstAncillaryMetaField {
|
||||
match self {
|
||||
Self::Progressive => ffi::GST_ANCILLARY_META_FIELD_PROGRESSIVE,
|
||||
Self::InterlacedFirst => ffi::GST_ANCILLARY_META_FIELD_INTERLACED_FIRST,
|
||||
Self::InterlacedSecond => ffi::GST_ANCILLARY_META_FIELD_INTERLACED_SECOND,
|
||||
Self::__Unknown(value) => value,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
#[doc(hidden)]
|
||||
impl FromGlib<ffi::GstAncillaryMetaField> for AncillaryMetaField {
|
||||
#[inline]
|
||||
unsafe fn from_glib(value: ffi::GstAncillaryMetaField) -> Self {
|
||||
skip_assert_initialized!();
|
||||
|
||||
match value {
|
||||
ffi::GST_ANCILLARY_META_FIELD_PROGRESSIVE => Self::Progressive,
|
||||
ffi::GST_ANCILLARY_META_FIELD_INTERLACED_FIRST => Self::InterlacedFirst,
|
||||
ffi::GST_ANCILLARY_META_FIELD_INTERLACED_SECOND => Self::InterlacedSecond,
|
||||
value => Self::__Unknown(value),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
impl StaticType for AncillaryMetaField {
|
||||
#[inline]
|
||||
#[doc(alias = "gst_ancillary_meta_field_get_type")]
|
||||
fn static_type() -> glib::Type {
|
||||
unsafe { from_glib(ffi::gst_ancillary_meta_field_get_type()) }
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
impl glib::HasParamSpec for AncillaryMetaField {
|
||||
type ParamSpec = glib::ParamSpecEnum;
|
||||
type SetValue = Self;
|
||||
type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
|
||||
|
||||
fn param_spec_builder() -> Self::BuilderFn {
|
||||
Self::ParamSpec::builder_with_default
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
impl glib::value::ValueType for AncillaryMetaField {
|
||||
type Type = Self;
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
unsafe impl<'a> glib::value::FromValue<'a> for AncillaryMetaField {
|
||||
type Checker = glib::value::GenericValueTypeChecker<Self>;
|
||||
|
||||
#[inline]
|
||||
unsafe fn from_value(value: &'a glib::Value) -> Self {
|
||||
skip_assert_initialized!();
|
||||
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
impl ToValue for AncillaryMetaField {
|
||||
#[inline]
|
||||
fn to_value(&self) -> glib::Value {
|
||||
let mut value = glib::Value::for_value_type::<Self>();
|
||||
unsafe {
|
||||
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
|
||||
}
|
||||
value
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn value_type(&self) -> glib::Type {
|
||||
Self::static_type()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
impl From<AncillaryMetaField> for glib::Value {
|
||||
#[inline]
|
||||
fn from(v: AncillaryMetaField) -> Self {
|
||||
skip_assert_initialized!();
|
||||
ToValue::to_value(&v)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
||||
#[non_exhaustive]
|
||||
#[doc(alias = "GstColorBalanceType")]
|
||||
|
|
|
@ -62,6 +62,9 @@ mod video_sink;
|
|||
pub use self::video_sink::VideoSink;
|
||||
|
||||
mod enums;
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
pub use self::enums::AncillaryMetaField;
|
||||
pub use self::enums::ColorBalanceType;
|
||||
pub use self::enums::NavigationCommand;
|
||||
pub use self::enums::NavigationEventType;
|
||||
|
|
|
@ -24,7 +24,7 @@ impl Navigation {
|
|||
//}
|
||||
|
||||
//#[doc(alias = "gst_navigation_query_set_commandsv")]
|
||||
//pub fn query_set_commandsv(query: &gst::Query, cmds: /*Unimplemented*/&CArray TypeId { ns_id: 1, id: 6 }) {
|
||||
//pub fn query_set_commandsv(query: &gst::Query, cmds: /*Unimplemented*/&CArray TypeId { ns_id: 1, id: 8 }) {
|
||||
// unsafe { TODO: call ffi:gst_navigation_query_set_commandsv() }
|
||||
//}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -990,6 +990,177 @@ unsafe impl MetaAPI for VideoSeiUserDataUnregisteredMeta {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
#[repr(transparent)]
|
||||
#[doc(alias = "GstAncillaryMeta")]
|
||||
pub struct AncillaryMeta(ffi::GstAncillaryMeta);
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
unsafe impl Send for AncillaryMeta {}
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
unsafe impl Sync for AncillaryMeta {}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
impl AncillaryMeta {
|
||||
#[doc(alias = "gst_buffer_add_ancillary_meta")]
|
||||
pub fn add(buffer: &mut gst::BufferRef) -> gst::MetaRefMut<Self, gst::meta::Standalone> {
|
||||
skip_assert_initialized!();
|
||||
unsafe {
|
||||
let meta = ffi::gst_buffer_add_ancillary_meta(buffer.as_mut_ptr());
|
||||
|
||||
Self::from_mut_ptr(buffer, meta)
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn field(&self) -> crate::AncillaryMetaField {
|
||||
unsafe { from_glib(self.0.field) }
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_field(&mut self, field: crate::AncillaryMetaField) {
|
||||
self.0.field = field.into_glib();
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn c_not_y_channel(&self) -> bool {
|
||||
unsafe { from_glib(self.0.c_not_y_channel) }
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_c_not_y_channel(&mut self, c_not_y_channel: bool) {
|
||||
self.0.c_not_y_channel = c_not_y_channel.into_glib();
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn line(&self) -> u16 {
|
||||
self.0.line
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_line(&mut self, line: u16) {
|
||||
self.0.line = line;
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn offset(&self) -> u16 {
|
||||
self.0.offset
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_offset(&mut self, offset: u16) {
|
||||
self.0.offset = offset;
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn did(&self) -> u16 {
|
||||
self.0.DID
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_did(&mut self, did: u16) {
|
||||
self.0.DID = did;
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn sdid_block_number(&self) -> u16 {
|
||||
self.0.SDID_block_number
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_sdid_block_number(&mut self, sdid_block_number: u16) {
|
||||
self.0.SDID_block_number = sdid_block_number;
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn data_count(&self) -> u16 {
|
||||
self.0.data_count
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn checksum(&self) -> u16 {
|
||||
self.0.checksum
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_checksum(&mut self, checksum: u16) {
|
||||
self.0.checksum = checksum;
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn data(&self) -> &[u16] {
|
||||
if self.0.data_count & 0xff == 0 {
|
||||
return &[];
|
||||
}
|
||||
unsafe {
|
||||
use std::slice;
|
||||
|
||||
slice::from_raw_parts(self.0.data, (self.0.data_count & 0xff) as usize)
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn data_mut(&mut self) -> &mut [u16] {
|
||||
if self.0.data_count & 0xff == 0 {
|
||||
return &mut [];
|
||||
}
|
||||
unsafe {
|
||||
use std::slice;
|
||||
|
||||
slice::from_raw_parts_mut(self.0.data, (self.0.data_count & 0xff) as usize)
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_data(&mut self, data: glib::Slice<u16>) {
|
||||
unsafe {
|
||||
assert!(data.len() < 256);
|
||||
self.0.data_count = data.len() as u16;
|
||||
self.0.data = data.into_glib_ptr();
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_data_count_upper_two_bits(&mut self, upper_two_bits: u8) {
|
||||
assert!(upper_two_bits & !0x03 == 0);
|
||||
self.0.data_count = ((upper_two_bits as u16) << 8) | self.0.data_count & 0xff;
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
unsafe impl MetaAPI for AncillaryMeta {
|
||||
type GstType = ffi::GstAncillaryMeta;
|
||||
|
||||
#[doc(alias = "gst_ancillary_meta_api_get_type")]
|
||||
#[inline]
|
||||
fn meta_api() -> glib::Type {
|
||||
unsafe { from_glib(ffi::gst_ancillary_meta_api_get_type()) }
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
impl fmt::Debug for AncillaryMeta {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
f.debug_struct("AncillaryMeta")
|
||||
.field("field", &self.field())
|
||||
.field("c_not_y_channel", &self.c_not_y_channel())
|
||||
.field("line", &self.line())
|
||||
.field("offset", &self.offset())
|
||||
.field("did", &self.did())
|
||||
.field("sdid_block_number", &self.sdid_block_number())
|
||||
.field("data_count", &self.data_count())
|
||||
.field("data", &self.data())
|
||||
.field("checksum", &self.checksum())
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Generated by gir (https://github.com/gtk-rs/gir @ 5975266da3b0)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ fe8258109e60)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ 63e90a30193b)
|
||||
Generated by gir (https://github.com/gtk-rs/gir @ 0e476ab5c1de)
|
||||
from gir-files (https://github.com/gtk-rs/gir-files @ cfc0305f903b)
|
||||
from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git @ bca9723cb3e5)
|
||||
|
|
|
@ -27,6 +27,11 @@ use libc::{
|
|||
use glib::{gboolean, gconstpointer, gpointer, GType};
|
||||
|
||||
// Enums
|
||||
pub type GstAncillaryMetaField = c_int;
|
||||
pub const GST_ANCILLARY_META_FIELD_PROGRESSIVE: GstAncillaryMetaField = 0;
|
||||
pub const GST_ANCILLARY_META_FIELD_INTERLACED_FIRST: GstAncillaryMetaField = 16;
|
||||
pub const GST_ANCILLARY_META_FIELD_INTERLACED_SECOND: GstAncillaryMetaField = 17;
|
||||
|
||||
pub type GstColorBalanceType = c_int;
|
||||
pub const GST_COLOR_BALANCE_HARDWARE: GstColorBalanceType = 0;
|
||||
pub const GST_COLOR_BALANCE_SOFTWARE: GstColorBalanceType = 1;
|
||||
|
@ -799,6 +804,38 @@ pub type GstVideoGLTextureUpload =
|
|||
Option<unsafe extern "C" fn(*mut GstVideoGLTextureUploadMeta, *mut c_uint) -> gboolean>;
|
||||
|
||||
// Records
|
||||
#[derive(Copy, Clone)]
|
||||
#[repr(C)]
|
||||
pub struct GstAncillaryMeta {
|
||||
pub meta: gst::GstMeta,
|
||||
pub field: GstAncillaryMetaField,
|
||||
pub c_not_y_channel: gboolean,
|
||||
pub line: u16,
|
||||
pub offset: u16,
|
||||
pub DID: u16,
|
||||
pub SDID_block_number: u16,
|
||||
pub data_count: u16,
|
||||
pub data: *mut u16,
|
||||
pub checksum: u16,
|
||||
}
|
||||
|
||||
impl ::std::fmt::Debug for GstAncillaryMeta {
|
||||
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
||||
f.debug_struct(&format!("GstAncillaryMeta @ {self:p}"))
|
||||
.field("meta", &self.meta)
|
||||
.field("field", &self.field)
|
||||
.field("c_not_y_channel", &self.c_not_y_channel)
|
||||
.field("line", &self.line)
|
||||
.field("offset", &self.offset)
|
||||
.field("DID", &self.DID)
|
||||
.field("SDID_block_number", &self.SDID_block_number)
|
||||
.field("data_count", &self.data_count)
|
||||
.field("data", &self.data)
|
||||
.field("checksum", &self.checksum)
|
||||
.finish()
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Copy, Clone)]
|
||||
#[repr(C)]
|
||||
pub struct GstColorBalanceChannelClass {
|
||||
|
@ -2511,6 +2548,13 @@ impl ::std::fmt::Debug for GstVideoOverlay {
|
|||
#[link(name = "gstvideo-1.0")]
|
||||
extern "C" {
|
||||
|
||||
//=========================================================================
|
||||
// GstAncillaryMetaField
|
||||
//=========================================================================
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
pub fn gst_ancillary_meta_field_get_type() -> GType;
|
||||
|
||||
//=========================================================================
|
||||
// GstColorBalanceType
|
||||
//=========================================================================
|
||||
|
@ -2883,6 +2927,13 @@ extern "C" {
|
|||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
|
||||
pub fn gst_video_time_code_flags_get_type() -> GType;
|
||||
|
||||
//=========================================================================
|
||||
// GstAncillaryMeta
|
||||
//=========================================================================
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
pub fn gst_ancillary_meta_get_info() -> *const gst::GstMetaInfo;
|
||||
|
||||
//=========================================================================
|
||||
// GstVideoAFDMeta
|
||||
//=========================================================================
|
||||
|
@ -4362,6 +4413,10 @@ extern "C" {
|
|||
//=========================================================================
|
||||
// Other functions
|
||||
//=========================================================================
|
||||
pub fn gst_ancillary_meta_api_get_type() -> GType;
|
||||
#[cfg(feature = "v1_24")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
|
||||
pub fn gst_buffer_add_ancillary_meta(buffer: *mut gst::GstBuffer) -> *mut GstAncillaryMeta;
|
||||
#[cfg(feature = "v1_18")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
|
||||
pub fn gst_buffer_add_video_afd_meta(
|
||||
|
|
|
@ -202,6 +202,20 @@ fn get_c_output(name: &str) -> Result<String, Box<dyn Error>> {
|
|||
}
|
||||
|
||||
const RUST_LAYOUTS: &[(&str, Layout)] = &[
|
||||
(
|
||||
"GstAncillaryMeta",
|
||||
Layout {
|
||||
size: size_of::<GstAncillaryMeta>(),
|
||||
alignment: align_of::<GstAncillaryMeta>(),
|
||||
},
|
||||
),
|
||||
(
|
||||
"GstAncillaryMetaField",
|
||||
Layout {
|
||||
size: size_of::<GstAncillaryMetaField>(),
|
||||
alignment: align_of::<GstAncillaryMetaField>(),
|
||||
},
|
||||
),
|
||||
(
|
||||
"GstColorBalanceChannel",
|
||||
Layout {
|
||||
|
@ -954,6 +968,9 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[
|
|||
];
|
||||
|
||||
const RUST_CONSTANTS: &[(&str, &str)] = &[
|
||||
("(gint) GST_ANCILLARY_META_FIELD_INTERLACED_FIRST", "16"),
|
||||
("(gint) GST_ANCILLARY_META_FIELD_INTERLACED_SECOND", "17"),
|
||||
("(gint) GST_ANCILLARY_META_FIELD_PROGRESSIVE", "0"),
|
||||
(
|
||||
"GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META",
|
||||
"GstBufferPoolOptionVideoAffineTransformation",
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue