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
impl AsyncVideoDecoderBuilder
Sourcepub fn output_format(self, format: PixelFormat) -> Self
pub fn output_format(self, format: PixelFormat) -> Self
Sets the output pixel format for decoded frames.
Equivalent to VideoDecoderBuilder::output_format.
Sourcepub fn output_size(self, width: u32, height: u32) -> Self
pub fn output_size(self, width: u32, height: u32) -> Self
Scales decoded frames to exact dimensions.
Equivalent to VideoDecoderBuilder::output_size.
Sourcepub fn output_width(self, width: u32) -> Self
pub fn output_width(self, width: u32) -> Self
Scales decoded frames to the given width, preserving the aspect ratio.
Equivalent to VideoDecoderBuilder::output_width.
Sourcepub fn output_height(self, height: u32) -> Self
pub fn output_height(self, height: u32) -> Self
Scales decoded frames to the given height, preserving the aspect ratio.
Equivalent to VideoDecoderBuilder::output_height.
Sourcepub async fn build(self) -> Result<AsyncVideoDecoder, DecodeError>
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.