[package]
name = "dash-mpd"
version = "0.17.4"
authors = ["Eric Marsden <eric.marsden@risk-engineering.org>"]
description = "Parse, serialize, download an MPD manifest for MPEG-DASH or WebM-DASH media streaming"
readme = "README.md"
repository = "https://github.com/emarsden/dash-mpd-rs"
license = "MIT"
keywords = ["video", "streaming", "MPD", "DASH", "MPEG"]
categories = ["multimedia", "multimedia::video", "parser-implementations"]
publish = true
edition = "2021"
[dependencies]
base64 = "0.22.1"
base64-serde = "0.8.0"
byteorder = "1.5.0"
lazy_static = "1.5.0"
serde = { version = "1.0.215", features = ["derive"] }
serde_path_to_error = "0.1.16"
serde_ignored = { version = "0.1.10", optional = true }
serde_with = { version = "3.11.0", features = ["base64"] }
quick-xml = { version = "0.37.1", features = ["serialize", "overlapped-lists"] }
url = "2.5.4"
chrono = { version = "0.4.38", features = ["serde"] }
num-traits = "0.2.19"
iso8601 = "0.6.1"
regex = "1.11.1"
thiserror = "2.0.3"
fs-err = "3.0.0"
tracing = { version = "0.1.40", features = ["attributes"] }
data-url = { version = "0.3.1", optional = true }
bytes = "1.8.0"
reqwest = { version = "0.12.9", default-features = false, features = ["cookies"], optional = true }
tokio = { version = "1.41.1", features = ["rt-multi-thread", "time", "macros"], optional = true }
backoff = { version = "0.4.0", features = ["tokio"], optional = true }
governor = { version = "0.7.0", optional = true }
xmltree = { version = "0.11.0", optional = true }
async-recursion = { version = "1.1.1", optional = true }
tempfile = { version = "3.14.0", optional = true }
sanitise-file-name = { version = "1.0.0", optional = true }
colored = { version = "2.1.0", optional = true }
ac-ffmpeg = { version = "0.18.1", optional = true }
ffprobe = { version = "0.4.0", optional = true }
file-format = { version = "0.26.0", features = ["reader"], optional = true }
bstr = { version = "1.11.0", optional = true }
hex-literal = { version = "0.4.1", optional = true }
pssh-box = { version = "0.1.10", optional = true }
hxdmp = "0.2.1"
webm-iterable = "0.6.3"
[dev-dependencies]
sha2 = "0.10.8"
hex-literal = "0.4.1"
colored = "2.1.0"
indicatif = "0.17.9"
clap = "=4.4.18"
tokio = { version = "1.41.1", features = ["rt-multi-thread", "time", "macros"] }
tracing-subscriber = { version = "0.3", features = ["env-filter", "time"] }
proptest = "1.5.0"
http = "1.1.0"
axum = "0.7.9"
hyper-serve = { version = "0.6.2" }
axum-auth = "0.7.0"
noxious-client = "1.0.4"
reqwest = { version = "0.12.9", default-features = false, features = ["cookies", "json", "blocking"] }
serde_json = "1.0.133"
anyhow = "1.0.93"
roxmltree = "0.20.0"
xmlem = "0.2.3"
json = "0.12.4"
mp4 = "0.14.0"
image = "0.25.5"
pretty_assertions = "1.4.1"
approx = "0.5.1"
assert_cmd = "2.0.16"
[features]
default = ["fetch", "native-tls", "compression", "socks", "scte35"]
fetch = ["data-url", "reqwest", "tokio", "backoff", "governor", "xmltree", "async-recursion", "tempfile", "sanitise-file-name", "ffprobe", "file-format", "colored", "bstr", "hex-literal", "pssh-box"]
libav = ["ac-ffmpeg"]
scte35 = []
warn_ignored_elements = ["serde_ignored"]
compression = ["reqwest/gzip"]
socks = ["reqwest/socks"]
native-tls = ["reqwest/native-tls"]
rustls-tls = ["reqwest/rustls-tls"]
trust-dns = ["reqwest/trust-dns"]
hickory-dns = ["reqwest/hickory-dns"]
[target.'cfg(unix)'.dependencies]
xattr = "1.3.1"