即时切换 GPUImage 过滤器链
Switching GPUImageFilter chain on the fly
我 运行 视频流上的一组过滤器(不使用 GPUImageVideoCamera
,但处理样本缓冲区)目前使用 GPUImageFilterPipeline
。
要更改我的过滤器,我只是使用:
[self.filterPipeline replaceAllFilters:self.warmFilterArray];
或[self.filterPipeline replaceAllFilters:self.coolFilterArray];
或[self.filterPipeline removeAllFilters];
每当我更换过滤器时,我都会遇到崩溃问题。崩溃是不一致的,但如果我更换过滤器太快,我更有可能崩溃。
我怀疑这与突然删除过滤器链中的目标有关。关于如何安全移除过滤器的任何想法?谢谢
我通过使用具有多个输入的多个管道解决了这个问题。我将要处理的样本缓冲区发送到合适的输入,这样我就可以避免在处理过程中从链中移除过滤器!
我 运行 视频流上的一组过滤器(不使用 GPUImageVideoCamera
,但处理样本缓冲区)目前使用 GPUImageFilterPipeline
。
要更改我的过滤器,我只是使用:
[self.filterPipeline replaceAllFilters:self.warmFilterArray];
或[self.filterPipeline replaceAllFilters:self.coolFilterArray];
或[self.filterPipeline removeAllFilters];
每当我更换过滤器时,我都会遇到崩溃问题。崩溃是不一致的,但如果我更换过滤器太快,我更有可能崩溃。
我怀疑这与突然删除过滤器链中的目标有关。关于如何安全移除过滤器的任何想法?谢谢
我通过使用具有多个输入的多个管道解决了这个问题。我将要处理的样本缓冲区发送到合适的输入,这样我就可以避免在处理过程中从链中移除过滤器!