Swift 3中的CMSampleBufferRef会导致崩溃

时间:2016-10-16 16:12:34

标签: ios pointers swift3

我在库中有以下Objective C接口:

videoSource.setFilter { buffer in
    let p = buffer.load(as: UnsafeMutablePointer<CMSampleBuffer>.self)
    let sampleBuffer = p.pointee
}

它是使用SDK 9.3构建的。回调中的第一个参数是CMSampleBufferRef。

现在我想在Xcode 8和Swift 3中使用该代码,但在Swift 3中,CMSampleBufferRef不是指针,而是CMSampleBuffer类。我尝试了几种选择,但它们都会导致崩溃。这是我的一次尝试:

word_wrap

铸造的正确程度如何?

1 个答案:

答案 0 :(得分:0)

为了让您接近工作,请按照以下步骤进行更改:

videoSource.setFilter { buffer in
    let sampleBuffer = buffer?.load(as: CMSampleBuffer.self)
}
传递给闭包的

buffer是指向void *实例的CMSampleBuffer,所以你应该加载它。