CVBuffer

Struct CVBuffer 

Source
pub struct CVBuffer { /* private fields */ }
Available on crate feature CVBuffer only.
Expand description

Base type for all CoreVideo buffers

See also Apple’s documentation

Implementations§

Source§

impl CVBuffer

Source

pub unsafe fn set_attachment( &self, key: &CFString, value: &CFType, attachment_mode: CVAttachmentMode, )

Sets or adds a attachment of a CVBuffer object

You can attach any CF object to a CVBuffer object to store additional information. CVBufferGetAttachment stores an attachement identified by a key. If the key doesn’t exist, the attachment will be added. If the key does exist, the existing attachment will be replaced. In bouth cases the retain count of the attachment will be incremented. The value can be any CFType but nil has no defined behavior.

Parameter buffer: Target CVBuffer object.

Parameter key: Key in form of a CFString identifying the desired attachment.

Parameter value: Attachment in form af a CF object.

Parameter attachmentMode: Specifies which attachment mode is desired for this attachment. A particular attachment key may only exist in a single mode at a time.

§Safety

value should be of the correct type.

Source

pub unsafe fn get_attachment( &self, key: &CFString, attachment_mode: *mut CVAttachmentMode, ) -> Option<CFRetained<CFType>>

👎Deprecated

Returns a specific attachment of a CVBuffer object

You can attach any CF object to a CVBuffer object to store additional information. CVBufferGetAttachment retrieves an attachement identified by a key.

Parameter buffer: Target CVBuffer object.

Parameter key: Key in form of a CFString identifying the desired attachment.

Parameter attachmentMode: Returns the mode of the attachment, if desired. May be NULL.

Returns: If found the attachment object

§Safety

attachment_mode must be a valid pointer or null.

Source

pub fn remove_attachment(&self, key: &CFString)

Removes a specific attachment of a CVBuffer object

CVBufferRemoveAttachment removes an attachement identified by a key. If found the attachement is removed and the retain count decremented.

Parameter buffer: Target CVBuffer object.

Parameter key: Key in form of a CFString identifying the desired attachment.

Source

pub fn remove_all_attachments(&self)

Removes all attachments of a CVBuffer object

While CVBufferRemoveAttachment removes a specific attachement identified by a key CVBufferRemoveAllAttachments removes all attachments of a buffer and decrements their retain counts.

Parameter buffer: Target CVBuffer object.

Source

pub fn get_attachments( &self, attachment_mode: CVAttachmentMode, ) -> Option<CFRetained<CFDictionary>>

👎Deprecated

Returns all attachments of a CVBuffer object

CVBufferGetAttachments is a convenience call that returns all attachments with their corresponding keys in a CFDictionary.

Parameter buffer: Target CVBuffer object.

Returns: A CFDictionary with all buffer attachments identified by there keys. If no attachment is present, the dictionary is empty. Returns NULL for invalid attachment mode.

Source

pub unsafe fn set_attachments( &self, the_attachments: &CFDictionary, attachment_mode: CVAttachmentMode, )

Sets a set of attachments for a CVBuffer

CVBufferSetAttachments is a convenience call that in turn calls CVBufferSetAttachment for each key and value in the given dictionary. All key value pairs must be in the root level of the dictionary.

Parameter buffer: Target CVBuffer object.

§Safety

the_attachments generics must be of the correct type.

Source

pub fn propagate_attachments(&self, destination_buffer: &CVBuffer)

Copy all propagatable attachments from one buffer to another.

CVBufferPropagateAttachments is a convenience call that copies all attachments with a mode of kCVAttachmentMode_ShouldPropagate from one buffer to another.

Parameter sourceBuffer: CVBuffer to copy attachments from.

Parameter destinationBuffer: CVBuffer to copy attachments to.

Source

pub fn attachments( &self, attachment_mode: CVAttachmentMode, ) -> Option<CFRetained<CFDictionary>>

Returns a copy of all attachments of a CVBuffer object. It is the caller’s responsibility to release the returned dictionary.

CVBufferCopyAttachments is a convenience call that returns a copy of all attachments with their corresponding keys in a CFDictionary.

Parameter buffer: Target CVBuffer object.

Returns: A CFDictionary with all buffer attachments identified by their keys. If no attachment is present or invalid attachment mode, returns NULL

Source

pub unsafe fn attachment( &self, key: &CFString, attachment_mode: *mut CVAttachmentMode, ) -> Option<CFRetained<CFType>>

Returns a retained specific attachment of a CVBuffer object. It is the caller’s responsibility to release the returned value.

You can attach any CF object to a CVBuffer object to store additional information. CVBufferCopyAttachment retrieves a retained attachment identified by a key.

Parameter buffer: Target CVBuffer object.

Parameter key: Key in form of a CFString identifying the desired attachment.

Parameter attachmentMode: Returns the mode of the attachment, if desired. May be NULL.

Returns: If found the attachment object, return the value; otherwize, return NULL.

§Safety

attachment_mode must be a valid pointer or null.

Source

pub fn has_attachment(&self, key: &CFString) -> bool

Returns true if an attachment with the passed key is present on a CVBuffer object.

Parameter buffer: Target CVBuffer object.

Parameter key: Key in form of a CFString identifying the desired attachment.

Returns: True if an attachment with this key is present, otherwise false.

Methods from Deref<Target = CFType>§

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: ConcreteType,

Attempt to downcast the type to that of type T.

This is the reference-variant. Use CFRetained::downcast if you want to convert a retained type. See also ConcreteType for more details on which types support being converted to.

Source

pub fn retain_count(&self) -> usize

Get the reference count of the object.

This function may be useful for debugging. You normally do not use this function otherwise.

Beware that some things (like CFNumbers, small CFStrings etc.) may not have a normal retain count for optimization purposes, and can return usize::MAX in that case.

Trait Implementations§

Source§

impl AsRef<AnyObject> for CVBuffer

Source§

fn as_ref(&self) -> &AnyObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<CFType> for CVBuffer

Source§

fn as_ref(&self) -> &CFType

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<CVBuffer> for CVBuffer

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<AnyObject> for CVBuffer

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<CFType> for CVBuffer

Source§

fn borrow(&self) -> &CFType

Immutably borrows from an owned value. Read more
Source§

impl Debug for CVBuffer

Source§

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

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

impl Deref for CVBuffer

Source§

type Target = CFType

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Hash for CVBuffer

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 Message for CVBuffer

Source§

fn retain(&self) -> Retained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

impl PartialEq for CVBuffer

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 RefEncode for CVBuffer

Source§

const ENCODING_REF: Encoding

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl Type for CVBuffer

Source§

fn retain(&self) -> CFRetained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

fn as_concrete_TypeRef(&self) -> &Self

👎Deprecated: this is redundant
Helper for easier transition from the core-foundation crate.
Source§

unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>
where Self: Sized,

👎Deprecated: use CFRetained::retain
Helper for easier transition from the core-foundation crate. Read more
Source§

fn as_CFTypeRef(&self) -> &CFType
where Self: AsRef<CFType>,

👎Deprecated: this is redundant (CF types deref to CFType)
Helper for easier transition from the core-foundation crate.
Source§

unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>
where Self: Sized,

👎Deprecated: use CFRetained::from_raw
Helper for easier transition from the core-foundation crate. Read more
Source§

impl Eq for CVBuffer

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,