即时切换GPUImageFilter链

时间:2016-01-19 16:12:46

标签: gpuimage

我正在使用GPUImageVideoCamera在视频流上运行一组过滤器(不是使用GPUImageFilterPipeline,而是处理样本缓冲区)。

要更改我的过滤器,我只需使用:

[self.filterPipeline replaceAllFilters:self.warmFilterArray];

[self.filterPipeline replaceAllFilters:self.coolFilterArray];

[self.filterPipeline removeAllFilters];

每当我更换过滤器时,我都会遇到崩溃问题。崩溃是不一致的,但如果我过快地更换过滤器,我更有可能崩溃。

我怀疑它与过滤器链中的目标被突然删除有关。有关如何安全删除过滤器的任何想法?感谢

1 个答案:

答案 0 :(得分:0)

我通过使用具有多个输入的多个管道解决了该问题。我将要处理的样本缓冲区发送到适当的输入,这样我就可以避免在处理过程中从链中删除过滤器了!