pub enum Error {
Ffmpeg(Error),
PacketBuild(PacketBuildError),
ParametersTooLarge(ParametersTooLarge),
NoCodec(u32),
HwTransferTooLarge(HwTransferTooLarge),
FrameBudgetExceeded(FrameBudgetExceeded),
HwSurfaceTooLarge(HwSurfaceTooLarge),
BackendUnsupportedByCodec(Backend),
HwDeviceInitFailed(HwDeviceInitFailed),
AllBackendsFailed(AllBackendsFailed),
FallbackFailed(FallbackFailed),
}Expand description
Errors returned from crate::VideoDecoder.
Debug is derived; the variants that wrap a payload struct
(HwDeviceInitFailed, AllBackendsFailed, FallbackFailed)
delegate their Debug to the payload, which is hand-written
where needed because ffmpeg_next::Packet (carried by
AllBackendsFailed::unconsumed_packets /
FallbackFailed::unconsumed_packets) does not derive
Debug. Those payloads summarize the packet count rather
than dumping each packet’s fields, which would be both noisy
and useless for triage.
Variants§
Ffmpeg(Error)
An underlying FFmpeg error.
PacketBuild(PacketBuildError)
A portable packet could not be rebuilt as an AVPacket on its
way into a decoder — see crate::boundary::PacketBuildError.
ParametersTooLarge(ParametersTooLarge)
A stream’s codec parameters hold more heap bytes than the
decoder tier will copy — see
crate::DEFAULT_MAX_CODEC_PARAMETER_BYTES.
The decoder tier has no options object of its own for this, so it
applies the default ceiling. A caller that needs a larger one
opens the parameters through the demux tier, where
DemuxLimits carries the seat.
NoCodec(u32)
avcodec_find_decoder returned null for the input codec id. The id
is reported as the raw integer (AVCodecID discriminant) — we do not
construct the bindgen AVCodecID enum from a runtime value, since
values outside our build’s discriminant set would invoke UB.
HwTransferTooLarge(HwTransferTooLarge)
The CPU frame a hardware->CPU transfer would allocate is larger
than FrameLimits::max_frame_bytes.
The hardware road’s own seat. judge_buffer — the allocator hook
that applies the byte ceiling to aligned dimensions — is not a
universal choke point: ff_get_buffer calls hwaccel->alloc_frame
directly for VideoToolbox h264/hevc/vp9 and never reaches
get_buffer2 at all, and av_hwframe_transfer_data allocates its
CPU destination outside both. This is the seat for that second
road, judged before the transfer rather than after it.
FrameBudgetExceeded(FrameBudgetExceeded)
A frame’s allocation would have cost more than
FrameLimits::max_frame_bytes,
so it was refused in the allocator, before the allocation.
HwSurfaceTooLarge(HwSurfaceTooLarge)
The stream’s coded surface is over the frame ceiling, so the hardware format was declined before its pool could be built.
The two dimension vocabularies: max_pixels is applied by
ff_set_dimensions to a stream’s display dims, and a cropped
stream can display 32x32 out of a 1920x1088 coded surface. What
gets allocated is the coded figure, so it is the one judged here —
and it is judged in bytes, priced through the allocator-parity
footprint against the caller’s max_frame_bytes, because
max_pixels carries the caller’s logical pixel limit and nothing
about cost.
BackendUnsupportedByCodec(Backend)
The codec does not advertise a hardware configuration matching the
requested backend (via avcodec_get_hw_config).
HwDeviceInitFailed(HwDeviceInitFailed)
av_hwdevice_ctx_create failed for the requested backend. See
[HwDeviceInitFailed] for the payload details. #[from] gives
a free impl From<HwDeviceInitFailed> for Error, so inner
helpers that return Result<_, HwDeviceInitFailed> can be
?-propagated into Error directly.
AllBackendsFailed(AllBackendsFailed)
Auto-probe exhausted every backend in the platform’s order. See
[AllBackendsFailed] for the payload details (in particular the
unconsumed_packets history that callers should replay through
their own software decoder for non-seekable inputs). #[from]
gives a free impl From<AllBackendsFailed> for Error.
FallbackFailed(FallbackFailed)
Surfaced by crate::FfmpegVideoStreamDecoder when a HW->SW
fallback attempt itself fails. See [FallbackFailed] for the
payload details (in particular the rescued unconsumed_packets
the HW path had already consumed from the caller). #[from]
gives a free impl From<FallbackFailed> for Error.
Implementations§
Source§impl Error
impl Error
Sourcepub const fn is_ffmpeg(&self) -> bool
pub const fn is_ffmpeg(&self) -> bool
Returns true if this value is of type Ffmpeg. Returns false otherwise
Sourcepub const fn is_packet_build(&self) -> bool
pub const fn is_packet_build(&self) -> bool
Returns true if this value is of type PacketBuild. Returns false otherwise
Sourcepub const fn is_parameters_too_large(&self) -> bool
pub const fn is_parameters_too_large(&self) -> bool
Returns true if this value is of type ParametersTooLarge. Returns false otherwise
Sourcepub const fn is_no_codec(&self) -> bool
pub const fn is_no_codec(&self) -> bool
Returns true if this value is of type NoCodec. Returns false otherwise
Sourcepub const fn is_hw_transfer_too_large(&self) -> bool
pub const fn is_hw_transfer_too_large(&self) -> bool
Returns true if this value is of type HwTransferTooLarge. Returns false otherwise
Sourcepub const fn is_frame_budget_exceeded(&self) -> bool
pub const fn is_frame_budget_exceeded(&self) -> bool
Returns true if this value is of type FrameBudgetExceeded. Returns false otherwise
Sourcepub const fn is_hw_surface_too_large(&self) -> bool
pub const fn is_hw_surface_too_large(&self) -> bool
Returns true if this value is of type HwSurfaceTooLarge. Returns false otherwise
Sourcepub const fn is_backend_unsupported_by_codec(&self) -> bool
pub const fn is_backend_unsupported_by_codec(&self) -> bool
Returns true if this value is of type BackendUnsupportedByCodec. Returns false otherwise
Sourcepub const fn is_hw_device_init_failed(&self) -> bool
pub const fn is_hw_device_init_failed(&self) -> bool
Returns true if this value is of type HwDeviceInitFailed. Returns false otherwise
Sourcepub const fn is_all_backends_failed(&self) -> bool
pub const fn is_all_backends_failed(&self) -> bool
Returns true if this value is of type AllBackendsFailed. Returns false otherwise
Sourcepub const fn is_fallback_failed(&self) -> bool
pub const fn is_fallback_failed(&self) -> bool
Returns true if this value is of type FallbackFailed. Returns false otherwise
Source§impl Error
impl Error
Sourcepub fn unwrap_ffmpeg(self) -> Error
pub fn unwrap_ffmpeg(self) -> Error
Unwraps this value to the Error::Ffmpeg variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_ffmpeg_ref(&self) -> &Error
pub fn unwrap_ffmpeg_ref(&self) -> &Error
Unwraps this reference to the Error::Ffmpeg variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_ffmpeg_mut(&mut self) -> &mut Error
pub fn unwrap_ffmpeg_mut(&mut self) -> &mut Error
Unwraps this mutable reference to the Error::Ffmpeg variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_packet_build(self) -> PacketBuildError
pub fn unwrap_packet_build(self) -> PacketBuildError
Unwraps this value to the Error::PacketBuild variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_packet_build_ref(&self) -> &PacketBuildError
pub fn unwrap_packet_build_ref(&self) -> &PacketBuildError
Unwraps this reference to the Error::PacketBuild variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_packet_build_mut(&mut self) -> &mut PacketBuildError
pub fn unwrap_packet_build_mut(&mut self) -> &mut PacketBuildError
Unwraps this mutable reference to the Error::PacketBuild variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_parameters_too_large(self) -> ParametersTooLarge
pub fn unwrap_parameters_too_large(self) -> ParametersTooLarge
Unwraps this value to the Error::ParametersTooLarge variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_parameters_too_large_ref(&self) -> &ParametersTooLarge
pub fn unwrap_parameters_too_large_ref(&self) -> &ParametersTooLarge
Unwraps this reference to the Error::ParametersTooLarge variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_parameters_too_large_mut(&mut self) -> &mut ParametersTooLarge
pub fn unwrap_parameters_too_large_mut(&mut self) -> &mut ParametersTooLarge
Unwraps this mutable reference to the Error::ParametersTooLarge variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_no_codec(self) -> u32
pub fn unwrap_no_codec(self) -> u32
Unwraps this value to the Error::NoCodec variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_no_codec_ref(&self) -> &u32
pub fn unwrap_no_codec_ref(&self) -> &u32
Unwraps this reference to the Error::NoCodec variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_no_codec_mut(&mut self) -> &mut u32
pub fn unwrap_no_codec_mut(&mut self) -> &mut u32
Unwraps this mutable reference to the Error::NoCodec variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_hw_transfer_too_large(self) -> HwTransferTooLarge
pub fn unwrap_hw_transfer_too_large(self) -> HwTransferTooLarge
Unwraps this value to the Error::HwTransferTooLarge variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_hw_transfer_too_large_ref(&self) -> &HwTransferTooLarge
pub fn unwrap_hw_transfer_too_large_ref(&self) -> &HwTransferTooLarge
Unwraps this reference to the Error::HwTransferTooLarge variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_hw_transfer_too_large_mut(&mut self) -> &mut HwTransferTooLarge
pub fn unwrap_hw_transfer_too_large_mut(&mut self) -> &mut HwTransferTooLarge
Unwraps this mutable reference to the Error::HwTransferTooLarge variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_frame_budget_exceeded(self) -> FrameBudgetExceeded
pub fn unwrap_frame_budget_exceeded(self) -> FrameBudgetExceeded
Unwraps this value to the Error::FrameBudgetExceeded variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_frame_budget_exceeded_ref(&self) -> &FrameBudgetExceeded
pub fn unwrap_frame_budget_exceeded_ref(&self) -> &FrameBudgetExceeded
Unwraps this reference to the Error::FrameBudgetExceeded variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_frame_budget_exceeded_mut(&mut self) -> &mut FrameBudgetExceeded
pub fn unwrap_frame_budget_exceeded_mut(&mut self) -> &mut FrameBudgetExceeded
Unwraps this mutable reference to the Error::FrameBudgetExceeded variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_hw_surface_too_large(self) -> HwSurfaceTooLarge
pub fn unwrap_hw_surface_too_large(self) -> HwSurfaceTooLarge
Unwraps this value to the Error::HwSurfaceTooLarge variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_hw_surface_too_large_ref(&self) -> &HwSurfaceTooLarge
pub fn unwrap_hw_surface_too_large_ref(&self) -> &HwSurfaceTooLarge
Unwraps this reference to the Error::HwSurfaceTooLarge variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_hw_surface_too_large_mut(&mut self) -> &mut HwSurfaceTooLarge
pub fn unwrap_hw_surface_too_large_mut(&mut self) -> &mut HwSurfaceTooLarge
Unwraps this mutable reference to the Error::HwSurfaceTooLarge variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_backend_unsupported_by_codec(self) -> Backend
pub fn unwrap_backend_unsupported_by_codec(self) -> Backend
Unwraps this value to the Error::BackendUnsupportedByCodec variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_backend_unsupported_by_codec_ref(&self) -> &Backend
pub fn unwrap_backend_unsupported_by_codec_ref(&self) -> &Backend
Unwraps this reference to the Error::BackendUnsupportedByCodec variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_backend_unsupported_by_codec_mut(&mut self) -> &mut Backend
pub fn unwrap_backend_unsupported_by_codec_mut(&mut self) -> &mut Backend
Unwraps this mutable reference to the Error::BackendUnsupportedByCodec variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_hw_device_init_failed(self) -> HwDeviceInitFailed
pub fn unwrap_hw_device_init_failed(self) -> HwDeviceInitFailed
Unwraps this value to the Error::HwDeviceInitFailed variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_hw_device_init_failed_ref(&self) -> &HwDeviceInitFailed
pub fn unwrap_hw_device_init_failed_ref(&self) -> &HwDeviceInitFailed
Unwraps this reference to the Error::HwDeviceInitFailed variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_hw_device_init_failed_mut(&mut self) -> &mut HwDeviceInitFailed
pub fn unwrap_hw_device_init_failed_mut(&mut self) -> &mut HwDeviceInitFailed
Unwraps this mutable reference to the Error::HwDeviceInitFailed variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_all_backends_failed(self) -> AllBackendsFailed
pub fn unwrap_all_backends_failed(self) -> AllBackendsFailed
Unwraps this value to the Error::AllBackendsFailed variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_all_backends_failed_ref(&self) -> &AllBackendsFailed
pub fn unwrap_all_backends_failed_ref(&self) -> &AllBackendsFailed
Unwraps this reference to the Error::AllBackendsFailed variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_all_backends_failed_mut(&mut self) -> &mut AllBackendsFailed
pub fn unwrap_all_backends_failed_mut(&mut self) -> &mut AllBackendsFailed
Unwraps this mutable reference to the Error::AllBackendsFailed variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_fallback_failed(self) -> FallbackFailed
pub fn unwrap_fallback_failed(self) -> FallbackFailed
Unwraps this value to the Error::FallbackFailed variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_fallback_failed_ref(&self) -> &FallbackFailed
pub fn unwrap_fallback_failed_ref(&self) -> &FallbackFailed
Unwraps this reference to the Error::FallbackFailed variant.
Panics if this value is of any other type.
Sourcepub fn unwrap_fallback_failed_mut(&mut self) -> &mut FallbackFailed
pub fn unwrap_fallback_failed_mut(&mut self) -> &mut FallbackFailed
Unwraps this mutable reference to the Error::FallbackFailed variant.
Panics if this value is of any other type.
Source§impl Error
impl Error
Sourcepub fn try_unwrap_ffmpeg(self) -> Result<Error, TryUnwrapError<Self>>
pub fn try_unwrap_ffmpeg(self) -> Result<Error, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::Ffmpeg variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_ffmpeg_ref(&self) -> Result<&Error, TryUnwrapError<&Self>>
pub fn try_unwrap_ffmpeg_ref(&self) -> Result<&Error, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::Ffmpeg variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_ffmpeg_mut(
&mut self,
) -> Result<&mut Error, TryUnwrapError<&mut Self>>
pub fn try_unwrap_ffmpeg_mut( &mut self, ) -> Result<&mut Error, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::Ffmpeg variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_packet_build(
self,
) -> Result<PacketBuildError, TryUnwrapError<Self>>
pub fn try_unwrap_packet_build( self, ) -> Result<PacketBuildError, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::PacketBuild variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_packet_build_ref(
&self,
) -> Result<&PacketBuildError, TryUnwrapError<&Self>>
pub fn try_unwrap_packet_build_ref( &self, ) -> Result<&PacketBuildError, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::PacketBuild variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_packet_build_mut(
&mut self,
) -> Result<&mut PacketBuildError, TryUnwrapError<&mut Self>>
pub fn try_unwrap_packet_build_mut( &mut self, ) -> Result<&mut PacketBuildError, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::PacketBuild variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_parameters_too_large(
self,
) -> Result<ParametersTooLarge, TryUnwrapError<Self>>
pub fn try_unwrap_parameters_too_large( self, ) -> Result<ParametersTooLarge, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::ParametersTooLarge variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_parameters_too_large_ref(
&self,
) -> Result<&ParametersTooLarge, TryUnwrapError<&Self>>
pub fn try_unwrap_parameters_too_large_ref( &self, ) -> Result<&ParametersTooLarge, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::ParametersTooLarge variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_parameters_too_large_mut(
&mut self,
) -> Result<&mut ParametersTooLarge, TryUnwrapError<&mut Self>>
pub fn try_unwrap_parameters_too_large_mut( &mut self, ) -> Result<&mut ParametersTooLarge, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::ParametersTooLarge variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_no_codec(self) -> Result<u32, TryUnwrapError<Self>>
pub fn try_unwrap_no_codec(self) -> Result<u32, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::NoCodec variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_no_codec_ref(&self) -> Result<&u32, TryUnwrapError<&Self>>
pub fn try_unwrap_no_codec_ref(&self) -> Result<&u32, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::NoCodec variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_no_codec_mut(
&mut self,
) -> Result<&mut u32, TryUnwrapError<&mut Self>>
pub fn try_unwrap_no_codec_mut( &mut self, ) -> Result<&mut u32, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::NoCodec variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_hw_transfer_too_large(
self,
) -> Result<HwTransferTooLarge, TryUnwrapError<Self>>
pub fn try_unwrap_hw_transfer_too_large( self, ) -> Result<HwTransferTooLarge, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::HwTransferTooLarge variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_hw_transfer_too_large_ref(
&self,
) -> Result<&HwTransferTooLarge, TryUnwrapError<&Self>>
pub fn try_unwrap_hw_transfer_too_large_ref( &self, ) -> Result<&HwTransferTooLarge, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::HwTransferTooLarge variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_hw_transfer_too_large_mut(
&mut self,
) -> Result<&mut HwTransferTooLarge, TryUnwrapError<&mut Self>>
pub fn try_unwrap_hw_transfer_too_large_mut( &mut self, ) -> Result<&mut HwTransferTooLarge, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::HwTransferTooLarge variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_frame_budget_exceeded(
self,
) -> Result<FrameBudgetExceeded, TryUnwrapError<Self>>
pub fn try_unwrap_frame_budget_exceeded( self, ) -> Result<FrameBudgetExceeded, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::FrameBudgetExceeded variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_frame_budget_exceeded_ref(
&self,
) -> Result<&FrameBudgetExceeded, TryUnwrapError<&Self>>
pub fn try_unwrap_frame_budget_exceeded_ref( &self, ) -> Result<&FrameBudgetExceeded, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::FrameBudgetExceeded variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_frame_budget_exceeded_mut(
&mut self,
) -> Result<&mut FrameBudgetExceeded, TryUnwrapError<&mut Self>>
pub fn try_unwrap_frame_budget_exceeded_mut( &mut self, ) -> Result<&mut FrameBudgetExceeded, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::FrameBudgetExceeded variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_hw_surface_too_large(
self,
) -> Result<HwSurfaceTooLarge, TryUnwrapError<Self>>
pub fn try_unwrap_hw_surface_too_large( self, ) -> Result<HwSurfaceTooLarge, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::HwSurfaceTooLarge variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_hw_surface_too_large_ref(
&self,
) -> Result<&HwSurfaceTooLarge, TryUnwrapError<&Self>>
pub fn try_unwrap_hw_surface_too_large_ref( &self, ) -> Result<&HwSurfaceTooLarge, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::HwSurfaceTooLarge variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_hw_surface_too_large_mut(
&mut self,
) -> Result<&mut HwSurfaceTooLarge, TryUnwrapError<&mut Self>>
pub fn try_unwrap_hw_surface_too_large_mut( &mut self, ) -> Result<&mut HwSurfaceTooLarge, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::HwSurfaceTooLarge variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_backend_unsupported_by_codec(
self,
) -> Result<Backend, TryUnwrapError<Self>>
pub fn try_unwrap_backend_unsupported_by_codec( self, ) -> Result<Backend, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::BackendUnsupportedByCodec variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_backend_unsupported_by_codec_ref(
&self,
) -> Result<&Backend, TryUnwrapError<&Self>>
pub fn try_unwrap_backend_unsupported_by_codec_ref( &self, ) -> Result<&Backend, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::BackendUnsupportedByCodec variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_backend_unsupported_by_codec_mut(
&mut self,
) -> Result<&mut Backend, TryUnwrapError<&mut Self>>
pub fn try_unwrap_backend_unsupported_by_codec_mut( &mut self, ) -> Result<&mut Backend, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::BackendUnsupportedByCodec variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_hw_device_init_failed(
self,
) -> Result<HwDeviceInitFailed, TryUnwrapError<Self>>
pub fn try_unwrap_hw_device_init_failed( self, ) -> Result<HwDeviceInitFailed, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::HwDeviceInitFailed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_hw_device_init_failed_ref(
&self,
) -> Result<&HwDeviceInitFailed, TryUnwrapError<&Self>>
pub fn try_unwrap_hw_device_init_failed_ref( &self, ) -> Result<&HwDeviceInitFailed, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::HwDeviceInitFailed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_hw_device_init_failed_mut(
&mut self,
) -> Result<&mut HwDeviceInitFailed, TryUnwrapError<&mut Self>>
pub fn try_unwrap_hw_device_init_failed_mut( &mut self, ) -> Result<&mut HwDeviceInitFailed, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::HwDeviceInitFailed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_all_backends_failed(
self,
) -> Result<AllBackendsFailed, TryUnwrapError<Self>>
pub fn try_unwrap_all_backends_failed( self, ) -> Result<AllBackendsFailed, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::AllBackendsFailed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_all_backends_failed_ref(
&self,
) -> Result<&AllBackendsFailed, TryUnwrapError<&Self>>
pub fn try_unwrap_all_backends_failed_ref( &self, ) -> Result<&AllBackendsFailed, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::AllBackendsFailed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_all_backends_failed_mut(
&mut self,
) -> Result<&mut AllBackendsFailed, TryUnwrapError<&mut Self>>
pub fn try_unwrap_all_backends_failed_mut( &mut self, ) -> Result<&mut AllBackendsFailed, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::AllBackendsFailed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_fallback_failed(
self,
) -> Result<FallbackFailed, TryUnwrapError<Self>>
pub fn try_unwrap_fallback_failed( self, ) -> Result<FallbackFailed, TryUnwrapError<Self>>
Attempts to unwrap this value to the Error::FallbackFailed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_fallback_failed_ref(
&self,
) -> Result<&FallbackFailed, TryUnwrapError<&Self>>
pub fn try_unwrap_fallback_failed_ref( &self, ) -> Result<&FallbackFailed, TryUnwrapError<&Self>>
Attempts to unwrap this reference to the Error::FallbackFailed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Sourcepub fn try_unwrap_fallback_failed_mut(
&mut self,
) -> Result<&mut FallbackFailed, TryUnwrapError<&mut Self>>
pub fn try_unwrap_fallback_failed_mut( &mut self, ) -> Result<&mut FallbackFailed, TryUnwrapError<&mut Self>>
Attempts to unwrap this mutable reference to the Error::FallbackFailed variant.
Returns a [TryUnwrapError] with the original value if this value is of any other type.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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()
Source§impl From<Error> for AudioDecodeError
impl From<Error> for AudioDecodeError
Source§impl From<Error> for ImageDecodeError
impl From<Error> for ImageDecodeError
Source§impl From<Error> for ResampleError
Available on crate feature resample only.
impl From<Error> for ResampleError
resample only.