CVPixelBufferPool

Struct CVPixelBufferPool 

Source
pub struct CVPixelBufferPool(/* private fields */);
Expand description

Opaque handle to CVPixelBufferPool

Implementations§

Source§

impl CVPixelBufferPool

Source

pub fn from_raw(ptr: *mut c_void) -> Option<Self>

Source

pub unsafe fn from_ptr(ptr: *mut c_void) -> Self

§Safety

The caller must ensure the pointer is a valid CVPixelBufferPool pointer.

Source

pub fn as_ptr(&self) -> *mut c_void

Source

pub fn create( width: usize, height: usize, pixel_format: u32, max_buffers: usize, ) -> Result<Self, i32>

Create a new pixel buffer pool

§Arguments
  • width - Width of pixel buffers in the pool
  • height - Height of pixel buffers in the pool
  • pixel_format - Pixel format type
  • max_buffers - Maximum number of buffers in the pool (0 for unlimited)
§Errors

Returns a Core Video error code if the pool creation fails.

Source

pub fn create_pixel_buffer(&self) -> Result<CVPixelBuffer, i32>

Create a pixel buffer from the pool

§Errors

Returns a Core Video error code if the buffer creation fails.

Source

pub fn flush(&self)

Flush the pixel buffer pool

Releases all available pixel buffers in the pool

Source

pub fn get_type_id() -> usize

Get the Core Foundation type ID for CVPixelBufferPool

Source

pub fn create_pixel_buffer_with_aux_attributes( &self, aux_attributes: Option<&HashMap<String, u32>>, ) -> Result<CVPixelBuffer, i32>

Create a pixel buffer from the pool with auxiliary attributes

This allows specifying additional attributes for the created buffer

§Errors

Returns a Core Video error code if the buffer creation fails.

Source

pub fn try_create_pixel_buffer(&self) -> Option<CVPixelBuffer>

Try to create a pixel buffer from the pool without blocking

Returns None if no buffers are available

Source

pub fn flush_with_options(&self, _flags: u32)

Flush the pool with specific options

Releases buffers based on the provided flags

Source

pub fn is_empty(&self) -> bool

Check if the pool is empty (no available buffers)

Note: This is an approximation based on whether we can create a buffer

Source

pub fn get_attributes(&self) -> Option<*const c_void>

Get the pool attributes

Returns the raw pointer to the CFDictionary containing pool attributes

Source

pub fn get_pixel_buffer_attributes(&self) -> Option<*const c_void>

Get the pixel buffer attributes

Returns the raw pointer to the CFDictionary containing pixel buffer attributes

Trait Implementations§

Source§

impl Clone for CVPixelBufferPool

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CVPixelBufferPool

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for CVPixelBufferPool

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for CVPixelBufferPool

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Hash for CVPixelBufferPool

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for CVPixelBufferPool

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for CVPixelBufferPool

Source§

impl Send for CVPixelBufferPool

Source§

impl Sync for CVPixelBufferPool

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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.