Skip to content

Commit

Permalink
Merge pull request #1089 from react-native-community/bugfix/exoplayer…
Browse files Browse the repository at this point in the history
…-progress-playable

ExoPlayer playableDuration incorrect
  • Loading branch information
cobarx authored Jun 25, 2018
2 parents 4d2c39e + 9c0ddde commit a373288
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 5 deletions.
26 changes: 22 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,6 @@ using System.Collections.Generic;
onFullscreenPlayerDidPresent={this.fullScreenPlayerDidPresent} // Callback after fullscreen started
onFullscreenPlayerWillDismiss={this.fullScreenPlayerWillDismiss} // Callback before fullscreen stops
onFullscreenPlayerDidDismiss={this.fullScreenPlayerDidDismiss} // Callback after fullscreen stopped
onProgress={this.setTime} // Callback every ~250ms with currentTime
style={styles.backgroundVideo} />

// Later to trigger fullscreen
Expand Down Expand Up @@ -242,6 +241,7 @@ var styles = StyleSheet.create({
### Event props
* [onLoad](#onload)
* [onLoadStart](#onloadstart)
* [onProgress](#onprogress)
* [onTimedMetadata](#ontimedmetadata)

### Methods
Expand Down Expand Up @@ -496,9 +496,9 @@ Payload:

Property | Description
--- | ---
isNetwork | Boolean indicating if the media is being loaded from the network
type | Type of the media. Not available on Windows
uri | URI for the media source. Not available on Windows
isNetwork | boolean | Boolean indicating if the media is being loaded from the network
type | string | Type of the media. Not available on Windows
uri | string | URI for the media source. Not available on Windows

Example:
```
Expand All @@ -511,6 +511,24 @@ Example:

Platforms: all

#### onProgress
Callback function that is called every progressInterval seconds with info about which position the media is currently playing.

Property | Description
--- | ---
currentTime | number | Current position in seconds
playableDuration | number | Position to where the media can be played to using just the buffer in seconds
seekableDuration | number | Position to where the media can be seeked to in seconds. Typically, the total length of the media

Example:
```
{
currentTime: 5.2,
playableDuration: 34.6,
seekableDuration: 888
}
```

#### onTimedMetadata
Callback function that is called when timed metadata becomes available

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public void handleMessage(Message msg) {
&& player.getPlayWhenReady()
) {
long pos = player.getCurrentPosition();
long bufferedDuration = player.getBufferedPercentage() * player.getDuration();
long bufferedDuration = player.getBufferedPercentage() * player.getDuration() / 100;
eventEmitter.progressChanged(pos, bufferedDuration, player.getDuration());
msg = obtainMessage(SHOW_PROGRESS);
sendMessageDelayed(msg, Math.round(mProgressUpdateInterval));
Expand Down

0 comments on commit a373288

Please sign in to comment.