Contents

CMSampleBufferGetSampleAttachmentsArray(_:createIfNecessary:)

Retrieves an array of sample attachment dictionaries that represents each sample in a sample buffer.

Declaration

func CMSampleBufferGetSampleAttachmentsArray(_ sbuf: CMSampleBuffer, createIfNecessary: Bool) -> CFArray?

Parameters

  • sbuf:

    The CMSampleBuffer being interrogated.

  • createIfNecessary:

    Specifies whether an empty array should be created (if there are no sample attachments yet).

Return Value

A reference to the CMSampleBuffer's immutable array of mutable sample attachments dictionaries (one dictionary per sample in the CMSampleBuffer). NULL is returned if there is an error

Discussion

Attachments can then be added/removed directly by the caller, using Core Foundation APIs. On return, the caller doesn’t own the returned array of attachments dictionaries, and must retain it if the caller needs to maintain a reference to it. If there are no sample attachments yet, and createIfNecessary is true, a new CFArray containing N empty CFMutableDictionaries is returned (where N is the number of samples in the CMSampleBuffer), so that attachments can be added directly by the caller. If there are no sample attachments yet, and createIfNecessary is false, NULL is returned. Once the CFArray has been created, subsequent calls will return it, even if there are still no sample attachments in the array.

See Also

Managing Attachments