shaka-player 4.7.5 → 4.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -469,6 +469,7 @@ declare namespace shaka.abr {
469
469
  setMediaElement (mediaElement : any ) : any ;
470
470
  setVariants (variants : any ) : any ;
471
471
  stop ( ) : any ;
472
+ trySuggestStreams ( ) : any ;
472
473
  }
473
474
  }
474
475
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -4852,6 +4853,12 @@ declare namespace shaka.extern {
4852
4853
  * This will only be called after a call to init.
4853
4854
  */
4854
4855
  stop ( ) : any ;
4856
+ /**
4857
+ * Notifies the ABR that it is a time to suggest new streams. This is used by
4858
+ * the Player when it finishes adding the last partial segment of a fast
4859
+ * switching stream.
4860
+ */
4861
+ trySuggestStreams ( ) : any ;
4855
4862
  }
4856
4863
  }
4857
4864
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/abr_manager.js
@@ -469,6 +469,7 @@ declare namespace shaka.abr {
469
469
  setMediaElement (mediaElement : any ) : any ;
470
470
  setVariants (variants : any ) : any ;
471
471
  stop ( ) : any ;
472
+ trySuggestStreams ( ) : any ;
472
473
  }
473
474
  }
474
475
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
@@ -4852,6 +4853,12 @@ declare namespace shaka.extern {
4852
4853
  * This will only be called after a call to init.
4853
4854
  */
4854
4855
  stop ( ) : any ;
4856
+ /**
4857
+ * Notifies the ABR that it is a time to suggest new streams. This is used by
4858
+ * the Player when it finishes adding the last partial segment of a fast
4859
+ * switching stream.
4860
+ */
4861
+ trySuggestStreams ( ) : any ;
4855
4862
  }
4856
4863
  }
4857
4864
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/abr_manager.js
@@ -1339,6 +1339,10 @@ shaka.abr.SimpleAbrManager = class {
1339
1339
  * @override
1340
1340
  */
1341
1341
  segmentDownloaded(deltaTimeMs, numBytes, allowSwitch) {}
1342
+ /**
1343
+ * @override
1344
+ */
1345
+ trySuggestStreams() {}
1342
1346
  /**
1343
1347
  * @override
1344
1348
  */
@@ -281,9 +281,9 @@ new Map([["AD_DURATION","\uad11\uace0 \uae30\uac04"],["AD_PROGRESS","\uad11\uace
281
281
  "\u5ee3\u544a [AD_ON]/[NUM_ADS]"],["AD_TIME","\u5ee3\u544a\uff1a[AD_TIME]"],["AUTO_QUALITY","\u81ea\u52d5"],["BACK","\u8fd4\u56de"],["CAPTIONS","\u5b57\u5e55"],["CAST","\u6295\u653e..."],["ENTER_LOOP_MODE","\u5faa\u74b0\u64ad\u653e\u76ee\u524d\u7684\u5f71\u7247"],["ENTER_PICTURE_IN_PICTURE","\u9032\u5165\u5b50\u6bcd\u756b\u9762"],["EXIT_FULL_SCREEN","\u9000\u51fa\u5168\u87a2\u5e55\u6a21\u5f0f"],["EXIT_LOOP_MODE","\u505c\u6b62\u5faa\u74b0\u64ad\u653e\u76ee\u524d\u7684\u5f71\u7247"],["EXIT_PICTURE_IN_PICTURE",
282
282
  "\u96e2\u958b\u5b50\u6bcd\u756b\u9762"],["FAST_FORWARD","\u5feb\u8f49"],["FULL_SCREEN","\u5168\u87a2\u5e55"],["LANGUAGE","\u8a9e\u8a00"],["LIVE","\u76f4\u64ad"],["LOOP","\u5faa\u74b0\u64ad\u653e"],["MORE_SETTINGS","\u986f\u793a\u66f4\u591a\u8a2d\u5b9a"],["MULTIPLE_LANGUAGES","\u591a\u7a2e\u8a9e\u8a00"],["MUTE","\u975c\u97f3"],["NOT_APPLICABLE","\u4e0d\u9069\u7528"],["OFF","\u95dc\u9589"],["ON","\u958b\u555f"],["PAUSE","\u66ab\u505c"],["PICTURE_IN_PICTURE","\u5b50\u6bcd\u756b\u9762"],["PLAY","\u64ad\u653e"],
283
283
  ["PLAYBACK_RATE","\u64ad\u653e\u901f\u5ea6"],["RESOLUTION","\u89e3\u6790\u5ea6"],["REWIND","\u5012\u8f49"],["SEEK","\u641c\u5c0b"],["SKIP_AD","\u7565\u904e\u5ee3\u544a"],["SKIP_TO_LIVE","\u8df3\u81f3\u5f53\u524d\u76f4\u64ad"],["UNDETERMINED_LANGUAGE","\u4e0d\u660e"],["UNMUTE","\u53d6\u6d88\u975c\u97f3"],["UNRECOGNIZED_LANGUAGE","\u7121\u6cd5\u8fa8\u8b58"],["VOLUME","\u97f3\u91cf"]]))};
284
- shaka.ui.Locales.Ids={MUTE:"MUTE",AUTO_QUALITY:"AUTO_QUALITY",UNDETERMINED_LANGUAGE:"UNDETERMINED_LANGUAGE",QUALITY:"QUALITY",AD_TIME:"AD_TIME",VOLUME:"VOLUME",SEEK:"SEEK",BACK:"BACK",PAUSE:"PAUSE",UNRECOGNIZED_LANGUAGE:"UNRECOGNIZED_LANGUAGE",NOT_APPLICABLE:"NOT_APPLICABLE",LOOP:"LOOP",EXIT_LOOP_MODE:"EXIT_LOOP_MODE",MORE_SETTINGS:"MORE_SETTINGS",SURROUND:"SURROUND",PLAY:"PLAY",PICTURE_IN_PICTURE:"PICTURE_IN_PICTURE",REPLAY:"REPLAY",AD_DURATION:"AD_DURATION",AD_PROGRESS:"AD_PROGRESS",REWIND:"REWIND",
285
- OFF:"OFF",SUBTITLE_FORCED:"SUBTITLE_FORCED",LANGUAGE:"LANGUAGE",RESOLUTION:"RESOLUTION",LIVE:"LIVE",FAST_FORWARD:"FAST_FORWARD",EXIT_PICTURE_IN_PICTURE:"EXIT_PICTURE_IN_PICTURE",MULTIPLE_LANGUAGES:"MULTIPLE_LANGUAGES",CAPTIONS:"CAPTIONS",PLAYBACK_RATE:"PLAYBACK_RATE",FULL_SCREEN:"FULL_SCREEN",SKIP_AD:"SKIP_AD",AIRPLAY:"AIRPLAY",ENTER_LOOP_MODE:"ENTER_LOOP_MODE",ENTER_PICTURE_IN_PICTURE:"ENTER_PICTURE_IN_PICTURE",SKIP_TO_LIVE:"SKIP_TO_LIVE",UNMUTE:"UNMUTE",STATISTICS:"STATISTICS",EXIT_FULL_SCREEN:"EXIT_FULL_SCREEN",
286
- ON:"ON",CAST:"CAST"};shaka.abr={};shaka.abr.Ewma=function(a){goog.asserts.assert(0<a,"expected halfLife to be positive");this.alpha_=Math.exp(Math.log(.5)/a);this.totalWeight_=this.estimate_=0};shaka.abr.Ewma.prototype.updateAlpha=function(a){goog.asserts.assert(0<a,"expected halfLife to be positive");this.alpha_=Math.exp(Math.log(.5)/a)};shaka.abr.Ewma.prototype.sample=function(a,b){var c=Math.pow(this.alpha_,a);b=b*(1-c)+c*this.estimate_;isNaN(b)||(this.estimate_=b,this.totalWeight_+=a)};
284
+ shaka.ui.Locales.Ids={SEEK:"SEEK",AD_PROGRESS:"AD_PROGRESS",CAST:"CAST",SKIP_AD:"SKIP_AD",FULL_SCREEN:"FULL_SCREEN",SURROUND:"SURROUND",UNMUTE:"UNMUTE",AD_TIME:"AD_TIME",AUTO_QUALITY:"AUTO_QUALITY",STATISTICS:"STATISTICS",OFF:"OFF",SUBTITLE_FORCED:"SUBTITLE_FORCED",NOT_APPLICABLE:"NOT_APPLICABLE",RESOLUTION:"RESOLUTION",REPLAY:"REPLAY",PLAY:"PLAY",QUALITY:"QUALITY",VOLUME:"VOLUME",BACK:"BACK",UNDETERMINED_LANGUAGE:"UNDETERMINED_LANGUAGE",FAST_FORWARD:"FAST_FORWARD",LOOP:"LOOP",AD_DURATION:"AD_DURATION",
285
+ PAUSE:"PAUSE",MORE_SETTINGS:"MORE_SETTINGS",EXIT_LOOP_MODE:"EXIT_LOOP_MODE",UNRECOGNIZED_LANGUAGE:"UNRECOGNIZED_LANGUAGE",ON:"ON",MUTE:"MUTE",MULTIPLE_LANGUAGES:"MULTIPLE_LANGUAGES",PICTURE_IN_PICTURE:"PICTURE_IN_PICTURE",AIRPLAY:"AIRPLAY",EXIT_PICTURE_IN_PICTURE:"EXIT_PICTURE_IN_PICTURE",CAPTIONS:"CAPTIONS",LANGUAGE:"LANGUAGE",ENTER_LOOP_MODE:"ENTER_LOOP_MODE",LIVE:"LIVE",REWIND:"REWIND",PLAYBACK_RATE:"PLAYBACK_RATE",SKIP_TO_LIVE:"SKIP_TO_LIVE",ENTER_PICTURE_IN_PICTURE:"ENTER_PICTURE_IN_PICTURE",
286
+ EXIT_FULL_SCREEN:"EXIT_FULL_SCREEN"};shaka.abr={};shaka.abr.Ewma=function(a){goog.asserts.assert(0<a,"expected halfLife to be positive");this.alpha_=Math.exp(Math.log(.5)/a);this.totalWeight_=this.estimate_=0};shaka.abr.Ewma.prototype.updateAlpha=function(a){goog.asserts.assert(0<a,"expected halfLife to be positive");this.alpha_=Math.exp(Math.log(.5)/a)};shaka.abr.Ewma.prototype.sample=function(a,b){var c=Math.pow(this.alpha_,a);b=b*(1-c)+c*this.estimate_;isNaN(b)||(this.estimate_=b,this.totalWeight_+=a)};
287
287
  shaka.abr.Ewma.prototype.getEstimate=function(){return this.estimate_/(1-Math.pow(this.alpha_,this.totalWeight_))};shaka.abr.EwmaBandwidthEstimator=function(){this.fast_=new shaka.abr.Ewma(2);this.slow_=new shaka.abr.Ewma(5);this.bytesSampled_=0;this.minTotalBytes_=128E3;this.minBytes_=16E3};shaka.abr.EwmaBandwidthEstimator.prototype.configure=function(a){this.minTotalBytes_=a.minTotalBytes;this.minBytes_=a.minBytes;this.fast_.updateAlpha(a.fastHalfLife);this.slow_.updateAlpha(a.slowHalfLife)};
288
288
  shaka.abr.EwmaBandwidthEstimator.prototype.sample=function(a,b){if(!(b<this.minBytes_)){var c=8E3*b/a;a/=1E3;this.bytesSampled_+=b;this.fast_.sample(a,c);this.slow_.sample(a,c)}};shaka.abr.EwmaBandwidthEstimator.prototype.getBandwidthEstimate=function(a){return this.bytesSampled_<this.minTotalBytes_?a:Math.min(this.fast_.getEstimate(),this.slow_.getEstimate())};shaka.abr.EwmaBandwidthEstimator.prototype.hasGoodEstimate=function(){return this.bytesSampled_>=this.minTotalBytes_};shaka.media={};shaka.media.Capabilities=function(){};shaka.media.Capabilities.isTypeSupported=function(a){var b=shaka.media.Capabilities.MediaSourceTypeSupportMap;if(b.has(a))return b.get(a);if(window.ManagedMediaSource){var c=ManagedMediaSource.isTypeSupported(a);b.set(a,c);return c}return window.MediaSource?(c=MediaSource.isTypeSupported(a),b.set(a,c),c):!1};shaka.media.Capabilities.isChangeTypeSupported=function(){return!!window.SourceBuffer&&!!SourceBuffer.prototype&&!!SourceBuffer.prototype.changeType};
289
289
  shaka.media.Capabilities.MediaSourceTypeSupportMap=new Map;shaka.cea={};shaka.cea.DummyCaptionDecoder=function(){};shaka.cea.DummyCaptionDecoder.prototype.extract=function(a,b){};shaka.cea.DummyCaptionDecoder.prototype.decode=function(){return[]};shaka.cea.DummyCaptionDecoder.prototype.clear=function(){};shaka.cea.DummyCaptionDecoder.prototype.getStreams=function(){return[]};shaka.cea.DummyCeaParser=function(){};shaka.cea.DummyCeaParser.prototype.init=function(a){};shaka.cea.DummyCeaParser.prototype.parse=function(a){return[]};shaka.util.BufferUtils=function(){};shaka.util.BufferUtils.equal=function(a,b){var c=shaka.util.BufferUtils;if(!a&&!b)return!0;if(!a||!b||a.byteLength!=b.byteLength)return!1;if(c.unsafeGetArrayBuffer_(a)==c.unsafeGetArrayBuffer_(b)&&(a.byteOffset||0)==(b.byteOffset||0))return!0;c=shaka.util.BufferUtils.toUint8(a);b=shaka.util.BufferUtils.toUint8(b);for(var d=0;d<a.byteLength;d++)if(c[d]!=b[d])return!1;return!0};
