Изменить фильтр на видео с помощью GPUImage

У меня проблема при попытке изменить фильтры.

На моем viewDidLoad я делаю это:

filter = [[GPUImageSepiaFilter alloc] init];
[videoCamera addTarget:filter];
filterView = (GPUImageView *)self.view;
[filter addTarget:filterView];

filterView объявляется в.h с GPUImageView *filterView;

Моя проблема на этот метод:

-(void)changeEffect
{
[videoCamera removeAllTargets];
[filter removeAllTargets];
filter = [[GPUImageColorInvertFilter alloc] init];
[videoCamera addTarget:filter];
[filter addTarget: filterView];
}

По инструкции [filter addTarget: filterView] я получаю эту ошибку: * Завершение приложения из-за необработанного исключения "NSInvalidArgumentException", причина: "* - [__ NSArrayM insertObject: atIndex:]: объект не может быть nil"

1 ответ

Вам, вероятно, придется сделать это перед добавлением

filterView = (GPUImageView *)self.view;
Другие вопросы по тегам