[package]
name = "alpha2-native"
version.workspace = true
description = "Native headless and real-time host boundary for alpha2."
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
keywords = ["ffmpeg", "video", "decode", "encode", "cli"]
categories = ["multimedia::video", "multimedia::encoding", "command-line-utilities"]
include = [
"/build.rs",
"/src/**",
"/README.md",
"/LICENSE.md",
"!/src/**/tests.rs",
"!/src/**/*_tests.rs",
"!/src/**/tests/**",
]
[package.metadata.docs.rs]
features = ["hwdecode", "hwencode", "timeline"]
[features]
default = []
cpal-host = ["dep:cpal"]
hwdevice = ["alpha2-ffmpeg-bridge/hwdevice", "dep:alpha2-native-gpu", "dep:wgpu"]
hwdecode = ["hwdevice"]
hwencode = ["hwdevice", "dep:alpha2-gpu", "dep:pollster"]
timeline = ["dep:alpha2-engine"]
[[bin]]
name = "alpha2"
path = "src/main.rs"
[dependencies]
alpha2-engine = { workspace = true, optional = true }
alpha2-audio.workspace = true
alpha2-media.workspace = true
alpha2-time.workspace = true
alpha2-ffmpeg-bridge.workspace = true
alpha2-os.workspace = true
bytes.workspace = true
alpha2-native-gpu = { workspace = true, features = ["hwdevice"], optional = true }
wgpu = { workspace = true, optional = true }
rsmpeg = { version = "0.18.0", features = ["link_system_ffmpeg"] }
png.workspace = true
cpal = { version = "0.17.3", optional = true }
[dev-dependencies]
alpha2-gpu = { workspace = true, features = ["serial-acquisition"] }
alpha2-provider-contract = { workspace = true, default-features = false }
alpha2-model.workspace = true
[target.'cfg(target_os = "macos")'.dev-dependencies]
pollster.workspace = true
[target.'cfg(target_os = "windows")'.dependencies]
alpha2-gpu = { workspace = true, optional = true, features = ["wgpu-interop"] }
pollster = { workspace = true, optional = true }
[target.'cfg(target_os = "windows")'.dev-dependencies]
pollster.workspace = true
wgpu.workspace = true
[build-dependencies]
alpha2-build-support.workspace = true
[lints]
workspace = true
[[bench]]
name = "media_io"
harness = false