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
impl DecodeBufferBuilder
Sourcepub fn capacity(self, n: usize) -> Self
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.
Sourcepub fn hardware_accel(self, accel: HardwareAccel) -> Self
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.
Sourcepub fn build(self) -> Result<DecodeBuffer, PreviewError>
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.