[package] name = "synctv-xiu" description = "Consolidated streaming library: RTMP, RTSP, HLS, HTTP-FLV protocols with FLV/MPEG-TS containers" version.workspace = true edition.workspace = true license = "MIT" [features] default = [] s3 = ["dep:opendal", "dep:opendal-http-transport-reqwest", "dep:rustls"] tls-aws-lc = ["synctv-common/tls-aws-lc", "rustls/aws_lc_rs"] tls-ring = ["synctv-common/tls-ring", "rustls/ring"] tls-webpki-roots = ["synctv-common/tls-webpki-roots"] tls-native-roots = ["synctv-common/tls-native-roots"] [lints] workspace = true [dependencies] synctv-common = { workspace = true, default-features = false } # Byte manipulation byteorder.workspace = true bytes.workspace = true # Randomness rand.workspace = true # Error handling thiserror.workspace = true anyhow.workspace = true # Async runtime tokio.workspace = true tokio-util.workspace = true futures.workspace = true async-trait.workspace = true retina.workspace = true webrtc.workspace = true rtc.workspace = true sdp.workspace = true opus.workspace = true fdk-aac.workspace = true # Logging tracing.workspace = true # Serialization serde = { workspace = true, features = ["rc"] } serde_json.workspace = true indexmap.workspace = true # Time chrono.workspace = true # Crypto hmac.workspace = true sha2.workspace = true hex.workspace = true # Concurrency dashmap.workspace = true parking_lot.workspace = true lru.workspace = true # IDs uuid.workspace = true # HTTP url.workspace = true percent-encoding.workspace = true # Resilience backon.workspace = true # Object storage (optional, behind `s3` feature) opendal = { workspace = true, optional = true } opendal-http-transport-reqwest = { workspace = true, optional = true } rustls = { workspace = true, optional = true } [dev-dependencies] base64.workspace = true ffmpeg-next.workspace = true ffmpeg-sys-next.workspace = true reqwest.workspace = true rust_h265.workspace = true rusty_aac.workspace = true rusty_h264.workspace = true synctv-core-testing = { workspace = true, features = ["streaming"] } tempfile.workspace = true tokio = { workspace = true, features = ["test-util"] }