Establezca el file adjunto de muestras CMSampleBuffer (Swift)

Estoy tratando de establecer kCMSampleAttachmentKey_DisplayImmediately para cada una de mis muestras en el CMSampleBuffer .

Hasta el momento he intentado get dictionarys ( Dictionary<NSObject, AnyObject> , NSDictionary , CFDictionary ) e invoco CMSetAttachment en CMSampleBuffer y sus files adjuntos.

Para recuperar adjuntos, uso CMSampleBufferGetSampleAttachmentsArray .

¿Alguna idea de cómo puedo configurar esas banderas en Swift?

Aquí está la solución (probablemente lejos de ser perfecta) que funciona con Swift 4 (debería funcionar con 3).

 func setSampleBufferAttachments(_ sampleBuffer: CMSampleBuffer) { let attachments: CFArray! = CMSampleBufferGetSampleAttachmentsArray(sampleBuffer, true) let dictionary = unsafeBitCast(CFArrayGetValueAtIndex(attachments, 0), to: CFMutableDictionary.self) let key = Unmanaged.passUnretained(kCMSampleAttachmentKey_DisplayImmediately).toOpaque() let value = Unmanaged.passUnretained(kCFBooleanTrue).toOpaque() CFDictionarySetValue(dictionary, key, value) }