Skip to main content

DecoderSplit

Struct DecoderSplit 

Source
pub struct DecoderSplit { /* private fields */ }
Expand description

Decoder part of a split Decoder and Reader.

Important note: Do not forget to drain the decoder after the reader is exhausted. It may still contain frames. Run drain_raw() or drain() in a loop until no more frames are produced.

Implementations§

Source§

impl DecoderSplit

Source

pub fn new( reader: &Reader, reader_stream_index: usize, resize: Option<Resize>, hwaccel_device_type: Option<HardwareAccelerationDeviceType>, ) -> Result<Self, Error>

Create a new DecoderSplit.

§Arguments
  • reader - Reader to initialize decoder from.
  • resize - Optional resize strategy to apply to frames.
Source

pub fn time_base(&self) -> AvRational

Get decoder time base.

Source

pub fn decode(&mut self, packet: Packet) -> Result<Option<(Time, Frame)>, Error>

Decode a Packet.

Feeds the packet to the decoder and returns a frame if there is one available. The caller should keep feeding packets until the decoder returns a frame.

§Panics

Panics if in draining mode.

§Return value

A tuple of the Frame and timestamp (relative to the stream) and the frame itself if the decoder has a frame available, None if not.

Source

pub fn decode_raw(&mut self, packet: Packet) -> Result<Option<RawFrame>, Error>

Decode a Packet.

Feeds the packet to the decoder and returns a frame if there is one available. The caller should keep feeding packets until the decoder returns a frame.

§Panics

Panics if in draining mode.

§Return value

The decoded raw frame as RawFrame if the decoder has a frame available, None if not.

Source

pub fn drain(&mut self) -> Result<Option<(Time, Frame)>, Error>

Drain one frame from the decoder.

After calling drain once the decoder is in draining mode and the caller may not use normal decode anymore or it will panic.

§Return value

A tuple of the Frame and timestamp (relative to the stream) and the frame itself if the decoder has a frame available, None if not.

Source

pub fn drain_raw(&mut self) -> Result<Option<RawFrame>, Error>

Drain one frame from the decoder.

After calling drain once the decoder is in draining mode and the caller may not use normal decode anymore or it will panic.

§Return value

The decoded raw frame as RawFrame if the decoder has a frame available, None if not.

Source

pub fn reset(&mut self)

Reset the decoder to be used again after draining.

Source

pub fn size(&self) -> (u32, u32)

Get the decoders input size (resolution dimensions): width and height.

Source

pub fn size_out(&self) -> (u32, u32)

Get the decoders output size after resizing is applied (resolution dimensions): width and height.

Trait Implementations§

Source§

impl Drop for DecoderSplit

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for DecoderSplit

Source§

impl Sync for DecoderSplit

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more