mirror of
https://github.com/videojs/video.js.git
synced 2024-12-25 02:42:10 +02:00
@mister-ben silenced chrome's play() request was interrupted by pause() error. closes #3518
This commit is contained in:
parent
bf2eabf82d
commit
fa1c6430f4
@ -5,6 +5,7 @@ CHANGELOG
|
||||
* @vdeshpande fixed control text for fullscreen button ([view](https://github.com/videojs/video.js/pull/3485))
|
||||
* @mister-ben fixed android treating swipe as a tap ([view](https://github.com/videojs/video.js/pull/3514))
|
||||
* @mboles updated duration() method documentation ([view](https://github.com/videojs/video.js/pull/3515))
|
||||
* @mister-ben silenced chrome's play() request was interrupted by pause() error ([view](https://github.com/videojs/video.js/pull/3518))
|
||||
|
||||
--------------------
|
||||
|
||||
|
@ -423,7 +423,15 @@ class Html5 extends Tech {
|
||||
*
|
||||
* @method play
|
||||
*/
|
||||
play() { this.el_.play(); }
|
||||
play() {
|
||||
const playPromise = this.el_.play();
|
||||
|
||||
// Catch/silence error when a pause interrupts a play request
|
||||
// on browsers which return a promise
|
||||
if (playPromise !== undefined && typeof playPromise.then === 'function') {
|
||||
playPromise.then(null, (e) => {});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Pause for html5 tech
|
||||
|
@ -442,3 +442,20 @@ test('Html5#reset calls Html5.resetMediaElement when called', function() {
|
||||
|
||||
Html5.resetMediaElement = oldResetMedia;
|
||||
});
|
||||
|
||||
QUnit.test('Exception in play promise should be caught', function() {
|
||||
const oldEl = tech.el_;
|
||||
|
||||
tech.el_ = {
|
||||
play: () => {
|
||||
return new Promise(function(resolve, reject) {
|
||||
reject(new DOMException());
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
tech.play();
|
||||
QUnit.ok(true, 'error was caught');
|
||||
|
||||
tech.el_ = oldEl;
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user