pub enum MicError {
PermissionPending,
PermissionDenied,
DeviceBusy,
GstFailed(String),
NotFound(String),
}Expand description
IPC-surface error variants for the mic capture commands.
Mirror of crate::preview::CameraError. PermissionPending
is the macOS first-run case where the OS shows
NSMicrophoneUsageDescription and the gst pipeline blocks until
the user clicks. PermissionDenied is the post-prompt rejection.
Variants§
PermissionPending
macOS microphone-permission prompt is showing; no chunk has arrived yet but access isn’t denied either.
PermissionDenied
User has explicitly denied microphone access in System Settings.
DeviceBusy
The selected microphone is held by another app, or — on macOS — the missing-Info.plist failure mode that masquerades as busy.
GstFailed(String)
gst-launch pipeline spawn / runtime failure.
NotFound(String)
The picker handed us a mic_id that no longer matches any
device on the host — typically the mic was unplugged between
list_microphones() and start_mic_capture (Bluetooth
devices sleep, USB devices yanked). Caller should re-enumerate
- re-prompt the user.
M-MIC.3 / AUT-284 + M-RECORD-EXPORT tightening — was silently
falling back to autoaudiosrc, which gave the wrong device.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for MicError
impl<'de> Deserialize<'de> for MicError
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Error for MicError
impl Error for MicError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
impl Eq for MicError
impl StructuralPartialEq for MicError
Auto Trait Implementations§
impl Freeze for MicError
impl RefUnwindSafe for MicError
impl Send for MicError
impl Sync for MicError
impl Unpin for MicError
impl UnsafeUnpin for MicError
impl UnwindSafe for MicError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
impl<'de, D, R> CommandArg<'de, R> for Dwhere
D: Deserialize<'de>,
R: Runtime,
§fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
fn from_command(command: CommandItem<'de, R>) -> Result<D, InvokeError>
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more