pub struct CarrierVideoStreamDecoder<C: FfmpegCarrier> { /* private fields */ }Expand description
mediadecode::VideoStreamDecoder impl with transparent HW → SW
fallback.
Implementations§
Source§impl CarrierVideoStreamDecoder<View>
impl CarrierVideoStreamDecoder<View>
Sourcepub fn open(
parameters: Parameters,
time_base: Timebase,
limits: DecoderLimits,
) -> Result<Self, Error>
pub fn open( parameters: Parameters, time_base: Timebase, limits: DecoderLimits, ) -> Result<Self, Error>
Opens a video decoder for parameters, probing hardware
backends in order and falling back to software.
Sourcepub const fn is_software(&self) -> bool
pub const fn is_software(&self) -> bool
Whether this decoder is currently running on software.
Sourcepub const fn is_hardware(&self) -> bool
pub const fn is_hardware(&self) -> bool
Whether this decoder is currently running on hardware.
Sourcepub fn hardware_inner(&self) -> Option<&VideoDecoder>
pub fn hardware_inner(&self) -> Option<&VideoDecoder>
The hardware wrapper, when one is in use.
Source§impl CarrierVideoStreamDecoder<Owned>
impl CarrierVideoStreamDecoder<Owned>
Sourcepub fn open(
parameters: Parameters,
time_base: Timebase,
limits: DecoderLimits,
) -> Result<Self, Error>
pub fn open( parameters: Parameters, time_base: Timebase, limits: DecoderLimits, ) -> Result<Self, Error>
Opens a video decoder for parameters, probing hardware
backends in order and falling back to software.
Sourcepub const fn is_software(&self) -> bool
pub const fn is_software(&self) -> bool
Whether this decoder is currently running on software.
Sourcepub const fn is_hardware(&self) -> bool
pub const fn is_hardware(&self) -> bool
Whether this decoder is currently running on hardware.
Sourcepub fn hardware_inner(&self) -> Option<&VideoDecoder>
pub fn hardware_inner(&self) -> Option<&VideoDecoder>
The hardware wrapper, when one is in use.
Trait Implementations§
Source§impl VideoStreamDecoder for CarrierVideoStreamDecoder<View>
impl VideoStreamDecoder for CarrierVideoStreamDecoder<View>
Source§type Buffer = <View as FfmpegCarrier>::Buffer
type Buffer = <View as FfmpegCarrier>::Buffer
Buffer type held by the packets and frames this decoder
produces or accepts.
Source§type Error = VideoDecodeError
type Error = VideoDecodeError
Decoder-specific error type.
Source§fn send_packet(
&mut self,
packet: &VideoPacket<VideoPacketExtra, Self::Buffer>,
) -> Result<(), Self::Error>
fn send_packet( &mut self, packet: &VideoPacket<VideoPacketExtra, Self::Buffer>, ) -> Result<(), Self::Error>
Submits one compressed packet.
Source§fn receive_frame(
&mut self,
dst: &mut VideoFrame<PixelFormat, VideoFrameExtra, Self::Buffer>,
) -> Result<(), Self::Error>
fn receive_frame( &mut self, dst: &mut VideoFrame<PixelFormat, VideoFrameExtra, Self::Buffer>, ) -> Result<(), Self::Error>
Drains one decoded frame into
dst. Backends signal “no
frame ready” via a backend-specific Error variant.Source§impl VideoStreamDecoder for CarrierVideoStreamDecoder<Owned>
impl VideoStreamDecoder for CarrierVideoStreamDecoder<Owned>
Source§type Buffer = <Owned as FfmpegCarrier>::Buffer
type Buffer = <Owned as FfmpegCarrier>::Buffer
Buffer type held by the packets and frames this decoder
produces or accepts.
Source§type Error = VideoDecodeError
type Error = VideoDecodeError
Decoder-specific error type.
Source§fn send_packet(
&mut self,
packet: &VideoPacket<VideoPacketExtra, Self::Buffer>,
) -> Result<(), Self::Error>
fn send_packet( &mut self, packet: &VideoPacket<VideoPacketExtra, Self::Buffer>, ) -> Result<(), Self::Error>
Submits one compressed packet.
Source§fn receive_frame(
&mut self,
dst: &mut VideoFrame<PixelFormat, VideoFrameExtra, Self::Buffer>,
) -> Result<(), Self::Error>
fn receive_frame( &mut self, dst: &mut VideoFrame<PixelFormat, VideoFrameExtra, Self::Buffer>, ) -> Result<(), Self::Error>
Drains one decoded frame into
dst. Backends signal “no
frame ready” via a backend-specific Error variant.Auto Trait Implementations§
impl<C> !RefUnwindSafe for CarrierVideoStreamDecoder<C>
impl<C> !Sync for CarrierVideoStreamDecoder<C>
impl<C> !UnwindSafe for CarrierVideoStreamDecoder<C>
impl<C> Freeze for CarrierVideoStreamDecoder<C>where
PhantomData<C>: Freeze,
impl<C> Send for CarrierVideoStreamDecoder<C>where
PhantomData<C>: Send,
impl<C> Unpin for CarrierVideoStreamDecoder<C>where
PhantomData<C>: Unpin,
impl<C> UnsafeUnpin for CarrierVideoStreamDecoder<C>where
PhantomData<C>: 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