Skip to main content

AsyncVideoDecoderBuilder

Struct AsyncVideoDecoderBuilder 

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

Async builder for AsyncVideoDecoder that mirrors the options available on the synchronous VideoDecoderBuilder.

Obtain one with AsyncVideoDecoder::builder. Call build to open the file asynchronously on a spawn_blocking thread.

§Examples

use ff_decode::AsyncVideoDecoder;
use ff_format::PixelFormat;

let decoder = AsyncVideoDecoder::builder("video.mp4")
    .output_format(PixelFormat::Rgb24)
    .build()
    .await?;

Implementations§

Source§

impl AsyncVideoDecoderBuilder

Source

pub fn output_format(self, format: PixelFormat) -> Self

Sets the output pixel format for decoded frames.

Equivalent to VideoDecoderBuilder::output_format.

Source

pub fn output_size(self, width: u32, height: u32) -> Self

Scales decoded frames to exact dimensions.

Equivalent to VideoDecoderBuilder::output_size.

Source

pub fn output_width(self, width: u32) -> Self

Scales decoded frames to the given width, preserving the aspect ratio.

Equivalent to VideoDecoderBuilder::output_width.

Source

pub fn output_height(self, height: u32) -> Self

Scales decoded frames to the given height, preserving the aspect ratio.

Equivalent to VideoDecoderBuilder::output_height.

Source

pub async fn build(self) -> Result<AsyncVideoDecoder, DecodeError>

Opens the file and builds the async decoder.

File I/O and codec initialisation run on a spawn_blocking thread so the async executor is not blocked. All errors from VideoDecoderBuilder::build are propagated transparently.

§Errors

Returns DecodeError if the file is missing, contains no video stream, uses an unsupported codec, or has invalid output dimensions.

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, 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.