mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2025-09-02 01:43:49 +00:00
tracer: Add pool buffer_queue/buffer_dequeue hooks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1664>
This commit is contained in:
parent
5e6204ecc2
commit
a2c9e1ef88
2 changed files with 23 additions and 38 deletions
|
@ -1,38 +0,0 @@
|
|||
[package]
|
||||
name = "gstreamer-media-info"
|
||||
authors = ["Thibault Saunier <tsaunier@igalia.com>"]
|
||||
categories = ["multimedia"]
|
||||
description = "Exposes an API to inspect media streams"
|
||||
license = "MIT/Apache-2.0"
|
||||
readme = "README.md"
|
||||
documentation = "https://gstreamer.pages.freedesktop.org/gstreamer-rs/stable/latest/docs/gstreamer_media_info/"
|
||||
keywords = ["gstreamer", "multimedia", "audio", "video", "gnome"]
|
||||
version.workspace = true
|
||||
repository.workspace = true
|
||||
homepage.workspace = true
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
gst = { workspace = true }
|
||||
tokio = { version = "1.0", features = ["rt", "rt-multi-thread"] }
|
||||
futures = "0.3"
|
||||
anyhow = "1.0"
|
||||
url = "2.3"
|
||||
once_cell = "1"
|
||||
|
||||
[dev-dependencies]
|
||||
futures = { version = "0.3", features = ["executor"] }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
v1_22 = []
|
||||
v1_24 = ["v1_22"]
|
||||
v1_26 = ["v1_24"]
|
||||
v1_28 = ["v1_26"]
|
||||
[package.metadata.docs.rs]
|
||||
all-features = true
|
||||
rustc-args = ["--cfg", "docsrs"]
|
||||
rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"]
|
|
@ -98,6 +98,13 @@ pub trait TracerImpl: GstObjectImpl + ObjectSubclass<Type: IsA<Tracer>> {
|
|||
#[cfg(feature = "v1_26")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
|
||||
fn memory_free_post(&self, ts: u64, mem: std::ptr::NonNull<ffi::GstMemory>) {}
|
||||
|
||||
#[cfg(feature = "v1_28")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
|
||||
fn pool_buffer_queued(&self, ts: u64, pool: &crate::BufferPool, buffer: &Buffer) {}
|
||||
#[cfg(feature = "v1_28")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
|
||||
fn pool_buffer_dequeued(&self, ts: u64, pool: &crate::BufferPool, buffer: &Buffer) {}
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "v1_26"))]
|
||||
|
@ -503,4 +510,20 @@ define_tracer_hooks! {
|
|||
MemoryFreePost("memory-free-post") = |this, ts, memory: *mut ffi::GstMemory| {
|
||||
this.memory_free_post(ts, std::ptr::NonNull::new_unchecked(memory))
|
||||
};
|
||||
#[cfg(feature = "v1_28")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
|
||||
PoolBufferQueued("pool-buffer-queued") = |this, ts, pool: *mut ffi::GstBufferPool, buffer: *mut ffi::GstBuffer| {
|
||||
let pool = crate::BufferPool::from_glib_borrow(pool);
|
||||
let b = Buffer::from_glib_borrow(buffer);
|
||||
|
||||
this.pool_buffer_queued(ts, &pool, &b)
|
||||
};
|
||||
#[cfg(feature = "v1_28")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "v1_28")))]
|
||||
PoolBufferDequeued("pool-buffer-dequeued") = |this, ts, pool: *mut ffi::GstBufferPool, buffer: *mut ffi::GstBuffer| {
|
||||
let pool = crate::BufferPool::from_glib_borrow(pool);
|
||||
let b = Buffer::from_glib_borrow(buffer);
|
||||
|
||||
this.pool_buffer_dequeued(ts, &pool, &b)
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue