我目前正在基于ABR LiveStreaming
构建VideoToolbox
应用,并且需要将解码后的CMSampleBuffers
存储到快速数组中。我将其用作缓冲区,并在使用AVSampleBufferPlayerlayer
显示帧时将其出队。
但是,当我将此sampleBuffer
附加到数组时,它需要大约1MB的内存大小,因此如果显示ca。 3000,则为3 GB。我认为应该在AVSampleBufferPlayerlayer
排队后立即释放它,但是当所有帧都排队并显示时它不会消失。
你们有类似的经历吗?请分享 预先感谢
解码后,我将其附加到数组中。
self.buffers.append(sampleBuffer)
我将其出队
lockQueue.async {
self.buffers.removeFirst()
}
delegate?.queue(first)