![](/img/trans.png)
[英]CMSampleBufferRef kCMSampleBufferAttachmentKey_TrimDurationAtStart crash
[英]CMSampleBufferRef in Swift 3 produce crash
我在庫中有以下Objective C接口:
@interface VideoSource : NSObject
- (void)setFilter:(void(^)(void *))filter;
@end
它是使用SDK 9.3構建的。 回調中的第一個參數是CMSampleBufferRef。
現在,我想在帶有Swift 3的Xcode 8中使用該代碼,但是在Swift 3中,CMSampleBufferRef不是指針,而是CMSampleBuffer類。 我嘗試了幾種選擇,但它們都會導致崩潰。 這是我的嘗試之一:
videoSource.setFilter { buffer in
let p = buffer.load(as: UnsafeMutablePointer<CMSampleBuffer>.self)
let sampleBuffer = p.pointee
}
正確的鑄造效果如何?
為了使您能夠工作,請進行以下更改:
videoSource.setFilter { buffer in
let sampleBuffer = buffer?.load(as: CMSampleBuffer.self)
}
傳遞給閉包的buffer
是一個void *
指向CMSampleBuffer
實例,因此您應該這樣加載它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.