Skip to main content

DecodeBufferBuilder

Struct DecodeBufferBuilder 

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

Builder for DecodeBuffer.

Created via DecodeBuffer::open; call capacity to override the default ring buffer size, then build to start the background decode thread and obtain a DecodeBuffer.

Implementations§

Source§

impl DecodeBufferBuilder

Source

pub fn capacity(self, n: usize) -> Self

Set the ring buffer capacity in frames. Default: 8.

The background thread blocks when the buffer is full and resumes as soon as the consumer calls DecodeBuffer::pop_frame.

Source

pub fn hardware_accel(self, accel: HardwareAccel) -> Self

Set the hardware acceleration mode. Default: HardwareAccel::Auto.

HardwareAccel::Auto probes available backends in priority order (NVDEC → QSV → VideoToolbox → VAAPI → AMF) and falls back to software decoding without error if none are available.

HardwareAccel::None forces CPU-only decoding.

Source

pub fn build(self) -> Result<DecodeBuffer, PreviewError>

Build and start the background decode thread.

The thread pre-fills the ring buffer; frames are delivered in presentation order. The caller receives a DecodeBuffer immediately; frames become available as the thread decodes them.

§Errors

Returns PreviewError if the video file cannot be opened or contains no decodable video stream.

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.