Commit 5408faff authored by Brent Vatne's avatar Brent Vatne
Browse files

Add support for `repeat` prop

parent ac3d6556
Loading
Loading
Loading
Loading
+9 −1
Changes for RCTVideo.m: 9 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@
  [_player setContentURL:videoURL];
  [_player setControlStyle:MPMovieControlStyleNone];
  [_player setScalingMode:MPMovieScalingModeNone];
  [_player setRepeatMode:MPMovieRepeatModeOne];
  [_player prepareToPlay];
  [_player play];
}
@@ -33,6 +32,15 @@
  [_player setScalingMode:mode];
}

- (void)setRepeat:(BOOL)repeat
{
  if (repeat) {
    [_player setRepeatMode:MPMovieRepeatModeOne];
  } else {
    [_player setRepeatMode:MPMovieRepeatModeNone];
  }
}

- (NSArray *)reactSubviews
{
  NSArray *subviews = @[_player.view];
+1 −0
Changes for RCTVideoManager.m: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@

RCT_EXPORT_VIEW_PROPERTY(src, NSString);
RCT_EXPORT_VIEW_PROPERTY(resizeMode, NSInteger);
RCT_EXPORT_VIEW_PROPERTY(repeat, BOOL);

- (NSDictionary *)constantsToExport
{
+4 −3
Changes for README.md: 4 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ A <Video> component for react-native, as seen in
```javascript
// Within your render function, assuming you have a file called
// "background.mp4" in your project
<Video source={"background"} style={styles.backgroundVideo} />
<Video source={"background"} style={styles.backgroundVideo} repeat={true} />

// Later on in your styles..
var styles = Stylesheet.create({
@@ -47,5 +47,6 @@ Example code [here](https://github.com/brentvatne/react-native-login/blob/master

- [ ] Support `require('video!...')`
- [ ] Support other extensions than mp4?
- [ ] Add prop to set repeat (none or forever)
- [ ] Add support for other props (not sure which yet)
- [x] Add prop to set repeat (none or forever)
- [ ] Add support [for other props](https://developer.apple.com/library/prerelease/ios/documentation/MediaPlayer/Reference/MPMoviePlayerController_Class/index.html)
- [ ] Tests..
+2 −1
Changes for Video.ios.js: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ var Video = React.createClass({
  propTypes: {
    source: PropTypes.string,
    style: StyleSheetPropType(VideoStylePropTypes),
    repeat: PropTypes.bool,
  },

  mixins: [NativeMethodsMixin],
@@ -49,7 +50,7 @@ var Video = React.createClass({
});

var RCTVideo = createReactIOSNativeComponentClass({
  validAttributes: merge(ReactIOSViewAttributes.UIView, {src: true, resizeMode: true}),
  validAttributes: merge(ReactIOSViewAttributes.UIView, {src: true, resizeMode: true, repeat: true}),
  uiViewClassName: 'RCTVideo',
});

+1 −1
Changes for package.json: 1 added line, 1 removed line.
Original line number Diff line number Diff line
{
  "name": "react-native-video",
  "version": "0.1.3",
  "version": "0.1.4",
  "description": "A <Video> element for react-native",
  "main": "Video.ios.js",
  "author": "Brent Vatne <brentvatne@gmail.com> (https://github.com/brentvatne)",