gst-plugins-rs/video/closedcaption/Cargo.toml
Mathieu Duponchelle 635a83a8d7 transcriberbin: notify passthrough at the appropriate time
We want to enable passthrough internally, and only notify that
internally it has been enabled once the transcriber has been unlinked.

This way applications connected to the notify handler can synchronously
update the properties and attempt to disable passthrough again.

Doing so properly requires a refactoring of the transition to the
passthrough state, with the currently set passthrough mode maintained
separately from the target passthrough state.

This commit also finishes the work left incomplete in
17d7997137 by moving the passthrough
property to the sink pad class, making each transcriber passthrough
state independent from the others.

Also adds an example to demonstrate the behavior

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1856>
2024-11-05 12:23:54 +00:00

68 lines
1.8 KiB
TOML

[package]
name = "gst-plugin-closedcaption"
version.workspace = true
authors = ["Sebastian Dröge <sebastian@centricular.com>", "Jordan Petridis <jordan@centricular.com>", "Matthew Waters <matthew@centricular.com>"]
license = "MPL-2.0"
edition.workspace = true
rust-version.workspace = true
description = "GStreamer Rust Closed Caption Plugin"
repository.workspace = true
[dependencies]
anyhow = "1"
either = "1"
uuid = { version = "1.0", features = ["v4"] }
chrono = "0.4.23"
atomic_refcell = "0.1"
cairo-rs.workspace = true
pango.workspace = true
pangocairo.workspace = true
byteorder = "1"
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", features = ["raw_value"] }
cea708-types = "0.3.2"
cea608-types = "0.1.1"
gst = { workspace = true, features = ["v1_20"]}
gst-base = { workspace = true, features = ["v1_22"]}
gst-video = { workspace = true, features = ["v1_16"]}
winnow = "0.6"
smallvec = "1"
bitstream-io = "2.3"
[dev-dependencies]
pretty_assertions = "1"
rand = { version = "0.8", features = ["small_rng"] }
gst-check.workspace = true
clap = { version = "4", features = ["derive"] }
[lib]
name = "gstrsclosedcaption"
crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[build-dependencies]
gst-plugin-version-helper.workspace = true
[features]
# We already use 1.16 which is new enough for static build
static = []
capi = []
doc = ["gst/v1_18"]
v1_26 = ["gst-base/v1_26"]
[package.metadata.capi]
min_version = "0.9.21"
[package.metadata.capi.header]
enabled = false
[package.metadata.capi.library]
install_subdir = "gstreamer-1.0"
versioning = false
import_library = false
[package.metadata.capi.pkg_config]
requires_private = "gstreamer-1.0, gstreamer-base-1.0, gstreamer-video-1.0, gobject-2.0, glib-2.0, gmodule-2.0, pango, pangocairo, cairo-gobject"
[[example]]
name = "passthrough-notify"