Commit a435efe3 authored by Brent Vatne's avatar Brent Vatne
Browse files

Various fixes

- Call super in removeFromSuperview
- setRate has to come at the end of modifiers
- Switch to requireNativeComponent
parent 44b17119
Loading
Loading
Loading
Loading
+3 −3
Changes for RCTVideo.m: 3 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -325,7 +325,6 @@ static NSString *const statusKeyPath = @"status";

- (void)applyModifiers
{
  /* volume must be set to 0 if muted is YES, or the video freezes playback */
  if (_muted) {
    [_player setVolume:0];
    [_player setMuted:YES];
@@ -334,11 +333,10 @@ static NSString *const statusKeyPath = @"status";
    [_player setMuted:NO];
  }

  [_player setRate:_rate];

  [self setResizeMode:_resizeMode];
  [self setRepeat:_repeat];
  [self setPaused:_paused];
  [_player setRate:_rate];
}

- (void)setRepeat:(BOOL)repeat {
@@ -382,6 +380,8 @@ static NSString *const statusKeyPath = @"status";

  _eventDispatcher = nil;
  [[NSNotificationCenter defaultCenter] removeObserver:self];

  [super removeFromSuperview];
}

@end
+8 −8
Changes for Video.ios.js: 8 added lines, 8 removed lines.
Original line number Diff line number Diff line
var React = require('react-native');
var NativeModules = require('NativeModules');
var { requireNativeComponent, } = React;
var ReactNativeViewAttributes = require('ReactNativeViewAttributes');
var NativeModules = require('NativeModules');
var StyleSheet = require('StyleSheet');
var createReactIOSNativeComponentClass = require('createReactNativeComponentClass');
var PropTypes = require('ReactPropTypes');
var StyleSheetPropType = require('StyleSheetPropType');
var VideoResizeMode = require('./VideoResizeMode');
@@ -14,6 +14,11 @@ var deepDiffer = require('deepDiffer');

var Video = React.createClass({
  propTypes: {
    /* Native only */
    src: PropTypes.object,
    seek: PropTypes.number,

    /* Wrapper component */
    style: StyleSheetPropType(VideoStylePropTypes),
    source: PropTypes.object,
    resizeMode: PropTypes.string,
@@ -103,12 +108,7 @@ var Video = React.createClass({
  },
});

var RCTVideo = createReactIOSNativeComponentClass({
  validAttributes: merge(ReactNativeViewAttributes.UIView,
    {src: {diff: deepDiffer}, resizeMode: true, repeat: true,
     seek: true, paused: true, muted: true, volume: true, rate: true}),
  uiViewClassName: 'RCTVideo',
});
var RCTVideo = requireNativeComponent('RCTVideo', Video);

var styles = StyleSheet.create({
  base: {