@@ -342,12 +342,12 @@ shaka.util.Timer.prototype.tickEvery=function(a){var b=this;this.stop();goog.DEB
342
342
  goog.exportProperty(shaka.util.Timer.prototype,"stop",shaka.util.Timer.prototype.stop);goog.exportProperty(shaka.util.Timer.prototype,"tickEvery",shaka.util.Timer.prototype.tickEvery);goog.exportProperty(shaka.util.Timer.prototype,"tickAfter",shaka.util.Timer.prototype.tickAfter);goog.exportProperty(shaka.util.Timer.prototype,"tickNow",shaka.util.Timer.prototype.tickNow);goog.DEBUG&&(shaka.util.Timer.activeTimers=new Map);shaka.util.Platform=function(){};shaka.util.Platform.supportsMediaSource=function(){var a=window.ManagedMediaSource||window.MediaSource;return a&&a.isTypeSupported?!0:!1};shaka.util.Platform.supportsMediaType=function(a){return""!=shaka.util.Platform.anyMediaElement().canPlayType(a)};shaka.util.Platform.isEdge=function(){return navigator.userAgent.match(/Edge?\//)?!0:!1};shaka.util.Platform.isLegacyEdge=function(){return navigator.userAgent.match(/Edge\//)?!0:!1};shaka.util.Platform.isIE=function(){return shaka.util.Platform.userAgentContains_("Trident/")};
343
343
  shaka.util.Platform.isXboxOne=function(){return shaka.util.Platform.userAgentContains_("Xbox One")};shaka.util.Platform.isTizen=function(){return shaka.util.Platform.userAgentContains_("Tizen")};shaka.util.Platform.isTizen4=function(){return shaka.util.Platform.userAgentContains_("Tizen 4")};shaka.util.Platform.isTizen3=function(){return shaka.util.Platform.userAgentContains_("Tizen 3")};shaka.util.Platform.isTizen2=function(){return shaka.util.Platform.userAgentContains_("Tizen 2")};
344
344
  shaka.util.Platform.isWebOS=function(){return shaka.util.Platform.userAgentContains_("Web0S")};shaka.util.Platform.isWebOS3=function(){return shaka.util.Platform.userAgentContains_("Web0S")&&shaka.util.Platform.userAgentContains_("Chrome/38.0.2125.122 Safari/537.36")};shaka.util.Platform.isWebOS4=function(){return!!navigator.userAgent.match(/webOS\/4/i)};shaka.util.Platform.isWebOS5=function(){return!!navigator.userAgent.match(/webOS\/5/i)};shaka.util.Platform.isChromecast=function(){return shaka.util.Platform.userAgentContains_("CrKey")};
345
- shaka.util.Platform.chromeVersion=function(){if(!shaka.util.Platform.isChrome())return null;var a=navigator.userAgent.match(/Chrome\/(\d+)/);return a?parseInt(a[1],10):null};shaka.util.Platform.isChrome=function(){return shaka.util.Platform.userAgentContains_("Chrome")&&!shaka.util.Platform.isLegacyEdge()};
345
+ shaka.util.Platform.chromeVersion=function(){if(!shaka.util.Platform.isChrome())return null;var a=navigator.userAgent.match(/Chrome\/(\d+)/);return a?parseInt(a[1],10):null};shaka.util.Platform.isChrome=function(){return shaka.util.Platform.userAgentContains_("Chrome")&&!shaka.util.Platform.isLegacyEdge()};shaka.util.Platform.isFirefox=function(){return shaka.util.Platform.userAgentContains_("Firefox")};
346
346
  shaka.util.Platform.isApple=function(){return!!navigator.vendor&&navigator.vendor.includes("Apple")&&!shaka.util.Platform.isTizen()&&!shaka.util.Platform.isEOS()&&!shaka.util.Platform.isAPL()&&!shaka.util.Platform.isVirginMedia()&&!shaka.util.Platform.isOrange()&&!shaka.util.Platform.isPS4()&&!shaka.util.Platform.isAmazonFireTV()&&!shaka.util.Platform.isWPE()};shaka.util.Platform.isPS5=function(){return shaka.util.Platform.userAgentContains_("PlayStation 5")};shaka.util.Platform.isPS4=function(){return shaka.util.Platform.userAgentContains_("PlayStation 4")};
347
347
  shaka.util.Platform.isHisense=function(){return shaka.util.Platform.userAgentContains_("Hisense")||shaka.util.Platform.userAgentContains_("VIDAA")};shaka.util.Platform.isVirginMedia=function(){return shaka.util.Platform.userAgentContains_("VirginMedia")};shaka.util.Platform.isOrange=function(){return shaka.util.Platform.userAgentContains_("SOPOpenBrowser")};shaka.util.Platform.isAmazonFireTV=function(){return shaka.util.Platform.userAgentContains_("AFT")};shaka.util.Platform.isWPE=function(){return shaka.util.Platform.userAgentContains_("WPE")};
348
348
  shaka.util.Platform.safariVersion=function(){if(!shaka.util.Platform.isApple())return null;var a=navigator.userAgent.match(/Version\/(\d+)/);return a?parseInt(a[1],10):(a=navigator.userAgent.match(/OS (\d+)(?:_\d+)?/))?parseInt(a[1],10):null};shaka.util.Platform.isSafari=function(){return!!shaka.util.Platform.safariVersion()};shaka.util.Platform.isEOS=function(){return shaka.util.Platform.userAgentContains_("PC=EOS")};shaka.util.Platform.isAPL=function(){return shaka.util.Platform.userAgentContains_("PC=APL")};
349
349
  shaka.util.Platform.isMobile=function(){return/(?:iPhone|iPad|iPod|Android)/.test(navigator.userAgent)?!0:shaka.util.Platform.isApple()&&1<navigator.maxTouchPoints};shaka.util.Platform.isMac=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"macos"==navigator.userAgentData.platform.toLowerCase():navigator.platform.toLowerCase().includes("mac")};
350
- shaka.util.Platform.isWindows=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"windows"==navigator.userAgentData.platform.toLowerCase():navigator.platform.toLowerCase().includes("windows")};shaka.util.Platform.userAgentContains_=function(a){return(navigator.userAgent||"").includes(a)};
350
+ shaka.util.Platform.isWindows=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"windows"==navigator.userAgentData.platform.toLowerCase():navigator.platform.toLowerCase().includes("windows")};shaka.util.Platform.isAndroid=function(){return shaka.util.Platform.userAgentContains_("Android")};shaka.util.Platform.userAgentContains_=function(a){return(navigator.userAgent||"").includes(a)};
351
351
  shaka.util.Platform.anyMediaElement=function(){var a=shaka.util.Platform;if(a.cachedMediaElement_)return a.cachedMediaElement_;a.cacheExpirationTimer_||(a.cacheExpirationTimer_=new shaka.util.Timer(function(){a.cachedMediaElement_=null}));a.cachedMediaElement_=document.getElementsByTagName("video")[0]||document.getElementsByTagName("audio")[0];a.cachedMediaElement_||(a.cachedMediaElement_=document.createElement("video"));a.cacheExpirationTimer_.tickAfter(1);return a.cachedMediaElement_};
352
352
  shaka.util.Platform.requiresEncryptionInfoInAllInitSegments=function(){var a=shaka.util.Platform;return a.isTizen()||a.isXboxOne()||a.isOrange()};shaka.util.Platform.supportsSequenceMode=function(){var a=shaka.util.Platform;return a.isTizen3()||a.isTizen2()||a.isWebOS3()||a.isPS4()?!1:!0};shaka.util.Platform.supportsSmoothCodecSwitching=function(){var a=shaka.util.Platform;return a.isTizen2()||a.isTizen3()||a.isTizen4()||a.isWebOS3()||a.isWebOS4()||a.isWebOS5()?!1:!0};
353
353
  shaka.util.Platform.isMediaKeysPolyfilled=function(){return window.shakaMediaKeysPolyfill?!0:!1};shaka.util.Platform.cacheExpirationTimer_=null;shaka.util.Platform.cachedMediaElement_=null;shaka.util.StreamUtils=function(){};
@@ -361,10 +361,10 @@ b=c.next())if(d.$jscomp$loop$prop$audioCodec$860=b.value,b=a.filter(function(f){
361
361
  shaka.util.StreamUtils.meetsRestrictions=function(a,b,c){var d=function(f,g,h){return f>=g&&f<=h},e=a.video;return e&&e.width&&e.height&&(!d(e.width,b.minWidth,Math.min(b.maxWidth,c.width))||!d(e.height,b.minHeight,Math.min(b.maxHeight,c.height))||!d(e.width*e.height,b.minPixels,b.maxPixels))||a&&a.video&&a.video.frameRate&&!d(a.video.frameRate,b.minFrameRate,b.maxFrameRate)||!d(a.bandwidth,b.minBandwidth,b.maxBandwidth)?!1:!0};
362
362
  shaka.util.StreamUtils.applyRestrictions=function(a,b,c){var d=!1;a=$jscomp.makeIterator(a);for(var e=a.next();!e.done;e=a.next()){e=e.value;var f=e.allowedByApplication;e.allowedByApplication=shaka.util.StreamUtils.meetsRestrictions(e,b,c);f!=e.allowedByApplication&&(d=!0)}return d};
363
363
  shaka.util.StreamUtils.filterManifest=function(a,b){return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return c.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(a,b,0<b.offlineSessionIds.length),2);shaka.util.StreamUtils.filterTextStreams_(b);return c.yield(shaka.util.StreamUtils.filterImageStreams_(b),0)})};
364
- shaka.util.StreamUtils.filterManifestByMediaCapabilities=function(a,b,c){var d,e,f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){if(1==n.nextAddress)return goog.asserts.assert(navigator.mediaCapabilities,"MediaCapabilities should be valid."),n.yield(shaka.util.StreamUtils.getDecodingInfosForVariants(b.variants,c,!1,[]),2);d=null;a&&(e=a.getDrmInfo())&&(d=e.keySystem);f=shaka.util.ManifestParserUtils.ContentType;g=shaka.media.Capabilities;h=shaka.util.ManifestParserUtils;
365
- k=shaka.util.MimeUtils;l=shaka.util.StreamUtils;m=shaka.util.Platform.isXboxOne();b.variants=b.variants.filter(function(p){var q=p.video,r=q&&q.width||0,t=q&&q.height||0;if(m&&q&&(1920<r||1080<t)&&(q.codecs.includes("avc1.")||q.codecs.includes("avc3.")))return shaka.log.debug("Dropping variant - not compatible with platform",l.getVariantSummaryString_(p)),!1;if(q){r=l.getCorrectVideoCodecs_(q.codecs);if(q.codecs.includes(",")){t=q.codecs.split(",");r=h.guessCodecs(f.VIDEO,t);r=l.getCorrectVideoCodecs_(r);
366
- t=h.guessCodecs(f.AUDIO,t);t=l.getCorrectAudioCodecs_(t);var w=k.getFullOrConvertedType(q.mimeType,t,f.AUDIO);if(!g.isTypeSupported(w))return!1;r=[r,t].join()}t=k.getFullOrConvertedType(q.mimeType,r,f.VIDEO);if(!g.isTypeSupported(t))return!1;q.codecs=r}if(q=p.audio){r=l.getCorrectAudioCodecs_(q.codecs);t=k.getFullOrConvertedType(q.mimeType,r,f.AUDIO);if(!g.isTypeSupported(t))return!1;q.codecs=r}(q=p.decodingInfos.some(function(u){return!u.supported||d&&(u=u.keySystemAccess)&&u.keySystem!=d?!1:!0}))||
367
- shaka.log.debug("Dropping variant - not compatible with platform",l.getVariantSummaryString_(p));return q});n.jumpToEnd()})};
364
+ shaka.util.StreamUtils.filterManifestByMediaCapabilities=function(a,b,c){var d,e,f,g,h,k,l,m,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){if(1==p.nextAddress)return goog.asserts.assert(navigator.mediaCapabilities,"MediaCapabilities should be valid."),p.yield(shaka.util.StreamUtils.getDecodingInfosForVariants(b.variants,c,!1,[]),2);d=null;a&&(e=a.getDrmInfo())&&(d=e.keySystem);f=shaka.util.ManifestParserUtils.ContentType;g=shaka.media.Capabilities;h=shaka.util.ManifestParserUtils;
365
+ k=shaka.util.MimeUtils;l=shaka.util.StreamUtils;m=shaka.util.Platform.isXboxOne();n=shaka.util.Platform.isFirefox()&&shaka.util.Platform.isAndroid();b.variants=b.variants.filter(function(q){var r=q.video,t=r&&r.width||0,w=r&&r.height||0;if(m&&r&&(1920<t||1080<w)&&(r.codecs.includes("avc1.")||r.codecs.includes("avc3.")))return shaka.log.debug("Dropping variant - not compatible with platform",l.getVariantSummaryString_(q)),!1;if(r){t=l.getCorrectVideoCodecs_(r.codecs);if(r.codecs.includes(",")){w=r.codecs.split(",");
366
+ t=h.guessCodecs(f.VIDEO,w);t=l.getCorrectVideoCodecs_(t);w=h.guessCodecs(f.AUDIO,w);w=l.getCorrectAudioCodecs_(w);var u=k.getFullOrConvertedType(r.mimeType,w,f.AUDIO);if(!g.isTypeSupported(u))return!1;t=[t,w].join()}w=k.getFullOrConvertedType(r.mimeType,t,f.VIDEO);if(!g.isTypeSupported(w))return!1;r.codecs=t}r=q.audio;if(n&&r&&r.encrypted&&r.codecs.toLowerCase().includes("opus"))return shaka.log.debug("Dropping variant - not compatible with platform",l.getVariantSummaryString_(q)),!1;if(r){t=l.getCorrectAudioCodecs_(r.codecs);
367
+ w=k.getFullOrConvertedType(r.mimeType,t,f.AUDIO);if(!g.isTypeSupported(w))return!1;r.codecs=t}(r=q.decodingInfos.some(function(v){return!v.supported||d&&(v=v.keySystemAccess)&&v.keySystem!=d?!1:!0}))||shaka.log.debug("Dropping variant - not compatible with platform",l.getVariantSummaryString_(q));return r});p.jumpToEnd()})};
368
368
  shaka.util.StreamUtils.alphabeticalKeyOrderStringify_=function(a){var b=[];for(c in a)b.push(c);b.sort();var c=[];b=$jscomp.makeIterator(b);for(var d=b.next();!d.done;d=b.next()){var e=d.value;d=JSON.stringify(e);e=a[e];e instanceof Object?(e=shaka.util.StreamUtils.alphabeticalKeyOrderStringify_(e),c.push(d+":"+e)):(e=JSON.stringify(e),c.push(d+":"+e))}return"{"+c.join(",")+"}"};
