pub struct CVBuffer { /* private fields */ }CVBuffer only.Expand description
Base type for all CoreVideo buffers
See also Apple’s documentation
Implementations§
Source§impl CVBuffer
impl CVBuffer
Sourcepub unsafe fn set_attachment(
&self,
key: &CFString,
value: &CFType,
attachment_mode: CVAttachmentMode,
)
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.
Sourcepub unsafe fn get_attachment(
&self,
key: &CFString,
attachment_mode: *mut CVAttachmentMode,
) -> Option<CFRetained<CFType>>
👎Deprecated
pub unsafe fn get_attachment( &self, key: &CFString, attachment_mode: *mut CVAttachmentMode, ) -> Option<CFRetained<CFType>>
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.
Sourcepub fn remove_attachment(&self, key: &CFString)
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.
Sourcepub fn remove_all_attachments(&self)
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.
Sourcepub fn get_attachments(
&self,
attachment_mode: CVAttachmentMode,
) -> Option<CFRetained<CFDictionary>>
👎Deprecated
pub fn get_attachments( &self, attachment_mode: CVAttachmentMode, ) -> Option<CFRetained<CFDictionary>>
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.
Sourcepub unsafe fn set_attachments(
&self,
the_attachments: &CFDictionary,
attachment_mode: CVAttachmentMode,
)
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.
Sourcepub fn propagate_attachments(&self, destination_buffer: &CVBuffer)
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.
Sourcepub fn attachments(
&self,
attachment_mode: CVAttachmentMode,
) -> Option<CFRetained<CFDictionary>>
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
Sourcepub unsafe fn attachment(
&self,
key: &CFString,
attachment_mode: *mut CVAttachmentMode,
) -> Option<CFRetained<CFType>>
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.
Sourcepub fn has_attachment(&self, key: &CFString) -> bool
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>§
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: ConcreteType,
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.
Sourcepub fn retain_count(&self) -> usize
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 RefEncode for CVBuffer
impl RefEncode for CVBuffer
Source§const ENCODING_REF: Encoding
const ENCODING_REF: Encoding
Source§impl Type for CVBuffer
impl Type for CVBuffer
Source§fn retain(&self) -> CFRetained<Self>where
Self: Sized,
fn retain(&self) -> CFRetained<Self>where
Self: Sized,
Source§fn as_concrete_TypeRef(&self) -> &Self
fn as_concrete_TypeRef(&self) -> &Self
core-foundation crate.Source§unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
core-foundation crate. Read moreSource§fn as_CFTypeRef(&self) -> &CFType
fn as_CFTypeRef(&self) -> &CFType
core-foundation crate.Source§unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>where
Self: Sized,
core-foundation crate. Read more