2018-12-28 22:00:28 +00:00
|
|
|
[package]
|
|
|
|
name = "gst-plugin-closedcaption"
|
2023-02-09 22:23:56 +00:00
|
|
|
version = "0.11.0-alpha.1"
|
2020-07-29 09:54:15 +00:00
|
|
|
authors = ["Sebastian Dröge <sebastian@centricular.com>", "Jordan Petridis <jordan@centricular.com>", "Matthew Waters <matthew@centricular.com>"]
|
2022-01-15 18:40:12 +00:00
|
|
|
license = "MPL-2.0"
|
2021-10-31 10:54:12 +00:00
|
|
|
edition = "2021"
|
2023-02-20 09:09:01 +00:00
|
|
|
rust-version = "1.66"
|
2022-10-23 09:13:23 +00:00
|
|
|
description = "GStreamer Rust Closed Caption Plugin"
|
2019-06-03 10:53:58 +00:00
|
|
|
repository = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs"
|
2018-12-28 22:00:28 +00:00
|
|
|
|
|
|
|
[dependencies]
|
2021-06-22 20:08:08 +00:00
|
|
|
anyhow = "1"
|
2021-08-26 06:18:58 +00:00
|
|
|
nom = "7.0"
|
2018-12-28 22:00:28 +00:00
|
|
|
either = "1"
|
2022-04-22 11:29:42 +00:00
|
|
|
uuid = { version = "1.0", features = ["v4"] }
|
2022-11-12 16:41:08 +00:00
|
|
|
chrono = "0.4.23"
|
2020-11-22 17:21:45 +00:00
|
|
|
once_cell = "1.0"
|
2020-03-06 17:25:32 +00:00
|
|
|
atomic_refcell = "0.1"
|
2021-05-13 06:50:08 +00:00
|
|
|
cairo-rs = { git = "https://github.com/gtk-rs/gtk-rs-core", features=["use_glib"] }
|
|
|
|
pango = { git = "https://github.com/gtk-rs/gtk-rs-core" }
|
|
|
|
pangocairo = { git = "https://github.com/gtk-rs/gtk-rs-core" }
|
2020-07-29 09:54:15 +00:00
|
|
|
byteorder = "1"
|
tttocea608: in-depth refactoring, support for new input format
Up to now, tttocea608 supported text/utf8, and no interface to
control the positioning of closed captions apart from new lines
in the input text.
CEA 608 supports a larger set of features than that, such as
positioning CC precisely in its 32 x 15 grid, styling text,
switching from one mode to another, resetting the base row
in roll-up mode etc ..
A custom, JSON-based format is now supported by the element
(caps application/x-json, format=cea608), allowing users to
control those features in a pretty advanced manner.
A side effect of this is that the approach previously used
by the element to ensure frame-accurate CC display is now
untenable: where we knew before that an input buffer would
at most span 74 buffers and calculate a somewhat reasonable
latency based on that, this is no longer possible. Instead
we pick the approach most CC encoders seem to pick, and
accept a certain latency at display time: for example the
flipping of the back buffer to the display buffer for a
10-character text buffer will occur 7 frames after its
PTS. This has obvious benefits in terms of code complexity
and should generally be acceptable.
+ Removes a now irrelevant test, updates other tests
+ Extracts the Mode enum to the root of the crate, it will
be used by another element in a follow-up commit
2020-12-07 21:23:51 +00:00
|
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
|
|
serde_json = { version = "1.0", features = ["raw_value"] }
|
2023-03-01 02:06:11 +00:00
|
|
|
cea708-types = "0.1"
|
2018-12-28 22:00:28 +00:00
|
|
|
|
2018-12-31 09:35:13 +00:00
|
|
|
[dependencies.gst]
|
|
|
|
git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs"
|
2020-05-22 14:34:20 +00:00
|
|
|
features = ["v1_16"]
|
2018-12-31 09:35:13 +00:00
|
|
|
package="gstreamer"
|
|
|
|
|
|
|
|
[dependencies.gst-base]
|
|
|
|
git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs"
|
2020-05-22 14:34:20 +00:00
|
|
|
features = ["v1_16"]
|
2018-12-31 09:35:13 +00:00
|
|
|
package="gstreamer-base"
|
|
|
|
|
|
|
|
[dependencies.gst-video]
|
|
|
|
git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs"
|
2020-05-22 14:34:20 +00:00
|
|
|
features = ["v1_16"]
|
2018-12-31 09:35:13 +00:00
|
|
|
package="gstreamer-video"
|
|
|
|
|
2018-12-28 22:00:28 +00:00
|
|
|
[dev-dependencies]
|
2021-10-14 07:20:19 +00:00
|
|
|
pretty_assertions = "1"
|
2021-01-09 10:24:28 +00:00
|
|
|
rand = { version = "0.8", features = ["small_rng"] }
|
2018-12-28 22:00:28 +00:00
|
|
|
|
2018-12-31 09:35:13 +00:00
|
|
|
[dev-dependencies.gst-check]
|
|
|
|
git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs"
|
|
|
|
package="gstreamer-check"
|
|
|
|
|
2018-12-28 22:00:28 +00:00
|
|
|
[lib]
|
|
|
|
name = "gstrsclosedcaption"
|
2020-11-26 15:07:41 +00:00
|
|
|
crate-type = ["cdylib", "rlib"]
|
2018-12-28 22:00:28 +00:00
|
|
|
path = "src/lib.rs"
|
2019-06-03 10:53:58 +00:00
|
|
|
|
|
|
|
[build-dependencies]
|
2020-04-05 14:38:52 +00:00
|
|
|
gst-plugin-version-helper = { path="../../version-helper" }
|
2020-03-06 17:25:32 +00:00
|
|
|
cc = "1.0"
|
2020-11-26 15:07:41 +00:00
|
|
|
|
|
|
|
[features]
|
|
|
|
# We already use 1.16 which is new enough for static build
|
|
|
|
static = []
|
2021-08-11 17:51:36 +00:00
|
|
|
capi = []
|
2022-08-25 22:30:08 +00:00
|
|
|
doc = ["gst/v1_18"]
|
2020-11-26 15:07:41 +00:00
|
|
|
|
|
|
|
[package.metadata.capi]
|
2021-07-09 10:49:33 +00:00
|
|
|
min_version = "0.8.0"
|
2020-11-26 15:07:41 +00:00
|
|
|
|
|
|
|
[package.metadata.capi.header]
|
|
|
|
enabled = false
|
|
|
|
|
|
|
|
[package.metadata.capi.library]
|
|
|
|
install_subdir = "gstreamer-1.0"
|
|
|
|
versioning = 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"
|