369
369
  shaka.util.StreamUtils.getDecodingInfosForVariant_=function(a,b){var c,d,e,f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return c=shaka.util.StreamUtils.alphabeticalKeyOrderStringify_(b),d=shaka.util.StreamUtils.decodingConfigCache_,d[c]?(shaka.log.v2("Using cached results of mediaCapabilities.decodingInfo","for key",c),a.decodingInfos.push(d[c]),l.jumpTo(0)):l.yield(shaka.util.StreamUtils.checkEachDecodingConfigCombination_(b),3);if((e=l.yieldResult)&&
370
370
  e.length){f=null;g=$jscomp.makeIterator(e);for(h=g.next();!h.done;h=g.next())k=h.value,f?(f.supported=f.supported&&k.supported,f.powerEfficient=f.powerEfficient&&k.powerEfficient,f.smooth=f.smooth&&k.smooth,k.keySystemAccess||(f.keySystemAccess=null)):f=k;f&&(d[c]=f,a.decodingInfos.push(f))}l.jumpToEnd()})};
@@ -415,7 +415,7 @@ shaka.abr.SimpleAbrManager.prototype.chooseVariant=function(a){a=void 0===a?!1:a
415
415
  e.length||(e=this.variants_);d=e;a&&e.length!=this.variants_.length&&(d=this.variants_.filter(function(m){return shaka.util.StreamUtils.isFastSwitching(m)}));a=this.filterAndSortVariants_(this.config_.restrictions,d,Infinity,Infinity);if(Infinity!=b||Infinity!=c){a=this.getResolutionList_(a);a=$jscomp.makeIterator(a);for(e=a.next();!e.done;e=a.next())if(e=e.value,e.height>=b&&e.width>=c){b=e.height;c=e.width;break}a=this.filterAndSortVariants_(this.config_.restrictions,d,b,c)}b=this.getBandwidthEstimate();
416
416
  d.length&&!a.length&&(shaka.log.warning("No variants met the ABR restrictions. Choosing a variant by lowest bandwidth."),a=this.filterAndSortVariants_(null,d,Infinity,Infinity),a=[a[0]]);c=a[0]||null;for(d=0;d<a.length;d++){e=a[d];for(var f=isNaN(this.playbackRate_)?1:Math.abs(this.playbackRate_),g=f*e.bandwidth,h=g/this.config_.bandwidthDowngradeTarget,k={bandwidth:Infinity},l=d+1;l<a.length;l++)if(e.bandwidth!=a[l].bandwidth){k=a[l];break}f=f*k.bandwidth/this.config_.bandwidthUpgradeTarget;shaka.log.v2("Bandwidth ranges:",
417
417
  (g/1E6).toFixed(3),(h/1E6).toFixed(3),(f/1E6).toFixed(3));b>=h&&b<=f&&c.bandwidth!=e.bandwidth&&(c=e)}this.lastTimeChosenMs_=Date.now();return c};shaka.abr.SimpleAbrManager.prototype.enable=function(){this.enabled_=!0};shaka.abr.SimpleAbrManager.prototype.disable=function(){this.enabled_=!1};
418
- shaka.abr.SimpleAbrManager.prototype.segmentDownloaded=function(a,b,c){shaka.log.v2("Segment downloaded:","deltaTimeMs="+a,"numBytes="+b,"lastTimeChosenMs="+this.lastTimeChosenMs_,"enabled="+this.enabled_);goog.asserts.assert(0<=a,"expected a non-negative duration");this.bandwidthEstimator_.sample(a,b);c&&null!=this.lastTimeChosenMs_&&this.enabled_&&this.suggestStreams_()};
418
+ shaka.abr.SimpleAbrManager.prototype.segmentDownloaded=function(a,b,c){shaka.log.v2("Segment downloaded:","deltaTimeMs="+a,"numBytes="+b,"lastTimeChosenMs="+this.lastTimeChosenMs_,"enabled="+this.enabled_);goog.asserts.assert(0<=a,"expected a non-negative duration");this.bandwidthEstimator_.sample(a,b);c&&null!=this.lastTimeChosenMs_&&this.enabled_&&this.suggestStreams_()};shaka.abr.SimpleAbrManager.prototype.trySuggestStreams=function(){null!=this.lastTimeChosenMs_&&this.enabled_&&this.suggestStreams_()};
419
419
  shaka.abr.SimpleAbrManager.prototype.getBandwidthEstimate=function(){var a=this.getDefaultBandwidth_();a=this.bandwidthEstimator_.getBandwidthEstimate(a);return this.cmsdManager_?this.cmsdManager_.getBandwidthEstimate(a):a};shaka.abr.SimpleAbrManager.prototype.setVariants=function(a){this.variants_=a};shaka.abr.SimpleAbrManager.prototype.playbackRateChanged=function(a){this.playbackRate_=a};
420
420
  shaka.abr.SimpleAbrManager.prototype.setMediaElement=function(a){var b=this;this.mediaElement_=a;this.resizeObserver_&&(this.resizeObserver_.disconnect(),this.resizeObserver_=null);this.mediaElement_&&"ResizeObserver"in window&&(this.resizeObserver_=new ResizeObserver(function(){b.resizeObserverTimer_.tickAfter(shaka.abr.SimpleAbrManager.RESIZE_OBSERVER_BATCH_TIME)}),this.resizeObserver_.observe(this.mediaElement_))};
421
421
  shaka.abr.SimpleAbrManager.prototype.setCmsdManager=function(a){this.cmsdManager_=a};shaka.abr.SimpleAbrManager.prototype.configure=function(a){this.config_=a;this.bandwidthEstimator_&&this.config_&&this.bandwidthEstimator_.configure(this.config_.advanced)};
@@ -424,9 +424,9 @@ b=this.getBandwidthEstimate();b=Math.round(b/1E3);a&&(shaka.log.debug("Calling s
424
424
  shaka.abr.SimpleAbrManager.prototype.filterAndSortVariants_=function(a,b,c,d){if(this.cmsdManager_){var e=this.cmsdManager_.getMaxBitrate();e&&(b=b.filter(function(f){return f.bandwidth&&e?f.bandwidth<=e:!0}))}a&&(b=b.filter(function(f){goog.asserts.assert(a,"Restrictions should exist!");return shaka.util.StreamUtils.meetsRestrictions(f,a,{width:d,height:c})}));return b.sort(function(f,g){return f.bandwidth-g.bandwidth})};
425
425
  shaka.abr.SimpleAbrManager.prototype.getResolutionList_=function(a){var b=[];a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next())(c=c.value.video)&&c.height&&c.width&&b.push({height:c.height,width:c.width});return b.sort(function(d,e){return d.width-e.width})};goog.exportSymbol("shaka.abr.SimpleAbrManager",shaka.abr.SimpleAbrManager);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"configure",shaka.abr.SimpleAbrManager.prototype.configure);
426
426
  goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"setCmsdManager",shaka.abr.SimpleAbrManager.prototype.setCmsdManager);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"setMediaElement",shaka.abr.SimpleAbrManager.prototype.setMediaElement);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"playbackRateChanged",shaka.abr.SimpleAbrManager.prototype.playbackRateChanged);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"setVariants",shaka.abr.SimpleAbrManager.prototype.setVariants);
427
- goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"getBandwidthEstimate",shaka.abr.SimpleAbrManager.prototype.getBandwidthEstimate);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"segmentDownloaded",shaka.abr.SimpleAbrManager.prototype.segmentDownloaded);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"disable",shaka.abr.SimpleAbrManager.prototype.disable);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"enable",shaka.abr.SimpleAbrManager.prototype.enable);
428
- goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"chooseVariant",shaka.abr.SimpleAbrManager.prototype.chooseVariant);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"init",shaka.abr.SimpleAbrManager.prototype.init);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"release",shaka.abr.SimpleAbrManager.prototype.release);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"stop",shaka.abr.SimpleAbrManager.prototype.stop);
429
- shaka.abr.SimpleAbrManager.RESIZE_OBSERVER_BATCH_TIME=1;shaka.deprecate={};shaka.deprecate.Version=function(a,b){this.major_=a;this.minor_=b};shaka.deprecate.Version.prototype.major=function(){return this.major_};shaka.deprecate.Version.prototype.minor=function(){return this.minor_};shaka.deprecate.Version.prototype.compareTo=function(a){var b=this.minor_-a.minor_;return this.major_-a.major_||b};shaka.deprecate.Version.prototype.toString=function(){return"v"+this.major_+"."+this.minor_};
427
+ goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"getBandwidthEstimate",shaka.abr.SimpleAbrManager.prototype.getBandwidthEstimate);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"trySuggestStreams",shaka.abr.SimpleAbrManager.prototype.trySuggestStreams);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"segmentDownloaded",shaka.abr.SimpleAbrManager.prototype.segmentDownloaded);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"disable",shaka.abr.SimpleAbrManager.prototype.disable);
428
+ goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"enable",shaka.abr.SimpleAbrManager.prototype.enable);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"chooseVariant",shaka.abr.SimpleAbrManager.prototype.chooseVariant);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"init",shaka.abr.SimpleAbrManager.prototype.init);goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"release",shaka.abr.SimpleAbrManager.prototype.release);
429
+ goog.exportProperty(shaka.abr.SimpleAbrManager.prototype,"stop",shaka.abr.SimpleAbrManager.prototype.stop);shaka.abr.SimpleAbrManager.RESIZE_OBSERVER_BATCH_TIME=1;shaka.deprecate={};shaka.deprecate.Version=function(a,b){this.major_=a;this.minor_=b};shaka.deprecate.Version.prototype.major=function(){return this.major_};shaka.deprecate.Version.prototype.minor=function(){return this.minor_};shaka.deprecate.Version.prototype.compareTo=function(a){var b=this.minor_-a.minor_;return this.major_-a.major_||b};shaka.deprecate.Version.prototype.toString=function(){return"v"+this.major_+"."+this.minor_};
430
430
  shaka.deprecate.Version.parse=function(a){a=a.substring(1).split(".",2);return new shaka.deprecate.Version(Number(a[0]),Number(a[1]))};shaka.deprecate.Enforcer=function(a,b,c){this.libraryVersion_=a;this.onPending_=b;this.onExpired_=c};shaka.deprecate.Enforcer.prototype.enforce=function(a,b,c){(0<a.compareTo(this.libraryVersion_)?this.onPending_:this.onExpired_)(this.libraryVersion_,a,b,c)};shaka.Deprecate=function(){};shaka.Deprecate.init=function(a){goog.asserts.assert(null==shaka.Deprecate.enforcer_,"Deprecate.init should only be called once.");shaka.Deprecate.enforcer_=new shaka.deprecate.Enforcer(shaka.deprecate.Version.parse(a),shaka.Deprecate.onPending_,shaka.Deprecate.onExpired_)};
431
431
  shaka.Deprecate.deprecateFeature=function(a,b,c){var d=shaka.Deprecate.enforcer_;goog.asserts.assert(d,"Missing deprecation enforcer. Was |init| called?");a=new shaka.deprecate.Version(a,0);d.enforce(a,b,c)};shaka.Deprecate.onPending_=function(a,b,c,d){shaka.log.alwaysWarn([c,"has been deprecated and will be removed in",b,". We are currently at version",a,". Additional information:",d].join(" "))};
432
432
  shaka.Deprecate.onExpired_=function(a,b,c,d){a=[c,"has been deprecated and has been removed in",b,". We are now at version",a,". Additional information:",d].join("");shaka.log.alwaysError(a);goog.asserts.assert(!1,a)};shaka.Deprecate.enforcer_=null;shaka.config={};shaka.config.AutoShowText={NEVER:0,ALWAYS:1,IF_PREFERRED_TEXT_LANGUAGE:2,IF_SUBTITLES_MAY_BE_NEEDED:3};goog.exportSymbol("shaka.config.AutoShowText",shaka.config.AutoShowText);shaka.config.CodecSwitchingStrategy={RELOAD:"reload",SMOOTH:"smooth"};goog.exportSymbol("shaka.config.CodecSwitchingStrategy",shaka.config.CodecSwitchingStrategy);shaka.media.AdaptationSet=function(a,b,c,d){c=void 0===c?!0:c;d=void 0===d?!1:d;this.root_=a;this.variants_=new Set([a]);b=b||[];a=$jscomp.makeIterator(b);for(b=a.next();!b.done;b=a.next())this.add(b.value,c,d)};shaka.media.AdaptationSet.prototype.add=function(a,b,c){if(this.canInclude(a,b,c))return this.variants_.add(a),!0;shaka.log.warning("Rejecting variant - not compatible with root.");return!1};
