# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.88"
name = "decibri"
version = "4.3.2"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cross-platform audio capture, playback, and voice activity detection for Rust"
readme = "README.md"
keywords = [
    "audio",
    "microphone",
    "capture",
    "sound",
    "voice",
]
categories = ["multimedia::audio"]
license = "Apache-2.0"
repository = "https://github.com/decibri/decibri"

[package.metadata.docs.rs]
targets = [
    "x86_64-unknown-linux-gnu",
    "aarch64-unknown-linux-gnu",
    "aarch64-apple-darwin",
    "x86_64-pc-windows-msvc",
]
features = [
    "capture",
    "playback",
    "vad",
    "denoise",
    "gain",
    "ort-download-binaries",
]
no-default-features = true

[features]
capture = [
    "dep:cpal",
    "dep:crossbeam-channel",
]
coreml = ["ort?/coreml"]
cuda = ["ort?/cuda"]
default = [
    "capture",
    "playback",
    "vad",
    "denoise",
    "gain",
    "ort-load-dynamic",
]
denoise = []
directml = ["ort?/directml"]
gain = []
ort-download-binaries = [
    "ort?/download-binaries",
    "ort?/tls-native",
]
ort-load-dynamic = ["ort?/load-dynamic"]
playback = [
    "dep:cpal",
    "dep:crossbeam-channel",
]
rocm = ["ort?/rocm"]
vad = ["dep:ort"]

[lib]
name = "decibri"
path = "src/lib.rs"

[[example]]
name = "bench_vad"
path = "examples/bench_vad.rs"

[[test]]
name = "vad_integration"
path = "tests/vad_integration.rs"

[[test]]
name = "vad_ort_load_failure"
path = "tests/vad_ort_load_failure.rs"

[dependencies.cpal]
version = "0.17"
optional = true

[dependencies.crossbeam-channel]
version = "0.5"
optional = true

[dependencies.ort]
version = "=2.0.0-rc.12"
features = [
    "std",
    "api-24",
]
optional = true
default-features = false

[dependencies.thiserror]
version = "2"
