[package]
name = "ff-decode"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
description = "Video and audio decoding - the Rust way"
license.workspace = true
readme = "README.md"
repository.workspace = true
keywords = ["video", "audio", "ffmpeg", "media", "decode"]
categories = ["multimedia::video", "multimedia::audio"]

[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
ff-common = { workspace = true }
ff-format = { workspace = true }
ff-sys = { workspace = true }
thiserror = { workspace = true }
log = { workspace = true }
tokio   = { workspace = true, optional = true }
futures = { workspace = true, optional = true }

[dev-dependencies]
criterion = { workspace = true }
ff-format = { workspace = true }
tokio = { version = "1.50.0", features = ["macros", "rt", "rt-multi-thread"] }

[target.'cfg(windows)'.dev-dependencies]
winapi = { workspace = true, features = ["processthreadsapi", "psapi"] }

[features]
default = ["hwaccel"]
hwaccel = []  # Hardware acceleration
tokio = ["dep:tokio", "dep:futures"]
srt = []      # SRT (Secure Reliable Transport) protocol input

[[bench]]
name = "decode_bench"
harness = false

[lints]
workspace = true