@@ -473,7 +473,7 @@ r&&r.tickAfter(z/1E3);if(h.onProgressUpdated_&&a==v){var H=h.allowSwitch_(c);h.o
473
473
  Date.now()-u);var x={response:v,gotProgress:m};if(!w&&h.onHeadersReceived_)h.onHeadersReceived_(v.headers,b,a);return x},function(v){q&&q.stop();r&&r.stop();if(h.onDownloadFailed_){var x=null,y=0;v instanceof shaka.util.Error&&(x=v,v.code==shaka.util.Error.Code.BAD_HTTP_STATUS&&(y=v.data[1]));h.onDownloadFailed_(b,x,y,t)}if(h.destroyed_)return shaka.util.AbortableOperation.aborted();t&&(v=new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.TIMEOUT,
474
474
  b.uris[e],a));if(v instanceof shaka.util.Error){if(v.code==shaka.util.Error.Code.OPERATION_ABORTED)throw v;if(v.code==shaka.util.Error.Code.ATTEMPTS_EXHAUSTED)throw goog.asserts.assert(f,"Should have last error"),f;if(v.severity==shaka.util.Error.Severity.RECOVERABLE)return x=(new Map).set("error",v),x=new shaka.util.FakeEvent("retry",x),h.dispatchEvent(x),e=(e+1)%b.uris.length,h.send_(a,b,c,d,e,v,g)}throw v;})};
475
475
  shaka.net.NetworkingEngine.prototype.filterResponse_=function(a,b,c){for(var d=shaka.util.AbortableOperation.completed(void 0),e={},f=$jscomp.makeIterator(this.responseFilters_),g=f.next();!g.done;e={$jscomp$loop$prop$responseFilter$866:e.$jscomp$loop$prop$responseFilter$866},g=f.next())e.$jscomp$loop$prop$responseFilter$866=g.value,d=d.chain(function(h){return function(){var k=b.response;k.data&&(k.data=shaka.util.BufferUtils.toArrayBuffer(k.data));return h.$jscomp$loop$prop$responseFilter$866(a,
476
- k,c)}}(e));return d.chain(function(){return b},function(h){var k=shaka.util.Error.Severity.CRITICAL;if(h instanceof shaka.util.Error){if(h.code==shaka.util.Error.Code.OPERATION_ABORTED)throw h;k=h.severity}throw new shaka.util.Error(k,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.RESPONSE_FILTER_ERROR,h);})};shaka.net.NetworkingEngine.prototype.allowSwitch_=function(a){if(a){var b=a.segment;a=a.stream;if(b&&a&&a.fastSwitching&&b.isPartial()&&!b.isLastPartial())return!1}return!0};
476
+ k,c)}}(e));return d.chain(function(){return b},function(h){var k=shaka.util.Error.Severity.CRITICAL;if(h instanceof shaka.util.Error){if(h.code==shaka.util.Error.Code.OPERATION_ABORTED)throw h;k=h.severity}throw new shaka.util.Error(k,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.RESPONSE_FILTER_ERROR,h);})};shaka.net.NetworkingEngine.prototype.allowSwitch_=function(a){if(a){var b=a.segment;a=a.stream;if(b&&a&&a.fastSwitching&&b.isPartial())return!1}return!0};
477
477
  shaka.net.NetworkingEngine.getLocationProtocol_=function(){return location.protocol};goog.exportSymbol("shaka.net.NetworkingEngine",shaka.net.NetworkingEngine);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"request",shaka.net.NetworkingEngine.prototype.request);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"destroy",shaka.net.NetworkingEngine.prototype.destroy);goog.exportProperty(shaka.net.NetworkingEngine,"makeRequest",shaka.net.NetworkingEngine.makeRequest);
478
478
  goog.exportProperty(shaka.net.NetworkingEngine,"defaultRetryParameters",shaka.net.NetworkingEngine.defaultRetryParameters);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"clearAllResponseFilters",shaka.net.NetworkingEngine.prototype.clearAllResponseFilters);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"unregisterResponseFilter",shaka.net.NetworkingEngine.prototype.unregisterResponseFilter);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"registerResponseFilter",shaka.net.NetworkingEngine.prototype.registerResponseFilter);
479
479
  goog.exportProperty(shaka.net.NetworkingEngine.prototype,"clearAllRequestFilters",shaka.net.NetworkingEngine.prototype.clearAllRequestFilters);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"unregisterRequestFilter",shaka.net.NetworkingEngine.prototype.unregisterRequestFilter);goog.exportProperty(shaka.net.NetworkingEngine.prototype,"registerRequestFilter",shaka.net.NetworkingEngine.prototype.registerRequestFilter);goog.exportProperty(shaka.net.NetworkingEngine,"unregisterScheme",shaka.net.NetworkingEngine.unregisterScheme);
@@ -911,7 +911,7 @@ shaka.media.RegionObserver.prototype.release=function(){this.timeline_=null;this
911
911
  shaka.media.RegionObserver.prototype.poll=function(a,b){var c=shaka.media.RegionObserver;if(!this.startsPastZero_||0!=a){this.startsPastZero_=!1;for(var d=$jscomp.makeIterator(this.timeline_.regions()),e=d.next();!e.done;e=d.next()){e=e.value;var f=this.oldPosition_.get(e),g=c.determinePositionRelativeTo_(e,a);this.oldPosition_.set(e,g);for(var h=$jscomp.makeIterator(this.rules_),k=h.next();!k.done;k=h.next())k=k.value,k.weWere==f&&k.weAre==g&&k.invoke(e,b)}}};
912
912
  shaka.media.RegionObserver.prototype.onEvent_=function(a,b,c){a=new shaka.util.FakeEvent(a,new Map([["region",b],["seeking",c]]));this.dispatchEvent(a)};shaka.media.RegionObserver.determinePositionRelativeTo_=function(a,b){var c=shaka.media.RegionObserver.RelativePosition_;return b<a.startTime?c.BEFORE_THE_REGION:b>a.endTime?c.AFTER_THE_REGION:c.IN_THE_REGION};shaka.media.RegionObserver.RelativePosition_={BEFORE_THE_REGION:1,IN_THE_REGION:2,AFTER_THE_REGION:3};shaka.media.SegmentPrefetch=function(a,b,c){this.prefetchLimit_=a;this.stream_=b;this.prefetchPosTime_=0;this.fetchDispatcher_=c;this.segmentPrefetchMap_=new Map};
913
913
  shaka.media.SegmentPrefetch.prototype.prefetchSegments=function(a,b){b=void 0===b?!1:b;goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var c=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);if(this.stream_.segmentIndex){if(c=this.stream_.segmentIndex.getIteratorForTime(Math.max(a.startTime,this.prefetchPosTime_))){var d=a;b&&(d=c.next().value)&&d.startTime==a.startTime&&d.endTime==a.endTime&&(d=null);for(;this.segmentPrefetchMap_.size<this.prefetchLimit_&&
914
- null!=d;)a=!0,d.isPreload()&&null!=d.endByte&&(a=!1),d.getStatus()==shaka.media.SegmentReference.Status.MISSING&&(a=!1),a&&!this.segmentPrefetchMap_.has(d)&&(a=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_),a.dispatchFetch(d,this.stream_),this.segmentPrefetchMap_.set(d,a)),this.prefetchPosTime_=d.startTime,d=c.next().value}}else shaka.log.info(c,"missing segmentIndex")};
914
+ null!=d;){a=!0;d.isPreload()&&null!=d.endByte&&(a=!1);d.getStatus()==shaka.media.SegmentReference.Status.MISSING&&(a=!1);a&&!this.segmentPrefetchMap_.has(d)&&(a=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_),a.dispatchFetch(d,this.stream_),this.segmentPrefetchMap_.set(d,a));this.prefetchPosTime_=d.startTime;if(this.stream_.fastSwitching&&d.isPartial()&&d.isLastPartial())break;d=c.next().value}}}else shaka.log.info(c,"missing segmentIndex")};
915
915
  shaka.media.SegmentPrefetch.prototype.prefetchInitSegment=function(a){goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var b=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);this.stream_.segmentIndex?this.segmentPrefetchMap_.size<this.prefetchLimit_&&!this.segmentPrefetchMap_.has(a)&&(b=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_),b.dispatchFetch(a,this.stream_),this.segmentPrefetchMap_.set(a,b)):shaka.log.info(b,"missing segmentIndex")};
916
916
  shaka.media.SegmentPrefetch.prototype.getPrefetchedSegment=function(a,b){goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var c=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);if(this.segmentPrefetchMap_.has(a)){var d=this.segmentPrefetchMap_.get(a);b&&d.setStreamDataCallback(b);this.segmentPrefetchMap_.delete(a);a instanceof shaka.media.SegmentReference?shaka.log.debug(c,"reused prefetched segment at time:",a.startTime,"mapSize",this.segmentPrefetchMap_.size):
917
917
  shaka.log.debug(c,"reused prefetched init segment at time, mapSize",this.segmentPrefetchMap_.size);return d.getOperation()}a instanceof shaka.media.SegmentReference?shaka.log.debug(c,"missed segment at time:",a.startTime,"mapSize",this.segmentPrefetchMap_.size):shaka.log.debug(c,"missed init segment at time, mapSize",this.segmentPrefetchMap_.size);return null};
@@ -920,7 +920,7 @@ shaka.media.SegmentPrefetch.prototype.resetLimit=function(a){goog.asserts.assert
920
920
  shaka.media.SegmentPrefetch.prototype.abortPrefetchedSegment_=function(a){var b=shaka.media.SegmentPrefetch.logPrefix_(this.stream_),c=this.segmentPrefetchMap_.get(a);this.segmentPrefetchMap_.delete(a);c&&(c.abort(),a instanceof shaka.media.SegmentReference?shaka.log.info(b,"pop and abort prefetched segment at time:",a.startTime):shaka.log.info(b,"pop and abort prefetched init segment"))};shaka.media.SegmentPrefetch.logPrefix_=function(a){return"SegmentPrefetch("+a.type+":"+a.id+")"};
921
921
  shaka.media.SegmentPrefetchOperation=function(a){this.fetchDispatcher_=a;this.operation_=this.streamDataCallback_=null};
922
922
  shaka.media.SegmentPrefetchOperation.prototype.dispatchFetch=function(a,b){var c=this,d=new Uint8Array(0);this.operation_=this.fetchDispatcher_(a,b,function(e){return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return d=0<d.byteLength?shaka.util.Uint8ArrayUtils.concat(d,e):e,c.streamDataCallback_?f.yield(c.streamDataCallback_(d),3):f.jumpTo(0);d=new Uint8Array(0);f.jumpToEnd()})})};shaka.media.SegmentPrefetchOperation.prototype.getOperation=function(){return this.operation_};
923
- shaka.media.SegmentPrefetchOperation.prototype.setStreamDataCallback=function(a){this.streamDataCallback_=a};shaka.media.SegmentPrefetchOperation.prototype.abort=function(){this.operation_&&this.operation_.abort()};shaka.util.Networking=function(){};shaka.util.Networking.createSegmentRequest=function(a,b,c,d,e){a=shaka.net.NetworkingEngine.makeRequest(a,d,e);if(0!=b||null!=c)a.headers.Range=c?"bytes="+b+"-"+c:"bytes="+b+"-";return a};shaka.media.StreamingEngine=function(a,b){var c=this;this.playerInterface_=b;this.manifest_=a;this.config_=null;this.bufferingGoalScale_=1;this.currentTextStream_=this.currentVariant_=null;this.textStreamSequenceId_=0;this.parsedPrftEventRaised_=!1;this.mediaStates_=new Map;this.startupComplete_=!1;this.failureCallbackBackoff_=null;this.fatalError_=!1;this.destroyer_=new shaka.util.Destroyer(function(){return c.doDestroy_()});this.lastMediaSourceReset_=0};
923
+ shaka.media.SegmentPrefetchOperation.prototype.setStreamDataCallback=function(a){this.streamDataCallback_=a};shaka.media.SegmentPrefetchOperation.prototype.abort=function(){this.operation_&&this.operation_.abort()};shaka.util.Networking=function(){};shaka.util.Networking.createSegmentRequest=function(a,b,c,d,e){a=shaka.net.NetworkingEngine.makeRequest(a,d,e);if(0!=b||null!=c)a.headers.Range=c?"bytes="+b+"-"+c:"bytes="+b+"-";return a};shaka.media.StreamingEngine=function(a,b){var c=this;this.playerInterface_=b;this.manifest_=a;this.config_=null;this.bufferingGoalScale_=1;this.currentTextStream_=this.currentVariant_=null;this.textStreamSequenceId_=0;this.parsedPrftEventRaised_=!1;this.mediaStates_=new Map;this.startupComplete_=!1;this.failureCallbackBackoff_=null;this.fatalError_=!1;this.destroyer_=new shaka.util.Destroyer(function(){return c.doDestroy_()});this.lastMediaSourceReset_=Date.now()/1E3};
924
924
  shaka.media.StreamingEngine.prototype.destroy=function(){return this.destroyer_.destroy()};
925
925
  shaka.media.StreamingEngine.prototype.doDestroy_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress){b=[];c=$jscomp.makeIterator(a.mediaStates_.values());for(d=c.next();!d.done;d=c.next())e=d.value,a.cancelUpdate_(e),b.push(a.abortOperations_(e));return f.yield(Promise.all(b),2)}a.mediaStates_.clear();a.playerInterface_=null;a.manifest_=null;a.config_=null;f.jumpToEnd()})};
