diff --git a/externs/managedmediasource.js b/externs/managedmediasource.js index cca0dbd843..1c06840f19 100644 --- a/externs/managedmediasource.js +++ b/externs/managedmediasource.js @@ -22,3 +22,9 @@ function ManagedMediaSource() {} * @return {boolean} */ ManagedMediaSource.isTypeSupported = function(type) {}; + +/** + * @constructor + * @extends {SourceBuffer} + */ +function ManagedSourceBuffer() {} diff --git a/lib/media/media_source_capabilities.js b/lib/media/media_source_capabilities.js index eb0d0e0f80..63bf98a236 100644 --- a/lib/media/media_source_capabilities.js +++ b/lib/media/media_source_capabilities.js @@ -40,9 +40,10 @@ shaka.media.Capabilities = class { * @return {boolean} */ static isChangeTypeSupported() { - return !!window.SourceBuffer && + const sourceBuffer = window.ManagedSourceBuffer || window.SourceBuffer; + return !!sourceBuffer && // eslint-disable-next-line no-restricted-syntax - !!SourceBuffer.prototype && !!SourceBuffer.prototype.changeType; + !!sourceBuffer.prototype && !!sourceBuffer.prototype.changeType; } };