将CMSampleBuffer转换为数据并将数据转换回CMSampleBuffer

时间:2019-12-05 06:29:27

标签: swift webrtc replaykit cmsamplebuffer

我正在从广播上传扩展接收cmsamplebuffer,我需要将其发送到主应用程序,以便可以通过webrtc发送它。 Webrtc严格需要位于主应用程序中。为了将cmsamplebuffer发送到主应用程序,我需要先将其转换为Data,然后在主应用程序中收到后将其转换回cmsamplebuffer。这是我将其转换为数据的代码:

let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)
CVPixelBufferLockBaseAddress(imageBuffer!, CVPixelBufferLockFlags(rawValue: 0))
let bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer!)
let height = CVPixelBufferGetHeight(imageBuffer!)
let src_buff = CVPixelBufferGetBaseAddress(imageBuffer!)
let data = NSData(bytes: src_buff, length: bytesPerRow * height)
CVPixelBufferUnlockBaseAddress(imageBuffer, CVPixelBufferLockFlags(rawValue: 0))

现在,我找不到如何将数据转换回cmsamplebuffer的方法。

0 个答案:

没有答案