#[non_exhaustive]pub enum AdaptError<A, B> {
Show 13 variants
Demux(DriveFailure<SessionError<A>, Infallible>),
Decode(SessionError<B>),
Encode(SessionError<A>),
Mux(SessionError<B>),
Time(TimingError),
Map(MapError),
Convert(BoxedError),
Sink(SinkError),
Unsupported(UnsupportedOperation),
MissingTimestamp,
Shape,
FrameCountMismatch,
PatchesNotAllowed,
}Expand description
Failure of an adapter. A is the first stage’s error (demuxer or
encoder), B the second’s (decoder or muxer).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Demux(DriveFailure<SessionError<A>, Infallible>)
Driving the demuxer failed.
Decode(SessionError<B>)
The decoder failed.
Encode(SessionError<A>)
The encoder failed.
Mux(SessionError<B>)
The muxer failed.
Time(TimingError)
A duration or timestamp did not convert.
Map(MapError)
A frame could not be mapped.
Convert(BoxedError)
The render or capture conversion failed.
Sink(SinkError)
The row sink failed.
Unsupported(UnsupportedOperation)
The animation API asked for something unsupported.
MissingTimestamp
A video frame without a presentation timestamp: its duration cannot be derived.
Shape
No video track, or a frame or canvas of the wrong shape.
FrameCountMismatch
Finished after a different number of frames than begin declared.
PatchesNotAllowed
The muxer produced patches for a forward-only destination.
Trait Implementations§
Source§impl<A, B> Error for AdaptError<A, B>
impl<A, B> Error for AdaptError<A, B>
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl<A, B> !RefUnwindSafe for AdaptError<A, B>
impl<A, B> !UnwindSafe for AdaptError<A, B>
impl<A, B> Freeze for AdaptError<A, B>
impl<A, B> Send for AdaptError<A, B>
impl<A, B> Sync for AdaptError<A, B>
impl<A, B> Unpin for AdaptError<A, B>
impl<A, B> UnsafeUnpin for AdaptError<A, B>where
B: UnsafeUnpin,
A: UnsafeUnpin,
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
Mutably borrows from an owned value. Read more
Source§impl<E> CodecErrorExt for Ewhere
E: Error + 'static,
impl<E> CodecErrorExt for Ewhere
E: Error + 'static,
Source§fn unsupported_operation(&self) -> Option<&UnsupportedOperation>
fn unsupported_operation(&self) -> Option<&UnsupportedOperation>
Find an
UnsupportedOperation in this error’s cause chain.Source§fn limit_exceeded(&self) -> Option<&LimitExceeded>
fn limit_exceeded(&self) -> Option<&LimitExceeded>
Find a
LimitExceeded in this error’s cause chain.Source§fn codec_error(&self) -> Option<&CodecError>
fn codec_error(&self) -> Option<&CodecError>
Recover the shared
CodecError envelope from this error’s chain — after
any erasure (Box<dyn Error>, anyhow::Error, a mapped wrapper) — by
downcasting to the concrete At<CodecError> (or a bare CodecError),
tolerating a single Box layer (Box<At<CodecError>> etc., so a codec may
use an 8-byte boxed type Error). It gives the
category and the originating
codec name, so a consumer can tell codecs apart
without naming any codec-specific type. Read moreSource§fn find_cause<T>(&self) -> Option<&T>where
T: Error + 'static,
fn find_cause<T>(&self) -> Option<&T>where
T: Error + 'static,
Find a cause of arbitrary type
T in this error’s cause chain.Source§fn error_category(&self) -> Option<ErrorCategory>
fn error_category(&self) -> Option<ErrorCategory>
Shortcut for
codec_error().map(CodecError::category) — the
coarse axis app/lib code routes on.