Swift)将CMSampleBuffer附加到Swift数组会导致内存问题

时间:2019-06-07 07:21:28

标签: swift cmsamplebuffer video-toolbox

我目前正在基于ABR LiveStreaming构建VideoToolbox应用,并且需要将解码后的CMSampleBuffers存储到快速数组中。我将其用作缓冲区,并在使用AVSampleBufferPlayerlayer显示帧时将其出队。

但是,当我将此sampleBuffer附加到数组时,它需要大约1MB的内存大小,因此如果显示ca。 3000,则为3 GB。我认为应该在AVSampleBufferPlayerlayer排队后立即释放它,但是当所有帧都排队并显示时它不会消失。

你们有类似的经历吗?请分享 预先感谢

解码后,我将其附加到数组中。

self.buffers.append(sampleBuffer)

我将其出队

lockQueue.async {
   self.buffers.removeFirst()
}
delegate?.queue(first)

0 个答案:

没有答案