Skip to main content

micro_wakeword/
error.rs

1use std::path::PathBuf;
2
3/// Errors returned by this crate.
4#[derive(Debug, thiserror::Error)]
5pub enum Error {
6    #[error("could not read {path}: {source}")]
7    Io {
8        path: PathBuf,
9        #[source]
10        source: std::io::Error,
11    },
12    #[error("invalid JSON in {path}: {source}")]
13    Json {
14        path: PathBuf,
15        #[source]
16        source: serde_json::Error,
17    },
18    #[error("invalid microWakeWord configuration: {0}")]
19    InvalidConfig(String),
20    #[error("incompatible microWakeWord model: {0}")]
21    IncompatibleModel(String),
22    #[error("TensorFlow Lite error: {0}")]
23    Tflite(#[from] tflite_c::Error),
24    #[error("unsupported platform: {0}")]
25    UnsupportedPlatform(String),
26    #[error("audio error: {0}")]
27    Audio(String),
28    #[error("the audio stream ended")]
29    AudioStreamEnded,
30}
31
32pub type Result<T> = std::result::Result<T, Error>;