diff --git a/src/components/htmlMediaHelper.js b/src/components/htmlMediaHelper.js index 82d6d790bc..7f623ee2cc 100644 --- a/src/components/htmlMediaHelper.js +++ b/src/components/htmlMediaHelper.js @@ -200,17 +200,22 @@ import { Events } from 'jellyfin-apiclient'; const promise = elem.play(); if (promise && promise.then) { // Chrome now returns a promise - return promise.catch(function (e) { - const errorName = (e.name || '').toLowerCase(); - // safari uses aborterror - if (errorName === 'notallowederror' || - errorName === 'aborterror') { - // swallow this error because the user can still click the play button on the video element + return promise + .then(() => { onSuccessfulPlay(elem, onErrorFn); return Promise.resolve(); - } - return Promise.reject(); - }); + }) + .catch((e) => { + const errorName = (e.name || '').toLowerCase(); + // safari uses aborterror + if (errorName === 'notallowederror' || + errorName === 'aborterror') { + // swallow this error because the user can still click the play button on the video element + onSuccessfulPlay(elem, onErrorFn); + return Promise.resolve(); + } + return Promise.reject(); + }); } else { onSuccessfulPlay(elem, onErrorFn); return Promise.resolve();