]> code.octet-stream.net Git - m17rt/blob - m17codec2/src/error.rs
Implement TX for reflector TNC
[m17rt] / m17codec2 / src / error.rs
1 use thiserror::Error;
2
3 #[derive(Debug, Error)]
4 pub enum M17Codec2Error {
5 #[error("tried to start adapter more than once")]
6 RepeatStart,
7
8 #[error("selected card '{0}' does not exist or is in use")]
9 CardUnavailable(String),
10
11 #[error("default output card is unavailable")]
12 DefaultCardUnavailable,
13
14 #[error("selected card '{0}' failed to list available output configs: '{1}'")]
15 OutputConfigsUnavailable(String, #[source] cpal::SupportedStreamConfigsError),
16
17 #[error("selected card '{0}' did not offer a compatible output config type, either due to hardware limitations or because it is currently in use")]
18 SupportedOutputUnavailable(String),
19
20 #[error("selected card '{0}' was unable to build an output stream: '{1}'")]
21 OutputStreamBuildError(String, #[source] cpal::BuildStreamError),
22
23 #[error("selected card '{0}' was unable to play an output stream: '{1}'")]
24 OutputStreamPlayError(String, #[source] cpal::PlayStreamError),
25
26 #[error("selected card '{0}' failed to list available input configs: '{1}'")]
27 InputConfigsUnavailable(String, #[source] cpal::SupportedStreamConfigsError),
28
29 #[error("selected card '{0}' did not offer a compatible input config type, either due to hardware limitations or because it is currently in use")]
30 SupportedInputUnavailable(String),
31
32 #[error("selected card '{0}' was unable to build an input stream: '{1}'")]
33 InputStreamBuildError(String, #[source] cpal::BuildStreamError),
34
35 #[error("selected card '{0}' was unable to play an input stream: '{1}'")]
36 InputStreamPlayError(String, #[source] cpal::PlayStreamError),
37 }