Skip to content

Commit abae60c

Browse files
committed
Listen to all HTML Media events to update state
1 parent 3cc6a40 commit abae60c

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

src/components/video/Video.js

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -311,13 +311,32 @@ var Video = React.createClass({
311311
ref={(el) => {
312312
this.videoEl = el;
313313
}}
314-
onPlay={this._updateStateFromVideo}
314+
// We have throttled `_updateStateFromVideo` so listen to
315+
// every available Media event that React allows and
316+
// infer the Video state in that method from the Video properties.
317+
onAbort={this._updateStateFromVideo}
318+
onCanPlay={this._updateStateFromVideo}
319+
onCanPlayThrough={this._updateStateFromVideo}
320+
onDurationChange={this._updateStateFromVideo}
321+
onEmptied={this._updateStateFromVideo}
322+
onEncrypted={this._updateStateFromVideo}
323+
onEnded={this._updateStateFromVideo}
324+
onError={this._updateStateFromVideo}
325+
onLoadedData={this._updateStateFromVideo}
326+
onLoadedMetadata={this._updateStateFromVideo}
327+
onLoadStart={this._updateStateFromVideo}
315328
onPause={this._updateStateFromVideo}
316-
onVolumeChange={this._updateStateFromVideo}
317-
onTimeUpdate={this._updateStateFromVideo}
329+
onPlay={this._updateStateFromVideo}
330+
onPlaying={this._updateStateFromVideo}
318331
onProgress={this._updateStateFromVideo}
319-
onCanPlay={this._updateStateFromVideo}
320-
onCanPlayThrough={this._updateStateFromVideo}>
332+
onRateChange={this._updateStateFromVideo}
333+
onSeeked={this._updateStateFromVideo}
334+
onSeeking={this._updateStateFromVideo}
335+
onStalled={this._updateStateFromVideo}
336+
onSuspend={this._updateStateFromVideo}
337+
onTimeUpdate={this._updateStateFromVideo}
338+
onVolumeChange={this._updateStateFromVideo}
339+
onWaiting={this._updateStateFromVideo}>
321340
{this.renderSources()}
322341
</video>
323342
{controls ? this.renderControls() : ''}

0 commit comments

Comments
 (0)