[package]
name    = "dvb-t2mi"
version = "3.1.2"
edition = "2021"
description = "ETSI TS 102 773 DVB-T2 Modulator Interface parser + builder."
license      = "MIT OR Apache-2.0"
authors      = ["Alex Fishlock <alex.fishlock@racingjag.com>"]
keywords = ["dvb", "t2mi", "mpeg", "broadcast"]
categories = ["parser-implementations", "multimedia"]
repository   = "https://github.com/fishloa/rust-dvb"
readme       = "README.md"
rust-version = "1.75"
exclude      = ["docs/**"]

[package.metadata.docs.rs]
all-features = true

[dependencies]
dvb-common = { path = "../dvb-common", version = "3.1" }
thiserror  = "2"
num_enum   = "0.7"
bytes      = { version = "1", optional = true }
serde      = { version = "1", optional = true, features = ["derive"] }
yoke       = { version = "0.7", optional = true, features = ["derive"] }

[dev-dependencies]
serde_json = "1.0"
dvb-si     = { path = "../dvb-si", features = ["ts"] }
dvb-bbframe = { path = "../dvb-bbframe" }

[features]
default = ["ts"]
ts      = ["dep:bytes"]
serde   = ["dep:serde"]

# yoke::Yokeable on the zero-copy payload view types (mirrors dvb-si's `yoke`
# feature) — own a parsed T2-MI payload past the input buffer's borrow.
yoke    = ["dep:yoke"]

# t2mi_dump: pump a TS/T2-MI stream (feature `ts` for feed_ts).
[[example]]
name              = "t2mi_dump"
required-features = ["ts"]
