pub struct AvFrameBuilder(AvFrame);
Expand description

A builder for AVFrame that allows specifying buffers and image metadata.

Tuple Fields§

§0: AvFrame

Implementations§

source§

impl AvFrameBuilder

source

pub fn set_dimensions( &mut self, dimensions: Dimensions ) -> Result<(), AvFrameError>

Set the frame’s width and height.

The dimensions must not be greater than i32::MAX.

source

pub fn set_format(&mut self, format: AvPixelFormat) -> Result<(), AvFrameError>

Set the frame’s format.

source

pub fn build_owned<BI: IntoIterator<Item = AvBuffer>, PI: IntoIterator<Item = PlaneDescriptor>>( self, buffers: BI, planes: PI ) -> Result<AvFrame, AvFrameError>

Build an AvFrame from iterators of AvBuffers and subslice of buffers describing the planes.

The frame will own the buffers.

This function checks that:

  • Each plane fits inside the bounds of the associated buffer.
  • Different planes do not overlap each other’s buffer slice. In this check, all planes are assumed to be potentially mutable, regardless of whether the AvFrame is actually used for read or write access. Aliasing reference to the same buffer will be rejected, since it can potentially allow routines to overwrite each An exception to this is when the same buffer is passed multiple times in buffers. In this case, each buffer is treated as a different buffer. Since clones have to be made to be passed multiple times in buffers, the frame will not be considered writable. Hence aliasing is safe in this case, but the caller is required to explicit opt-in to this read-only handling by passing clones of the buffer into buffers and have a different buffer index for each plane combination that could overlap in their range.

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

§

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

§

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.