There is a filter property on VCSimpleSession
of type VCFilter
:
typedef NS_ENUM(NSInteger, VCFilter) {
VCFilterNormal,
VCFilterGray,
VCFilterInvertColors,
VCFilterSepia,
VCFilterFisheye,
VCFilterGlow
};
Where is the implementation for these filters? How can I use them?
Each filter lives in their own file in filters/Basic directory, and added at runtime with FilterFactory.cpp
:
FilterFactory::FilterFactory() {
{
filters::BasicVideoFilterBGRA b;
filters::GrayscaleVideoFilter g;
filters::InvertColorsVideoFilter i;
filters::SepiaVideoFilter s;
filters::FisheyeVideoFilter f;
filters::GlowVideoFilter gl;
}
}
You can set the filters using the setFilter:
method. The sample app iterates through all of the filters with a UIButton like so:
- (IBAction)btnFilterTouch:(id)sender {
switch (_session.filter) {
case VCFilterNormal:
[_session setFilter:VCFilterGray];
break;
case VCFilterGray:
[_session setFilter:VCFilterInvertColors];
break;
case VCFilterInvertColors:
[_session setFilter:VCFilterSepia];
break;
case VCFilterSepia:
[_session setFilter:VCFilterFisheye];
break;
case VCFilterFisheye:
[_session setFilter:VCFilterGlow];
break;
case VCFilterGlow:
[_session setFilter:VCFilterNormal];
break;
default:
break;
}
}