使用AVAssetReaderOutput实现快进

时间:2014-08-18 20:28:28

标签: cocoa cocoa-touch avfoundation gpuimage avassetreader

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

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

CMSampleBufferRef sampleBufferRef = [videoTrackOutput copyNextSampleBuffer];

用这个:

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

这似乎适用于几个辉煌的秒,但随后我的应用程序因内存问题而被杀死。我认为这是高分配率,因为似乎没有任何泄漏。有人有这方面的经验吗?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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