Commit 6b62119c authored by ndao's avatar ndao Committed by Matt Apperson
Browse files

add ability to change progress update interval (#289)

* added progressUpdateInterval prop iOS

* add prop to Video.js

* added progressUpdateInterval prop iOS

* add prop to Video.js
parent 0c746e8f
Loading
Loading
Loading
Loading
+6 −6
Changes for README.md: 6 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -86,23 +86,23 @@ Under `.addPackage(new MainReactPackage())`:
// Within your render function, assuming you have a file called
// "background.mp4" in your project. You can include multiple videos
// on a single screen if you like.
<Video
  source={{uri: "background"}} // Can be a URL or a local file.

<Video source={{uri: "background"}}   // Can be a URL or a local file.
       rate={1.0}                     // 0 is paused, 1 is normal.
       volume={1.0}                   // 0 is muted, 1 is normal.
       muted={false}                  // Mutes the audio entirely.
       paused={false}                 // Pauses playback entirely.
       resizeMode="cover"             // Fill the whole screen at aspect ratio.
       repeat={true}                  // Repeat forever.
  playInBackground={false}     // Audio continues to play when aentering background.
  playWhenInactive={false}     // [iOS] Video continues to play whcontrol or notification center are shown.
       playInBackground={false}       // Audio continues to play when app entering background.
       playWhenInactive={false}       // [iOS] Video continues to play when control or notification center are shown.
       progressUpdateInterval={250.0} // [iOS] Interval to fire onProgress (default to ~250ms)
       onLoadStart={this.loadStart}   // Callback when video starts to load
       onLoad={this.setDuration}      // Callback when video loads
       onProgress={this.setTime}      // Callback every ~250ms with currentTime
       onEnd={this.onEnd}             // Callback when playback finishes
       onError={this.videoError}      // Callback when video cannot be loaded
  style={styles.backgroundVideo}
/>
       style={styles.backgroundVideo} />

// Later on in your styles..
var styles = StyleSheet.create({
+1 −0
Changes for Video.js: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -199,6 +199,7 @@ Video.propTypes = {
  playWhenInactive: PropTypes.bool,
  controls: PropTypes.bool,
  currentTime: PropTypes.number,
  progressUpdateInterval: PropTypes.number,
  onLoadStart: PropTypes.func,
  onLoad: PropTypes.func,
  onError: PropTypes.func,
+5 −0
Changes for ios/RCTVideo.m: 5 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -636,6 +636,11 @@ static NSString *const playbackRate = @"rate";
    }
}

- (void)setProgressUpdateInterval:(float)progressUpdateInterval
{
  _progressUpdateInterval = progressUpdateInterval;
}

- (void)removePlayerLayer
{
    [_playerLayer removeFromSuperlayer];
+1 −0
Changes for ios/RCTVideoManager.m: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ RCT_EXPORT_VIEW_PROPERTY(rate, float);
RCT_EXPORT_VIEW_PROPERTY(seek, float);
RCT_EXPORT_VIEW_PROPERTY(currentTime, float);
RCT_EXPORT_VIEW_PROPERTY(fullscreen, BOOL);
RCT_EXPORT_VIEW_PROPERTY(progressUpdateInterval, float);

- (NSDictionary *)constantsToExport
{