[package]
name = "pssh-box"
description = "Parsing and serialization support for PSSH boxes used in DRM systems"
version = "0.2.2"
authors = ["Eric Marsden <eric.marsden@risk-engineering.org>"]
readme = "README.md"
repository = "https://github.com/emarsden/pssh-box-rs/"
license = "MIT"
keywords = ["PSSH", "DRM", "DASH", "streaming", "ContentProtection"]
categories = ["multimedia::video", "parser-implementations"]
publish = true
edition = "2021"
[dependencies]
serde = { version = "1.0.228", features = ["derive"] }
serde_path_to_error = "0.1.20"
serde_with = { version = "3.16.0", features = ["base64"] }
serde-xml-rs = "0.8.1"
serde_json = "1.0.149"
zerocopy = { version = "0.8.33", features = ["derive"] }
quick-xml = { version = "0.39.0", features = ["serialize", "overlapped-lists", "serde-types"] }
prost = { version = "0.14.3", features = ["derive"] }
prost-types = "0.14.3"
bytes = "1.11.0"
byteorder = "1.5.0"
hex = "0.4.3"
hex-literal = "1.1.0"
hxdmp = "0.2.1"
bstr = "1.12.1"
num_enum = "0.7.5"
base64 = "0.22.1"
tracing = { version = "0.1.44", features = ["attributes"] }
anyhow = "1.0.100"
[dev-dependencies]
clap = { version = "4.5.54", features = ["cargo", "unicode", "wrap_help"] }
reqwest = { version = "0.13.1", features = ["blocking"] }
tokio = { version = "1.49.0", features = ["rt-multi-thread", "time", "macros"] }
tracing-subscriber = { version = "0.3", features = ["env-filter", "time"] }
test-log = { version = "0.2.19", features = ["trace"] }
pretty_assertions = "1.4.1"
[features]
vendored-protoc = ["dep:protobuf-src"]
[build-dependencies]
prost-build = { version = "0.14.3" }
protobuf-src = { version = "2.1.1", optional = true }
[profile.release]
lto = true
opt-level = 's'