[package]
edition = "2024"
rust-version = "1.95.0"
name = "ttml-subtitle"
version = "0.2.0"
authors = ["Alex Fishlock <alex.fishlock@racingjag.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "TTML2 / IMSC 1.1 timed-text subtitle parser — W3C TTML2 + IMSC 1.1 profile validation."
readme = "README.md"
keywords = [
"ttml",
"imsc",
"subtitle",
"timed-text",
"broadcast",
]
categories = [
"parser-implementations",
"multimedia",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/fishloa/rust-broadcast"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["std"]
serde = ["dep:serde"]
std = [
"broadcast-common/std",
"thiserror/std",
"roxmltree/std",
]
[lib]
name = "ttml_subtitle"
path = "src/lib.rs"
[[example]]
name = "from_scratch"
path = "examples/from_scratch.rs"
[[example]]
name = "parse_document"
path = "examples/parse_document.rs"
[[example]]
name = "validate_document"
path = "examples/validate_document.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "label_coverage"
path = "tests/label_coverage.rs"
[[test]]
name = "non_exhaustive_coverage"
path = "tests/non_exhaustive_coverage.rs"
[dependencies.broadcast-common]
version = "9.3"
default-features = false
[dependencies.roxmltree]
version = "0.20"
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.thiserror]
version = "2"
default-features = false
[dev-dependencies.serde_json]
version = "1.0"