Commit 22d65add authored by Nicolas Gonzalez's avatar Nicolas Gonzalez
Browse files

Added FilterType.js with all filters that do not require extra parameters

parent 40fb19f7
Loading
Loading
Loading
Loading

FilterType.js

0 → 100644
+18 −0
Changes for FilterType.js: 18 added lines, 0 removed lines.
Original line number Diff line number Diff line
export default {
    NONE: '',
    INVERT: 'CIColorInvert',
    MONOCHROME: 'CIColorMonochrome',
    POSTERIZE: 'CIColorPosterize',
    FALSE: 'CIFalseColor',
    MAXIMUMCOMPONENT: 'CIMaximumComponent',
    MINIMUMCOMPONENT: 'CIMinimumComponent',
    CHROME: 'CIPhotoEffectChrome',
    FADE: 'CIPhotoEffectFade',
    INSTANT: 'CIPhotoEffectInstant',
    MONO: 'CIPhotoEffectMono',
    NOIR: 'CIPhotoEffectNoir',
    PROCESS: 'CIPhotoEffectProcess',
    TONAL: 'CIPhotoEffectTonal',
    TRANSFER: 'CIPhotoEffectTransfer',
    SEPIA: 'CISepiaTone'
};
+21 −5
Changes for Video.js: 21 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
import {StyleSheet, requireNativeComponent, NativeModules, View, ViewPropTypes, Image, Platform, findNodeHandle} from 'react-native';
import resolveAssetSource from 'react-native/Libraries/Image/resolveAssetSource';
import TextTrackType from './TextTrackType';
import FilterType from './FilterType';
import VideoResizeMode from './VideoResizeMode.js';

const styles = StyleSheet.create({
@@ -11,7 +12,7 @@ const styles = StyleSheet.create({
  },
});

export { TextTrackType };
export { TextTrackType, FilterType };

export default class Video extends Component {

@@ -71,7 +72,7 @@ export default class Video extends Component {
    this.setNativeProps({ fullscreen: false });
  };

  saveAsync = async (options?) => {
  save = async (options?) => {
    return await NativeModules.VideoManager.save(options, findNodeHandle(this._root));
  }

@@ -278,10 +279,25 @@ export default class Video extends Component {
  }
}

Video.filterTypes = ['Normal', 'Country', 'Winter', 'Black N White', 'Sunrise', 'Artistic'];

Video.propTypes = {
  filter: PropTypes.oneOf(Video.filterTypes),
  filter: PropTypes.oneOf([
      FilterType.NONE,
      FilterType.INVERT,
      FilterType.MONOCHROME,
      FilterType.POSTERIZE,
      FilterType.FALSE,
      FilterType.MAXIMUMCOMPONENT,
      FilterType.MINIMUMCOMPONENT,
      FilterType.CHROME,
      FilterType.FADE,
      FilterType.INSTANT,
      FilterType.MONO,
      FilterType.NOIR,
      FilterType.PROCESS,
      FilterType.TONAL,
      FilterType.TRANSFER,
      FilterType.SEPIA
  ]),
  /* Native only */
  src: PropTypes.object,
  seek: PropTypes.oneOfType([
+4 −14
Changes for ios/Video/RCTVideo.m: 4 added lines, 14 removed lines.
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ static int const RCTVideoUnset = -1;
  BOOL _fullscreen;
  NSString * _fullscreenOrientation;
  BOOL _fullscreenPlayerPresented;
  NSString *_filter;
  NSString *_filterName;
  UIViewController * _presentingViewController;
#if __has_include(<react-native-video/RCTVideoCache.h>)
  RCTVideoCache * _videoCache;
@@ -862,7 +862,7 @@ static int const RCTVideoUnset = -1;
  [self setResizeMode:_resizeMode];
  [self setRepeat:_repeat];
  [self setPaused:_paused];
  [self setFilter:_filter];
  [self setFilter:_filterName];
  [self setControls:_controls];
  [self setAllowsExternalPlayback:_allowsExternalPlayback];
}
@@ -1254,24 +1254,14 @@ static int const RCTVideoUnset = -1;
  }
}

- (void)setFilter:(NSString *)filter {
- (void)setFilter:(NSString *)filterName {

    _filter = filter;
    _filterName = filterName;

    AVAsset *asset = _playerItem.asset;

    if (asset != nil) {

        NSDictionary *filters = @{
                @"Normal": @"",
                @"Country": @"CISepiaTone",
                @"Winter": @"CIPhotoEffectProcess",
                @"Black N White": @"CIPhotoEffectNoir",
                @"Sunrise": @"CIPhotoEffectTransfer",
                @"Artistic": @"CIColorPosterize",
        };

        NSString *filterName = filters[filter];
        CIFilter *filter = [CIFilter filterWithName:filterName];

        _playerItem.videoComposition = [AVVideoComposition