926
926
  shaka.media.StreamingEngine.prototype.configure=function(a){this.config_=a;this.failureCallbackBackoff_=new shaka.net.Backoff({maxAttempts:Math.max(a.retryParameters.maxAttempts,2),baseDelay:a.retryParameters.baseDelay,backoffFactor:a.retryParameters.backoffFactor,fuzzFactor:a.retryParameters.fuzzFactor,timeout:0,stallTimeout:0,connectionTimeout:0},!0);for(var b=$jscomp.makeIterator(this.mediaStates_.keys()),c=b.next();!c.done;c=b.next())c=this.mediaStates_.get(c.value),c.segmentPrefetch?(c.segmentPrefetch.resetLimit(a.segmentPrefetchLimit),
@@ -969,8 +969,8 @@ if(c.getStatus()==shaka.media.SegmentReference.Status.MISSING)throw new shaka.ut
969
969
  c.hasByterangeOptimization()))return q=new Uint8Array(0),t=r=!1,u=function(D){var H,C,G,E;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){switch(F.nextAddress){case 1:if(r)return F.return();t=!0;d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return F.return();F.setCatchFinallyBlocks(2);q=d.concatArray_(q,D);H=!1;C=0;(new shaka.util.Mp4Parser).box("mdat",function(I){C=I.size+I.start;H=!0}).parse(q,!1,!0);if(!H){F.jumpTo(4);break}G=q.subarray(0,C);q=q.subarray(C);return F.yield(d.append_(a,
970
970
  b,h,c,G,!0),5);case 5:a.segmentPrefetch&&a.segmentIterator&&a.segmentPrefetch.prefetchSegments(c,!0);case 4:F.leaveTryBlock(0);break;case 2:w=E=F.enterCatchBlock(),F.jumpToEnd()}})},B.yield(d.fetch_(a,c,u),9);d.config_.lowLatencyMode&&!m&&shaka.log.warning("Low latency streaming mode is enabled, but ReadableStream is not supported by the browser.");n=d.fetch_(a,c);return B.yield(n,7);case 7:p=B.yieldResult;d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return B.return();d.destroyer_.ensureNotDestroyed();
971
971
  return a.waitingToClearBuffer?(shaka.log.info(g,"waitingToClearBuffer, skip append"),a.performingUpdate=!1,d.scheduleUpdate_(a,0),B.return()):B.yield(d.append_(a,b,h,c,p),6);case 9:v=B.yieldResult;if(w)throw w;if(t){B.jumpTo(10);break}r=!0;d.destroyer_.ensureNotDestroyed();return d.fatalError_?B.return():a.waitingToClearBuffer?(shaka.log.info(g,"waitingToClearBuffer, skip append"),a.performingUpdate=!1,d.scheduleUpdate_(a,0),B.return()):B.yield(d.append_(a,b,h,c,v),10);case 10:a.segmentPrefetch&&
972
- a.segmentIterator&&a.segmentPrefetch.prefetchSegments(c,!0);case 6:d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return B.return();a.lastSegmentReference=c;x=k.next().value;shaka.log.v2(g,"advancing to next segment",x);a.performingUpdate=!1;a.recovering=!1;y=d.playerInterface_.mediaSourceEngine.getBufferedInfo();z=y[a.type];shaka.log.v1(g,"finished fetch and append",JSON.stringify(z));if(!a.waitingToClearBuffer)d.playerInterface_.onSegmentAppended(c.startTime,c.endTime,a.type);d.scheduleUpdate_(a,
973
- 0);B.leaveTryBlock(0);break;case 2:A=B.enterCatchBlock();d.destroyer_.ensureNotDestroyed(A);if(d.fatalError_)return B.return();goog.asserts.assert(A instanceof shaka.util.Error,"Should only receive a Shaka error");a.performingUpdate=!1;if(A.code==shaka.util.Error.Code.OPERATION_ABORTED)a.performingUpdate=!1,d.cancelUpdate_(a),d.scheduleUpdate_(a,0),B.jumpTo(0);else if(a.type==e.TEXT&&d.config_.ignoreTextStreamFailures)A.code==shaka.util.Error.Code.BAD_HTTP_STATUS?shaka.log.warning(g,"Text stream failed to download. Proceeding without it."):
972
+ a.segmentIterator&&a.segmentPrefetch.prefetchSegments(c,!0);case 6:d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return B.return();a.lastSegmentReference=c;x=k.next().value;shaka.log.v2(g,"advancing to next segment",x);a.performingUpdate=!1;a.recovering=!1;y=d.playerInterface_.mediaSourceEngine.getBufferedInfo();z=y[a.type];shaka.log.v1(g,"finished fetch and append",JSON.stringify(z));if(!a.waitingToClearBuffer)d.playerInterface_.onSegmentAppended(c,a.stream);d.scheduleUpdate_(a,0);B.leaveTryBlock(0);
973
+ break;case 2:A=B.enterCatchBlock();d.destroyer_.ensureNotDestroyed(A);if(d.fatalError_)return B.return();goog.asserts.assert(A instanceof shaka.util.Error,"Should only receive a Shaka error");a.performingUpdate=!1;if(A.code==shaka.util.Error.Code.OPERATION_ABORTED)a.performingUpdate=!1,d.cancelUpdate_(a),d.scheduleUpdate_(a,0),B.jumpTo(0);else if(a.type==e.TEXT&&d.config_.ignoreTextStreamFailures)A.code==shaka.util.Error.Code.BAD_HTTP_STATUS?shaka.log.warning(g,"Text stream failed to download. Proceeding without it."):
974
974
  shaka.log.warning(g,"Text stream failed to parse. Proceeding without it."),d.mediaStates_.delete(e.TEXT),B.jumpTo(0);else if(A.code==shaka.util.Error.Code.QUOTA_EXCEEDED_ERROR)d.handleQuotaExceeded_(a,A),B.jumpTo(0);else return shaka.log.error(g,"failed fetch and append: code="+A.code),a.hasError=!0,A.severity=shaka.util.Error.Severity.CRITICAL,B.yield(d.handleStreamingError_(a,A),0)}})};
975
975
  shaka.media.StreamingEngine.prototype.aes128Decrypt_=function(a,b,c){var d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress){d=b;if(d.cryptoKey)return h.jumpTo(2);goog.asserts.assert(d.fetchKey,"If AES-128 cryptoKey was not preloaded, fetchKey function should be provided");return h.yield(d.fetchKey(),3)}2!=h.nextAddress&&goog.asserts.assert(d.cryptoKey,"AES-128 cryptoKey should now be set");e=d.iv;if(!e)for(e=shaka.util.BufferUtils.toUint8(new ArrayBuffer(16)),
976
976
  f=d.firstMediaSequenceNumber+c,g=e.byteLength-1;0<=g;g--)e[g]=f&255,f>>=8;return h.return(window.crypto.subtle.decrypt({name:"AES-CBC",iv:e},d.cryptoKey,a))})};
@@ -1186,14 +1186,15 @@ a.makeStateChangeEvent_("drm-engine"),b=Date.now()/1E3,c=!0,a.drmEngine_=a.creat
1186
1186
  a.manifest_.offlineSessionIds),2)):3!=d.nextAddress?d.yield(a.drmEngine_.attach(a.video_),3):d.yield(a.filterManifest_(a.manifest_),0)})};
1187
1187
  shaka.Player.prototype.loadInner_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,y,z;return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){switch(A.nextAddress){case 1:goog.asserts.assert(b.video_,"We should have a media element by now.");goog.asserts.assert(b.manifest_,"The manifest should already be parsed.");goog.asserts.assert(b.assetUri_,"We should have an asset uri by now.");b.makeStateChangeEvent_("load");c=b.video_;b.playRateController_=new shaka.media.PlayRateController({getRate:function(){return c.playbackRate},
1188
1188
  getDefaultRate:function(){return c.defaultPlaybackRate},setRate:function(B){c.playbackRate=B},movePlayhead:function(B){c.currentTime+=B}});d=function(){return b.updateStateHistory_()};e=function(){return b.onRateChange_()};b.loadEventManager_.listen(c,"playing",d);b.loadEventManager_.listen(c,"pause",d);b.loadEventManager_.listen(c,"ended",d);b.loadEventManager_.listen(c,"ratechange",e);b.setupLcevc_(b.config_);f=b.config_.abrFactory;b.abrManager_&&b.abrManagerFactory_==f||(b.abrManagerFactory_=f,
1189
- b.abrManager_=f(),"function"!=typeof b.abrManager_.setMediaElement&&(shaka.Deprecate.deprecateFeature(5,"AbrManager","Please use an AbrManager with setMediaElement function."),b.abrManager_.setMediaElement=function(){}),"function"!=typeof b.abrManager_.setCmsdManager&&(shaka.Deprecate.deprecateFeature(5,"AbrManager","Please use an AbrManager with setCmsdManager function."),b.abrManager_.setCmsdManager=function(){}),b.abrManager_.configure(b.config_.abr));b.currentAdaptationSetCriteria_=new shaka.media.PreferenceBasedCriteria(b.config_.preferredAudioLanguage,
1190
- b.config_.preferredVariantRole,b.config_.preferredAudioChannelCount,b.config_.preferredVideoHdrLevel,b.config_.preferSpatialAudio,b.config_.preferredVideoLayout,b.config_.preferredAudioLabel,b.config_.preferredVideoLabel,b.config_.mediaSource.codecSwitchingStrategy,b.config_.manifest.dash.enableAudioGroups);b.currentTextLanguage_=b.config_.preferredTextLanguage;b.currentTextRole_=b.config_.preferredTextRole;b.currentTextForced_=b.config_.preferForcedSubs;shaka.Player.applyPlayRange_(b.manifest_.presentationTimeline,
1191
- b.config_.playRangeStart,b.config_.playRangeEnd);b.abrManager_.init(function(B,D,H){return b.switch_(B,D,H)});b.abrManager_.setMediaElement(c);b.abrManager_.setCmsdManager(b.cmsdManager_);shaka.util.StreamUtils.chooseCodecsAndFilterManifest(b.manifest_,b.config_.preferredVideoCodecs,b.config_.preferredAudioCodecs,b.config_.preferredDecodingAttributes);b.streamingEngine_=b.createStreamingEngine();b.streamingEngine_.configure(b.config_.streaming);b.loadMode_=shaka.Player.LoadMode.MEDIA_SOURCE;c.textTracks&&
1192
- b.loadEventManager_.listen(c.textTracks,"addtrack",function(B){if(B.track)switch(B=B.track,goog.asserts.assert(B instanceof TextTrack,"Wrong track type!"),B.kind){case "chapters":b.activateChaptersTrack_(B)}});b.dispatchEvent(b.makeEvent_(shaka.util.FakeEvent.EventName.Streaming));g=null;h=b.streamingEngine_.getCurrentVariant();h||(g=b.chooseVariant_(!0),goog.asserts.assert(g,"Must choose an initial variant!"));k=[];l=h||g;m=$jscomp.makeIterator([l.video,l.audio]);for(n=m.next();!n.done;n=m.next())(p=
1193
- n.value)&&!p.segmentIndex&&k.push(p.createSegmentIndex());if(!(0<k.length)){A.jumpTo(2);break}return A.yield(Promise.all(k),2);case 2:if(b.parser_&&b.parser_.onInitialVariantChosen)b.parser_.onInitialVariantChosen(l);shaka.Player.applyPlayRange_(b.manifest_.presentationTimeline,b.config_.playRangeStart,b.config_.playRangeEnd);b.playhead_=b.createPlayhead(b.startTime_);b.playheadObservers_=b.createPlayheadObserversForMSE_(a);q=Math.max(b.manifest_.minBufferTime,b.config_.streaming.rebufferingGoal);
1194
- b.startBufferManagement_(c,q);if(h){A.jumpTo(4);break}goog.asserts.assert(g,"Must have choosen an initial variant!");b.switchVariant_(g,!0,!1,0);if(!b.config_.streaming.startAtSegmentBoundary){A.jumpTo(4);break}r=b.playhead_;t=r.setStartTime;return A.yield(b.adjustStartTime_(g,b.playhead_.getTime()),6);case 6:t.call(r,A.yieldResult);case 4:return b.playhead_.ready(),w=b.getTextTracks().find(function(B){return B.active}),w||((u=b.chooseTextStream_())&&b.addTextStreamToSwitchHistory_(u,!0),g&&b.setInitialTextState_(g,
1195
- u),u&&b.shouldStreamText_()&&b.streamingEngine_.switchTextStream(u)),A.yield(b.streamingEngine_.start(),7);case 7:b.config_.abr.enabled&&(b.abrManager_.enable(),b.onAbrStatusChanged_());b.onTracksChanged_();b.updateAbrManagerVariants_();v=b.manifest_.variants.some(function(B){return B.primary});b.config_.preferredAudioLanguage||v||shaka.log.warning("No preferred audio language set. We have chosen an arbitrary language initially");(x=b.isLive())&&(b.config_.streaming.liveSync||b.manifest_.serviceDescription)?
1196
- (y=function(){return b.onTimeUpdate_()},b.loadEventManager_.listen(c,"timeupdate",y)):x||(z=function(){return b.onVideoProgress_()},b.loadEventManager_.listen(c,"timeupdate",z),b.onVideoProgress_());if(b.adManager_)b.adManager_.onManifestUpdated(x);b.fullyLoaded_=!0;b.loadEventManager_.listenOnce(c,"loadedmetadata",function(){var B=Date.now()/1E3-a;b.stats_.setLoadLatency(B)});A.jumpToEnd()}})};
1189
+ b.abrManager_=f(),"function"!=typeof b.abrManager_.setMediaElement&&(shaka.Deprecate.deprecateFeature(5,"AbrManager","Please use an AbrManager with setMediaElement function."),b.abrManager_.setMediaElement=function(){}),"function"!=typeof b.abrManager_.setCmsdManager&&(shaka.Deprecate.deprecateFeature(5,"AbrManager","Please use an AbrManager with setCmsdManager function."),b.abrManager_.setCmsdManager=function(){}),"function"!=typeof b.abrManager_.trySuggestStreams&&(shaka.Deprecate.deprecateFeature(5,
1190
+ "AbrManager","Please use an AbrManager with trySuggestStreams function."),b.abrManager_.trySuggestStreams=function(){}),b.abrManager_.configure(b.config_.abr));b.currentAdaptationSetCriteria_=new shaka.media.PreferenceBasedCriteria(b.config_.preferredAudioLanguage,b.config_.preferredVariantRole,b.config_.preferredAudioChannelCount,b.config_.preferredVideoHdrLevel,b.config_.preferSpatialAudio,b.config_.preferredVideoLayout,b.config_.preferredAudioLabel,b.config_.preferredVideoLabel,b.config_.mediaSource.codecSwitchingStrategy,
1191
+ b.config_.manifest.dash.enableAudioGroups);b.currentTextLanguage_=b.config_.preferredTextLanguage;b.currentTextRole_=b.config_.preferredTextRole;b.currentTextForced_=b.config_.preferForcedSubs;shaka.Player.applyPlayRange_(b.manifest_.presentationTimeline,b.config_.playRangeStart,b.config_.playRangeEnd);b.abrManager_.init(function(B,D,H){return b.switch_(B,D,H)});b.abrManager_.setMediaElement(c);b.abrManager_.setCmsdManager(b.cmsdManager_);shaka.util.StreamUtils.chooseCodecsAndFilterManifest(b.manifest_,
1192
+ b.config_.preferredVideoCodecs,b.config_.preferredAudioCodecs,b.config_.preferredDecodingAttributes);b.streamingEngine_=b.createStreamingEngine();b.streamingEngine_.configure(b.config_.streaming);b.loadMode_=shaka.Player.LoadMode.MEDIA_SOURCE;c.textTracks&&b.loadEventManager_.listen(c.textTracks,"addtrack",function(B){if(B.track)switch(B=B.track,goog.asserts.assert(B instanceof TextTrack,"Wrong track type!"),B.kind){case "chapters":b.activateChaptersTrack_(B)}});b.dispatchEvent(b.makeEvent_(shaka.util.FakeEvent.EventName.Streaming));
1193
+ g=null;h=b.streamingEngine_.getCurrentVariant();h||(g=b.chooseVariant_(!0),goog.asserts.assert(g,"Must choose an initial variant!"));k=[];l=h||g;m=$jscomp.makeIterator([l.video,l.audio]);for(n=m.next();!n.done;n=m.next())(p=n.value)&&!p.segmentIndex&&k.push(p.createSegmentIndex());if(!(0<k.length)){A.jumpTo(2);break}return A.yield(Promise.all(k),2);case 2:if(b.parser_&&b.parser_.onInitialVariantChosen)b.parser_.onInitialVariantChosen(l);shaka.Player.applyPlayRange_(b.manifest_.presentationTimeline,
1194
+ b.config_.playRangeStart,b.config_.playRangeEnd);b.playhead_=b.createPlayhead(b.startTime_);b.playheadObservers_=b.createPlayheadObserversForMSE_(a);q=Math.max(b.manifest_.minBufferTime,b.config_.streaming.rebufferingGoal);b.startBufferManagement_(c,q);if(h){A.jumpTo(4);break}goog.asserts.assert(g,"Must have choosen an initial variant!");b.switchVariant_(g,!0,!1,0);if(!b.config_.streaming.startAtSegmentBoundary){A.jumpTo(4);break}r=b.playhead_;t=r.setStartTime;return A.yield(b.adjustStartTime_(g,
1195
+ b.playhead_.getTime()),6);case 6:t.call(r,A.yieldResult);case 4:return b.playhead_.ready(),w=b.getTextTracks().find(function(B){return B.active}),w||((u=b.chooseTextStream_())&&b.addTextStreamToSwitchHistory_(u,!0),g&&b.setInitialTextState_(g,u),u&&b.shouldStreamText_()&&b.streamingEngine_.switchTextStream(u)),A.yield(b.streamingEngine_.start(),7);case 7:b.config_.abr.enabled&&(b.abrManager_.enable(),b.onAbrStatusChanged_());b.onTracksChanged_();b.updateAbrManagerVariants_();v=b.manifest_.variants.some(function(B){return B.primary});
1196
+ b.config_.preferredAudioLanguage||v||shaka.log.warning("No preferred audio language set. We have chosen an arbitrary language initially");(x=b.isLive())&&(b.config_.streaming.liveSync||b.manifest_.serviceDescription)?(y=function(){return b.onTimeUpdate_()},b.loadEventManager_.listen(c,"timeupdate",y)):x||(z=function(){return b.onVideoProgress_()},b.loadEventManager_.listen(c,"timeupdate",z),b.onVideoProgress_());if(b.adManager_)b.adManager_.onManifestUpdated(x);b.fullyLoaded_=!0;b.loadEventManager_.listenOnce(c,
1197
+ "loadedmetadata",function(){var B=Date.now()/1E3-a;b.stats_.setLoadLatency(B)});A.jumpToEnd()}})};
1197
1198
  shaka.Player.prototype.initializeSrcEqualsDrmInner_=function(a){var b=this,c,d,e,f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){return 1==g.nextAddress?(c=shaka.util.ManifestParserUtils.ContentType,goog.asserts.assert(b.networkingEngine_,"|onInitializeSrcEqualsDrm_| should never be called after |destroy|"),goog.asserts.assert(b.config_,"|onInitializeSrcEqualsDrm_| should never be called after |destroy|"),d=Date.now()/1E3,e=!0,b.drmEngine_=b.createDrmEngine({netEngine:b.networkingEngine_,
1198
1199
  onError:function(h){b.onError_(h)},onKeyStatus:function(h){b.onKeyStatus_(h)},onExpirationUpdated:function(h,k){b.onExpirationUpdated_(h,k)},onEvent:function(h){b.dispatchEvent(h);h.type==shaka.util.FakeEvent.EventName.DrmSessionUpdate&&e&&(e=!1,h=Date.now()/1E3-d,b.stats_.setDrmTime(h))}}),b.drmEngine_.configure(b.config_.drm),f={id:0,language:"und",disabledUntilTime:0,primary:!1,audio:null,video:{id:0,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:null,
1199
1200
  mimeType:a?shaka.util.MimeUtils.getBasicType(a):"",codecs:a?shaka.util.MimeUtils.getCodecs(a):"",encrypted:!0,drmInfos:[],keyIds:new Set,language:"und",originalLanguage:null,label:null,type:c.VIDEO,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,external:!1,fastSwitching:!1},bandwidth:100,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]},b.drmEngine_.setSrcEquals(!0),
@@ -1223,7 +1224,8 @@ this.bufferObserver_.update(b,a)&&this.updateBufferState_()};shaka.Player.protot
1223
1224
  shaka.Player.prototype.createCmcd_=function(){var a=this;return new shaka.util.CmcdManager({getBandwidthEstimate:function(){return a.abrManager_?a.abrManager_.getBandwidthEstimate():NaN},getBufferedInfo:function(){return a.getBufferedInfo()},getCurrentTime:function(){return a.video_?a.video_.currentTime:0},getPlaybackRate:function(){return a.getPlaybackRate()},getNetworkingEngine:function(){return a.getNetworkingEngine()},getVariantTracks:function(){return a.getVariantTracks()},isLive:function(){return a.isLive()}},
1224
1225
  this.config_.cmcd)};shaka.Player.prototype.createCmsd_=function(){return new shaka.util.CmsdManager(this.config_.cmsd)};
