[package]
name = "pssh-box"
description = "Parsing and serialization support for PSSH boxes used in DRM systems"
version = "0.1.10"
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.210", features = ["derive"] }
serde_path_to_error = "0.1.16"
serde_with = { version = "3.11.0", features = ["base64"] }
serde-xml-rs = "0.6.0"
serde_json = "1.0.132"
zerocopy = { version = "0.8.7", features = ["derive"] }
quick-xml = { version = "0.36.2", features = ["serialize", "overlapped-lists", "serde-types"] }
prost = { version = "0.13.3", features = ["prost-derive"] }
prost-types = "0.13.3"
bytes = "1.8.0"
byteorder = "1.5.0"
hex = "0.4.3"
hex-literal = "0.4.1"
hxdmp = "0.2.1"
bstr = "1.10.0"
num_enum = "0.7.3"
base64 = "0.22.1"
tracing = { version = "0.1.40", features = ["attributes"] }
anyhow = "1.0.90"
[dev-dependencies]
clap = { version = "=4.4.18", features = ["cargo", "unicode", "wrap_help"] }
reqwest = { version = "0.12.8", features = ["blocking"] }
tokio = { version = "1.40.0", features = ["rt-multi-thread", "time", "macros"] }
tracing-subscriber = { version = "0.3", features = ["env-filter", "time"] }
test-log = { version = "0.2.16", features = ["trace"] }
pretty_assertions = "1.4.1"
[features]
vendored-protoc = ["dep:protobuf-src"]
[build-dependencies]
prost-build = { version = "0.13.3" }
protobuf-src = { version = "2.1.0", optional = true }
[profile.release]
lto = true
opt-level = 's'