0

我正在尝试在我的应用程序中添加快进功能,该应用程序大量使用 GPUImage,但遇到了一些内存问题。

在顶部-[GPUImageMovie readNextVideoFrameFromOutput:],我将其替换为:

CMSampleBufferRef sampleBufferRef = [videoTrackOutput copyNextSampleBuffer];

有了这个:

CMSampleBufferRef sampleBufferRef = [videoTrackOutput copyNextSampleBuffer];
if(GPUImageSpeedModeFast == self.speedMode) {
    sampleBufferRef = [videoTrackOutput copyNextSampleBuffer];
}

这似乎工作了几秒钟,但由于内存问题,我的应用程序被杀死了。我认为这是高分配率,因为似乎没有任何泄漏。有人有这方面的经验吗?有什么想法吗?

4

1 回答 1

0

实际上,似乎最好的路线(对于 GPUImageMovie 而言)就是用 AVPlayerItem 实例化它,而不是试图让它使用它的 AVAsset 路径!

于 2014-08-19T18:58:24.467 回答