1225
1226
  shaka.Player.prototype.createStreamingEngine=function(){var a=this;goog.asserts.assert(this.abrManager_&&this.mediaSourceEngine_&&this.manifest_,"Must not be destroyed");return new shaka.media.StreamingEngine(this.manifest_,{getPresentationTime:function(){return a.playhead_?a.playhead_.getTime():0},getBandwidthEstimate:function(){return a.abrManager_.getBandwidthEstimate()},mediaSourceEngine:this.mediaSourceEngine_,netEngine:this.networkingEngine_,onError:function(b){return a.onError_(b)},onEvent:function(b){return a.dispatchEvent(b)},
1226
- onManifestUpdate:function(){return a.onManifestUpdate_()},onSegmentAppended:function(b,c,d){a.onSegmentAppended_(b,c,d)},onInitSegmentAppended:function(b,c){(c=c.getMediaQuality())&&a.qualityObserver_&&a.qualityObserver_.addMediaQualityChange(c,b)},beforeAppendSegment:function(b,c){return a.drmEngine_.parseInbandPssh(b,c)},onMetadata:function(b,c,d){a.processTimedMetadataMediaSrc_(b,c,d)},disableStream:function(b,c){return a.disableStream(b,c)}})};
1227
+ onManifestUpdate:function(){return a.onManifestUpdate_()},onSegmentAppended:function(b,c){a.onSegmentAppended_(b.startTime,b.endTime,c.type);a.abrManager_&&c.fastSwitching&&b.isPartial()&&b.isLastPartial()&&a.abrManager_.trySuggestStreams()},onInitSegmentAppended:function(b,c){(c=c.getMediaQuality())&&a.qualityObserver_&&a.qualityObserver_.addMediaQualityChange(c,b)},beforeAppendSegment:function(b,c){return a.drmEngine_.parseInbandPssh(b,c)},onMetadata:function(b,c,d){a.processTimedMetadataMediaSrc_(b,
1228
+ c,d)},disableStream:function(b,c){return a.disableStream(b,c)}})};
1227
1229
  shaka.Player.prototype.configure=function(a,b){goog.asserts.assert(this.config_,"Config must not be null!");goog.asserts.assert("object"==typeof a||2==arguments.length,"String configs should have values!");2==arguments.length&&"string"==typeof a&&(a=shaka.util.ConfigUtils.convertToConfigObject(a,b));goog.asserts.assert("object"==typeof a,"Should be an object!");a.streaming&&"forceTransmuxTS"in a.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.forceTransmuxTS configuration","Please Use mediaSource.forceTransmux instead."),
1228
1230
  a.mediaSource.mediaSource=a.streaming.forceTransmuxTS,delete a.streaming.forceTransmuxTS);a.streaming&&"forceTransmux"in a.streaming&&(shaka.Deprecate.deprecateFeature(5,"streaming.forceTransmux configuration","Please Use mediaSource.forceTransmux instead."),a.mediaSource.mediaSource=a.streaming.forceTransmux,delete a.streaming.forceTransmux);a.streaming&&a.streaming.lowLatencyMode&&(void 0==a.streaming.inaccurateManifestTolerance&&(a.streaming.inaccurateManifestTolerance=0),void 0==a.streaming.rebufferingGoal&&
1229
1231
  (a.streaming.rebufferingGoal=.01),void 0==a.streaming.segmentPrefetchLimit&&(a.streaming.segmentPrefetchLimit=2),void 0==a.streaming.retryParameters&&(a.streaming.retryParameters={}),void 0==a.streaming.retryParameters.baseDelay&&(a.streaming.retryParameters.baseDelay=100),void 0==a.manifest&&(a.manifest={}),void 0==a.manifest.retryParameters&&(a.manifest.retryParameters={}),void 0==a.manifest.retryParameters.baseDelay&&(a.manifest.retryParameters.baseDelay=100),void 0==a.drm&&(a.drm={}),void 0==
@@ -1277,9 +1279,9 @@ null):new Date(b.getTime()+1E3*a);shaka.log.warning("No way to get playhead time
1277
1279
  shaka.Player.prototype.getPresentationStartTimeAsDate=function(){if(!this.isLive())return shaka.log.warning("getPresentationStartTimeAsDate is for live streams!"),null;if(this.manifest_){var a=this.manifest_.presentationTimeline.getPresentationStartTime();goog.asserts.assert(null!=a,"Presentation start time should not be null!");return new Date(1E3*a)}if(this.video_&&this.video_.getStartDate)return a=this.video_.getStartDate(),isNaN(a.getTime())?(shaka.log.warning("EXT-X-PROGRAM-DATETIME required to get presentation start time as Date!"),
1278
1280
  null):a;shaka.log.warning("No way to get presentation start time as Date!");return null};shaka.Player.prototype.getBufferedInfo=function(){if(this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE)return this.mediaSourceEngine_.getBufferedInfo();var a={total:[],audio:[],video:[],text:[]};this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&(a.total=shaka.media.TimeRangesUtils.getBufferedInfo(this.video_.buffered));return a};
1279
1281
  shaka.Player.prototype.getStats=function(){if(this.loadMode_!=shaka.Player.LoadMode.MEDIA_SOURCE&&this.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS)return shaka.util.Stats.getEmptyBlob();this.updateStateHistory_();goog.asserts.assert(this.video_,"If we have stats, we should have video_");var a=this.video_,b=a.currentTime/a.duration;isNaN(b)||this.stats_.setCompletionPercent(Math.round(100*b));this.playhead_&&(this.stats_.setGapsJumped(this.playhead_.getGapsJumped()),this.stats_.setStallsDetected(this.playhead_.getStallsDetected()));
1280
- a.getVideoPlaybackQuality&&(b=a.getVideoPlaybackQuality(),this.stats_.setDroppedFrames(Number(b.droppedVideoFrames),Number(b.totalVideoFrames)),this.stats_.setCorruptedFrames(Number(b.corruptedVideoFrames)));b=this.drmEngine_?this.drmEngine_.getLicenseTime():NaN;this.stats_.setLicenseTime(b);if(this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE){if(b=this.streamingEngine_.getCurrentVariant()){var c=(this.playRateController_?this.playRateController_.getRealRate():1)*b.bandwidth;this.stats_.setCurrentStreamBandwidth(c)}b&&
1281
- b.video&&this.stats_.setResolution(b.video.width||NaN,b.video.height||NaN);this.isLive()&&(b=this.getPresentationStartTimeAsDate().valueOf()+1E3*a.currentTime,b=(Date.now()-b)/1E3,this.stats_.setLiveLatency(b));this.manifest_&&this.manifest_.presentationTimeline&&(b=this.manifest_.presentationTimeline.getMaxSegmentDuration(),this.stats_.setMaxSegmentDuration(b));b=this.abrManager_.getBandwidthEstimate();this.stats_.setBandwidthEstimate(b)}this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&this.stats_.setResolution(a.videoWidth||
1282
- NaN,a.videoHeight||NaN);return this.stats_.getBlob()};
1282
+ a.getVideoPlaybackQuality&&(b=a.getVideoPlaybackQuality(),this.stats_.setDroppedFrames(Number(b.droppedVideoFrames),Number(b.totalVideoFrames)),this.stats_.setCorruptedFrames(Number(b.corruptedVideoFrames)));b=this.drmEngine_?this.drmEngine_.getLicenseTime():NaN;this.stats_.setLicenseTime(b);if(this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE){b=this.streamingEngine_.getCurrentVariant();var c=this.streamingEngine_.getCurrentTextStream();if(b){var d=this.playRateController_?this.playRateController_.getRealRate():
1283
+ 1,e=d*b.bandwidth;c&&c.bandwidth&&(e+=d*c.bandwidth);this.stats_.setCurrentStreamBandwidth(e)}b&&b.video&&this.stats_.setResolution(b.video.width||NaN,b.video.height||NaN);this.isLive()&&(b=this.getPresentationStartTimeAsDate().valueOf()+1E3*a.currentTime,b=(Date.now()-b)/1E3,this.stats_.setLiveLatency(b));this.manifest_&&this.manifest_.presentationTimeline&&(b=this.manifest_.presentationTimeline.getMaxSegmentDuration(),this.stats_.setMaxSegmentDuration(b));b=this.abrManager_.getBandwidthEstimate();
1284
+ this.stats_.setBandwidthEstimate(b)}this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&this.stats_.setResolution(a.videoWidth||NaN,a.videoHeight||NaN);return this.stats_.getBlob()};
1283
1285
  shaka.Player.prototype.addTextTrackAsync=function(a,b,c,d,e,f,g){g=void 0===g?!1:g;var h=this,k,l,m,n,p,q,r,t,w,u,v,x,y;return $jscomp.asyncExecutePromiseGeneratorProgram(function(z){switch(z.nextAddress){case 1:if(h.loadMode_!=shaka.Player.LoadMode.MEDIA_SOURCE&&h.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS)throw shaka.log.error("Must call load() and wait for it to resolve before adding text tracks."),new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.CONTENT_NOT_LOADED);
1284
1286
  if(d){z.jumpTo(2);break}return z.yield(h.getTextMimetype_(a),3);case 3:d=z.yieldResult;case 2:k=[];h.adManager_&&(k=h.adManager_.getCuePoints());if(h.loadMode_!=shaka.Player.LoadMode.SRC_EQUALS){z.jumpTo(4);break}g&&(c="forced");return z.yield(h.addSrcTrackElement_(a,b,c,d,f||"",k),5);case 5:l=shaka.util.LanguageUtils;m=l.normalize(b);n=h.getTextTracks();if(p=n.find(function(A){return l.normalize(A.language)==m&&A.label==(f||"")&&A.kind==c}))return h.onTracksChanged_(),z.return(p);shaka.log.error("Cannot add this text when loaded with src=");
1285
1287
  throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.CANNOT_ADD_EXTERNAL_TEXT_TO_SRC_EQUALS);case 4:q=shaka.util.ManifestParserUtils.ContentType;r=h.video_.duration;h.manifest_&&(r=h.manifest_.presentationTimeline.getDuration());if(Infinity==r)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM);if(!k.length){z.jumpTo(6);break}goog.asserts.assert(h.networkingEngine_,
@@ -1371,7 +1373,7 @@ goog.exportProperty(shaka.Player.prototype,"isInProgress",shaka.Player.prototype
1371
1373
  goog.exportProperty(shaka.Player.prototype,"getMediaElement",shaka.Player.prototype.getMediaElement);goog.exportProperty(shaka.Player.prototype,"getManifestType",shaka.Player.prototype.getManifestType);goog.exportProperty(shaka.Player.prototype,"getLoadMode",shaka.Player.prototype.getLoadMode);goog.exportProperty(shaka.Player.prototype,"resetConfiguration",shaka.Player.prototype.resetConfiguration);goog.exportProperty(shaka.Player.prototype,"getBufferFullness",shaka.Player.prototype.getBufferFullness);
1372
1374
  goog.exportProperty(shaka.Player.prototype,"getConfiguration",shaka.Player.prototype.getConfiguration);goog.exportProperty(shaka.Player.prototype,"configure",shaka.Player.prototype.configure);goog.exportProperty(shaka.Player.prototype,"releaseAllMutexes",shaka.Player.prototype.releaseAllMutexes);goog.exportProperty(shaka.Player.prototype,"load",shaka.Player.prototype.load);goog.exportProperty(shaka.Player.prototype,"updateStartTime",shaka.Player.prototype.updateStartTime);
1373
1375
  goog.exportProperty(shaka.Player.prototype,"unload",shaka.Player.prototype.unload);goog.exportProperty(shaka.Player.prototype,"detach",shaka.Player.prototype.detach);goog.exportProperty(shaka.Player.prototype,"attachCanvas",shaka.Player.prototype.attachCanvas);goog.exportProperty(shaka.Player.prototype,"attach",shaka.Player.prototype.attach);goog.exportProperty(shaka.Player,"probeSupport",shaka.Player.probeSupport);goog.exportProperty(shaka.Player,"isBrowserSupported",shaka.Player.isBrowserSupported);
1374
- goog.exportProperty(shaka.Player,"setAdManagerFactory",shaka.Player.setAdManagerFactory);goog.exportProperty(shaka.Player,"registerSupportPlugin",shaka.Player.registerSupportPlugin);goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy);shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3};goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode);shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.7.5-debug";
1376
+ goog.exportProperty(shaka.Player,"setAdManagerFactory",shaka.Player.setAdManagerFactory);goog.exportProperty(shaka.Player,"registerSupportPlugin",shaka.Player.registerSupportPlugin);goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy);shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3};goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode);shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.7.6-debug";
1375
1377
  goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.restrictedStatuses_=["output-restricted","internal-error"];shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;shaka.Player.TextTrackLabel="Shaka Player TextTrack";shaka.ads={};shaka.ads.AdsStats=function(){this.loadTimes_=[];this.skipped_=this.playedCompletely_=this.started_=0};shaka.ads.AdsStats.prototype.addLoadTime=function(a){this.loadTimes_.push(a)};shaka.ads.AdsStats.prototype.incrementStarted=function(){this.started_++};shaka.ads.AdsStats.prototype.incrementPlayedCompletely=function(){this.playedCompletely_++};shaka.ads.AdsStats.prototype.incrementSkipped=function(){this.skipped_++};
