[package]
name = "mediaway-decoder"
description = "Hardware-accelerated video/audio decoding (OS-native backends)"
version.workspace = true
publish = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
[dependencies]
mediaway-common = { workspace = true }
thiserror = { workspace = true }
iso-bmff = { workspace = true }
mediaway-sw = { workspace = true }
smallvec = { workspace = true }
wasm-bindgen = { workspace = true }
wasm-bindgen-futures = { workspace = true }
[target.'cfg(not(target_family = "wasm"))'.dependencies]
vulkanalia = { workspace = true }
[lints]
workspace = true
[lib]
crate-type = ["cdylib", "rlib"]
[dev-dependencies]
mediaway-encoder = { workspace = true, features = ["video"] }
criterion = { workspace = true }
[target.'cfg(windows)'.dependencies]
windows = { workspace = true, features = [
"Win32_Foundation",
"Win32_System_Com",
"Win32_System_Threading",
"Win32_Security",
"Win32_Media_MediaFoundation",
"Win32_Graphics_Direct3D",
"Win32_Graphics_Direct3D11",
"Win32_Graphics_Direct3D12",
"Win32_Graphics_Dxgi",
"Win32_Graphics_Dxgi_Common",
] }
[target.'cfg(target_os = "linux")'.dependencies]
cros-libva = { workspace = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen-futures = { workspace = true }
js-sys = { workspace = true }
web-sys = { workspace = true, features = [
"EncodedVideoChunk",
"EncodedVideoChunkInit",
"EncodedVideoChunkType",
"PlaneLayout",
"VideoDecoder",
"VideoDecoderConfig",
"VideoDecoderInit",
"VideoDecoderSupport",
"VideoFrame",
] }
[features]
default = ["full", "video", "audio"]
video = []
full = ["video", "audio"]
audio = []