Skip to content

Commit

Permalink
Improve progress logic
Browse files Browse the repository at this point in the history
Return null instead of 0 when not ready, and prevent anything being reported
  • Loading branch information
cookpete committed Dec 28, 2015
1 parent 3f22681 commit b0b3040
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 10 deletions.
4 changes: 2 additions & 2 deletions src/ReactPlayer.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,10 @@ export default class ReactPlayer extends Component {
let progress = {}
const loaded = this.refs.player.getFractionLoaded()
const played = this.refs.player.getFractionPlayed()
if (!this.prevLoaded || loaded !== this.prevLoaded) {
if (loaded !== null && loaded !== this.prevLoaded) {
progress.loaded = this.prevLoaded = loaded
}
if (!this.prevPlayed || played !== this.prevPlayed) {
if (played !== null && played !== this.prevPlayed) {
progress.played = this.prevPlayed = played
}
if (progress.loaded || progress.played) {
Expand Down
4 changes: 2 additions & 2 deletions src/players/FilePlayer.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@ export default class FilePlayer extends Base {
this.player.volume = fraction
}
getFractionPlayed () {
if (!this.isReady) return 0
if (!this.isReady) return null
return this.player.currentTime / this.player.duration
}
getFractionLoaded () {
if (!this.isReady) return 0
if (!this.isReady) return null
return this.player.buffered.end(0) / this.player.duration
}
render () {
Expand Down
4 changes: 2 additions & 2 deletions src/players/SoundCloud.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,11 @@ export default class SoundCloud extends Base {
this.player.setVolume(fraction)
}
getFractionPlayed () {
if (!this.isReady) return 0
if (!this.isReady) return null
return this.player.getCurrentPosition() / this.player.getDuration()
}
getFractionLoaded () {
if (!this.isReady) return 0
if (!this.isReady) return null
return this.player.getLoadedPosition() / this.player.getDuration()
}
render () {
Expand Down
4 changes: 2 additions & 2 deletions src/players/Vimeo.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,10 @@ export default class Vimeo extends Base {
this.postMessage('setVolume', fraction)
}
getFractionPlayed () {
return this.fractionPlayed || 0
return this.fractionPlayed || null
}
getFractionLoaded () {
return this.fractionLoaded || 0
return this.fractionLoaded || null
}
onMessage = e => {
if (!MATCH_MESSAGE_ORIGIN.test(e.origin)) return
Expand Down
4 changes: 2 additions & 2 deletions src/players/YouTube.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,11 +97,11 @@ export default class YouTube extends Base {
this.player.setVolume(fraction * 100)
}
getFractionPlayed () {
if (!this.isReady) return 0
if (!this.isReady) return null
return this.player.getCurrentTime() / this.player.getDuration()
}
getFractionLoaded () {
if (!this.isReady) return 0
if (!this.isReady) return null
return this.player.getVideoLoadedFraction()
}
render () {
Expand Down

0 comments on commit b0b3040

Please sign in to comment.