1376
1378
  shaka.ads.AdsStats.prototype.getBlob=function(){return{loadTimes:this.loadTimes_,started:this.started_,playedCompletely:this.playedCompletely_,skipped:this.skipped_}};shaka.ads.ClientSideAd=function(a,b,c){var d=this;this.ad_=a;this.manager_=b;this.video_=c;this.isPaused_=!1;this.volume_=this.manager_.getVolume();this.eventManager_=new shaka.util.EventManager;this.eventManager_.listen(this.manager_,google.ima.AdEvent.Type.PAUSED,function(){d.isPaused_=!0});this.eventManager_.listen(this.manager_,google.ima.AdEvent.Type.RESUMED,function(){d.isPaused_=!1})};shaka.ads.ClientSideAd.prototype.getDuration=function(){return this.ad_.getDuration()};
1377
1379
  shaka.ads.ClientSideAd.prototype.getMinSuggestedDuration=function(){return this.ad_.getMinSuggestedDuration()};shaka.ads.ClientSideAd.prototype.getRemainingTime=function(){return this.manager_.getRemainingTime()};shaka.ads.ClientSideAd.prototype.isPaused=function(){return this.isPaused_};shaka.ads.ClientSideAd.prototype.isSkippable=function(){return 0<=this.ad_.getSkipTimeOffset()};
@@ -1851,7 +1853,7 @@ b)};
1851
1853
  shaka.util.PeriodCombiner.concatenateStreamDBs_=function(a,b){var c=a.roles;c||(c=[]);for(var d=$jscomp.makeIterator(b.roles),e=d.next();!e.done;e=d.next())e=e.value,c.includes(e)||c.push(e);a.roles=c;c=$jscomp.makeIterator(b.keyIds);for(d=c.next();!d.done;d=c.next())a.keyIds.add(d.value);a.encrypted=a.encrypted&&b.encrypted;a.segments.push.apply(a.segments,$jscomp.arrayFromIterable(b.segments));if(b.closedCaptions)for(a.closedCaptions||(a.closedCaptions=new Map),b=$jscomp.makeIterator(b.closedCaptions),c=
1852
1854
  b.next();!c.done;c=b.next())d=$jscomp.makeIterator(c.value),c=d.next().value,d=d.next().value,a.closedCaptions.set(c,d)};shaka.util.PeriodCombiner.prototype.findMatchesInAllPeriods_=function(a,b){var c=[];a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next()){d=this.findBestMatchInPeriod_(d.value,b);if(!d)return;c.push(d)}b.matchedStreams=c};
1853
1855
  shaka.util.PeriodCombiner.prototype.findBestMatchInPeriod_=function(a,b){var c=this,d=null,e=(0,{audio:shaka.util.PeriodCombiner.generateAudioKey_,video:shaka.util.PeriodCombiner.generateVideoKey_,text:shaka.util.PeriodCombiner.generateTextKey_,image:shaka.util.PeriodCombiner.generateImageKey_}[b.type])(b);if(a.has(e))d=a.get(e);else{e={audio:function(h,k){return c.areAVStreamsCompatible_(h,k)},video:function(h,k){return c.areAVStreamsCompatible_(h,k)},text:shaka.util.PeriodCombiner.areTextStreamsCompatible_,
1854
- image:shaka.util.PeriodCombiner.areImageStreamsCompatible_}[b.type];var f={audio:shaka.util.PeriodCombiner.isAudioStreamBetterMatch_,video:shaka.util.PeriodCombiner.isVideoStreamBetterMatch_,text:shaka.util.PeriodCombiner.isTextStreamBetterMatch_,image:shaka.util.PeriodCombiner.isImageStreamBetterMatch_}[b.type];a=$jscomp.makeIterator(a.values());for(var g=a.next();!g.done;g=a.next())g=g.value,!e(b,g)||d&&!f(b,d,g)||(d=g)}return d};
1856
+ image:shaka.util.PeriodCombiner.areImageStreamsCompatible_}[b.type];var f={audio:shaka.util.PeriodCombiner.isAudioStreamBetterMatch_,video:shaka.util.PeriodCombiner.isVideoStreamBetterMatch_,text:shaka.util.PeriodCombiner.isTextStreamBetterMatch_,image:shaka.util.PeriodCombiner.isImageStreamBetterMatch_}[b.type];a=$jscomp.makeIterator(a.values());for(var g=a.next();!g.done;g=a.next())g=g.value,!e(b,g)||b.fastSwitching!=g.fastSwitching||d&&!f(b,d,g)||(d=g)}return d};
1855
1857
  shaka.util.PeriodCombiner.areAVStreamsExactMatch_=function(a,b){if(a.mimeType!=b.mimeType)return!1;var c=function(d){if(!shaka.util.PeriodCombiner.memoizedCodecs.has(d)){var e=shaka.util.MimeUtils.getNormalizedCodec(d);shaka.util.PeriodCombiner.memoizedCodecs.set(d,e)}return shaka.util.PeriodCombiner.memoizedCodecs.get(d)};return c(a.codecs)==c(b.codecs)};shaka.util.PeriodCombiner.prototype.setAllowMultiTypeVariants=function(a){this.multiTypeVariantsAllowed_=a};
1856
1858
  shaka.util.PeriodCombiner.prototype.areAVStreamsCompatible_=function(a,b){return!shaka.util.PeriodCombiner.areAVStreamsExactMatch_(a,b)&&!this.multiTypeVariantsAllowed_||a.drmInfos&&!shaka.media.DrmEngine.areDrmCompatible(a.drmInfos,b.drmInfos)?!1:!0};shaka.util.PeriodCombiner.areTextStreamsCompatible_=function(a,b){return b.language?a.forced!==b.forced||0==shaka.util.LanguageUtils.relatedness(a.language,b.language)||b.kind!=a.kind?!1:!0:!0};
1857
1859
  shaka.util.PeriodCombiner.areImageStreamsCompatible_=function(a,b){return!0};
@@ -2870,7 +2872,7 @@ shaka.ui.Controls.prototype.isFullScreenSupported=function(){return document.ful
2870
2872
  shaka.ui.Controls.prototype.enterFullScreen_=function(){var a=this,b,c,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){switch(e.nextAddress){case 1:e.setCatchFinallyBlocks(2);if(!document.fullscreenEnabled){b=a.localVideo_;b.webkitSupportsFullscreen&&b.webkitEnterFullscreen();e.jumpTo(4);break}if(!document.pictureInPictureElement){e.jumpTo(5);break}return e.yield(document.exitPictureInPicture(),5);case 5:return c=a.config_.fullScreenElement,e.yield(c.requestFullscreen({navigationUI:"hide"}),
2871
2873
  7);case 7:if(!a.config_.forceLandscapeOnFullscreen||!screen.orientation){e.jumpTo(4);break}e.setCatchFinallyBlocks(9);return e.yield(screen.orientation.lock("landscape"),11);case 11:e.leaveTryBlock(4,2);break;case 9:e.enterCatchBlock(2);case 4:e.leaveTryBlock(0);break;case 2:d=e.enterCatchBlock(),a.dispatchEvent(new shaka.util.FakeEvent("error",(new Map).set("detail",d))),e.jumpToEnd()}})};
2872
2874
  shaka.ui.Controls.prototype.exitFullScreen_=function(){var a=this,b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(!document.fullscreenEnabled)return b=a.localVideo_,b.webkitSupportsFullscreen&&b.webkitExitFullscreen(),c.jumpTo(0);screen.orientation&&screen.orientation.unlock();return c.yield(document.exitFullscreen(),0)})};
2873
- shaka.ui.Controls.prototype.toggleFullScreen=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){return a.isFullScreenEnabled()?b.yield(a.exitFullScreen_(),0):b.yield(a.enterFullScreen_(),0)})};shaka.ui.Controls.prototype.isPiPAllowed=function(){return"documentPictureInPicture"in window&&this.config_.preferDocumentPictureInPicture||document.pictureInPictureEnabled?!this.localVideo_.disablePictureInPicture:!1};
2875
+ shaka.ui.Controls.prototype.toggleFullScreen=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){return a.isFullScreenEnabled()?b.yield(a.exitFullScreen_(),0):b.yield(a.enterFullScreen_(),0)})};shaka.ui.Controls.prototype.isPiPAllowed=function(){return this.castProxy_.isCasting()?!1:"documentPictureInPicture"in window&&this.config_.preferDocumentPictureInPicture||document.pictureInPictureEnabled?!this.localVideo_.disablePictureInPicture:!1};
2874
2876
  shaka.ui.Controls.prototype.isPiPEnabled=function(){return"documentPictureInPicture"in window&&this.config_.preferDocumentPictureInPicture?!!window.documentPictureInPicture.window:!!document.pictureInPictureElement};
2875
2877
  shaka.ui.Controls.prototype.togglePiP=function(){var a=this,b,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return d.setCatchFinallyBlocks(2),"documentPictureInPicture"in window&&a.config_.preferDocumentPictureInPicture?d.yield(a.toggleDocumentPictureInPicture_(),5):document.pictureInPictureElement?d.yield(document.exitPictureInPicture(),5):(document.fullscreenElement&&document.exitFullscreen(),b=a.localVideo_,d.yield(b.requestPictureInPicture(),5));if(2!=d.nextAddress)return d.leaveTryBlock(0);
2876
2878
  c=d.enterCatchBlock();a.dispatchEvent(new shaka.util.FakeEvent("error",(new Map).set("detail",c)));d.jumpToEnd()})};
@@ -2997,13 +2999,12 @@ function(){c.updateAriaLabel_();c.updateIcon_()});this.eventManager.listen(this.
2997
2999
  shaka.ui.MuteButton.prototype.updateIcon_=function(){var a=shaka.ui.Enums.MaterialDesignIcons;a=this.ad?this.ad.isMuted()?a.UNMUTE:a.MUTE:this.video.muted?a.UNMUTE:a.MUTE;this.button_.textContent=a};goog.exportSymbol("shaka.ui.MuteButton",shaka.ui.MuteButton);shaka.ui.MuteButton.Factory=function(){};shaka.ui.MuteButton.Factory.prototype.create=function(a,b){return new shaka.ui.MuteButton(a,b)};shaka.ui.Controls.registerElement("mute",new shaka.ui.MuteButton.Factory);shaka.ui.PipButton=function(a,b){shaka.ui.Element.call(this,a,b);var c=this;this.localVideo_=this.controls.getLocalVideo();this.videoContainer_=this.controls.getVideoContainer();a=shaka.ui.Locales.Ids;this.pipButton_=shaka.util.Dom.createButton();this.pipButton_.classList.add("shaka-pip-button");this.pipButton_.classList.add("shaka-tooltip");this.pipIcon_=shaka.util.Dom.createHTMLElement("i");this.pipIcon_.classList.add("material-icons-round");this.pipIcon_.textContent=shaka.ui.Enums.MaterialDesignIcons.PIP;
2998
3000
  this.pipButton_.appendChild(this.pipIcon_);b=shaka.util.Dom.createHTMLElement("label");b.classList.add("shaka-overflow-button-label");b.classList.add("shaka-overflow-menu-only");this.pipNameSpan_=shaka.util.Dom.createHTMLElement("span");this.pipNameSpan_.textContent=this.localization.resolve(a.PICTURE_IN_PICTURE);b.appendChild(this.pipNameSpan_);this.currentPipState_=shaka.util.Dom.createHTMLElement("span");this.currentPipState_.classList.add("shaka-current-selection-span");b.appendChild(this.currentPipState_);
2999
3001
  this.pipButton_.appendChild(b);this.updateLocalizedStrings_();this.parent.appendChild(this.pipButton_);this.controls.isPiPAllowed()||shaka.ui.Utils.setDisplay(this.pipButton_,!1);this.eventManager.listen(this.localization,shaka.ui.Localization.LOCALE_UPDATED,function(){c.updateLocalizedStrings_()});this.eventManager.listen(this.localization,shaka.ui.Localization.LOCALE_CHANGED,function(){c.updateLocalizedStrings_()});this.eventManager.listen(this.pipButton_,"click",function(){c.controls.togglePiP()});
3000
- this.eventManager.listen(this.localVideo_,"enterpictureinpicture",function(){c.onEnterPictureInPicture_()});this.eventManager.listen(this.localVideo_,"leavepictureinpicture",function(){c.onLeavePictureInPicture_()});this.eventManager.listen(this.controls,"caststatuschanged",function(d){c.onCastStatusChange_(d)});this.eventManager.listen(this.player,"trackschanged",function(){c.onTracksChanged_()});"documentPictureInPicture"in window&&this.eventManager.listen(window.documentPictureInPicture,"enter",
3001
- function(d){c.onEnterPictureInPicture_();c.eventManager.listenOnce(d.window,"pagehide",function(){c.onLeavePictureInPicture_()})})};$jscomp.inherits(shaka.ui.PipButton,shaka.ui.Element);shaka.ui.PipButton.prototype.onEnterPictureInPicture_=function(){var a=shaka.ui.Locales.Ids;this.pipIcon_.textContent=shaka.ui.Enums.MaterialDesignIcons.EXIT_PIP;this.pipButton_.ariaLabel=this.localization.resolve(a.EXIT_PICTURE_IN_PICTURE);this.currentPipState_.textContent=this.localization.resolve(a.ON)};
3002
+ this.eventManager.listen(this.localVideo_,"enterpictureinpicture",function(){c.onEnterPictureInPicture_()});this.eventManager.listen(this.localVideo_,"leavepictureinpicture",function(){c.onLeavePictureInPicture_()});this.eventManager.listen(this.controls,"caststatuschanged",function(){c.onTracksChanged_()});this.eventManager.listen(this.player,"trackschanged",function(){c.onTracksChanged_()});"documentPictureInPicture"in window&&this.eventManager.listen(window.documentPictureInPicture,"enter",function(d){c.onEnterPictureInPicture_();
3003
+ c.eventManager.listenOnce(d.window,"pagehide",function(){c.onLeavePictureInPicture_()})})};$jscomp.inherits(shaka.ui.PipButton,shaka.ui.Element);shaka.ui.PipButton.prototype.onEnterPictureInPicture_=function(){var a=shaka.ui.Locales.Ids;this.pipIcon_.textContent=shaka.ui.Enums.MaterialDesignIcons.EXIT_PIP;this.pipButton_.ariaLabel=this.localization.resolve(a.EXIT_PICTURE_IN_PICTURE);this.currentPipState_.textContent=this.localization.resolve(a.ON)};
3002
3004
  shaka.ui.PipButton.prototype.onLeavePictureInPicture_=function(){var a=shaka.ui.Locales.Ids;this.pipIcon_.textContent=shaka.ui.Enums.MaterialDesignIcons.PIP;this.pipButton_.ariaLabel=this.localization.resolve(a.ENTER_PICTURE_IN_PICTURE);this.currentPipState_.textContent=this.localization.resolve(a.OFF)};
3003
3005
  shaka.ui.PipButton.prototype.updateLocalizedStrings_=function(){var a=shaka.ui.Locales.Ids;this.pipNameSpan_.textContent=this.localization.resolve(a.PICTURE_IN_PICTURE);var b=this.controls.isPiPEnabled();this.pipButton_.ariaLabel=this.localization.resolve(b?a.EXIT_PICTURE_IN_PICTURE:a.ENTER_PICTURE_IN_PICTURE);this.currentPipState_.textContent=this.localization.resolve(b?a.ON:a.OFF)};
3004
- shaka.ui.PipButton.prototype.onCastStatusChange_=function(a){a.newStatus?this.controls.isPiPAllowed()&&shaka.ui.Utils.setDisplay(this.pipButton_,!1):this.controls.isPiPAllowed()&&shaka.ui.Utils.setDisplay(this.pipButton_,!0)};
3005
- shaka.ui.PipButton.prototype.onTracksChanged_=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){if(!a.controls.isPiPAllowed())return shaka.ui.Utils.setDisplay(a.pipButton_,!1),b.jumpTo(0);if(!a.player||!a.player.isAudioOnly())return shaka.ui.Utils.setDisplay(a.pipButton_,!0),b.jumpTo(0);shaka.ui.Utils.setDisplay(a.pipButton_,!1);return a.controls.isPiPEnabled()?b.yield(a.controls.togglePiP(),0):b.jumpTo(0)})};goog.exportSymbol("shaka.ui.PipButton",shaka.ui.PipButton);
3006
- shaka.ui.PipButton.Factory=function(){};shaka.ui.PipButton.Factory.prototype.create=function(a,b){return new shaka.ui.PipButton(a,b)};shaka.ui.OverflowMenu.registerElement("picture_in_picture",new shaka.ui.PipButton.Factory);shaka.ui.Controls.registerElement("picture_in_picture",new shaka.ui.PipButton.Factory);shaka.ui.ContextMenu.registerElement("picture_in_picture",new shaka.ui.PipButton.Factory);shaka.ui.PlaybackRateSelection=function(a,b){shaka.ui.SettingsMenu.call(this,a,b,shaka.ui.Enums.MaterialDesignIcons.PLAYBACK_RATE);var c=this;this.button.classList.add("shaka-playbackrate-button");this.menu.classList.add("shaka-playback-rates");this.button.classList.add("shaka-tooltip-status");this.eventManager.listen(this.localization,shaka.ui.Localization.LOCALE_UPDATED,function(){c.updateLocalizedStrings_()});this.eventManager.listen(this.localization,shaka.ui.Localization.LOCALE_CHANGED,function(){c.updateLocalizedStrings_()});
3006
+ shaka.ui.PipButton.prototype.onTracksChanged_=function(){var a=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){if(!a.controls.isPiPAllowed())return shaka.ui.Utils.setDisplay(a.pipButton_,!1),a.controls.isPiPEnabled()?b.yield(a.controls.togglePiP(),0):b.jumpTo(0);if(!a.player||!a.player.isAudioOnly())return shaka.ui.Utils.setDisplay(a.pipButton_,!0),b.jumpTo(0);shaka.ui.Utils.setDisplay(a.pipButton_,!1);return a.controls.isPiPEnabled()?b.yield(a.controls.togglePiP(),0):b.jumpTo(0)})};
3007
+ goog.exportSymbol("shaka.ui.PipButton",shaka.ui.PipButton);shaka.ui.PipButton.Factory=function(){};shaka.ui.PipButton.Factory.prototype.create=function(a,b){return new shaka.ui.PipButton(a,b)};shaka.ui.OverflowMenu.registerElement("picture_in_picture",new shaka.ui.PipButton.Factory);shaka.ui.Controls.registerElement("picture_in_picture",new shaka.ui.PipButton.Factory);shaka.ui.ContextMenu.registerElement("picture_in_picture",new shaka.ui.PipButton.Factory);shaka.ui.PlaybackRateSelection=function(a,b){shaka.ui.SettingsMenu.call(this,a,b,shaka.ui.Enums.MaterialDesignIcons.PLAYBACK_RATE);var c=this;this.button.classList.add("shaka-playbackrate-button");this.menu.classList.add("shaka-playback-rates");this.button.classList.add("shaka-tooltip-status");this.eventManager.listen(this.localization,shaka.ui.Localization.LOCALE_UPDATED,function(){c.updateLocalizedStrings_()});this.eventManager.listen(this.localization,shaka.ui.Localization.LOCALE_CHANGED,function(){c.updateLocalizedStrings_()});
3007
3008
  this.eventManager.listen(this.player,"loaded",function(){c.updatePlaybackRateSelection_(c.player.getPlaybackRate())});this.eventManager.listen(this.player,"ratechange",function(){c.updatePlaybackRateSelection_(c.player.getPlaybackRate())});this.playbackRates_=new Map(this.controls.getConfig().playbackRates.map(function(d){return[d+"x",d]}));this.updateLocalizedStrings_();this.addPlaybackRates_();this.updatePlaybackRateSelection_(this.player.getPlaybackRate())};
3008
3009
  $jscomp.inherits(shaka.ui.PlaybackRateSelection,shaka.ui.SettingsMenu);shaka.ui.PlaybackRateSelection.prototype.updateLocalizedStrings_=function(){var a=shaka.ui.Locales.Ids;this.backButton.ariaLabel=this.localization.resolve(a.BACK);this.button.ariaLabel=this.localization.resolve(a.PLAYBACK_RATE);this.nameSpan.textContent=this.localization.resolve(a.PLAYBACK_RATE);this.backSpan.textContent=this.localization.resolve(a.PLAYBACK_RATE)};
3009
3010
  shaka.ui.PlaybackRateSelection.prototype.updatePlaybackRateSelection_=function(a){var b=this,c=shaka.ui.Utils.getDescendantIfExists(this.menu,"material-icons-round shaka-chosen-item");if(c){var d=c.parentElement;d.removeAttribute("aria-selected");d.getElementsByTagName("span")[0].classList.remove("shaka-chosen-item");d.removeChild(c)}if(c=Array.from(this.menu.querySelectorAll("span")).find(function(e){return b.playbackRates_.get(e.textContent)==a}))d=c.parentElement,d.appendChild(shaka.ui.Utils.checkmarkIcon()),