shaka-player 4.10.11 → 4.10.13

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.
@@ -335,9 +335,9 @@ shaka.ui.Locales.addTo=function(a){a.insert("ar",new Map([["AD_DURATION","\u0645
335
335
  "\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","\u96e2\u958b\u5b50\u6bcd\u756b\u9762"],["FAST_FORWARD","\u5feb\u8f49"],["FULL_SCREEN",
336
336
  "\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"],["PLAYBACK_RATE","\u64ad\u653e\u901f\u5ea6"],["RESOLUTION","\u89e3\u6790\u5ea6"],
337
337
  ["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"]]))};
338
- shaka.ui.Locales.Ids={RESOLUTION:"RESOLUTION",UNRECOGNIZED_LANGUAGE:"UNRECOGNIZED_LANGUAGE",BACK:"BACK",SKIP_TO_LIVE:"SKIP_TO_LIVE",CAST:"CAST",AIRPLAY:"AIRPLAY",OFF:"OFF",AD_DURATION:"AD_DURATION",EXIT_LOOP_MODE:"EXIT_LOOP_MODE",REWIND:"REWIND",SUBTITLE_FORCED:"SUBTITLE_FORCED",CAPTIONS:"CAPTIONS",MULTIPLE_LANGUAGES:"MULTIPLE_LANGUAGES",ON:"ON",FULL_SCREEN:"FULL_SCREEN",ENTER_PICTURE_IN_PICTURE:"ENTER_PICTURE_IN_PICTURE",PLAYBACK_RATE:"PLAYBACK_RATE",UNDETERMINED_LANGUAGE:"UNDETERMINED_LANGUAGE",
339
- TOGGLE_STEREOSCOPIC:"TOGGLE_STEREOSCOPIC",MORE_SETTINGS:"MORE_SETTINGS",VOLUME:"VOLUME",LIVE:"LIVE",REPLAY:"REPLAY",AD_PROGRESS:"AD_PROGRESS",LANGUAGE:"LANGUAGE",MUTE:"MUTE",LOOP:"LOOP",AD_STATISTICS:"AD_STATISTICS",RECENTER_VR:"RECENTER_VR",UNMUTE:"UNMUTE",SEEK:"SEEK",EXIT_PICTURE_IN_PICTURE:"EXIT_PICTURE_IN_PICTURE",SURROUND:"SURROUND",ENTER_LOOP_MODE:"ENTER_LOOP_MODE",PLAY:"PLAY",AUTO_QUALITY:"AUTO_QUALITY",AD_TIME:"AD_TIME",PAUSE:"PAUSE",STATISTICS:"STATISTICS",SKIP_AD:"SKIP_AD",QUALITY:"QUALITY",
340
- PICTURE_IN_PICTURE:"PICTURE_IN_PICTURE",EXIT_FULL_SCREEN:"EXIT_FULL_SCREEN",FAST_FORWARD:"FAST_FORWARD",DOWNLOAD_VIDEO_FRAME:"DOWNLOAD_VIDEO_FRAME",NOT_APPLICABLE:"NOT_APPLICABLE"};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)};
338
+ shaka.ui.Locales.Ids={UNRECOGNIZED_LANGUAGE:"UNRECOGNIZED_LANGUAGE",STATISTICS:"STATISTICS",REWIND:"REWIND",MULTIPLE_LANGUAGES:"MULTIPLE_LANGUAGES",PLAY:"PLAY",LIVE:"LIVE",OFF:"OFF",AD_TIME:"AD_TIME",TOGGLE_STEREOSCOPIC:"TOGGLE_STEREOSCOPIC",PAUSE:"PAUSE",FAST_FORWARD:"FAST_FORWARD",AD_PROGRESS:"AD_PROGRESS",MUTE:"MUTE",RESOLUTION:"RESOLUTION",AIRPLAY:"AIRPLAY",PLAYBACK_RATE:"PLAYBACK_RATE",AD_STATISTICS:"AD_STATISTICS",QUALITY:"QUALITY",UNMUTE:"UNMUTE",SKIP_AD:"SKIP_AD",EXIT_FULL_SCREEN:"EXIT_FULL_SCREEN",
339
+ SEEK:"SEEK",LOOP:"LOOP",LANGUAGE:"LANGUAGE",ENTER_LOOP_MODE:"ENTER_LOOP_MODE",ENTER_PICTURE_IN_PICTURE:"ENTER_PICTURE_IN_PICTURE",PICTURE_IN_PICTURE:"PICTURE_IN_PICTURE",CAPTIONS:"CAPTIONS",SURROUND:"SURROUND",CAST:"CAST",VOLUME:"VOLUME",EXIT_PICTURE_IN_PICTURE:"EXIT_PICTURE_IN_PICTURE",BACK:"BACK",NOT_APPLICABLE:"NOT_APPLICABLE",FULL_SCREEN:"FULL_SCREEN",ON:"ON",SUBTITLE_FORCED:"SUBTITLE_FORCED",RECENTER_VR:"RECENTER_VR",SKIP_TO_LIVE:"SKIP_TO_LIVE",DOWNLOAD_VIDEO_FRAME:"DOWNLOAD_VIDEO_FRAME",MORE_SETTINGS:"MORE_SETTINGS",
340
+ UNDETERMINED_LANGUAGE:"UNDETERMINED_LANGUAGE",AUTO_QUALITY:"AUTO_QUALITY",EXIT_LOOP_MODE:"EXIT_LOOP_MODE",AD_DURATION:"AD_DURATION",REPLAY:"REPLAY"};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)};
341
341
  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)};
342
342
  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.util.EventManager=function(){this.bindingMap_=new shaka.util.MultiMap};shaka.util.EventManager.prototype.release=function(){this.removeAll();this.bindingMap_=null};shaka.util.EventManager.prototype.listen=function(a,b,c,d){this.bindingMap_&&(a=new shaka.util.EventManager.Binding_(a,b,c,d),this.bindingMap_.push(b,a))};shaka.util.EventManager.prototype.listenOnce=function(a,b,c,d){var e=this,f=function(g){e.unlisten(a,b,f);c(g)};this.listen(a,b,f,d)};
343
343
  shaka.util.EventManager.prototype.unlisten=function(a,b,c){if(this.bindingMap_){var d=this.bindingMap_.get(b)||[];d=$jscomp.makeIterator(d);for(var e=d.next();!e.done;e=d.next())e=e.value,e.target!=a||c!=e.listener&&c||(e.unlisten(),this.bindingMap_.remove(b,e))}};shaka.util.EventManager.prototype.removeAll=function(){if(this.bindingMap_){var a=this.bindingMap_.getAll();a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())b.value.unlisten();this.bindingMap_.clear()}};
@@ -374,7 +374,7 @@ shaka.transmuxer.TransmuxerEngine.PluginPriority={FALLBACK:1,PREFERRED_SECONDARY
374
374
  shaka.util.MimeUtils.getFullOrConvertedType=function(a,b,c){var d=shaka.util.MimeUtils,e=d.getFullType(a,b);b=d.getFullTypeWithAllCodecs(a,b);d=shaka.util.ManifestParserUtils.ContentType;var f=shaka.transmuxer.TransmuxerEngine;return f.isSupported(b,c)?f.convertCodecs(c,b):"video/mp2t"!=a&&c==d.AUDIO?e.replace("video","audio"):e};
375
375
  shaka.util.MimeUtils.getExtendedType=function(a,b,c){var d=[b];shaka.util.MimeUtils.EXTENDED_MIME_PARAMETERS_.forEach(function(e,f){var g=a[f];"codecs"==f?shaka.util.MimeUtils.RAW_FORMATS.includes(a.mimeType)||d.push('codecs="'+c+'"'):g&&d.push(e+'="'+g+'"')});"PQ"==a.hdr&&d.push('eotf="smpte2084"');return d.join(";")};shaka.util.MimeUtils.getContainerType=function(a){return a.split(";")[0].split("/")[1]};shaka.util.MimeUtils.splitCodecs=function(a){return a.split(",")};
376
376
  shaka.util.MimeUtils.getNormalizedCodec=function(a){var b=shaka.util.MimeUtils.getCodecParts_(a);a=b[0];b=b[1].toLowerCase();switch(!0){case "mp4a"===a&&"69"===b:case "mp4a"===a&&"6b"===b:case "mp4a"===a&&"40.34"===b:return"mp3";case "mp4a"===a&&"66"===b:case "mp4a"===a&&"67"===b:case "mp4a"===a&&"68"===b:case "mp4a"===a&&"40.2"===b:case "mp4a"===a&&"40.02"===b:case "mp4a"===a&&"40.5"===b:case "mp4a"===a&&"40.05"===b:case "mp4a"===a&&"40.29"===b:case "mp4a"===a&&"40.42"===b:return"aac";case "mp4a"===
377
- a&&"a5"===b:return"ac-3";case "mp4a"===a&&"a6"===b:return"ec-3";case "mp4a"===a&&"b2"===b:return"dtsx";case "mp4a"===a&&"a9"===b:return"dtsc";case "avc1"===a:case "avc3"===a:return"avc";case "hvc1"===a:case "hev1"===a:return"hevc";case "dvh1"===a:case "dvhe"===a:return"dovi-hevc";case "dvav"===a:case "dva1"===a:return"dovi-avc";case "dav1"===a:return"dovi-av1"}return a};
377
+ a&&"a5"===b:return"ac-3";case "mp4a"===a&&"a6"===b:return"ec-3";case "mp4a"===a&&"b2"===b:return"dtsx";case "mp4a"===a&&"a9"===b:return"dtsc";case "avc1"===a:case "avc3"===a:return"avc";case "hvc1"===a:case "hev1"===a:return"hevc";case "vvc1"===a:case "vvi1"===a:return"vvc";case "dvh1"===a:case "dvhe"===a:return"dovi-hevc";case "dvav"===a:case "dva1"===a:return"dovi-avc";case "dav1"===a:return"dovi-av1";case "dvc1"===a:case "dvi1"===a:return"dovi-vvc"}return a};
378
378
  shaka.util.MimeUtils.getCodecBase=function(a){var b=[];a=$jscomp.makeIterator(a.split(","));for(var c=a.next();!c.done;c=a.next())c=shaka.util.MimeUtils.getCodecParts_(c.value),b.push(c[0]);return b.sort().join(",")};shaka.util.MimeUtils.getBasicType=function(a){return a.split(";")[0]};shaka.util.MimeUtils.getCodecs=function(a){a=a.split(/ *; */);a.shift();return(a=a.find(function(b){return b.startsWith("codecs=")}))?a.split("=")[1].replace(/^"|"$/g,""):""};
379
379
  shaka.util.MimeUtils.isHlsType=function(a){return"application/x-mpegurl"===a||"application/vnd.apple.mpegurl"===a};shaka.util.MimeUtils.getCodecParts_=function(a){var b=a.split(".");a=b[0];b.shift();b=b.join(".");return[a,b]};goog.exportSymbol("shaka.util.MimeUtils",shaka.util.MimeUtils);goog.exportProperty(shaka.util.MimeUtils,"getFullTypeWithAllCodecs",shaka.util.MimeUtils.getFullTypeWithAllCodecs);goog.exportProperty(shaka.util.MimeUtils,"getFullType",shaka.util.MimeUtils.getFullType);
380
380
  shaka.util.MimeUtils.EXTENDED_MIME_PARAMETERS_=(new Map).set("codecs","codecs").set("frameRate","framerate").set("bandwidth","bitrate").set("width","width").set("height","height").set("channelsCount","channels");shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE="application/cea-608";shaka.util.MimeUtils.CEA708_CLOSED_CAPTION_MIMETYPE="application/cea-708";shaka.util.MimeUtils.RAW_FORMATS=["audio/aac","audio/ac3","audio/ec3","audio/mpeg"];shaka.text.TextEngine=function(a){this.parser_=null;this.displayer_=a;this.segmentRelativeVttTiming_=!1;this.appendWindowStart_=this.timestampOffset_=0;this.appendWindowEnd_=Infinity;this.bufferEnd_=this.bufferStart_=null;this.selectedClosedCaptionId_="";this.modifyCueCallback_=function(b,c){};this.closedCaptionsMap_=new Map};shaka.text.TextEngine.registerParser=function(a,b){shaka.text.TextEngine.parserMap_[a]=b};shaka.text.TextEngine.unregisterParser=function(a){delete shaka.text.TextEngine.parserMap_[a]};
@@ -407,7 +407,7 @@ shaka.util.StreamUtils.meetsRestrictions=function(a,b,c){var d=function(h,k,l){r
407
407
  shaka.util.StreamUtils.filterManifest=function(a,b,c){c=void 0===c?[]:c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return d.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(a,b,0<b.offlineSessionIds.length,c),2);shaka.util.StreamUtils.filterTextStreams_(b);return d.yield(shaka.util.StreamUtils.filterImageStreams_(b),0)})};
408
408
  shaka.util.StreamUtils.filterManifestByMediaCapabilities=function(a,b,c,d){var e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress)return goog.asserts.assert(navigator.mediaCapabilities,"MediaCapabilities should be valid."),shaka.util.Platform.isXboxOne()&&shaka.util.StreamUtils.overrideDolbyVisionCodecs(b.variants),h.yield(shaka.util.StreamUtils.getDecodingInfosForVariants(b.variants,c,!1,d),2);e=null;a&&(f=a.getDrmInfo())&&(e=f.keySystem);g=shaka.util.StreamUtils;
409
409
  b.variants=b.variants.filter(function(k){var l=g.checkVariantSupported_(k,e);l||shaka.log.debug("Dropping variant - not compatible with platform",g.getVariantSummaryString_(k));return l});h.jumpToEnd()})};
410
- shaka.util.StreamUtils.overrideDolbyVisionCodecs=function(a){var b={dvav:"avc3",dva1:"avc1",dvhe:"hev1",dvh1:"hvc1"},c=new Set;a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next())d=d.value,d.video&&c.add(d.video);c=$jscomp.makeIterator(c);for(a=c.next();!a.done;a=c.next()){a=a.value;d=$jscomp.makeIterator(Object.keys(b));for(var e=d.next();!e.done;e=d.next())if(e=e.value,a.codecs.includes(e)){a.codecs=a.codecs.replace(e,b[e]);break}}};
410
+ shaka.util.StreamUtils.overrideDolbyVisionCodecs=function(a){var b={dvav:"avc3",dva1:"avc1",dvhe:"hev1",dvh1:"hvc1",dvc1:"vvc1",dvi1:"vvi1"},c=new Set;a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next())d=d.value,d.video&&c.add(d.video);c=$jscomp.makeIterator(c);for(a=c.next();!a.done;a=c.next()){a=a.value;d=$jscomp.makeIterator(Object.keys(b));for(var e=d.next();!e.done;e=d.next())if(e=e.value,a.codecs.includes(e)){a.codecs=a.codecs.replace(e,b[e]);break}}};
411
411
  shaka.util.StreamUtils.checkVariantSupported_=function(a,b){var c=shaka.util.ManifestParserUtils.ContentType,d=shaka.media.Capabilities,e=shaka.util.ManifestParserUtils,f=shaka.util.MimeUtils,g=shaka.util.StreamUtils,h=shaka.util.Platform.isXboxOne(),k=shaka.util.Platform.isFirefox()&&shaka.util.Platform.isAndroid(),l=a.video,m=l&&l.width||0,n=l&&l.height||0;if(h&&l&&(1920<m||1080<n)&&(l.codecs.includes("avc1.")||l.codecs.includes("avc3.")))return!1;if(l){h=g.getCorrectVideoCodecs(l.codecs);if(l.codecs.includes(",")){m=
412
412
  l.codecs.split(",");h=e.guessCodecs(c.VIDEO,m);h=g.getCorrectVideoCodecs(h);e=e.guessCodecs(c.AUDIO,m);e=g.getCorrectAudioCodecs(e,l.mimeType);m=f.getFullOrConvertedType(l.mimeType,e,c.AUDIO);if(!d.isTypeSupported(m))return!1;h=[h,e].join()}e=f.getFullOrConvertedType(l.mimeType,h,c.VIDEO);if(!d.isTypeSupported(e))return!1;l.codecs=h}l=a.audio;if(k&&l&&l.encrypted&&l.codecs.toLowerCase().includes("opus"))return!1;if(l){g=g.getCorrectAudioCodecs(l.codecs,l.mimeType);c=f.getFullOrConvertedType(l.mimeType,
413
413
  g,c.AUDIO);if(!d.isTypeSupported(c))return!1;l.codecs=g}return a.decodingInfos.some(function(p){return!p.supported||b&&(p=p.keySystemAccess)&&p.keySystem!=b?!1:!0})};
@@ -563,7 +563,7 @@ shaka.util.Pssh.normaliseInitData=function(a){if(!a)return a;var b=new shaka.uti
563
563
  SPDX-License-Identifier: MIT
564
564
  */
565
565
  shaka.util.TXml=function(){};shaka.util.TXml.parseXml=function(a,b){a=shaka.util.StringUtils.fromBytesAutoDetect(a);return shaka.util.TXml.parseXmlString(a,b)};shaka.util.TXml.parseXmlString=function(a,b){a=shaka.util.TXml.parse(a);if(!b&&a.length)return a[0];if(a=a.find(function(c){return c.tagName===b}))return a;shaka.log.error("parseXml root element not found!");return null};
566
- shaka.util.TXml.getKnownNameSpace=function(a){return shaka.util.TXml.knownNameSpaces_.has(a)?shaka.util.TXml.knownNameSpaces_.get(a):""};shaka.util.TXml.setKnownNameSpace=function(a,b){shaka.util.TXml.knownNameSpaces_.set(a,b)};
566
+ shaka.util.TXml.getKnownNameSpace=function(a){return shaka.util.TXml.uriToNameSpace_.has(a)?shaka.util.TXml.uriToNameSpace_.get(a):""};shaka.util.TXml.getKnownSchema=function(a){return shaka.util.TXml.nameSpaceToUri_.has(a)?shaka.util.TXml.nameSpaceToUri_.get(a):""};shaka.util.TXml.setKnownNameSpace=function(a,b){shaka.util.TXml.uriToNameSpace_.set(a,b);shaka.util.TXml.nameSpaceToUri_.set(b,a)};
567
567
  shaka.util.TXml.parse=function(a){function b(e,f){f=void 0===f?!1:f;for(var g=[];a[d];)if(60==a.charCodeAt(d)){if(47===a.charCodeAt(d+1)){f=d+2;d=a.indexOf(">",d);f=a.substring(f,d);var h=f.indexOf(e);if(-1==h){var k=e.indexOf(".");0<k&&(e=e.substring(0,k),h=f.indexOf(e))}if(-1==h)throw g=a.substring(0,d).split("\n"),Error("Unexpected close tag\nLine: "+(g.length-1)+"\nColumn: "+(g[g.length-1].length+1)+"\nChar: "+a[d]);d+1&&(d+=1);break}else if(33===a.charCodeAt(d+1)){if(45==a.charCodeAt(d+2)){for(;-1!==
568
568
  d&&(62!==a.charCodeAt(d)||45!=a.charCodeAt(d-1)||45!=a.charCodeAt(d-2)||-1==d);)d=a.indexOf(">",d+1);-1===d&&(d=a.length)}else if(91===a.charCodeAt(d+2)&&91===a.charCodeAt(d+8)&&"cdata"===a.substr(d+3,5).toLowerCase()){h=a.indexOf("]]\x3e",d);-1==h?(g.push(a.substr(d+9)),d=a.length):(g.push(a.substring(d+9,h)),d=h+3);continue}d++;continue}a:{k=f;d++;var l=c(),m={};for(h=[];62!==a.charCodeAt(d)&&a[d];){var n=a.charCodeAt(d);if(64<n&&91>n||96<n&&123>n){n=c();for(var p=a.charCodeAt(d);p&&39!==p&&34!==
569
569
  p&&!(64<p&&91>p||96<p&&123>p)&&62!==p;)d++,p=a.charCodeAt(d);var q=d+1;d=a.indexOf(a[d],q);q=a.slice(q,d);if(39===p||34===p){if(-1===d){k={tagName:l,attributes:m,children:h,parent:null};for(l=0;l<h.length;l++)"string"!==typeof h[l]&&(h[l].parent=k);h=k;break a}}else q=null,d--;n.startsWith("xmlns:")&&(p=n.split(":"),shaka.util.TXml.setKnownNameSpace(q,p[1]));"tt"===l&&"xml:space"===n&&"preserve"===q&&(k=!0);m[n]=q}d++}47!==a.charCodeAt(d-1)?(d++,h=b(l,k)):d++;k={tagName:l,attributes:m,children:h,
@@ -581,8 +581,8 @@ shaka.util.TXml.parseXpath=function(a){var b=[];a=shaka.util.StringUtils.htmlUne
581
581
  "")):null,position:h?Number(h[1])-1:null,attribute:c.split("/@")[1]||null})}else c.startsWith("@")&&b.length&&(b[b.length-1].attribute=c.slice(1))}return b};
582
582
  shaka.util.TXml.modifyNodes=function(a,b){var c=shaka.util.TXml,d=c.parseXpath(b.attributes.sel||"");if(d.length){var e=d[d.length-1],f=b.attributes.pos||null;d=e.position;null==d&&(null!==e.t&&(d=c.nodePositionByAttribute_(a,"t",e.t)),null!==e.n&&(d=c.nodePositionByAttribute_(a,"n",e.n)));null===d?d="prepend"===f?0:a.length:"prepend"===f?--d:"after"===f&&++d;f=b.tagName;(e=e.attribute)&&a[d]?c.modifyNodeAttribute(a[d],f,e,c.getContents(b)||""):("remove"!==f&&"replace"!==f||a.splice(d,1),"add"!==
583
583
  f&&"replace"!==f||a.splice.apply(a,[d,0].concat($jscomp.arrayFromIterable(b.children))))}};shaka.util.TXml.nodePositionByAttribute_=function(a,b,c){var d=0;a=$jscomp.makeIterator(a);for(var e=a.next();!e.done;e=a.next()){if(Number(e.value.attributes[b])===c)return d;d++}return null};shaka.util.TXml.modifyNodeAttribute=function(a,b,c,d){if("remove"===b)delete a.attributes[c];else if("add"===b||"replace"===b)a.attributes[c]=d};
584
- shaka.util.TXml.txmlNodeToDomElement=function(a,b,c){b=void 0===b?!0:b;c=void 0===c?!0:c;var d=shaka.util.TXml,e=document.createElement(a.tagName),f;for(f in a.attributes)e.setAttribute(f,a.attributes[f]);b&&a.parent&&"?xml"!=a.parent.tagName&&d.txmlNodeToDomElement(a.parent,!0,!1).appendChild(e);if(c)for(a=$jscomp.makeIterator(a.children),b=a.next();!b.done;b=a.next())b=b.value,b="string"==typeof b?new Text(b):d.txmlNodeToDomElement(b,!1,!0),e.appendChild(b);return e};
585
- shaka.util.TXml.knownNameSpaces_=new Map([]);shaka.media.DrmEngine=function(a){var b=this;this.playerInterface_=a;this.supportedTypes_=new Set;this.video_=this.mediaKeys_=null;this.initializedForStorage_=this.initialized_=!1;this.licenseTimeSeconds_=0;this.currentDrmInfo_=null;this.eventManager_=new shaka.util.EventManager;this.activeSessions_=new Map;this.storedPersistentSessions_=new Map;this.allSessionsLoaded_=new shaka.util.PublicPromise;this.config_=null;this.onError_=function(c){c.severity==shaka.util.Error.Severity.CRITICAL&&b.allSessionsLoaded_.reject(c);
584
+ shaka.util.TXml.txmlNodeToDomElement=function(a){var b=shaka.util.TXml,c="",d=a.tagName.split(":");0<d.length&&(c=b.getKnownSchema(d[0]));c=document.createElementNS(c,a.tagName);for(var e in a.attributes)c.setAttribute(e,a.attributes[e]);a=$jscomp.makeIterator(a.children);for(e=a.next();!e.done;e=a.next())e=e.value,e="string"==typeof e?new Text(e):b.txmlNodeToDomElement(e),c.appendChild(e);return c};
585
+ shaka.util.TXml.cloneNode=function(a){if(!a)return null;var b={tagName:a.tagName,attributes:shaka.util.ObjectUtils.shallowCloneObject(a.attributes),children:[],parent:null};a=$jscomp.makeIterator(a.children);for(var c=a.next();!c.done;c=a.next())c=c.value,"string"===typeof c?b.children.push(c):(c=shaka.util.TXml.cloneNode(c),c.parent=b,b.children.push(c));return b};shaka.util.TXml.uriToNameSpace_=new Map;shaka.util.TXml.nameSpaceToUri_=new Map;shaka.media.DrmEngine=function(a){var b=this;this.playerInterface_=a;this.supportedTypes_=new Set;this.video_=this.mediaKeys_=null;this.initializedForStorage_=this.initialized_=!1;this.licenseTimeSeconds_=0;this.currentDrmInfo_=null;this.eventManager_=new shaka.util.EventManager;this.activeSessions_=new Map;this.storedPersistentSessions_=new Map;this.allSessionsLoaded_=new shaka.util.PublicPromise;this.config_=null;this.onError_=function(c){c.severity==shaka.util.Error.Severity.CRITICAL&&b.allSessionsLoaded_.reject(c);
586
586
  a.onError(c)};this.keyStatusByKeyId_=new Map;this.announcedKeyStatusByKeyId_=new Map;this.keyStatusTimer_=new shaka.util.Timer(function(){return b.processKeyStatusChanges_()});this.usePersistentLicenses_=!1;this.mediaKeyMessageEvents_=[];this.initialRequestsSent_=!1;this.expirationTimer_=new shaka.util.Timer(function(){b.pollExpiration_()});this.allSessionsLoaded_.catch(function(){});this.destroyer_=new shaka.util.Destroyer(function(){return b.destroyNow_()});this.srcEquals_=!1;this.manifestInitData_=
587
587
  this.mediaKeysAttached_=null};shaka.media.DrmEngine.prototype.destroy=function(){return this.destroyer_.destroy()};
588
588
  shaka.media.DrmEngine.prototype.destroyNow_=function(){var a=this,b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){switch(c.nextAddress){case 1:return a.eventManager_.release(),a.eventManager_=null,a.allSessionsLoaded_.reject(),a.expirationTimer_.stop(),a.expirationTimer_=null,a.keyStatusTimer_.stop(),a.keyStatusTimer_=null,c.yield(a.closeOpenSessions_(),2);case 2:if(!a.video_){c.jumpTo(3);break}shaka.util.Platform.isMediaKeysPolyfilled("webkit")||goog.asserts.assert(!a.video_.src,
@@ -695,9 +695,10 @@ shaka.media.ManifestParser.isSupported=function(a){return shaka.util.Platform.su
695
695
  goog.exportProperty(shaka.media.ManifestParser,"registerParserByExtension",shaka.media.ManifestParser.registerParserByExtension);shaka.media.ManifestParser.HLS="HLS";shaka.media.ManifestParser.DASH="DASH";shaka.media.ManifestParser.MSS="MSS";shaka.media.ManifestParser.UNKNOWN="UNKNOWN";shaka.media.ManifestParser.AccessibilityPurpose={VISUALLY_IMPAIRED:"visually impaired",HARD_OF_HEARING:"hard of hearing"};goog.exportProperty(shaka.media.ManifestParser,"AccessibilityPurpose",shaka.media.ManifestParser.AccessibilityPurpose);
696
696
  shaka.media.ManifestParser.parsersByMime={};shaka.media.ContentWorkarounds=function(){};
697
697
  shaka.media.ContentWorkarounds.fakeEncryption=function(a,b){var c=shaka.media.ContentWorkarounds,d=a=shaka.util.BufferUtils.toUint8(a),e=!1,f,g=[],h=function(m){g.push(m);shaka.util.Mp4Parser.children(m)},k=function(m){e=!0},l=[];(new shaka.util.Mp4Parser).box("moov",h).box("trak",h).box("mdia",h).box("minf",h).box("stbl",h).fullBox("stsd",function(m){f=m;g.push(m);shaka.util.Mp4Parser.sampleDescription(m)}).fullBox("encv",k).fullBox("enca",k).fullBox("dvav",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("dva1",
698
- function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("dvh1",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("dvhe",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("hev1",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("hvc1",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("avc1",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("avc3",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("ac-3",function(m){l.push({box:m,
699
- newType:c.BOX_TYPE_ENCA_})}).fullBox("ec-3",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCA_})}).fullBox("ac-4",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCA_})}).fullBox("mp4a",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCA_})}).parse(a);if(e)return shaka.log.debug("Init segment already indicates encryption."),a;if(0==l.length||!f)throw shaka.log.error("Failed to find boxes needed to fake encryption!"),shaka.log.v2("Failed init segment (hex):",shaka.util.Uint8ArrayUtils.toHex(a)),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
700
- shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.CONTENT_TRANSFORMATION_FAILED,b);l.reverse();b=$jscomp.makeIterator(l);for(h=b.next();!h.done;h=b.next())h=h.value,k=shaka.util.Mp4Parser.typeToString(h.newType),shaka.log.debug('Inserting "'+k+'" box into init segment.'),d=c.insertEncryptionMetadata_(d,f,h.box,g,h.newType);return shaka.util.Platform.isEdge()&&shaka.util.Platform.isWindows()?(b=new Uint8Array(a.byteLength+d.byteLength),b.set(d),b.set(a,d.byteLength),b):d};
698
+ function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("dvh1",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("dvhe",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("dvc1",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("dvi1",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("hev1",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("hvc1",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("avc1",function(m){l.push({box:m,
699
+ newType:c.BOX_TYPE_ENCV_})}).fullBox("avc3",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCV_})}).fullBox("ac-3",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCA_})}).fullBox("ec-3",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCA_})}).fullBox("ac-4",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCA_})}).fullBox("mp4a",function(m){l.push({box:m,newType:c.BOX_TYPE_ENCA_})}).parse(a);if(e)return shaka.log.debug("Init segment already indicates encryption."),a;if(0==l.length||!f)throw shaka.log.error("Failed to find boxes needed to fake encryption!"),
700
+ shaka.log.v2("Failed init segment (hex):",shaka.util.Uint8ArrayUtils.toHex(a)),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.CONTENT_TRANSFORMATION_FAILED,b);l.reverse();b=$jscomp.makeIterator(l);for(h=b.next();!h.done;h=b.next())h=h.value,k=shaka.util.Mp4Parser.typeToString(h.newType),shaka.log.debug('Inserting "'+k+'" box into init segment.'),d=c.insertEncryptionMetadata_(d,f,h.box,g,h.newType);return shaka.util.Platform.isEdge()&&
701
+ shaka.util.Platform.isWindows()?(b=new Uint8Array(a.byteLength+d.byteLength),b.set(d),b.set(a,d.byteLength),b):d};
701
702
  shaka.media.ContentWorkarounds.insertEncryptionMetadata_=function(a,b,c,d,e){var f=shaka.media.ContentWorkarounds,g=f.createEncryptionMetadata_(a,c,e);e=new Uint8Array(a.byteLength+g.byteLength);c=shaka.util.Platform.isXboxOne()||shaka.util.Platform.isEdge()?c.start:c.start+c.size;var h=a.subarray(0,c);a=a.subarray(c);e.set(h);e.set(g,c);e.set(a,c+g.byteLength);d=$jscomp.makeIterator(d);for(a=d.next();!a.done;a=d.next())a=a.value,goog.asserts.assert(a.start<c,"Ancestor MP4 box found in the wrong location! Modified init segment will not make sense!"),
702
703
  f.updateBoxSize_(e,a.start,a.size+g.byteLength);f=shaka.util.BufferUtils.toDataView(e,b.start);b=shaka.util.Mp4Parser.headerSize(b);g=f.getUint32(b);f.setUint32(b,g+1);return e};
703
704
  shaka.media.ContentWorkarounds.createEncryptionMetadata_=function(a,b,c){var d=shaka.media.ContentWorkarounds,e=d.CANNED_SINF_BOX_.value(),f=a.subarray(b.start,b.start+b.size),g=shaka.util.BufferUtils.toDataView(f);a=new Uint8Array(b.size+e.byteLength);a.set(f,0);f=shaka.util.BufferUtils.toDataView(a);f.setUint32(d.BOX_TYPE_OFFSET_,c);a.set(e,b.size);c=g.getUint32(d.BOX_TYPE_OFFSET_);f.setUint32(b.size+d.CANNED_SINF_BOX_FORMAT_OFFSET_,c);d.updateBoxSize_(a,0,a.byteLength);return a};
@@ -1031,13 +1032,13 @@ w).box("hvc1",w).box("dva1",w).box("dvav",w).box("dvh1",w).box("dvhe",w).box("vp
1031
1032
  shaka.util.Mp4BoxParsers.parseCOLR(u.reader),C=z.colorGamut;r=z.videoRange;t=C}).parse(a||b,!0);if(!e.length&&!f.length)return null;y=g&&!h;w=new Map;if(h){var x=new shaka.media.ClosedCaptionParser("video/mp4");a&&x.init(a);x.parseFrom(b);a=$jscomp.makeIterator(x.getStreams());for(b=a.next();!b.done;b=a.next())b=b.value,w.set(b,b);x.reset()}x=e.concat(f);return{type:y?"audio":"video",mimeType:y?"audio/mp4":"video/mp4",codecs:d.codecsFiltering(x).join(", "),language:l,height:m,width:n,channelCount:p,
1032
1033
  sampleRate:q,closedCaptions:w,videoRange:r,colorGamut:t}};shaka.media.SegmentUtils.codecsFiltering=function(a){var b=shaka.util.ManifestParserUtils.ContentType,c=shaka.util.ManifestParserUtils,d=shaka.media.SegmentUtils;a=d.filterDuplicateCodecs_(a);var e=c.guessAllCodecsSafe(b.AUDIO,a),f=c.guessAllCodecsSafe(b.VIDEO,a);b=c.guessAllCodecsSafe(b.TEXT,a);d=d.chooseBetterCodecs_(f);d=e.concat(d).concat(b);return a.length&&!d.length?a:d};
1033
1034
  shaka.media.SegmentUtils.filterDuplicateCodecs_=function(a){var b=new Set,c=[];a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next()){d=d.value;var e=shaka.util.MimeUtils.getCodecBase(d);b.has(e)?shaka.log.debug("Ignoring duplicate codec"):(c.push(d),b.add(e))}return c};
1034
- shaka.media.SegmentUtils.chooseBetterCodecs_=function(a){if(1>=a.length)return a;var b=a.find(function(c){return c.startsWith("dvh1.")||c.startsWith("dvhe.")||c.startsWith("dav1.")});return b?shaka.media.Capabilities.isTypeSupported('video/mp4; codecs="'+b+'"')?[b]:a.filter(function(c){return c!=b}):a};
1035
+ shaka.media.SegmentUtils.chooseBetterCodecs_=function(a){if(1>=a.length)return a;var b=a.find(function(c){return c.startsWith("dvav.")||c.startsWith("dva1.")||c.startsWith("dvh1.")||c.startsWith("dvhe.")||c.startsWith("dav1.")||c.startsWith("dvc1.")||c.startsWith("dvi1.")});return b?shaka.media.Capabilities.isTypeSupported('video/mp4; codecs="'+b+'"')?[b]:a.filter(function(c){return c!=b}):a};
1035
1036
  shaka.media.SegmentUtils.getDefaultKID=function(a){var b=shaka.util.Mp4Parser,c=null;(new b).box("moov",b.children).box("trak",b.children).box("mdia",b.children).box("minf",b.children).box("stbl",b.children).fullBox("stsd",b.sampleDescription).box("encv",b.visualSampleEntry).box("enca",b.audioSampleEntry).box("sinf",b.children).box("schi",b.children).fullBox("tenc",function(d){c=shaka.util.Mp4BoxParsers.parseTENC(d.reader).defaultKID}).parse(a,!0);return c};
1036
1037
  shaka.media.SegmentUtils.aesDecrypt=function(a,b,c){var d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){if(1==k.nextAddress){d=b;if(d.cryptoKey)return k.jumpTo(2);goog.asserts.assert(d.fetchKey,"If AES cryptoKey was not preloaded, fetchKey function should be provided");return k.yield(d.fetchKey(),3)}2!=k.nextAddress&&goog.asserts.assert(d.cryptoKey,"AES cryptoKey should now be set");e=d.iv;if(!e)for(e=shaka.util.BufferUtils.toUint8(new ArrayBuffer(16)),f=d.firstMediaSequenceNumber+
1037
1038
  c,g=e.byteLength-1;0<=g;g--)e[g]=f&255,f>>=8;h="CBC"==b.blockCipherMode?{name:"AES-CBC",iv:e}:{name:"AES-CTR",counter:e,length:64};return k.return(window.crypto.subtle.decrypt(h,d.cryptoKey,a))})};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.deferredCloseSegmentIndex_=new Map;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()/
1038
1039
  1E3;this.audioPrefetchMap_=new Map;this.spatialVideoInfo_={projection:null,hfov:null};this.playRangeStart_=0;this.playRangeEnd_=Infinity};shaka.media.StreamingEngine.prototype.destroy=function(){return this.destroyer_.destroy()};
1039
- shaka.media.StreamingEngine.prototype.doDestroy_=function(){var a=this,b,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){if(1==k.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)),e.segmentPrefetch&&(e.segmentPrefetch.clearAll(),e.segmentPrefetch=null),a.handleDeferredCloseSegmentIndexes_(e);f=$jscomp.makeIterator(a.audioPrefetchMap_.values());for(g=f.next();!g.done;g=
1040
- f.next())h=g.value,h.clearAll();return k.yield(Promise.all(b),2)}a.mediaStates_.clear();a.audioPrefetchMap_.clear();a.deferredCloseSegmentIndex_.clear();a.playerInterface_=null;a.manifest_=null;a.config_=null;k.jumpToEnd()})};
1040
+ shaka.media.StreamingEngine.prototype.doDestroy_=function(){var a=this,b,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){if(1==k.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)),e.segmentPrefetch&&(e.segmentPrefetch.clearAll(),e.segmentPrefetch=null);f=$jscomp.makeIterator(a.audioPrefetchMap_.values());for(g=f.next();!g.done;g=f.next())h=g.value,h.clearAll();return k.yield(Promise.all(b),
1041
+ 2)}a.mediaStates_.clear();a.audioPrefetchMap_.clear();a.playerInterface_=null;a.manifest_=null;a.config_=null;k.jumpToEnd()})};
1041
1042
  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);var b=shaka.util.ManifestParserUtils.ContentType;if(a.disableAudioPrefetch){var c=this.mediaStates_.get(b.AUDIO);c&&c.segmentPrefetch&&(c.segmentPrefetch.clearAll(),
1042
1043
  c.segmentPrefetch=null);c=$jscomp.makeIterator(this.audioPrefetchMap_.keys());for(var d=c.next();!d.done;d=c.next())d=d.value,this.audioPrefetchMap_.get(d).clearAll(),this.audioPrefetchMap_.delete(d)}a.disableTextPrefetch&&(c=this.mediaStates_.get(b.TEXT))&&c.segmentPrefetch&&(c.segmentPrefetch.clearAll(),c.segmentPrefetch=null);a.disableVideoPrefetch&&(b=this.mediaStates_.get(b.VIDEO))&&b.segmentPrefetch&&(b.segmentPrefetch.clearAll(),b.segmentPrefetch=null);b=$jscomp.makeIterator(this.mediaStates_.keys());
1043
1044
  for(c=b.next();!c.done;c=b.next())c=this.mediaStates_.get(c.value),c.segmentPrefetch?(c.segmentPrefetch.resetLimit(a.segmentPrefetchLimit),0<a.segmentPrefetchLimit||(c.segmentPrefetch.clearAll(),c.segmentPrefetch=null)):0<a.segmentPrefetchLimit&&(c.segmentPrefetch=this.createSegmentPrefetch_(c.stream));a.disableAudioPrefetch||this.updatePrefetchMapForAudio_()};
@@ -1050,12 +1051,11 @@ shaka.media.StreamingEngine.prototype.unloadTextStream=function(){var a=shaka.ut
1050
1051
  shaka.media.StreamingEngine.prototype.setTrickPlay=function(a){var b=shaka.util.ManifestParserUtils.ContentType;this.updateSegmentIteratorReverse_();if(b=this.mediaStates_.get(b.VIDEO)){var c=b.stream;if(c)if(shaka.log.debug("setTrickPlay",a),a)(a=c.trickModeVideo)&&!b.restoreStreamAfterTrickPlay&&(shaka.log.debug("Engaging trick mode stream",a),this.switchInternal_(a,!1,0,!1),b.restoreStreamAfterTrickPlay=c);else if(a=b.restoreStreamAfterTrickPlay)shaka.log.debug("Restoring non-trick-mode stream",
1051
1052
  a),b.restoreStreamAfterTrickPlay=null,this.switchInternal_(a,!0,0,!1)}};shaka.media.StreamingEngine.prototype.switchVariant=function(a,b,c,d,e){b=void 0===b?!1:b;c=void 0===c?0:c;d=void 0===d?!1:d;e=void 0===e?!1:e;this.currentVariant_=a;this.startupComplete_&&(a.video&&this.switchInternal_(a.video,b,c,d,e),a.audio&&this.switchInternal_(a.audio,b,c,d,e))};
1052
1053
  shaka.media.StreamingEngine.prototype.switchTextStream=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress){b.currentTextStream_=a;if(!b.startupComplete_)return d.return();c=shaka.util.ManifestParserUtils.ContentType;goog.asserts.assert(a&&a.type==c.TEXT,"Wrong stream type passed to switchTextStream!");return a.segmentIndex?d.jumpTo(2):d.yield(a.createSegmentIndex(),2)}b.switchInternal_(a,!0,0,!1);d.jumpToEnd()})};
1053
- shaka.media.StreamingEngine.prototype.reloadTextStream=function(){var a=this.mediaStates_.get(shaka.util.ManifestParserUtils.ContentType.TEXT);a&&this.switchInternal_(a.stream,!0,0,!0)};
1054
- shaka.media.StreamingEngine.prototype.handleDeferredCloseSegmentIndexes_=function(a){for(var b=$jscomp.makeIterator(this.deferredCloseSegmentIndex_.entries()),c=b.next();!c.done;c=b.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;if(c.includes(a.type)){d=$jscomp.makeIterator(d);for(var e=d.next();!e.done;e=d.next())(e=e.value)&&e.release();this.deferredCloseSegmentIndex_.delete(c)}}};
1054
+ shaka.media.StreamingEngine.prototype.reloadTextStream=function(){var a=this.mediaStates_.get(shaka.util.ManifestParserUtils.ContentType.TEXT);a&&this.switchInternal_(a.stream,!0,0,!0)};shaka.media.StreamingEngine.prototype.handleDeferredCloseSegmentIndexes_=function(a){for(var b=$jscomp.makeIterator(this.deferredCloseSegmentIndex_.entries()),c=b.next();!c.done;c=b.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;c.includes(a.type)&&(d(),this.deferredCloseSegmentIndex_.delete(c))}};
1055
1055
  shaka.media.StreamingEngine.prototype.switchInternal_=function(a,b,c,d,e){var f=this,g=shaka.util.ManifestParserUtils.ContentType,h=this.mediaStates_.get(a.type);h||a.type!=g.TEXT?(goog.asserts.assert(h,"switch: expected mediaState to exist"),h&&(h.restoreStreamAfterTrickPlay&&(shaka.log.debug("switch during trick play mode",a),a.trickModeVideo?(h.restoreStreamAfterTrickPlay=a,a=a.trickModeVideo,shaka.log.debug("switch found trick play stream",a)):(h.restoreStreamAfterTrickPlay=null,shaka.log.debug("switch found no special trick play stream"))),
1056
- h.stream!=a||d?(this.audioPrefetchMap_.has(a)?h.segmentPrefetch=this.audioPrefetchMap_.get(a):h.segmentPrefetch&&h.segmentPrefetch.switchStream(a),a.type==g.TEXT&&(d=shaka.util.MimeUtils.getFullType(a.mimeType,a.codecs),this.playerInterface_.mediaSourceEngine.reinitText(d,this.manifest_.sequenceMode,a.external)),!this.audioPrefetchMap_.has(h.stream)&&h.stream.closeSegmentIndex&&(h.performingUpdate?(d=shaka.media.StreamingEngine.logPrefix_(h),this.deferredCloseSegmentIndex_.has(d)?this.deferredCloseSegmentIndex_.get(d).push(h.stream.segmentIndex):
1057
- this.deferredCloseSegmentIndex_.set(d,[h.stream.segmentIndex])):h.stream.closeSegmentIndex()),h.stream=a,h.segmentIterator=null,h.adaptation=!!e,a=shaka.media.StreamingEngine.logPrefix_(h),shaka.log.debug("switch: switching to Stream "+a),b?h.clearingBuffer?h.waitingToFlushBuffer=!0:h.performingUpdate?(h.waitingToClearBuffer=!0,h.clearBufferSafeMargin=c,h.waitingToFlushBuffer=!0):(this.cancelUpdate_(h),this.clearBuffer_(h,!0,c).catch(function(k){f.playerInterface_&&(goog.asserts.assert(k instanceof
1058
- shaka.util.Error,"Wrong error type!"),f.playerInterface_.onError(k))})):h.performingUpdate||h.updateTimer||this.scheduleUpdate_(h,0),this.makeAbortDecision_(h).catch(function(k){f.playerInterface_&&(goog.asserts.assert(k instanceof shaka.util.Error,"Wrong error type!"),f.playerInterface_.onError(k))})):(b=shaka.media.StreamingEngine.logPrefix_(h),shaka.log.debug("switch: Stream "+b+" already active")))):this.loadNewTextStream_(a)};
1056
+ h.stream!=a||d?(this.audioPrefetchMap_.has(a)?h.segmentPrefetch=this.audioPrefetchMap_.get(a):h.segmentPrefetch&&h.segmentPrefetch.switchStream(a),a.type==g.TEXT&&(d=shaka.util.MimeUtils.getFullType(a.mimeType,a.codecs),this.playerInterface_.mediaSourceEngine.reinitText(d,this.manifest_.sequenceMode,a.external)),!this.audioPrefetchMap_.has(h.stream)&&h.stream.closeSegmentIndex&&(h.performingUpdate?(d=shaka.media.StreamingEngine.logPrefix_(h),this.deferredCloseSegmentIndex_.has(d)||this.deferredCloseSegmentIndex_.set(d,
1057
+ h.stream.closeSegmentIndex)):h.stream.closeSegmentIndex()),h.stream=a,h.segmentIterator=null,h.adaptation=!!e,a=shaka.media.StreamingEngine.logPrefix_(h),shaka.log.debug("switch: switching to Stream "+a),b?h.clearingBuffer?h.waitingToFlushBuffer=!0:h.performingUpdate?(h.waitingToClearBuffer=!0,h.clearBufferSafeMargin=c,h.waitingToFlushBuffer=!0):(this.cancelUpdate_(h),this.clearBuffer_(h,!0,c).catch(function(k){f.playerInterface_&&(goog.asserts.assert(k instanceof shaka.util.Error,"Wrong error type!"),
1058
+ f.playerInterface_.onError(k))})):h.performingUpdate||h.updateTimer||this.scheduleUpdate_(h,0),this.makeAbortDecision_(h).catch(function(k){f.playerInterface_&&(goog.asserts.assert(k instanceof shaka.util.Error,"Wrong error type!"),f.playerInterface_.onError(k))})):(b=shaka.media.StreamingEngine.logPrefix_(h),shaka.log.debug("switch: Stream "+b+" already active")))):this.loadNewTextStream_(a)};
1059
1059
  shaka.media.StreamingEngine.prototype.makeAbortDecision_=function(a){var b=this,c,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress){if(!a.operation)return e.return();c=a.stream;d=a.operation;return c.segmentIndex?e.jumpTo(2):e.yield(c.createSegmentIndex(),2)}if(a.operation!=d||a.stream!=c)return e.return();goog.asserts.assert(a.stream.segmentIndex,"Segment index should exist by now!");b.shouldAbortCurrentRequest_(a)&&(shaka.log.info("Aborting current segment request."),
1060
1060
  a.operation.abort());e.jumpToEnd()})};
1061
1061
  shaka.media.StreamingEngine.prototype.shouldAbortCurrentRequest_=function(a){goog.asserts.assert(a.operation,"Abort logic requires an ongoing operation!");goog.asserts.assert(a.stream&&a.stream.segmentIndex,"Abort logic requires a segment index");var b=this.playerInterface_.getPresentationTime(),c=this.playerInterface_.mediaSourceEngine.bufferEnd(a.type),d=this.getTimeNeeded_(a,b);d=a.stream.segmentIndex.find(d);var e=null==d?null:a.stream.segmentIndex.get(d);d=e?e.getSize():null;e&&!d&&(d=(e.getEndTime()-
@@ -1085,8 +1085,8 @@ a.type!=b.TEXT)return this.config_.updateIntervalSeconds/2;var c=shaka.media.Str
1085
1085
  d),g=Math.min(g,k));h=this.manifest_.presentationTimeline.getMaxSegmentDuration()*shaka.media.StreamingEngine.MAX_RUN_AHEAD_SEGMENTS_;if(e>=g+h)return shaka.log.v2(c,"waiting for other streams to buffer"),this.config_.updateIntervalSeconds;a.segmentPrefetch&&a.segmentIterator&&!this.audioPrefetchMap_.has(a.stream)&&(a.segmentPrefetch.evict(b.startTime),a.segmentPrefetch.prefetchSegmentsByTime(b.startTime));this.fetchAndAppend_(a,d,b,f).catch(function(){});return null};
1086
1086
  shaka.media.StreamingEngine.prototype.getTimeNeeded_=function(a,b){return a.lastSegmentReference?a.lastSegmentReference.endTime:b};
1087
1087
  shaka.media.StreamingEngine.prototype.getSegmentReferenceNeeded_=function(a,b,c){var d=shaka.media.StreamingEngine.logPrefix_(a);goog.asserts.assert(a.stream.segmentIndex,"segment index should have been generated already");if(a.segmentIterator)return a.segmentIterator.current();if(a.lastSegmentReference||c)return b=a.lastSegmentReference?a.lastSegmentReference.endTime:c,goog.asserts.assert(null!=b,"Should have a time to search"),shaka.log.v1(d,"looking up segment from new stream endTime:",b),c=0>
1088
- this.playerInterface_.getPlaybackRate(),a.segmentIterator=a.stream.segmentIndex.getIteratorForTime(b,!1,c),a=a.segmentIterator&&a.segmentIterator.next().value,null==a&&shaka.log.warning(d,"cannot find segment","endTime:",b),a;c=this.config_.inaccurateManifestTolerance;var e=Math.max(b-c,0);shaka.log.v1(d,"looking up segment","lookupTime:",e,"presentationTime:",b);var f=0>this.playerInterface_.getPlaybackRate(),g=null;c&&(a.segmentIterator=a.stream.segmentIndex.getIteratorForTime(e,!1,f),g=a.segmentIterator&&
1089
- a.segmentIterator.next().value);g||(a.segmentIterator=a.stream.segmentIndex.getIteratorForTime(b,!1,f),g=a.segmentIterator&&a.segmentIterator.next().value);null==g&&shaka.log.warning(d,"cannot find segment","lookupTime:",e,"presentationTime:",b);return g};
1088
+ this.playerInterface_.getPlaybackRate(),a.segmentIterator=a.stream.segmentIndex.getIteratorForTime(b,!1,c),a=a.segmentIterator&&a.segmentIterator.next().value,null==a&&shaka.log.warning(d,"cannot find segment","endTime:",b),a;c=this.manifest_.sequenceMode?0:this.config_.inaccurateManifestTolerance;var e=Math.max(b-c,0);shaka.log.v1(d,"looking up segment","lookupTime:",e,"presentationTime:",b);var f=0>this.playerInterface_.getPlaybackRate(),g=null;c&&(a.segmentIterator=a.stream.segmentIndex.getIteratorForTime(e,
1089
+ !1,f),g=a.segmentIterator&&a.segmentIterator.next().value);g||(a.segmentIterator=a.stream.segmentIndex.getIteratorForTime(b,!1,f),g=a.segmentIterator&&a.segmentIterator.next().value);null==g&&shaka.log.warning(d,"cannot find segment","lookupTime:",e,"presentationTime:",b);return g};
1090
1090
  shaka.media.StreamingEngine.prototype.fetchAndAppend_=function(a,b,c,d){var e=this,f,g,h,k,l,m,n,p,q,r,t,v,y,w,x,u,z,C,A,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){switch(F.nextAddress){case 1:f=shaka.util.ManifestParserUtils.ContentType;g=shaka.media.StreamingEngine;h=g.logPrefix_(a);shaka.log.v1(h,"fetchAndAppend_:","presentationTime="+b,"reference.startTime="+c.startTime,"reference.endTime="+c.endTime);k=a.stream;l=a.segmentIterator;a.performingUpdate=!0;F.setCatchFinallyBlocks(2);
1091
1091
  if(c.getStatus()==shaka.media.SegmentReference.Status.MISSING)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.SEGMENT_MISSING);return F.yield(e.initSourceBuffer_(a,c,d),4);case 4:e.destroyer_.ensureNotDestroyed();if(e.fatalError_)return F.return();shaka.log.v2(h,"fetching segment");m="video/mp4"==k.mimeType||"audio/mp4"==k.mimeType;n=window.ReadableStream;if((p=e.config_.lowLatencyMode&&e.manifest_.isLowLatency)&&n&&m&&(e.manifest_.type!=
1092
1092
  shaka.media.ManifestParser.HLS||c.hasByterangeOptimization()))return t=new Uint8Array(0),y=v=!1,x=function(I){var E,B,H,G;return $jscomp.asyncExecutePromiseGeneratorProgram(function(J){switch(J.nextAddress){case 1:if(v)return J.return();y=!0;e.destroyer_.ensureNotDestroyed();if(e.fatalError_)return J.return();J.setCatchFinallyBlocks(2);t=e.concatArray_(t,I);E=!1;B=0;(new shaka.util.Mp4Parser).box("mdat",function(L){B=L.size+L.start;E=!0}).parse(t,!1,!0);if(!E){J.jumpTo(4);break}H=t.subarray(0,B);
@@ -1105,9 +1105,9 @@ d.playRangeEnd_)+g.APPEND_WINDOW_END_FUDGE_;goog.asserts.assert(b.startTime<=n,h
1105
1105
  n);t=a.lastCodecs&&a.lastMimeType&&d.playerInterface_.mediaSourceEngine.isResetMediaSourceNecessary(a.type,a.stream,q,p);if(!t){C.jumpTo(3);break}v=null;a.type===e.VIDEO?v=d.mediaStates_.get(e.AUDIO):a.type===e.AUDIO&&(v=d.mediaStates_.get(e.VIDEO));if(!v){C.jumpTo(3);break}return C.yield(d.abortOperations_(v).catch(function(){}),5);case 5:v.lastInitSegmentReference=null,d.forceClearBuffer_(v);case 3:return C.yield(d.setProperties_(a,r,m,n,b,p,q),2);case 2:return shaka.media.InitSegmentReference.equal(b.initSegmentReference,
1106
1106
  a.lastInitSegmentReference)||(a.lastInitSegmentReference=b.initSegmentReference,b.isIndependent()&&b.initSegmentReference&&(shaka.log.v1(h,"fetching init segment"),y=d.fetch_(a,b.initSegmentReference),w=function(){var A,D,F,I,E,B,H,G,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(L){switch(L.nextAddress){case 1:return L.setCatchFinallyBlocks(2),L.yield(y,4);case 4:return A=L.yieldResult,d.destroyer_.ensureNotDestroyed(),D=null,F=new Map,I={projection:null,hfov:null},E=new shaka.util.Mp4Parser,
1107
1107
  B=shaka.util.Mp4Parser,H=shaka.util.Mp4BoxParsers,E.box("moov",B.children).box("trak",B.children).box("mdia",B.children).fullBox("mdhd",function(M){goog.asserts.assert(null!=M.version,"MDHD is a full box and should have a valid version.");D=H.parseMDHD(M.reader,M.version).timescale}).box("hdlr",function(M){switch(H.parseHDLR(M.reader).handlerType){case "soun":F.set(e.AUDIO,D);break;case "vide":F.set(e.VIDEO,D)}D=null}).box("minf",B.children).box("stbl",B.children).fullBox("stsd",B.sampleDescription).box("encv",
1108
- B.visualSampleEntry).box("avc1",B.visualSampleEntry).box("avc3",B.visualSampleEntry).box("hev1",B.visualSampleEntry).box("hvc1",B.visualSampleEntry).box("dvav",B.visualSampleEntry).box("dva1",B.visualSampleEntry).box("dvh1",B.visualSampleEntry).box("dvhe",B.visualSampleEntry).box("vexu",B.children).box("proj",B.children).fullBox("prji",function(M){M=H.parsePRJI(M.reader);I.projection=M.projection}).box("hfov",function(M){M=H.parseHFOV(M.reader);I.hfov=M.hfov}).parse(A),d.updateSpatialVideoInfo_(I),
1109
- F.has(a.type)?b.initSegmentReference.timescale=F.get(a.type):null!=D&&(b.initSegmentReference.timescale=D),shaka.log.v1(h,"appending init segment"),G=a.stream.closedCaptions&&0<a.stream.closedCaptions.size,L.yield(d.playerInterface_.beforeAppendSegment(a.type,A),5);case 5:return L.yield(d.playerInterface_.mediaSourceEngine.appendBuffer(a.type,A,null,a.stream,G,a.seeked,c),6);case 6:L.leaveTryBlock(0);break;case 2:throw J=L.enterCatchBlock(),a.lastInitSegmentReference=null,J;}})},x=b.startTime,k&&
1110
- (u=d.playerInterface_.mediaSourceEngine.bufferEnd(a.type),null!=u&&(x=u)),d.playerInterface_.onInitSegmentAppended(x,b.initSegmentReference),l.push(w()))),d.manifest_.sequenceMode&&(z=a.lastSegmentReference?a.lastSegmentReference.discontinuitySequence:null,b.discontinuitySequence!=z&&l.push(d.playerInterface_.mediaSourceEngine.resync(a.type,b.startTime))),C.yield(Promise.all(l),0)}})};
1108
+ B.visualSampleEntry).box("avc1",B.visualSampleEntry).box("avc3",B.visualSampleEntry).box("hev1",B.visualSampleEntry).box("hvc1",B.visualSampleEntry).box("dvav",B.visualSampleEntry).box("dva1",B.visualSampleEntry).box("dvh1",B.visualSampleEntry).box("dvhe",B.visualSampleEntry).box("dvc1",B.visualSampleEntry).box("dvi1",B.visualSampleEntry).box("vexu",B.children).box("proj",B.children).fullBox("prji",function(M){M=H.parsePRJI(M.reader);I.projection=M.projection}).box("hfov",function(M){M=H.parseHFOV(M.reader);
1109
+ I.hfov=M.hfov}).parse(A),d.updateSpatialVideoInfo_(I),F.has(a.type)?b.initSegmentReference.timescale=F.get(a.type):null!=D&&(b.initSegmentReference.timescale=D),shaka.log.v1(h,"appending init segment"),G=a.stream.closedCaptions&&0<a.stream.closedCaptions.size,L.yield(d.playerInterface_.beforeAppendSegment(a.type,A),5);case 5:return L.yield(d.playerInterface_.mediaSourceEngine.appendBuffer(a.type,A,null,a.stream,G,a.seeked,c),6);case 6:L.leaveTryBlock(0);break;case 2:throw J=L.enterCatchBlock(),a.lastInitSegmentReference=
1110
+ null,J;}})},x=b.startTime,k&&(u=d.playerInterface_.mediaSourceEngine.bufferEnd(a.type),null!=u&&(x=u)),d.playerInterface_.onInitSegmentAppended(x,b.initSegmentReference),l.push(w()))),d.manifest_.sequenceMode&&(z=a.lastSegmentReference?a.lastSegmentReference.discontinuitySequence:null,b.discontinuitySequence!=z&&l.push(d.playerInterface_.mediaSourceEngine.resync(a.type,b.startTime))),C.yield(Promise.all(l),0)}})};
1111
1111
  shaka.media.StreamingEngine.prototype.setProperties_=function(a,b,c,d,e,f,g){var h=this,k,l,m,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){if(1==p.nextAddress)return k=shaka.util.ManifestParserUtils.ContentType,l=new Map,h.currentVariant_.audio&&l.set(k.AUDIO,h.currentVariant_.audio),h.currentVariant_.video&&l.set(k.VIDEO,h.currentVariant_.video),p.setCatchFinallyBlocks(2),a.lastAppendWindowStart=c,a.lastAppendWindowEnd=d,f&&(a.lastCodecs=f),g&&(a.lastMimeType=g),a.lastTimestampOffset=
1112
1112
  b,m=h.manifest_.sequenceMode||h.manifest_.type==shaka.media.ManifestParser.HLS,p.yield(h.playerInterface_.mediaSourceEngine.setStreamProperties(a.type,b,c,d,m,e.mimeType||a.stream.mimeType,e.codecs||a.stream.codecs,l),4);if(2!=p.nextAddress)return p.leaveTryBlock(0);n=p.enterCatchBlock();a.lastAppendWindowStart=null;a.lastAppendWindowEnd=null;a.lastCodecs=null;a.lastMimeType=null;a.lastTimestampOffset=null;throw n;})};
1113
1113
  shaka.media.StreamingEngine.prototype.append_=function(a,b,c,d,e,f,g){f=void 0===f?!1:f;g=void 0===g?!1:g;var h=this,k,l,m,n,p,q,r,t,v;return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){switch(y.nextAddress){case 1:k=shaka.media.StreamingEngine.logPrefix_(a);l=c.closedCaptions&&0<c.closedCaptions.size;n=null!=c.emsgSchemeIdUris&&0<c.emsgSchemeIdUris.length||h.config_.dispatchAllEmsgBoxes;p=h.config_.parsePrftBox&&!h.parsedPrftEventRaised_;q="video/mp4"==c.mimeType||"audio/mp4"==c.mimeType;
@@ -1132,8 +1132,8 @@ a.segmentPrefetch&&!d.audioPrefetchMap_.has(a.stream)&&a.segmentPrefetch.clearAl
1132
1132
  shaka.media.StreamingEngine.prototype.scheduleUpdate_=function(a,b){var c=this,d=shaka.media.StreamingEngine.logPrefix_(a),e=a.type;e!=shaka.util.ManifestParserUtils.ContentType.TEXT||this.mediaStates_.has(e)?(shaka.log.v2(d,"updating in "+b+" seconds"),goog.asserts.assert(null==a.updateTimer,d+" did not expect update to be scheduled"),a.updateTimer=(new shaka.util.DelayedTick(function(){var f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return g.setCatchFinallyBlocks(2),
1133
1133
  g.yield(c.onUpdate_(a),4);if(2!=g.nextAddress)return g.leaveTryBlock(0);f=g.enterCatchBlock();if(c.playerInterface_)c.playerInterface_.onError(f);g.jumpToEnd()})})).tickAfter(b)):shaka.log.v1(d,"Text stream is unloaded. No update is needed.")};shaka.media.StreamingEngine.prototype.cancelUpdate_=function(a){null!=a.updateTimer&&(a.updateTimer.stop(),a.updateTimer=null)};
1134
1134
  shaka.media.StreamingEngine.prototype.abortOperations_=function(a){return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){return a.operation?b.yield(a.operation.abort(),0):b.jumpTo(0)})};
1135
- shaka.media.StreamingEngine.prototype.handleStreamingError_=function(a,b){var c=this,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return e.yield(c.failureCallbackBackoff_.attempt(),2);c.destroyer_.ensureNotDestroyed();b.category===shaka.util.Error.Category.NETWORK&&(d=c.getDisabledTime_(b),b.handled=c.playerInterface_.disableStream(a.stream,d),b.handled&&(b.severity=shaka.util.Error.Severity.RECOVERABLE));if(!b.handled||b.code!=shaka.util.Error.Code.SEGMENT_MISSING)c.playerInterface_.onError(b);
1136
- b.handled||c.config_.failureCallback(b);e.jumpToEnd()})};shaka.media.StreamingEngine.prototype.getDisabledTime_=function(a){return 0===this.config_.maxDisabledTime&&a.code==shaka.util.Error.Code.SEGMENT_MISSING?1:this.config_.maxDisabledTime};
1135
+ shaka.media.StreamingEngine.prototype.handleStreamingError_=function(a,b){var c=this,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return e.yield(c.failureCallbackBackoff_.attempt(),2);c.destroyer_.ensureNotDestroyed();if(b.category===shaka.util.Error.Category.NETWORK){if(a.restoreStreamAfterTrickPlay)return c.setTrickPlay(!1),e.return();d=c.getDisabledTime_(b);b.handled=c.playerInterface_.disableStream(a.stream,d);b.handled&&(b.severity=shaka.util.Error.Severity.RECOVERABLE)}if(!b.handled||
1136
+ b.code!=shaka.util.Error.Code.SEGMENT_MISSING)c.playerInterface_.onError(b);b.handled||c.config_.failureCallback(b);e.jumpToEnd()})};shaka.media.StreamingEngine.prototype.getDisabledTime_=function(a){return 0===this.config_.maxDisabledTime&&a.code==shaka.util.Error.Code.SEGMENT_MISSING?1:this.config_.maxDisabledTime};
1137
1137
  shaka.media.StreamingEngine.prototype.resetMediaSource=function(){var a=this,b,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress){b=Date.now()/1E3;c=a.config_.minTimeBetweenRecoveries;if(!a.config_.allowMediaSourceRecoveries||b-a.lastMediaSourceReset_<c)return h.return(!1);a.lastMediaSourceReset_=b;d=shaka.util.ManifestParserUtils.ContentType;if(e=a.mediaStates_.get(d.AUDIO))e.lastInitSegmentReference=null,a.forceClearBuffer_(e),a.abortOperations_(e).catch(function(){});
1138
1138
  if(f=a.mediaStates_.get(d.VIDEO))f.lastInitSegmentReference=null,a.forceClearBuffer_(f),a.abortOperations_(f).catch(function(){});g=new Map;a.currentVariant_.audio&&g.set(d.AUDIO,a.currentVariant_.audio);a.currentVariant_.video&&g.set(d.VIDEO,a.currentVariant_.video);return h.yield(a.playerInterface_.mediaSourceEngine.reset(g),2)}return h.return(!0)})};
1139
1139
  shaka.media.StreamingEngine.prototype.updateSpatialVideoInfo_=function(a){if(this.spatialVideoInfo_.projection!=a.projection||this.spatialVideoInfo_.hfov!=a.hfov){var b=shaka.util.FakeEvent.EventName;if(null!=a.projection||null!=a.hfov){b=b.SpatialVideoInfoEvent;var c=(new Map).set("detail",a);b=new shaka.util.FakeEvent(b,c)}else b=new shaka.util.FakeEvent(b.NoSpatialVideoInfoEvent);b.cancelable=!0;this.playerInterface_.onEvent(b);this.spatialVideoInfo_=a}};
@@ -1437,8 +1437,8 @@ shaka.Player.prototype.seekRange=function(){if(this.manifest_){if(!this.fullyLoa
1437
1437
  shaka.Player.prototype.isFullyLoaded=function(){return this.fullyLoaded_};shaka.Player.prototype.keySystem=function(){return shaka.util.DrmUtils.keySystem(this.drmInfo())};shaka.Player.prototype.drmInfo=function(){return this.drmEngine_?this.drmEngine_.getDrmInfo():null};shaka.Player.prototype.getDrmEngine=function(){return this.drmEngine_};shaka.Player.prototype.getExpiration=function(){return this.drmEngine_?this.drmEngine_.getExpiration():Infinity};
1438
1438
  shaka.Player.prototype.getActiveSessionsMetadata=function(){return this.drmEngine_?this.drmEngine_.getActiveSessionsMetadata():[]};shaka.Player.prototype.getKeyStatuses=function(){return this.drmEngine_?this.drmEngine_.getKeyStatuses():{}};shaka.Player.prototype.isBuffering=function(){var a=shaka.media.BufferingObserver.State;return this.bufferObserver_?this.bufferObserver_.getState()==a.STARVING:!1};
1439
1439
  shaka.Player.prototype.getPlaybackRate=function(){return this.video_?this.playRateController_?this.playRateController_.getRealRate():1:0};
1440
- shaka.Player.prototype.trickPlay=function(a){var b=this;goog.asserts.assert(0!=a,"Should never set a trick play rate of 0!");0==a?shaka.log.alwaysWarn("A trick play rate of 0 is unsupported!"):(this.trickPlayEventManager_.removeAll(),this.video_.paused&&this.video_.play(),this.playRateController_.set(a),this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE&&(this.abrManager_.playbackRateChanged(a),this.streamingEngine_.setTrickPlay(1<Math.abs(a))),this.isLive()&&this.trickPlayEventManager_.listen(this.video_,
1441
- "timeupdate",function(){var c=b.video_.currentTime,d=b.seekRange(),e=b.config_.streaming.safeSeekOffset;0<a?Math.floor(c)>=Math.floor(d.end)&&b.cancelTrickPlay():Math.floor(c)<=Math.floor(d.start+e)&&b.cancelTrickPlay()}))};
1440
+ shaka.Player.prototype.trickPlay=function(a,b){var c=this;b=void 0===b?!0:b;goog.asserts.assert(0!=a,"Should never set a trick play rate of 0!");0==a?shaka.log.alwaysWarn("A trick play rate of 0 is unsupported!"):(this.trickPlayEventManager_.removeAll(),this.video_.paused&&this.video_.play(),this.playRateController_.set(a),this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE&&(this.abrManager_.playbackRateChanged(a),this.streamingEngine_.setTrickPlay(b&&1<Math.abs(a))),this.isLive()&&this.trickPlayEventManager_.listen(this.video_,
1441
+ "timeupdate",function(){var d=c.video_.currentTime,e=c.seekRange(),f=c.config_.streaming.safeSeekOffset;0<a?Math.floor(d)>=Math.floor(e.end)&&c.cancelTrickPlay():Math.floor(d)<=Math.floor(e.start+f)&&c.cancelTrickPlay()}))};
1442
1442
  shaka.Player.prototype.cancelTrickPlay=function(){var a=this.playRateController_.getDefaultRate();this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&this.playRateController_.set(a);this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE&&(this.playRateController_.set(a),this.abrManager_.playbackRateChanged(a),this.streamingEngine_.setTrickPlay(!1));this.trickPlayEventManager_.removeAll()};
1443
1443
  shaka.Player.prototype.getVariantTracks=function(){if(this.manifest_){for(var a=this.streamingEngine_?this.streamingEngine_.getCurrentVariant():null,b=[],c=0,d=$jscomp.makeIterator(this.manifest_.variants),e=d.next();!e.done;e=d.next())if(e=e.value,shaka.util.StreamUtils.isPlayable(e)){var f=shaka.util.StreamUtils.variantToTrack(e);f.active=e==a;f.active||1==c||null==a||e.video!=a.video||e.audio!=a.audio||(f.active=!0);f.active&&c++;b.push(f)}goog.asserts.assert(1>=c,"It should only have one active track");
1444
1444
  return b}return this.video_&&this.video_.audioTracks?Array.from(this.video_.audioTracks).map(function(g){return shaka.util.StreamUtils.html5AudioTrackToTrack(g)}):[]};
@@ -1478,7 +1478,7 @@ shaka.Player.prototype.getBufferedInfo=function(){if(this.loadMode_==shaka.Playe
1478
1478
  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.isLive()||this.stats_.setCompletionPercent(Math.round(100*b));this.playhead_&&(this.stats_.setGapsJumped(this.playhead_.getGapsJumped()),this.stats_.setStallsDetected(this.playhead_.getStallsDetected()));
1479
1479
  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():
1480
1480
  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.stats_.setManifestPeriodCount(this.manifest_.periodCount),this.stats_.setManifestGapCount(this.manifest_.gapCount),this.manifest_.presentationTimeline&&(b=this.manifest_.presentationTimeline.getMaxSegmentDuration(),
1481
- this.stats_.setMaxSegmentDuration(b)));b=this.abrManager_.getBandwidthEstimate();this.stats_.setBandwidthEstimate(b)}this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&this.stats_.setResolution(a.videoWidth||NaN,a.videoHeight||NaN);return this.stats_.getBlob()};
1481
+ this.stats_.setMaxSegmentDuration(b)));b=this.abrManager_.getBandwidthEstimate();this.stats_.setBandwidthEstimate(b)}this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&(this.stats_.addBytesDownloaded(NaN),this.stats_.setResolution(a.videoWidth||NaN,a.videoHeight||NaN));return this.stats_.getBlob()};
1482
1482
  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,v,y,w,x,u;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);
1483
1483
  "subtitles"!=c&&"captions"!=c&&shaka.log.alwaysWarn("Using a kind value different of `subtitles` or `captions` can cause unwanted issues.");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=
1484
1484
  n.find(function(C){return l.normalize(C.language)==m&&C.label==(f||"")&&C.kind==c}))return h.onTracksChanged_(),z.return(p);shaka.log.error("Cannot add this text when loaded with src=");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,
@@ -1515,13 +1515,13 @@ shaka.Player.prototype.updateBufferState_=function(){var a=this.isBuffering();sh
1515
1515
  var c=this.config_.streaming.liveSync.targetLatencyTolerance,d=this.config_.streaming.liveSync.dynamicTargetLatency.rebufferIncrement;this.currentTargetLatency_&&(this.currentTargetLatency_=Math.min(this.currentTargetLatency_+ ++this.rebufferingCount_*d,b-c))}}b=shaka.util.FakeEvent.EventName.Buffering;a=(new Map).set("buffering",a);this.dispatchEvent(shaka.Player.makeEvent_(b,a))};
1516
1516
  shaka.Player.prototype.onRateChange_=function(){var a=this.video_.playbackRate;0!=a&&(this.playRateController_&&this.playRateController_.set(a),a=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.RateChange),this.dispatchEvent(a))};
1517
1517
  shaka.Player.prototype.updateStateHistory_=function(){if(this.stats_&&this.bufferObserver_){var a=shaka.media.BufferingObserver.State,b=this.stats_.getStateHistory(),c="playing";this.bufferObserver_.getState()==a.STARVING?c="buffering":this.video_.ended?c="ended":this.video_.paused&&(c="paused");b.update(c)&&(a=shaka.util.FakeEvent.EventName.StateChanged,c=(new Map).set("newstate",c),this.dispatchEvent(shaka.Player.makeEvent_(a,c)))}};
1518
- shaka.Player.prototype.onTimeUpdate_=function(){var a=this.video_.playbackRate,b=this.isLive();if(this.config_.streaming.vodDynamicPlaybackRate&&!b){var c=this.config_.streaming.vodDynamicPlaybackRateLowBufferRate,d=this.getBufferFullness(),e=this.config_.streaming.vodDynamicPlaybackRateBufferRatio;d<=e?a!=c&&(shaka.log.debug("Buffer fullness ratio ("+d+") is less than the vodDynamicPlaybackRateBufferRatio ("+e+"). Updating playbackRate to "+c),this.trickPlay(c)):1==d&&a!==this.playRateController_.getDefaultRate()&&
1518
+ shaka.Player.prototype.onTimeUpdate_=function(){var a=this.video_.playbackRate,b=this.isLive();if(this.config_.streaming.vodDynamicPlaybackRate&&!b){var c=this.config_.streaming.vodDynamicPlaybackRateLowBufferRate,d=this.getBufferFullness(),e=this.config_.streaming.vodDynamicPlaybackRateBufferRatio;d<=e?a!=c&&(shaka.log.debug("Buffer fullness ratio ("+d+") is less than the vodDynamicPlaybackRateBufferRatio ("+e+"). Updating playbackRate to "+c),this.trickPlay(c,!1)):1==d&&a!==this.playRateController_.getDefaultRate()&&
1519
1519
  (shaka.log.debug("Buffer is full. Cancel trick play."),this.cancelTrickPlay())}if(b&&(b=this.seekRange(),Number.isFinite(b.end)&&!(this.video_.currentTime<b.start))){c=this.config_.streaming.liveSync.targetLatencyTolerance;d=this.config_.streaming.liveSync.dynamicTargetLatency.enabled;e=this.config_.streaming.liveSync.dynamicTargetLatency.stabilityThreshold;if(this.config_.streaming.liveSync&&this.config_.streaming.liveSync.enabled){var f=this.config_.streaming.liveSync.targetLatency;var g=f+c;var h=
1520
1520
  Math.max(0,f-c);var k=this.config_.streaming.liveSync.maxPlaybackRate;var l=this.config_.streaming.liveSync.minPlaybackRate}else this.manifest_&&this.manifest_.serviceDescription&&(f=this.manifest_.serviceDescription.targetLatency,null!=this.manifest_.serviceDescription.targetLatency?g=this.manifest_.serviceDescription.targetLatency+c:null!=this.manifest_.serviceDescription.maxLatency&&(g=this.manifest_.serviceDescription.maxLatency),null!=this.manifest_.serviceDescription.targetLatency?h=Math.max(0,
1521
1521
  this.manifest_.serviceDescription.targetLatency-c):null!=this.manifest_.serviceDescription.minLatency&&(h=this.manifest_.serviceDescription.minLatency),k=this.manifest_.serviceDescription.maxPlaybackRate||this.config_.streaming.liveSync.maxPlaybackRate,l=this.manifest_.serviceDescription.minPlaybackRate||this.config_.streaming.liveSync.minPlaybackRate);this.currentTargetLatency_||"number"!==typeof f||(this.currentTargetLatency_=f);var m=this.config_.streaming.liveSync.dynamicTargetLatency.maxAttempts;
1522
1522
  d&&this.targetLatencyReached_&&null!==this.currentTargetLatency_&&"number"===typeof f&&this.rebufferingCount_<m&&Date.now()-this.targetLatencyReached_>1E3*e&&(e=this.config_.streaming.liveSync.dynamicTargetLatency.minLatency,this.currentTargetLatency_=Math.max(this.currentTargetLatency_-(f-e)/2,e+c),this.targetLatencyReached_=Date.now());d&&null!==this.currentTargetLatency_&&(g=this.currentTargetLatency_+c,h=this.currentTargetLatency_-c);f=b.end-this.video_.currentTime;c=0;this.loadMode_==shaka.Player.LoadMode.SRC_EQUALS&&
1523
- (d=this.video_.buffered,0<d.length&&(c=d.end(d.length-1),c=Math.max(k,c-b.end)));b=this.config_.streaming.liveSync.panicMode;d=1E3*this.config_.streaming.liveSync.panicThreshold;e=Date.now()-this.bufferObserver_.getLastRebufferTime();b&&!l&&(l=this.config_.streaming.liveSync.minPlaybackRate);b&&l&&e<=d?a!=l&&(shaka.log.debug("Time since last rebuffer ("+e+"s) is less than the live sync panicThreshold ("+d+"s). Updating playbackRate to "+l),this.trickPlay(l)):g&&k&&f-c>g?(a!=k&&(shaka.log.debug("Latency ("+
1524
- f+"s) is greater than live sync maxLatency ("+g+"s). Updating playbackRate to "+k),this.trickPlay(k)),this.targetLatencyReached_=null):h&&l&&f-c<h?(a!=l&&(shaka.log.debug("Latency ("+f+"s) is smaller than live sync minLatency ("+h+"s). Updating playbackRate to "+l),this.trickPlay(l)),this.targetLatencyReached_=null):a!==this.playRateController_.getDefaultRate()&&(this.cancelTrickPlay(),this.targetLatencyReached_=Date.now())}};
1523
+ (d=this.video_.buffered,0<d.length&&(c=d.end(d.length-1),c=Math.max(k,c-b.end)));b=this.config_.streaming.liveSync.panicMode;d=1E3*this.config_.streaming.liveSync.panicThreshold;e=Date.now()-this.bufferObserver_.getLastRebufferTime();b&&!l&&(l=this.config_.streaming.liveSync.minPlaybackRate);b&&l&&e<=d?a!=l&&(shaka.log.debug("Time since last rebuffer ("+e+"s) is less than the live sync panicThreshold ("+d+"s). Updating playbackRate to "+l),this.trickPlay(l,!1)):g&&k&&f-c>g?(a!=k&&(shaka.log.debug("Latency ("+
1524
+ f+"s) is greater than live sync maxLatency ("+g+"s). Updating playbackRate to "+k),this.trickPlay(k,!1)),this.targetLatencyReached_=null):h&&l&&f-c<h?(a!=l&&(shaka.log.debug("Latency ("+f+"s) is smaller than live sync minLatency ("+h+"s). Updating playbackRate to "+l),this.trickPlay(l,!1)),this.targetLatencyReached_=null):a!==this.playRateController_.getDefaultRate()&&(this.cancelTrickPlay(),this.targetLatencyReached_=Date.now())}};
1525
1525
  shaka.Player.prototype.onVideoProgress_=function(){if(this.video_){var a=!1,b=this.video_.currentTime/this.video_.duration;isNaN(b)||(b=Math.round(100*b),isNaN(this.completionPercent_)?(this.completionPercent_=b,a=!0):(b=Math.max(this.completionPercent_,b),this.completionPercent_!=b&&(this.completionPercent_=b,a=!0)));if(a){var c;0==this.completionPercent_?c=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Started):25==this.completionPercent_?c=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.FirstQuartile):
1526
1526
  50==this.completionPercent_?c=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Midpoint):75==this.completionPercent_?c=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ThirdQuartile):100==this.completionPercent_&&(c=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Complete));c&&this.dispatchEvent(c)}}};
1527
1527
  shaka.Player.prototype.onSeek_=function(){this.playheadObservers_&&this.playheadObservers_.notifyOfSeek();this.streamingEngine_&&this.streamingEngine_.seeked();this.bufferObserver_&&this.pollBufferState_()};
@@ -1541,8 +1541,8 @@ shaka.Player.prototype.onAdaptation_=function(a,b){a=(new Map).set("oldTrack",a)
1541
1541
  shaka.Player.prototype.onVariantChanged_=function(a,b){a=(new Map).set("oldTrack",a).set("newTrack",b);this.lcevcDec_&&this.lcevcDec_.updateVariant(b,this.getManifestType());b=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.VariantChanged,a);this.delayDispatchEvent_(b)};shaka.Player.prototype.onTextChanged_=function(){var a=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TextChanged);this.delayDispatchEvent_(a)};
1542
1542
  shaka.Player.prototype.onTextTrackVisibility_=function(){var a=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TextTrackVisibility);this.delayDispatchEvent_(a)};shaka.Player.prototype.onAbrStatusChanged_=function(){this.config_.abr.enabled||this.restoreDisabledVariants_();var a=(new Map).set("newStatus",this.config_.abr.enabled);this.delayDispatchEvent_(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.AbrStatusChanged,a))};
1543
1543
  shaka.Player.prototype.restoreDisabledVariants_=function(a){a=void 0===a?!0:a;if(this.loadMode_==shaka.Player.LoadMode.MEDIA_SOURCE){goog.asserts.assert(this.manifest_,"Should have manifest!");shaka.log.v2("Restoring all disabled streams...");this.checkVariantsTimer_.stop();for(var b=$jscomp.makeIterator(this.manifest_.variants),c=b.next();!c.done;c=b.next())c.value.disabledUntilTime=0;a&&this.updateAbrManagerVariants_()}};
1544
- shaka.Player.prototype.disableStream=function(a,b){if(!this.config_.abr.enabled||this.loadMode_===shaka.Player.LoadMode.DESTROYED||!navigator.onLine||0==b)return!1;if(this.manifest_.variants.some(function(g){var h=g[a.type];return h&&h.id!==a.id&&!g.disabledUntilTime?shaka.util.StreamUtils.isAudio(a)?a.language===h.language:!0:!1})){for(var c=!1,d=$jscomp.makeIterator(this.manifest_.variants),e=d.next();!e.done;e=d.next()){e=e.value;var f=e[a.type];f&&f.id===a.id&&(e.disabledUntilTime=Date.now()/
1545
- 1E3+b,c=!0,shaka.log.v2("Disabled stream "+a.type+":"+a.id+" for "+b+" seconds..."))}goog.asserts.assert(c,"Must have disabled stream");this.checkVariantsTimer_.tickEvery(1);b=this.getBufferedInfo().video.reduce(function(g,h){return g+h.end-h.start},0);this.chooseVariantAndSwitch_(!1,b,!0,!1);return!0}shaka.log.warning("No alternate stream found for active "+a.type+" stream. Will ignore request to disable stream...");return!1};
1544
+ shaka.Player.prototype.disableStream=function(a,b){if(!this.config_.abr.enabled||this.loadMode_===shaka.Player.LoadMode.DESTROYED||!navigator.onLine||0==b)return!1;if(this.manifest_.variants.some(function(h){var k=h[a.type];return k&&k.id!==a.id&&!h.disabledUntilTime?shaka.util.StreamUtils.isAudio(a)?a.language===k.language:!0:!1})){for(var c=!1,d=!1,e=$jscomp.makeIterator(this.manifest_.variants),f=e.next();!f.done;f=e.next()){f=f.value;var g=f[a.type];g&&(g.id===a.id?(f.disabledUntilTime=Date.now()/
1545
+ 1E3+b,c=!0,shaka.log.v2("Disabled stream "+a.type+":"+a.id+" for "+b+" seconds...")):g.trickModeVideo&&g.trickModeVideo.id==a.id&&(d=!0))}if(!c&&d)return!1;goog.asserts.assert(c,"Must have disabled stream");this.checkVariantsTimer_.tickEvery(1);b=this.getBufferedInfo().video.reduce(function(h,k){return h+k.end-k.start},0);this.chooseVariantAndSwitch_(!1,b,!0,!1);return!0}shaka.log.warning("No alternate stream found for active "+a.type+" stream. Will ignore request to disable stream...");return!1};
1546
1546
  shaka.Player.prototype.onError_=function(a){var b=this,c,d,e,f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){switch(g.nextAddress){case 1:goog.asserts.assert(a instanceof shaka.util.Error,"Wrong error type!");if(b.loadMode_==shaka.Player.LoadMode.DESTROYED)return g.return();a.severity===shaka.util.Error.Severity.RECOVERABLE&&b.stats_.addNonFatalError();c=!0;if(!(b.fullyLoaded_&&b.manifest_&&b.streamingEngine_)||a.code!=shaka.util.Error.Code.VIDEO_ERROR&&a.code!=shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_FAILED&&
1547
1547
  a.code!=shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW&&a.code!=shaka.util.Error.Code.TRANSMUXING_FAILED){g.jumpTo(2);break}g.setCatchFinallyBlocks(3);return g.yield(b.streamingEngine_.resetMediaSource(),5);case 5:d=g.yieldResult;c=!d;g.leaveTryBlock(2);break;case 3:g.enterCatchBlock(),c=!0;case 2:if(!c)return g.return();a.severity===shaka.util.Error.Severity.CRITICAL&&b.restoreDisabledVariants_(!1);e=shaka.util.FakeEvent.EventName.Error;f=shaka.Player.makeEvent_(e,(new Map).set("detail",a));
1548
1548
  b.dispatchEvent(f);f.defaultPrevented&&(a.handled=!0);g.jumpToEnd()}})};shaka.Player.prototype.onRegionEvent_=function(a,b,c){c=void 0===c?this:c;b={schemeIdUri:b.schemeIdUri,value:b.value,startTime:b.startTime,endTime:b.endTime,id:b.id,eventElement:b.eventElement,eventNode:b.eventNode};b=(new Map).set("detail",b);c.dispatchEvent(shaka.Player.makeEvent_(a,b))};
@@ -1575,7 +1575,7 @@ goog.exportProperty(shaka.Player.prototype,"getLoadMode",shaka.Player.prototype.
1575
1575
  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,"destroyAllPreloads",shaka.Player.prototype.destroyAllPreloads);goog.exportProperty(shaka.Player.prototype,"preload",shaka.Player.prototype.preload);goog.exportProperty(shaka.Player.prototype,"detachAndSavePreload",shaka.Player.prototype.detachAndSavePreload);
1576
1576
  goog.exportProperty(shaka.Player.prototype,"unloadAndSavePreload",shaka.Player.prototype.unloadAndSavePreload);goog.exportProperty(shaka.Player.prototype,"load",shaka.Player.prototype.load);goog.exportProperty(shaka.Player.prototype,"updateStartTime",shaka.Player.prototype.updateStartTime);goog.exportProperty(shaka.Player.prototype,"unload",shaka.Player.prototype.unload);goog.exportProperty(shaka.Player.prototype,"detach",shaka.Player.prototype.detach);
1577
1577
  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);goog.exportProperty(shaka.Player,"setAdManagerFactory",shaka.Player.setAdManagerFactory);goog.exportProperty(shaka.Player,"registerSupportPlugin",shaka.Player.registerSupportPlugin);
1578
- 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.10.11-debug";goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;
1578
+ 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.10.13-debug";goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;
1579
1579
  shaka.Player.TextTrackLabel="Shaka Player TextTrack";shaka.ads={};shaka.ads.AdsStats=function(){this.loadTimes_=[];this.errors_=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_++};shaka.ads.AdsStats.prototype.incrementErrors=function(){this.errors_++};
1580
1580
  shaka.ads.AdsStats.prototype.getAverageLoadTime_=function(){return this.loadTimes_.length?this.loadTimes_.reduce(function(a,b){return a+b},0)/this.loadTimes_.length:0};shaka.ads.AdsStats.prototype.getBlob=function(){return{loadTimes:this.loadTimes_,averageLoadTime:this.getAverageLoadTime_(),started:this.started_,playedCompletely:this.playedCompletely_,skipped:this.skipped_,errors:this.errors_}};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.needsSkipUI=function(){return!1};
1581
1581
  shaka.ads.ClientSideAd.prototype.getDuration=function(){return this.ad_.getDuration()};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()};
@@ -1948,18 +1948,18 @@ shaka.cea.CeaDecoder.prototype.decodeCea708_=function(a){var b=[];try{for(;a.has
1948
1948
  l.code===shaka.util.Error.Code.BUFFER_READ_OUT_OF_BOUNDS)shaka.log.warnOnce("CEA708_INVALID_DATA","Buffer read out of bounds / invalid CEA-708 Data.");else throw l;}return b};shaka.cea.CeaDecoder.prototype.isOddParity_=function(a){for(var b=0;a;)b^=a&1,a>>=1;return 1===b};shaka.cea.CeaDecoder.prototype.getStreams=function(){return Array.from(this.streams_)};goog.exportSymbol("shaka.cea.CeaDecoder",shaka.cea.CeaDecoder);shaka.cea.CeaDecoder.ATSC_PROVIDER_CODE=49;
1949
1949
  shaka.cea.CeaDecoder.ATSC1_USER_IDENTIFIER=1195456820;shaka.cea.CeaDecoder.NTSC_CC_FIELD_1=0;shaka.cea.CeaDecoder.NTSC_CC_FIELD_2=1;shaka.cea.CeaDecoder.USA_COUNTRY_CODE=181;shaka.cea.CeaDecoder.MIN_LENGTH=8;shaka.media.ClosedCaptionParser.registerDecoder(function(){return new shaka.cea.CeaDecoder});shaka.cea.SeiProcessor=function(){};shaka.cea.SeiProcessor.prototype.process=function(a){var b=[];a=this.removeEmu(a);for(var c=0;c<a.length;){for(var d=0;255==a[c];)d+=255,c++;d+=a[c++];for(var e=0;255==a[c];)e+=255,c++;e+=a[c++];4==d&&b.push(a.subarray(c,c+e));c+=e}return b};shaka.cea.SeiProcessor.prototype.removeEmu=function(a){for(var b=a,c=a=0;c<b.length;)2==a&&3==b[c]?(a=0,b=[].concat($jscomp.arrayFromIterable(b)),b.splice(c,1),b=new Uint8Array(b)):0==b[c]?a++:a=0,c++;return b};shaka.cea.Mp4CeaParser=function(){this.seiProcessor_=new shaka.cea.SeiProcessor;this.trackIdToTimescale_=new Map;this.defaultSampleSize_=this.defaultSampleDuration_=0;this.bitstreamFormat_=shaka.cea.Mp4CeaParser.BitstreamFormat.UNKNOWN};
1950
1950
  shaka.cea.Mp4CeaParser.prototype.init=function(a){var b=this,c=shaka.util.Mp4Parser,d=shaka.cea.Mp4CeaParser.BitstreamFormat,e=[],f=[],g=function(h){return b.setBitstreamFormat_(h.name)};(new c).box("moov",c.children).box("mvex",c.children).fullBox("trex",function(h){h=shaka.util.Mp4BoxParsers.parseTREX(h.reader);b.defaultSampleDuration_=h.defaultSampleDuration;b.defaultSampleSize_=h.defaultSampleSize}).box("trak",c.children).fullBox("tkhd",function(h){goog.asserts.assert(null!=h.version,"TKHD is a full box and should have a valid version.");
1951
- h=shaka.util.Mp4BoxParsers.parseTKHD(h.reader,h.version);e.push(h.trackId)}).box("mdia",c.children).fullBox("mdhd",function(h){goog.asserts.assert(null!=h.version,"MDHD is a full box and should have a valid version.");h=shaka.util.Mp4BoxParsers.parseMDHD(h.reader,h.version);f.push(h.timescale)}).box("minf",c.children).box("stbl",c.children).fullBox("stsd",c.sampleDescription).box("avc1",g).box("avc3",g).box("hev1",g).box("hvc1",g).box("dvav",g).box("dva1",g).box("dvh1",g).box("dvhe",g).box("vvc1",
1952
- g).box("vvi1",g).box("encv",c.visualSampleEntry).box("sinf",c.children).box("frma",function(h){h=shaka.util.Mp4BoxParsers.parseFRMA(h.reader).codec;b.setBitstreamFormat_(h)}).parse(a,!0);if(!e.length||!f.length||e.length!=f.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_MP4_CEA);this.bitstreamFormat_==d.UNKNOWN&&shaka.log.alwaysWarn("Unable to determine bitstream format for CEA parsing!");e.forEach(function(h,k){b.trackIdToTimescale_.set(h,
1953
- f[k])})};
1954
- shaka.cea.Mp4CeaParser.prototype.parse=function(a){var b=this,c=shaka.util.Mp4Parser;if(this.bitstreamFormat_==shaka.cea.Mp4CeaParser.BitstreamFormat.UNKNOWN)return[];var d=[],e=0,f=[];(new c).box("moof",function(g){e=g.start;f=[];c.children(g)}).box("traf",function(g){f.push({baseMediaDecodeTime:null,defaultSampleDuration:b.defaultSampleDuration_,defaultSampleSize:b.defaultSampleSize_,parsedTRUNs:[],timescale:shaka.cea.CeaUtils.DEFAULT_TIMESCALE_VALUE});c.children(g)}).fullBox("trun",function(g){goog.asserts.assert(null!=g.version&&
1955
- null!=g.flags,"TRUN is a full box and should have a valid version & flags.");var h=f[f.length-1];g=shaka.util.Mp4BoxParsers.parseTRUN(g.reader,g.version,g.flags);h.parsedTRUNs.push(g)}).fullBox("tfhd",function(g){goog.asserts.assert(null!=g.flags,"TFHD is a full box and should have valid flags.");var h=f[f.length-1];g=shaka.util.Mp4BoxParsers.parseTFHD(g.reader,g.flags);h.defaultSampleDuration=g.defaultSampleDuration||b.defaultSampleDuration_;h.defaultSampleSize=g.defaultSampleSize||b.defaultSampleSize_;
1951
+ h=shaka.util.Mp4BoxParsers.parseTKHD(h.reader,h.version);e.push(h.trackId)}).box("mdia",c.children).fullBox("mdhd",function(h){goog.asserts.assert(null!=h.version,"MDHD is a full box and should have a valid version.");h=shaka.util.Mp4BoxParsers.parseMDHD(h.reader,h.version);f.push(h.timescale)}).box("minf",c.children).box("stbl",c.children).fullBox("stsd",c.sampleDescription).box("avc1",g).box("avc3",g).box("dvav",g).box("dva1",g).box("hev1",g).box("hvc1",g).box("dvh1",g).box("dvhe",g).box("vvc1",
1952
+ g).box("vvi1",g).box("dvc1",g).box("dvi1",g).box("encv",c.visualSampleEntry).box("sinf",c.children).box("frma",function(h){h=shaka.util.Mp4BoxParsers.parseFRMA(h.reader).codec;b.setBitstreamFormat_(h)}).parse(a,!0);if(!e.length||!f.length||e.length!=f.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_MP4_CEA);this.bitstreamFormat_==d.UNKNOWN&&shaka.log.alwaysWarn("Unable to determine bitstream format for CEA parsing!");
1953
+ e.forEach(function(h,k){b.trackIdToTimescale_.set(h,f[k])})};
1954
+ shaka.cea.Mp4CeaParser.prototype.parse=function(a){var b=this,c=shaka.util.Mp4Parser;if(this.bitstreamFormat_==shaka.cea.Mp4CeaParser.BitstreamFormat.UNKNOWN)return[];var d=[],e=0,f=[];(new c).box("moof",function(g){e=g.start;f=[];c.children(g)}).box("traf",function(g){f.push({baseMediaDecodeTime:null,defaultSampleDuration:b.defaultSampleDuration_,defaultSampleSize:b.defaultSampleSize_,parsedTRUNs:[],timescale:shaka.cea.CeaUtils.DEFAULT_TIMESCALE_VALUE});c.children(g)}).fullBox("trun",function(g){goog.asserts.assert(null!=
1955
+ g.version&&null!=g.flags,"TRUN is a full box and should have a valid version & flags.");var h=f[f.length-1];g=shaka.util.Mp4BoxParsers.parseTRUN(g.reader,g.version,g.flags);h.parsedTRUNs.push(g)}).fullBox("tfhd",function(g){goog.asserts.assert(null!=g.flags,"TFHD is a full box and should have valid flags.");var h=f[f.length-1];g=shaka.util.Mp4BoxParsers.parseTFHD(g.reader,g.flags);h.defaultSampleDuration=g.defaultSampleDuration||b.defaultSampleDuration_;h.defaultSampleSize=g.defaultSampleSize||b.defaultSampleSize_;
1956
1956
  g=g.trackId;b.trackIdToTimescale_.has(g)&&(h.timescale=b.trackIdToTimescale_.get(g))}).fullBox("tfdt",function(g){goog.asserts.assert(null!=g.version,"TFDT is a full box and should have a valid version.");var h=f[f.length-1];g=shaka.util.Mp4BoxParsers.parseTFDTInaccurate(g.reader,g.version);h.baseMediaDecodeTime=g.baseMediaDecodeTime}).box("mdat",function(g){for(var h=e-g.start-8,k=g.reader.getPosition(),l=$jscomp.makeIterator(f),m=l.next();!m.done;m=l.next()){m=m.value;if(null===m.baseMediaDecodeTime)throw shaka.log.alwaysWarn("Unable to find base media decode time for CEA captions!"),
1957
1957
  new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.TEXT,shaka.util.Error.Code.INVALID_MP4_CEA);g.reader.seek(k);b.parseMdat_(g.reader,m.baseMediaDecodeTime,m.timescale,m.defaultSampleDuration,m.defaultSampleSize,h,m.parsedTRUNs,d)}}).parse(a,!1);return d};
1958
1958
  shaka.cea.Mp4CeaParser.prototype.parseMdat_=function(a,b,c,d,e,f,g,h){var k=shaka.cea.Mp4CeaParser.BitstreamFormat,l=shaka.cea.CeaUtils,m=0,n=e,p=g.map(function(t){return t.sampleData});p=[].concat.apply([],$jscomp.arrayFromIterable(p));p.length&&(n=p[0].sampleSize||e);for(a.skip(f+g[0].dataOffset);a.hasMoreData();){f=a.readUint32();var q=a.readUint8(),r=null;r=!1;g=1;goog.asserts.assert(this.bitstreamFormat_!=k.UNKNOWN,"Bitstream format should have been checked before now!");switch(this.bitstreamFormat_){case k.H264:r=
1959
1959
  q&31;r=r==l.H264_NALU_TYPE_SEI;break;case k.H265:g=2;a.skip(1);r=q>>1&63;r=r==l.H265_PREFIX_NALU_TYPE_SEI||r==l.H265_SUFFIX_NALU_TYPE_SEI;break;case k.H266:g=2;a.skip(1);r=q>>1&63;r=r==l.H266_PREFIX_NALU_TYPE_SEI||r==l.H266_SUFFIX_NALU_TYPE_SEI;break;default:return}if(r)for(q=0,m<p.length&&(q=p[m].sampleCompositionTimeOffset||0),q=(b+q)/c,g=$jscomp.makeIterator(this.seiProcessor_.process(a.readBytes(f-g))),r=g.next();!r.done;r=g.next())h.push({packet:r.value,pts:q});else try{a.skip(f-g)}catch(t){break}n-=
1960
1960
  f+4;0==n&&(b=m<p.length?b+(p[m].sampleDuration||d):b+d,m++,n=m<p.length?p[m].sampleSize||e:e)}};shaka.cea.Mp4CeaParser.prototype.setBitstreamFormat_=function(a){a in shaka.cea.Mp4CeaParser.CodecBitstreamMap_&&(this.bitstreamFormat_=shaka.cea.Mp4CeaParser.CodecBitstreamMap_[a])};goog.exportSymbol("shaka.cea.Mp4CeaParser",shaka.cea.Mp4CeaParser);shaka.cea.Mp4CeaParser.BitstreamFormat={UNKNOWN:0,H264:1,H265:2,H266:3};
1961
- shaka.cea.Mp4CeaParser.CodecBitstreamMap_={avc1:shaka.cea.Mp4CeaParser.BitstreamFormat.H264,avc3:shaka.cea.Mp4CeaParser.BitstreamFormat.H264,hev1:shaka.cea.Mp4CeaParser.BitstreamFormat.H265,hvc1:shaka.cea.Mp4CeaParser.BitstreamFormat.H265,dvav:shaka.cea.Mp4CeaParser.BitstreamFormat.H264,dva1:shaka.cea.Mp4CeaParser.BitstreamFormat.H264,dvh1:shaka.cea.Mp4CeaParser.BitstreamFormat.H265,dvhe:shaka.cea.Mp4CeaParser.BitstreamFormat.H265,vvc1:shaka.cea.Mp4CeaParser.BitstreamFormat.H266,vvi1:shaka.cea.Mp4CeaParser.BitstreamFormat.H266};
1962
- shaka.media.ClosedCaptionParser.registerParser("video/mp4",function(){return new shaka.cea.Mp4CeaParser});shaka.cea.TsCeaParser=function(){this.seiProcessor_=new shaka.cea.SeiProcessor;this.tsParser_=null};shaka.cea.TsCeaParser.prototype.init=function(a){};
1961
+ shaka.cea.Mp4CeaParser.CodecBitstreamMap_={avc1:shaka.cea.Mp4CeaParser.BitstreamFormat.H264,avc3:shaka.cea.Mp4CeaParser.BitstreamFormat.H264,dvav:shaka.cea.Mp4CeaParser.BitstreamFormat.H264,dva1:shaka.cea.Mp4CeaParser.BitstreamFormat.H264,hev1:shaka.cea.Mp4CeaParser.BitstreamFormat.H265,hvc1:shaka.cea.Mp4CeaParser.BitstreamFormat.H265,dvh1:shaka.cea.Mp4CeaParser.BitstreamFormat.H265,dvhe:shaka.cea.Mp4CeaParser.BitstreamFormat.H265,vvc1:shaka.cea.Mp4CeaParser.BitstreamFormat.H266,vvi1:shaka.cea.Mp4CeaParser.BitstreamFormat.H266,
1962
+ dvc1:shaka.cea.Mp4CeaParser.BitstreamFormat.H266,dvi1:shaka.cea.Mp4CeaParser.BitstreamFormat.H266};shaka.media.ClosedCaptionParser.registerParser("video/mp4",function(){return new shaka.cea.Mp4CeaParser});shaka.cea.TsCeaParser=function(){this.seiProcessor_=new shaka.cea.SeiProcessor;this.tsParser_=null};shaka.cea.TsCeaParser.prototype.init=function(a){};
1963
1963
  shaka.cea.TsCeaParser.prototype.parse=function(a){var b=shaka.cea.CeaUtils;this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser;var c=[];a=shaka.util.BufferUtils.toUint8(a);if(!shaka.util.TsParser.probe(a))return c;a=this.tsParser_.parse(a);var d=a.getCodecs(),e=a.getVideoNalus();a=[];switch(d.video){case "avc":a.push(b.H264_NALU_TYPE_SEI);break;case "hvc":a.push(b.H265_PREFIX_NALU_TYPE_SEI),a.push(b.H265_SUFFIX_NALU_TYPE_SEI)}if(!a.length)return c;b=$jscomp.makeIterator(e);
1964
1964
  for(d=b.next();!d.done;d=b.next())if(d=d.value,a.includes(d.type)&&null!=d.time){e=$jscomp.makeIterator(this.seiProcessor_.process(d.data));for(var f=e.next();!f.done;f=e.next())c.push({packet:f.value,pts:d.time})}return c};goog.exportSymbol("shaka.cea.TsCeaParser",shaka.cea.TsCeaParser);shaka.media.ClosedCaptionParser.registerParser("video/mp2t",function(){return new shaka.cea.TsCeaParser});shaka.dash={};shaka.dash.ContentProtection=function(){};
1965
1965
  shaka.dash.ContentProtection.parseFromAdaptationSet=function(a,b,c){var d=shaka.dash.ContentProtection,e=shaka.util.ManifestParserUtils,f=d.parseElements_(a),g=null;a=[];var h=[],k=null,l=new Set(f.map(function(n){return n.keyId}));l.delete(null);var m="cenc";if(1<l.size)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_CONFLICTING_KEY_IDS);if(!b){h=f.filter(function(n){return n.schemeUri==d.Aes128Protection_});if(1<h.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
@@ -1999,8 +1999,8 @@ shaka.dash.MpdUtils.inheritAttribute=function(a,b,c){b=shaka.dash.MpdUtils.getNo
1999
1999
  shaka.dash.MpdUtils.handleXlinkInElement_=function(a,b,c,d,e,f){for(var g=shaka.util.TXml,h=shaka.util.Error,k=shaka.util.ManifestParserUtils,l=shaka.dash.MpdUtils.XlinkNamespaceUri_,m=g.getAttributeNS(a,l,"href"),n=g.getAttributeNS(a,l,"actuate")||"onRequest",p=$jscomp.makeIterator(Object.keys(a.attributes)),q=p.next();!q.done;q=p.next()){q=q.value;var r=q.split(":"),t=shaka.util.TXml.getKnownNameSpace(l);r[0]==t&&delete a.attributes[q]}if(5<=f)return shaka.util.AbortableOperation.failed(new h(h.Severity.CRITICAL,
2000
2000
  h.Category.MANIFEST,h.Code.DASH_XLINK_DEPTH_LIMIT));if("onLoad"!=n)return shaka.util.AbortableOperation.failed(new h(h.Severity.CRITICAL,h.Category.MANIFEST,h.Code.DASH_UNSUPPORTED_XLINK_ACTUATE));var v=k.resolveUris([d],[m]);d=shaka.net.NetworkingEngine.RequestType.MANIFEST;k=shaka.net.NetworkingEngine.makeRequest(v,b);d=e.request(d,k);goog.asserts.assert(d instanceof shaka.util.AbortableOperation,"Unexpected implementation of IAbortableOperation!");return d.chain(function(y){y=g.parseXml(y.data,
2001
2001
  a.tagName);if(!y)return shaka.util.AbortableOperation.failed(new h(h.Severity.CRITICAL,h.Category.MANIFEST,h.Code.DASH_INVALID_XML,m));for(a.children=[];y.children.length;){var w=y.children.shift();g.isNode(w)&&(w.parent=a);a.children.push(w)}w=$jscomp.makeIterator(Object.keys(y.attributes));for(var x=w.next();!x.done;x=w.next())x=x.value,a.attributes[x]=y.attributes[x];return shaka.dash.MpdUtils.processXlinks(a,b,c,v[0],e,f+1)})};
2002
- shaka.dash.MpdUtils.processXlinks=function(a,b,c,d,e,f){f=void 0===f?0:f;var g=shaka.dash.MpdUtils,h=shaka.util.TXml,k=g.XlinkNamespaceUri_;if(h.getAttributeNS(a,k,"href"))return h=g.handleXlinkInElement_(a,b,c,d,e,f),c&&(h=h.chain(void 0,function(q){return g.processXlinks(a,b,c,d,e,f)})),h;for(var l=[],m=$jscomp.makeIterator(shaka.util.TXml.getChildNodes(a)),n=m.next(),p={};!n.done;p={child$jscomp$8:void 0},n=m.next())p.child$jscomp$8=n.value,"urn:mpeg:dash:resolve-to-zero:2013"==h.getAttributeNS(p.child$jscomp$8,
2003
- k,"href")?a.children=a.children.filter(function(q){return function(r){return r!==q.child$jscomp$8}}(p)):"SegmentTimeline"!=p.child$jscomp$8.tagName&&l.push(shaka.dash.MpdUtils.processXlinks(p.child$jscomp$8,b,c,d,e,f));return shaka.util.AbortableOperation.all(l).chain(function(){return a})};shaka.dash.MpdUtils.XlinkNamespaceUri_="http://www.w3.org/1999/xlink";shaka.media.Mp4SegmentIndexParser=function(){};shaka.media.Mp4SegmentIndexParser.parse=function(a,b,c,d,e,f,g){var h=shaka.media.Mp4SegmentIndexParser,k,l=(new shaka.util.Mp4Parser).fullBox("sidx",function(m){k=h.parseSIDX_(b,d,e,f,g,c,m)});a&&l.parse(a);if(k)return k;shaka.log.error('Invalid box type, expected "sidx".');throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MP4_SIDX_WRONG_BOX_TYPE);};
2002
+ shaka.dash.MpdUtils.processXlinks=function(a,b,c,d,e,f){f=void 0===f?0:f;var g=shaka.dash.MpdUtils,h=shaka.util.TXml,k=g.XlinkNamespaceUri_;if(h.getAttributeNS(a,k,"href"))return h=g.handleXlinkInElement_(a,b,c,d,e,f),c&&(h=h.chain(void 0,function(q){return g.processXlinks(a,b,c,d,e,f)})),h;for(var l=[],m=$jscomp.makeIterator(shaka.util.TXml.getChildNodes(a)),n=m.next(),p={};!n.done;p={child$jscomp$9:void 0},n=m.next())p.child$jscomp$9=n.value,"urn:mpeg:dash:resolve-to-zero:2013"==h.getAttributeNS(p.child$jscomp$9,
2003
+ k,"href")?a.children=a.children.filter(function(q){return function(r){return r!==q.child$jscomp$9}}(p)):"SegmentTimeline"!=p.child$jscomp$9.tagName&&l.push(shaka.dash.MpdUtils.processXlinks(p.child$jscomp$9,b,c,d,e,f));return shaka.util.AbortableOperation.all(l).chain(function(){return a})};shaka.dash.MpdUtils.XlinkNamespaceUri_="http://www.w3.org/1999/xlink";shaka.media.Mp4SegmentIndexParser=function(){};shaka.media.Mp4SegmentIndexParser.parse=function(a,b,c,d,e,f,g){var h=shaka.media.Mp4SegmentIndexParser,k,l=(new shaka.util.Mp4Parser).fullBox("sidx",function(m){k=h.parseSIDX_(b,d,e,f,g,c,m)});a&&l.parse(a);if(k)return k;shaka.log.error('Invalid box type, expected "sidx".');throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MP4_SIDX_WRONG_BOX_TYPE);};
2004
2004
  shaka.media.Mp4SegmentIndexParser.parseSIDX_=function(a,b,c,d,e,f,g){goog.asserts.assert(null!=g.version,"SIDX is a full box and should have a valid version.");var h=[];g.reader.skip(4);var k=g.reader.readUint32();if(0==k)throw shaka.log.error("Invalid timescale."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MP4_SIDX_INVALID_TIMESCALE);if(0==g.version){var l=g.reader.readUint32();var m=g.reader.readUint32()}else l=g.reader.readUint64(),
2005
2005
  m=g.reader.readUint64();g.reader.skip(2);var n=g.reader.readUint16();a=a+g.size+m;for(m=0;m<n;m++){var p=g.reader.readUint32(),q=(p&2147483648)>>>31;p&=2147483647;var r=g.reader.readUint32();g.reader.skip(4);if(1==q)throw shaka.log.error("Heirarchical SIDXs are not supported."),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MP4_SIDX_TYPE_NOT_SUPPORTED);h.push(new shaka.media.SegmentReference(l/k+c,(l+r)/k+c,function(){return f},a,a+p-
2006
2006
  1,b,c,d,e));l+=r;a+=p}g.parser.stop();return h};shaka.util.EbmlParser=function(a){this.dataView_=shaka.util.BufferUtils.toDataView(a);this.reader_=new shaka.util.DataViewReader(this.dataView_,shaka.util.DataViewReader.Endianness.BIG_ENDIAN)};shaka.util.EbmlParser.prototype.hasMoreData=function(){return this.reader_.hasMoreData()};
@@ -2118,8 +2118,8 @@ shaka.util.PeriodCombiner.cloneStream_=function(a){var b=Object.assign({},a);b.o
2118
2118
  b.closedCaptions=null;b.trickModeVideo=null;return b};shaka.util.PeriodCombiner.cloneStreamDB_=function(a){a=Object.assign({},a);a.roles=a.roles.slice();a.keyIds=new Set;a.segments=[];a.variantIds=[];a.closedCaptions=null;return a};
2119
2119
  shaka.util.PeriodCombiner.concatenateStreams_=function(a,b){var c=function(f,g){f||(f=[]);g=$jscomp.makeIterator(g);for(var h=g.next();!h.done;h=g.next())h=h.value,f.includes(h)||f.push(h);return f};a.roles=c(a.roles,b.roles);b.emsgSchemeIdUris&&(a.emsgSchemeIdUris=c(a.emsgSchemeIdUris,b.emsgSchemeIdUris));c=$jscomp.makeIterator(b.keyIds);for(var d=c.next();!d.done;d=c.next())a.keyIds.add(d.value);a.originalId=null==a.originalId?b.originalId:a.originalId+(","+(b.originalId||""));c=shaka.util.DrmUtils.getCommonDrmInfos(a.drmInfos,
2120
2120
  b.drmInfos);if(b.drmInfos.length&&a.drmInfos.length&&!c.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.INCONSISTENT_DRM_ACROSS_PERIODS);a.drmInfos=c;a.encrypted=a.encrypted||b.encrypted;if(b.closedCaptions)for(a.closedCaptions||(a.closedCaptions=new Map),c=$jscomp.makeIterator(b.closedCaptions),d=c.next();!d.done;d=c.next()){var e=$jscomp.makeIterator(d.value);d=e.next().value;e=e.next().value;a.closedCaptions.set(d,e)}a.bandwidth&&
2121
- b.bandwidth&&(a.bandwidth=Math.max(a.bandwidth,b.bandwidth));b.trickModeVideo?(a.trickModeVideo||(a.trickModeVideo=shaka.util.PeriodCombiner.cloneStream_(b.trickModeVideo),a.trickModeVideo.createSegmentIndex=function(){goog.asserts.assert(a.segmentIndex instanceof shaka.media.MetaSegmentIndex,"The stream should have a MetaSegmentIndex.");a.trickModeVideo.segmentIndex=a.segmentIndex.clone();return Promise.resolve()}),shaka.util.PeriodCombiner.concatenateStreams_(a.trickModeVideo,b.trickModeVideo)):
2122
- a.trickModeVideo&&shaka.util.PeriodCombiner.concatenateStreams_(a.trickModeVideo,b)};
2121
+ b.bandwidth&&(a.bandwidth=Math.max(a.bandwidth,b.bandwidth));b.trickModeVideo?(a.trickModeVideo||(a.trickModeVideo=shaka.util.PeriodCombiner.cloneStream_(b.trickModeVideo),a.trickModeVideo.matchedStreams=[],a.trickModeVideo.createSegmentIndex=function(){if(a.trickModeVideo.segmentIndex)return Promise.resolve();var f=new shaka.media.MetaSegmentIndex;goog.asserts.assert(a.trickModeVideo.matchedStreams,"trickmode matched streams should exist");for(var g=$jscomp.makeIterator(a.trickModeVideo.matchedStreams),
2122
+ h=g.next();!h.done;h=g.next())h=h.value,goog.asserts.assert(h.segmentIndex,"trickmode segment index should exist"),f.appendSegmentIndex(h.segmentIndex);a.trickModeVideo.segmentIndex=f;return Promise.resolve()}),a.trickModeVideo.matchedStreams.push(b.trickModeVideo),shaka.util.PeriodCombiner.concatenateStreams_(a.trickModeVideo,b.trickModeVideo)):a.trickModeVideo&&(a.trickModeVideo.matchedStreams.push(b),shaka.util.PeriodCombiner.concatenateStreams_(a.trickModeVideo,b))};
2123
2123
  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),
2124
2124
  c=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,c){c=(void 0===c?0:c)?b.matchedStreams:[];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};
2125
2125
  shaka.util.PeriodCombiner.prototype.findBestMatchInPeriod_=function(a,b){var c=this,d={audio:shaka.util.PeriodCombiner.generateAudioKey_,video:shaka.util.PeriodCombiner.generateVideoKey_,text:shaka.util.PeriodCombiner.generateTextKey_,image:shaka.util.PeriodCombiner.generateImageKey_}[b.type],e=null,f=d(b);if(a.has(f))e=a.get(f);else{f={audio:function(l,m){return c.areAVStreamsCompatible_(l,m)},video:function(l,m){return c.areAVStreamsCompatible_(l,m)},text:shaka.util.PeriodCombiner.areTextStreamsCompatible_,
@@ -2146,15 +2146,15 @@ goog.exportProperty(shaka.util.PeriodCombiner.prototype,"getImageStreams",shaka.
2146
2146
  shaka.util.XmlUtils.parseXmlString=function(a,b){var c=new DOMParser,d=shaka.util.XmlUtils.trustedHTMLFromString_.value()(a);a=null;try{a=c.parseFromString(d,"text/xml")}catch(e){return shaka.log.error("XML parsing exception:",e),null}goog.asserts.assert(a,"Parsed XML document cannot be null!");c=a.documentElement;if(!c)return shaka.log.error("XML document was empty!"),null;d=c.getElementsByTagName("parsererror");if(d.length)return shaka.log.error("XML parser error found:",d[0]),null;if(c.tagName!=
2147
2147
  b)return shaka.log.error('XML tag name does not match expected "'+b+'":',c.tagName),null;if(!("createNodeIterator"in document))return c;for(b=document.createNodeIterator(a,NodeFilter.SHOW_ALL);a=b.nextNode();)if(a instanceof HTMLElement||a instanceof SVGElement)return shaka.log.error("XML document embeds unsafe content!"),null;return c};
2148
2148
  shaka.util.XmlUtils.parseXml=function(a,b){try{var c=shaka.util.StringUtils.fromBytesAutoDetect(a);return shaka.util.XmlUtils.parseXmlString(c,b)}catch(d){return shaka.log.error("parseXmlString threw!",d),null}};shaka.util.XmlUtils.toArrayBuffer=function(a){return shaka.util.StringUtils.toUTF8(a.outerHTML)};
2149
- shaka.util.XmlUtils.trustedHTMLFromString_=new shaka.util.Lazy(function(){if("undefined"!==typeof trustedTypes){var a=trustedTypes.createPolicy("shaka-player#xml",{createHTML:function(b){return b}});return function(b){return a.createHTML(b)}}return function(b){return b}});shaka.dash.DashParser=function(){var a=this;this.playerInterface_=this.config_=null;this.manifestUris_=[];this.manifest_=null;this.globalId_=1;this.patchLocationNodes_=[];this.manifestPatchContext_={mpdId:"",type:"",profiles:[],mediaPresentationDuration:null,availabilityTimeOffset:0,getBaseUris:null,publishTime:0};this.contextCache_=new Map;this.streamMap_={};this.periodDurations_={};this.periodCombiner_=new shaka.util.PeriodCombiner;this.updatePeriod_=0;this.averageUpdateDuration_=new shaka.abr.Ewma(5);
2150
- this.updateTimer_=new shaka.util.Timer(function(){if(a.mediaElement_&&!a.config_.continueLoadingWhenPaused&&(a.eventManager_.unlisten(a.mediaElement_,"timeupdate"),a.mediaElement_.paused)){a.eventManager_.listenOnce(a.mediaElement_,"timeupdate",function(){return a.onUpdate_()});return}a.onUpdate_()});this.operationManager_=new shaka.util.OperationManager;this.largestPeriodStartTime_=null;this.lastManifestUpdatePeriodIds_=[];this.minTotalAvailabilityTimeOffset_=Infinity;this.lowLatencyMode_=!1;this.contentSteeringManager_=
2151
- null;this.gapCount_=0;this.isLowLatency_=!1;this.eventManager_=new shaka.util.EventManager;this.mediaElement_=null;this.isTransitionFromDynamicToStatic_=!1};
2149
+ shaka.util.XmlUtils.trustedHTMLFromString_=new shaka.util.Lazy(function(){if("undefined"!==typeof trustedTypes){var a=trustedTypes.createPolicy("shaka-player#xml",{createHTML:function(b){return b}});return function(b){return a.createHTML(b)}}return function(b){return b}});shaka.dash.DashParser=function(){var a=this;this.playerInterface_=this.config_=null;this.manifestUris_=[];this.manifest_=null;this.globalId_=1;this.patchLocationNodes_=[];this.manifestPatchContext_={mpdId:"",type:"",profiles:[],mediaPresentationDuration:null,availabilityTimeOffset:0,getBaseUris:null,publishTime:0};this.contextCache_=new Map;this.streamMap_={};this.indexStreamMap_={};this.periodDurations_={};this.periodCombiner_=new shaka.util.PeriodCombiner;this.updatePeriod_=0;this.averageUpdateDuration_=
2150
+ new shaka.abr.Ewma(5);this.updateTimer_=new shaka.util.Timer(function(){if(a.mediaElement_&&!a.config_.continueLoadingWhenPaused&&(a.eventManager_.unlisten(a.mediaElement_,"timeupdate"),a.mediaElement_.paused)){a.eventManager_.listenOnce(a.mediaElement_,"timeupdate",function(){return a.onUpdate_()});return}a.onUpdate_()});this.operationManager_=new shaka.util.OperationManager;this.largestPeriodStartTime_=null;this.lastManifestUpdatePeriodIds_=[];this.minTotalAvailabilityTimeOffset_=Infinity;this.lowLatencyMode_=
2151
+ !1;this.contentSteeringManager_=null;this.gapCount_=0;this.isLowLatency_=!1;this.eventManager_=new shaka.util.EventManager;this.mediaElement_=null;this.isTransitionFromDynamicToStatic_=!1};
2152
2152
  shaka.dash.DashParser.prototype.configure=function(a){goog.asserts.assert(null!=a.dash,"DashManifestConfiguration should not be null!");var b=this.playerInterface_&&a.dash.updatePeriod!=this.config_.dash.updatePeriod&&0<=a.dash.updatePeriod;this.config_=a;b&&this.manifest_&&this.manifest_.presentationTimeline.isLive()&&this.updateNow_();this.contentSteeringManager_&&this.contentSteeringManager_.configure(this.config_);this.periodCombiner_&&(this.periodCombiner_.setAllowMultiTypeVariants(this.config_.dash.multiTypeVariantsAllowed&&
2153
2153
  shaka.media.Capabilities.isChangeTypeSupported()),this.periodCombiner_.setUseStreamOnce(this.config_.dash.useStreamOnceInPeriodFlattening))};
2154
2154
  shaka.dash.DashParser.prototype.start=function(a,b){var c=this,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return goog.asserts.assert(c.config_,"Must call configure() before start()!"),c.lowLatencyMode_=b.isLowLatencyMode(),c.manifestUris_=[a],c.playerInterface_=b,e.yield(c.requestManifest_(),2);d=e.yieldResult;c.playerInterface_&&c.setUpdateTimer_(d);if(!c.playerInterface_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,
2155
2155
  shaka.util.Error.Code.OPERATION_ABORTED);goog.asserts.assert(c.manifest_,"Manifest should be non-null!");return e.return(c.manifest_)})};
2156
- shaka.dash.DashParser.prototype.stop=function(){for(var a=$jscomp.makeIterator(Object.values(this.streamMap_)),b=a.next();!b.done;b=a.next())b=b.value,b.segmentIndex&&b.segmentIndex.release();this.periodCombiner_&&this.periodCombiner_.release();this.config_=this.playerInterface_=null;this.manifestUris_=[];this.manifest_=null;this.streamMap_={};this.contextCache_.clear();this.manifestPatchContext_={mpdId:"",type:"",profiles:[],mediaPresentationDuration:null,availabilityTimeOffset:0,getBaseUris:null,
2157
- publishTime:0};this.periodCombiner_=null;null!=this.updateTimer_&&(this.updateTimer_.stop(),this.updateTimer_=null);this.contentSteeringManager_&&this.contentSteeringManager_.destroy();this.eventManager_&&(this.eventManager_.release(),this.eventManager_=null);return this.operationManager_.destroy()};
2156
+ shaka.dash.DashParser.prototype.stop=function(){for(var a=$jscomp.makeIterator(Object.values(this.streamMap_)),b=a.next();!b.done;b=a.next())b=b.value,b.segmentIndex&&b.segmentIndex.release();this.periodCombiner_&&this.periodCombiner_.release();this.config_=this.playerInterface_=null;this.manifestUris_=[];this.manifest_=null;this.streamMap_={};this.indexStreamMap_={};this.contextCache_.clear();this.manifestPatchContext_={mpdId:"",type:"",profiles:[],mediaPresentationDuration:null,availabilityTimeOffset:0,
2157
+ getBaseUris:null,publishTime:0};this.periodCombiner_=null;null!=this.updateTimer_&&(this.updateTimer_.stop(),this.updateTimer_=null);this.contentSteeringManager_&&this.contentSteeringManager_.destroy();this.eventManager_&&(this.eventManager_.release(),this.eventManager_=null);return this.operationManager_.destroy()};
2158
2158
  shaka.dash.DashParser.prototype.update=function(){var a=this,b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return c.setCatchFinallyBlocks(2),c.yield(a.requestManifest_(),4);if(2!=c.nextAddress)return c.leaveTryBlock(0);b=c.enterCatchBlock();if(!a.playerInterface_||!b)return c.return();goog.asserts.assert(b instanceof shaka.util.Error,"Bad error type");a.playerInterface_.onError(b);c.jumpToEnd()})};
2159
2159
  shaka.dash.DashParser.prototype.onExpirationUpdated=function(a,b){};shaka.dash.DashParser.prototype.onInitialVariantChosen=function(a){if(this.manifest_&&this.manifest_.presentationTimeline.isLive()){var b=a.video||a.audio;if(b&&b.segmentIndex){a=this.manifest_.presentationTimeline.getSegmentAvailabilityEnd();var c=b.segmentIndex.find(a);null!=c&&(b=b.segmentIndex.get(c))&&(this.updatePeriod_=b.endTime-a,this.setUpdateTimer_(0))}}};
2160
2160
  shaka.dash.DashParser.prototype.banLocation=function(a){this.contentSteeringManager_&&this.contentSteeringManager_.banLocation(a)};shaka.dash.DashParser.prototype.setMediaElement=function(a){this.mediaElement_=a};
@@ -2169,10 +2169,10 @@ d.parseAttr(a,"publishTime",d.parseDate)||0;c.patchLocationNodes_=d.findChildren
2169
2169
  c.contentSteeringManager_.setBaseUris(e),c.contentSteeringManager_.setDefaultPathwayId(y),w=d.getContents(v))(x=d.parseAttr(v,"queryBeforeStart",d.parseBoolean,!1))?t=c.contentSteeringManager_.requestInfo(w):c.contentSteeringManager_.requestInfo(w);u=$jscomp.makeIterator(g.keys());for(z=u.next();!z.done;z=u.next())C=z.value,A=g.get(C),c.contentSteeringManager_.addLocation("Location",C,A)}D=d.findChildren(a,"BaseURL");I=!1;if(c.contentSteeringManager_)for(E=$jscomp.makeIterator(D),B=E.next();!B.done;B=
2170
2170
  E.next())H=B.value,G=H.attributes.serviceLocation,J=d.getContents(H),G&&J&&(c.contentSteeringManager_.addLocation("BaseURL",G,J),I=!0);I&&c.contentSteeringManager_||(L=D.map(d.getContents),F=shaka.util.ManifestParserUtils.resolveUris(e,L));M=function(){return c.contentSteeringManager_&&I?c.contentSteeringManager_.getLocations("BaseURL"):F?F:[]};c.manifestPatchContext_.getBaseUris=M;K=0;D&&D.length&&(K=d.parseAttr(D[0],"availabilityTimeOffset",d.parseFloat)||0);c.manifestPatchContext_.availabilityTimeOffset=
2171
2171
  K;N=c.config_.dash.ignoreMinBufferTime;O=0;N||(O=d.parseAttr(a,"minBufferTime",d.parseDuration)||0);c.updatePeriod_=d.parseAttr(a,"minimumUpdatePeriod",d.parseDuration,-1);Q=d.parseAttr(a,"availabilityStartTime",d.parseDate);R=d.parseAttr(a,"timeShiftBufferDepth",d.parseDuration);P=c.config_.dash.ignoreSuggestedPresentationDelay;V=null;P||(V=d.parseAttr(a,"suggestedPresentationDelay",d.parseDuration));Y=c.config_.dash.ignoreMaxSegmentDuration;T=null;Y||(T=d.parseAttr(a,"maxSegmentDuration",d.parseDuration));
2172
- S=a.attributes.type||"static";c.manifest_&&c.manifest_.presentationTimeline&&(c.isTransitionFromDynamicToStatic_=c.manifest_.presentationTimeline.isLive()&&"static"==S);c.manifestPatchContext_.type=S;if(c.manifest_)for(U=c.manifest_.presentationTimeline,X=$jscomp.makeIterator(Object.values(c.streamMap_)),W=X.next();!W.done;W=X.next())ca=W.value,ca.segmentIndex&&ca.segmentIndex.evict(U.getSegmentAvailabilityStart());else fa=c.config_.defaultPresentationDelay||1.5*O,ha=null!=V?V:fa,U=new shaka.media.PresentationTimeline(Q,
2173
- ha,c.config_.dash.autoCorrectDrift);U.setStatic("static"==S);(na=U.isLive())&&!isNaN(c.config_.availabilityWindowOverride)&&(R=c.config_.availabilityWindowOverride);null==R&&(R=Infinity);U.setSegmentAvailabilityDuration(R);da=a.attributes.profiles||"";c.manifestPatchContext_.profiles=da.split(",");ea={dynamic:"static"!=S,presentationTimeline:U,period:null,periodInfo:null,adaptationSet:null,representation:null,bandwidth:0,indexRangeWarningGiven:!1,availabilityTimeOffset:K,mediaPresentationDuration:null,
2174
- profiles:da.split(","),roles:null};c.gapCount_=0;ba=c.parsePeriods_(ea,M,a);ia=ba.duration;aa=ba.periods;("static"!=S||c.isTransitionFromDynamicToStatic_)&&ba.durationDerivedFromPeriods||U.setDuration(ia||Infinity);c.isLowLatency_&&!c.lowLatencyMode_&&(oa=c.playerInterface_.isAutoLowLatencyMode())&&(c.playerInterface_.enableLowLatencyMode(),c.lowLatencyMode_=c.playerInterface_.isLowLatencyMode());c.lowLatencyMode_&&U.setAvailabilityTimeOffset(c.minTotalAvailabilityTimeOffset_);U.notifyMaxSegmentDuration(T||
2175
- 1);goog.DEBUG&&!c.isTransitionFromDynamicToStatic_&&U.assertIsValid();return Z.yield(t,2);case 2:c.lowLatencyMode_&&(O=0,ja=null!=V?V:c.config_.defaultPresentationDelay,U.setDelay(ja));if(!c.manifest_)return Z.yield(c.periodCombiner_.combinePeriods(aa,ea.dynamic),6);c.manifest_.periodCount=aa.length;c.manifest_.gapCount=c.gapCount_;return Z.yield(c.postPeriodProcessing_(aa,!1),4);case 6:c.manifest_={presentationTimeline:U,variants:c.periodCombiner_.getVariants(),textStreams:c.periodCombiner_.getTextStreams(),
2172
+ S=a.attributes.type||"static";c.manifest_&&c.manifest_.presentationTimeline&&(c.isTransitionFromDynamicToStatic_=c.manifest_.presentationTimeline.isLive()&&"static"==S);c.manifestPatchContext_.type=S;c.cleanStreamMap_();if(c.manifest_)for(U=c.manifest_.presentationTimeline,X=$jscomp.makeIterator(Object.values(c.streamMap_)),W=X.next();!W.done;W=X.next())ca=W.value,ca.segmentIndex&&ca.segmentIndex.evict(U.getSegmentAvailabilityStart());else fa=c.config_.defaultPresentationDelay||1.5*O,ha=null!=V?V:
2173
+ fa,U=new shaka.media.PresentationTimeline(Q,ha,c.config_.dash.autoCorrectDrift);U.setStatic("static"==S);(na=U.isLive())&&!isNaN(c.config_.availabilityWindowOverride)&&(R=c.config_.availabilityWindowOverride);null==R&&(R=Infinity);U.setSegmentAvailabilityDuration(R);da=a.attributes.profiles||"";c.manifestPatchContext_.profiles=da.split(",");ea={dynamic:"static"!=S,presentationTimeline:U,period:null,periodInfo:null,adaptationSet:null,representation:null,bandwidth:0,indexRangeWarningGiven:!1,availabilityTimeOffset:K,
2174
+ mediaPresentationDuration:null,profiles:da.split(","),roles:null};c.gapCount_=0;ba=c.parsePeriods_(ea,M,a,!1);ia=ba.duration;aa=ba.periods;("static"!=S||c.isTransitionFromDynamicToStatic_)&&ba.durationDerivedFromPeriods||U.setDuration(ia||Infinity);c.isLowLatency_&&!c.lowLatencyMode_&&(oa=c.playerInterface_.isAutoLowLatencyMode())&&(c.playerInterface_.enableLowLatencyMode(),c.lowLatencyMode_=c.playerInterface_.isLowLatencyMode());c.lowLatencyMode_&&U.setAvailabilityTimeOffset(c.minTotalAvailabilityTimeOffset_);
2175
+ U.notifyMaxSegmentDuration(T||1);goog.DEBUG&&!c.isTransitionFromDynamicToStatic_&&U.assertIsValid();return Z.yield(t,2);case 2:c.lowLatencyMode_&&(O=0,ja=null!=V?V:c.config_.defaultPresentationDelay,U.setDelay(ja));if(!c.manifest_)return Z.yield(c.periodCombiner_.combinePeriods(aa,ea.dynamic),6);c.manifest_.periodCount=aa.length;c.manifest_.gapCount=c.gapCount_;return Z.yield(c.postPeriodProcessing_(aa,!1),4);case 6:c.manifest_={presentationTimeline:U,variants:c.periodCombiner_.getVariants(),textStreams:c.periodCombiner_.getTextStreams(),
2176
2176
  imageStreams:c.periodCombiner_.getImageStreams(),offlineSessionIds:[],minBufferTime:O||0,sequenceMode:c.config_.dash.sequenceMode,ignoreManifestTimestampsInSegmentsMode:!1,type:shaka.media.ManifestParser.DASH,serviceDescription:c.parseServiceDescription_(a),nextUrl:c.parseMpdChaining_(a),periodCount:aa.length,gapCount:c.gapCount_,isLowLatency:c.isLowLatency_};if(!U.usingPresentationStartTime()){Z.jumpTo(7);break}ka=shaka.util.TXml;la=ka.findChildren(a,"UTCTiming");return Z.yield(c.parseUtcTiming_(M,
2177
2177
  la),8);case 8:ma=Z.yieldResult;if(!c.playerInterface_)return Z.return();U.setClockOffset(ma);case 7:U.lockStartTime();case 4:c.playerInterface_.makeTextStreamsForClosedCaptions(c.manifest_),Z.jumpToEnd()}})};
2178
2178
  shaka.dash.DashParser.prototype.postPeriodProcessing_=function(a,b){var c=this,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return e.yield(c.periodCombiner_.combinePeriods(a,!0,b),2);c.manifest_.variants=c.periodCombiner_.getVariants();d=c.periodCombiner_.getTextStreams();0<d.length&&(c.manifest_.textStreams=d);c.manifest_.imageStreams=c.periodCombiner_.getImageStreams();c.playerInterface_.filter(c.manifest_);e.jumpToEnd()})};
@@ -2183,7 +2183,8 @@ h.add(A);else n=!1;n||shaka.log.warning("Unhandled "+m.tagName+" operation",m.at
2183
2183
  (G=b.manifestPatchContext_.mediaPresentationDuration,b.manifest_.presentationTimeline.setDuration(G||Infinity));J.jumpToEnd()})};shaka.dash.DashParser.prototype.parsePatchMpdTypeChange_=function(a){this.manifest_.presentationTimeline.setStatic("static"==a);this.manifestPatchContext_.type=a;for(var b=$jscomp.makeIterator(this.contextCache_.values()),c=b.next();!c.done;c=b.next())c.value.dynamic="dynamic"==a;"static"==a&&(this.updatePeriod_=-1)};
2184
2184
  shaka.dash.DashParser.prototype.parsePatchMediaPresentationDurationChange_=function(a){a=shaka.util.TXml.parseDuration(a);if(null!=a){this.manifestPatchContext_.mediaPresentationDuration=a;for(var b=$jscomp.makeIterator(this.contextCache_.values()),c=b.next();!c.done;c=b.next())c.value.mediaPresentationDuration=a}};
2185
2185
  shaka.dash.DashParser.prototype.parsePatchPeriod_=function(a){goog.asserts.assert(this.manifestPatchContext_.getBaseUris,"Must provide getBaseUris on manifestPatchContext_");return this.parsePeriods_({dynamic:"dynamic"==this.manifestPatchContext_.type,presentationTimeline:this.manifest_.presentationTimeline,period:null,periodInfo:null,adaptationSet:null,representation:null,bandwidth:0,indexRangeWarningGiven:!1,availabilityTimeOffset:this.manifestPatchContext_.availabilityTimeOffset,profiles:this.manifestPatchContext_.profiles,
2186
- mediaPresentationDuration:this.manifestPatchContext_.mediaPresentationDuration,roles:null},this.manifestPatchContext_.getBaseUris,a).periods};shaka.dash.DashParser.prototype.removePatchPeriod_=function(a){var b=shaka.dash.SegmentTemplate;this.manifest_.periodCount--;for(var c=$jscomp.makeIterator(this.contextCache_.keys()),d=c.next();!d.done;d=c.next())if(d=d.value,d.startsWith(a)){var e=this.contextCache_.get(d);b.removeTimepoints(e);this.parsePatchSegment_(d);this.contextCache_.delete(d)}};
2186
+ mediaPresentationDuration:this.manifestPatchContext_.mediaPresentationDuration,roles:null},this.manifestPatchContext_.getBaseUris,a,!0).periods};
2187
+ shaka.dash.DashParser.prototype.removePatchPeriod_=function(a){var b=shaka.dash.SegmentTemplate;this.manifest_.periodCount--;for(var c=$jscomp.makeIterator(this.contextCache_.keys()),d=c.next();!d.done;d=c.next())if(d=d.value,d.startsWith(a)){var e=this.contextCache_.get(d);b.removeTimepoints(e);this.parsePatchSegment_(d);this.contextCache_.delete(d)}this.lastManifestUpdatePeriodIds_=this.lastManifestUpdatePeriodIds_.filter(function(f){return f!==a})};
2187
2188
  shaka.dash.DashParser.prototype.getContextIdsFromPath_=function(a){var b="",c="",d=-1,e="";a=$jscomp.makeIterator(a);for(var f=a.next();!f.done;f=a.next())f=f.value,"Period"===f.name?b=f.id:"AdaptationSet"===f.name?(c=f.id,null!==f.position&&(d=f.position)):"Representation"===f.name&&(e=f.id);a=[];if(e)a.push(b+","+e);else if(c)for(d=$jscomp.makeIterator(this.contextCache_.values()),e=d.next();!e.done;e=d.next())e=e.value,e.period.id===b&&e.adaptationSet.id===c&&e.representation.id&&a.push(b+","+
2188
2189
  e.representation.id);else if(-1<d)for(c=$jscomp.makeIterator(this.contextCache_.values()),e=c.next();!e.done;e=c.next())e=e.value,e.period.id===b&&e.adaptationSet.position===d&&e.representation.id&&a.push(b+","+e.representation.id);return a};
2189
2190
  shaka.dash.DashParser.prototype.modifySegmentTemplate_=function(a){var b=shaka.util.TXml,c=b.parseXpath(a.attributes.sel||""),d=c[c.length-1];if(!d.attribute)return[];c=this.getContextIdsFromPath_(c);for(var e=b.getContents(a)||"",f=$jscomp.makeIterator(c),g=f.next();!g.done;g=f.next())g=this.contextCache_.get(g.value),goog.asserts.assert(g&&g.representation.segmentTemplate,"cannot modify segment template"),b.modifyNodeAttribute(g.representation.segmentTemplate,a.tagName,d.attribute,e);return c};
@@ -2192,15 +2193,17 @@ shaka.dash.DashParser.prototype.parsePatchSegment_=function(a){var b=this,c=this
2192
2193
  function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return d.segmentIndex?g.jumpTo(0):g.yield(e.generateSegmentIndex(),3);d.segmentIndex=g.yieldResult;g.jumpToEnd()})}}catch(g){a=shaka.util.ManifestParserUtils.ContentType;c=c.representation.contentType;var f=c==a.IMAGE;if(c!=a.TEXT&&c!=a.APPLICATION&&!f||g.code!=shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)throw g;}};
2193
2194
  shaka.dash.DashParser.prototype.parseServiceDescription_=function(a){var b=shaka.util.TXml,c=b.findChild(a,"ServiceDescription");if(!c)return null;a=b.findChild(c,"Latency");b=b.findChild(c,"PlaybackRate");if(!a&&!b)return null;c={};a&&("target"in a.attributes&&(c.targetLatency=parseInt(a.attributes.target,10)/1E3),"max"in a.attributes&&(c.maxLatency=parseInt(a.attributes.max,10)/1E3),"min"in a.attributes&&(c.minLatency=parseInt(a.attributes.min,10)/1E3));b&&("max"in b.attributes&&(c.maxPlaybackRate=
2194
2195
  parseFloat(b.attributes.max)),"min"in b.attributes&&(c.minPlaybackRate=parseFloat(b.attributes.min)));return c};shaka.dash.DashParser.prototype.parseMpdChaining_=function(a){a=shaka.util.TXml.findChildren(a,"SupplementalProperty");if(!a.length)return null;a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())if(b=b.value,"urn:mpeg:dash:chaining:2016"==b.attributes.schemeIdUri)return b.attributes.value;return null};
2195
- shaka.dash.DashParser.prototype.parsePeriods_=function(a,b,c){var d=shaka.util.TXml,e=a.mediaPresentationDuration;e||(e=d.parseAttr(c,"mediaPresentationDuration",d.parseDuration),this.manifestPatchContext_.mediaPresentationDuration=e);var f=0;this.manifest_&&this.manifest_.presentationTimeline&&this.isTransitionFromDynamicToStatic_&&(f=this.manifest_.presentationTimeline.getSeekRangeStart());var g=[],h=f;c=d.findChildren(c,"Period");for(var k=0;k<c.length;k++){var l=c[k],m=c[k+1],n=d.parseAttr(l,
2196
- "start",d.parseDuration,h),p=l.attributes.id,q=d.parseAttr(l,"duration",d.parseDuration),r=null;if(m){var t=d.parseAttr(m,"start",d.parseDuration);null!=t&&(r=t-n)}else null!=e&&(r=e-n+f);t=shaka.util.ManifestParserUtils.GAP_OVERLAP_TOLERANCE_SECONDS;r&&q&&Math.abs(r-q)>t&&(shaka.log.warning("There is a gap/overlap between Periods",l),r>q&&this.gapCount_++);null==r&&(r=q);if(null!==this.largestPeriodStartTime_&&null!==p&&null!==n&&n<this.largestPeriodStartTime_&&!this.lastManifestUpdatePeriodIds_.includes(p)&&
2197
- k+1!=c.length)shaka.log.debug("Skipping Period with ID "+p+" as its start time is smaller than the largest period start time that has been seen, and ID is unseen before");else{null!==n&&(null===this.largestPeriodStartTime_||n>this.largestPeriodStartTime_)&&(this.largestPeriodStartTime_=n);h=this.parsePeriod_(a,b,{start:n,duration:r,node:l,isLastPeriod:null==r||!m});g.push(h);a.period.id&&r&&(this.periodDurations_[a.period.id]=r);if(null==r){m&&shaka.log.warning("Skipping Period",k+1,"and any subsequent Periods:",
2198
- "Period",k+1,"does not have a valid start time.",m);h=null;break}h=n+r}}this.lastManifestUpdatePeriodIds_=g.map(function(v){return v.id});return null!=e?(null!=h&&Math.abs(h-f-e)>shaka.util.ManifestParserUtils.GAP_OVERLAP_TOLERANCE_SECONDS&&shaka.log.warning("@mediaPresentationDuration does not match the total duration ","of all Periods."),{periods:g,duration:e+f,durationDerivedFromPeriods:!1}):{periods:g,duration:h,durationDerivedFromPeriods:!0}};
2199
- shaka.dash.DashParser.prototype.parsePeriod_=function(a,b,c){var d=this,e=shaka.util.Functional,f=shaka.util.TXml,g=shaka.util.ManifestParserUtils.ContentType;a.period=this.createFrame_(c.node,null,b);a.periodInfo=c;a.period.availabilityTimeOffset=a.availabilityTimeOffset;a.period.id||(shaka.log.info("No Period ID given for Period with start time "+c.start+", Assigning a default"),a.period.id="__shaka_period_"+c.start);var h=f.findChildren(c.node,"EventStream");b=a.presentationTimeline.getSegmentAvailabilityStart();
2200
- h=$jscomp.makeIterator(h);for(var k=h.next();!k.done;k=h.next())this.parseEventStream_(c.start,c.duration,k.value,b);e=f.findChildren(c.node,"AdaptationSet").map(function(n,p){return d.parseAdaptationSet_(a,p,n)}).filter(e.isNotNull);if(a.dynamic){c=[];f=$jscomp.makeIterator(e);for(b=f.next();!b.done;b=f.next())for(b=$jscomp.makeIterator(b.value.representationIds),h=b.next();!h.done;h=b.next())c.push(h.value);f=new Set(c);if(c.length!=f.size)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2201
- shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_DUPLICATE_REPRESENTATION_ID);}c=e.filter(function(n){return!n.trickModeFor});e=e.filter(function(n){return n.trickModeFor});e=$jscomp.makeIterator(e);for(f=e.next();!f.done;f=e.next())for(f=f.value,b=f.trickModeFor.split(" "),h=$jscomp.makeIterator(c),k=h.next();!k.done;k=h.next())if(k=k.value,b.includes(k.id)){k=$jscomp.makeIterator(k.streams);for(var l=k.next(),m={};!l.done;m={stream$jscomp$100:void 0},l=k.next())m.stream$jscomp$100=
2202
- l.value,m.stream$jscomp$100.trickModeVideo=f.streams.find(function(n){return function(p){return shaka.util.MimeUtils.getNormalizedCodec(n.stream$jscomp$100.codecs)==shaka.util.MimeUtils.getNormalizedCodec(p.codecs)}}(m))}e=this.getStreamsFromSets_(this.config_.disableAudio,c,g.AUDIO);f=this.getStreamsFromSets_(this.config_.disableVideo,c,g.VIDEO);b=this.getStreamsFromSets_(this.config_.disableText,c,g.TEXT);g=this.getStreamsFromSets_(this.config_.disableThumbnails,c,g.IMAGE);if(0===f.length&&0===
2203
- e.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_EMPTY_PERIOD);return{id:a.period.id,audioStreams:e,videoStreams:f,textStreams:b,imageStreams:g}};shaka.dash.DashParser.prototype.getStreamsFromSets_=function(a,b,c){return a||!b.length?[]:b.reduce(function(d,e){if(e.contentType!=c)return d;d.push.apply(d,$jscomp.arrayFromIterable(e.streams));return d},[])};
2196
+ shaka.dash.DashParser.prototype.parsePeriods_=function(a,b,c,d){var e=shaka.util.TXml,f=a.mediaPresentationDuration;f||(f=e.parseAttr(c,"mediaPresentationDuration",e.parseDuration),this.manifestPatchContext_.mediaPresentationDuration=f);var g=0;this.manifest_&&this.manifest_.presentationTimeline&&this.isTransitionFromDynamicToStatic_&&(g=this.manifest_.presentationTimeline.getSeekRangeStart());var h=[],k=g;c=e.findChildren(c,"Period");for(var l=0;l<c.length;l++){var m=c[l],n=c[l+1],p=e.parseAttr(m,
2197
+ "start",e.parseDuration,k),q=m.attributes.id,r=e.parseAttr(m,"duration",e.parseDuration),t=null;if(n){var v=e.parseAttr(n,"start",e.parseDuration);null!=v&&(t=v-p)}else null!=f&&(t=f-p+g);v=shaka.util.ManifestParserUtils.GAP_OVERLAP_TOLERANCE_SECONDS;t&&r&&Math.abs(t-r)>v&&(shaka.log.warning("There is a gap/overlap between Periods",m),t>r&&this.gapCount_++);null==t&&(t=r);if(null!==this.largestPeriodStartTime_&&null!==q&&null!==p&&p<this.largestPeriodStartTime_&&!this.lastManifestUpdatePeriodIds_.includes(q)&&
2198
+ l+1!=c.length)shaka.log.debug("Skipping Period with ID "+q+" as its start time is smaller than the largest period start time that has been seen, and ID is unseen before");else{null!==p&&(null===this.largestPeriodStartTime_||p>this.largestPeriodStartTime_)&&(this.largestPeriodStartTime_=p);k=this.parsePeriod_(a,b,{start:p,duration:t,node:m,isLastPeriod:null==t||!n});h.push(k);a.period.id&&t&&(this.periodDurations_[a.period.id]=t);if(null==t){n&&shaka.log.warning("Skipping Period",l+1,"and any subsequent Periods:",
2199
+ "Period",l+1,"does not have a valid start time.",n);k=null;break}k=p+t}}if(d)for(a=$jscomp.makeIterator(h),b=a.next();!b.done;b=a.next())b=b.value.id,this.lastManifestUpdatePeriodIds_.includes(b)||this.lastManifestUpdatePeriodIds_.push(b);else this.lastManifestUpdatePeriodIds_=h.map(function(y){return y.id});return null!=f?(null!=k&&Math.abs(k-g-f)>shaka.util.ManifestParserUtils.GAP_OVERLAP_TOLERANCE_SECONDS&&shaka.log.warning("@mediaPresentationDuration does not match the total duration ","of all Periods."),
2200
+ {periods:h,duration:f+g,durationDerivedFromPeriods:!1}):{periods:h,duration:k,durationDerivedFromPeriods:!0}};
2201
+ shaka.dash.DashParser.prototype.cleanStreamMap_=function(){var a=this,b=Object.keys(this.indexStreamMap_);if(b.length!==this.lastManifestUpdatePeriodIds_.length){b=b.filter(function(f){return!a.lastManifestUpdatePeriodIds_.includes(f)});b=$jscomp.makeIterator(b);for(var c=b.next();!c.done;c=b.next()){c=c.value;for(var d=$jscomp.makeIterator(this.indexStreamMap_[c]),e=d.next();!e.done;e=d.next())delete this.streamMap_[e.value];delete this.indexStreamMap_[c]}}};
2202
+ shaka.dash.DashParser.prototype.parsePeriod_=function(a,b,c){var d=this,e=shaka.util.Functional,f=shaka.util.TXml,g=shaka.util.ManifestParserUtils.ContentType;goog.asserts.assert(c.node,"periodInfo.node should exist");a.period=this.createFrame_(c.node,null,b);a.periodInfo=c;a.period.availabilityTimeOffset=a.availabilityTimeOffset;a.period.id||(shaka.log.info("No Period ID given for Period with start time "+c.start+", Assigning a default"),a.period.id="__shaka_period_"+c.start);var h=f.findChildren(c.node,
2203
+ "EventStream");b=a.presentationTimeline.getSegmentAvailabilityStart();h=$jscomp.makeIterator(h);for(var k=h.next();!k.done;k=h.next())this.parseEventStream_(c.start,c.duration,k.value,b);e=f.findChildren(c.node,"AdaptationSet").map(function(n,p){return d.parseAdaptationSet_(a,p,n)}).filter(e.isNotNull);if(a.dynamic){c=[];f=$jscomp.makeIterator(e);for(b=f.next();!b.done;b=f.next())for(b=$jscomp.makeIterator(b.value.representationIds),h=b.next();!h.done;h=b.next())c.push(h.value);f=new Set(c);if(c.length!=
2204
+ f.size)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_DUPLICATE_REPRESENTATION_ID);}c=e.filter(function(n){return!n.trickModeFor});e=e.filter(function(n){return n.trickModeFor});e=$jscomp.makeIterator(e);for(f=e.next();!f.done;f=e.next())for(f=f.value,b=f.trickModeFor.split(" "),h=$jscomp.makeIterator(c),k=h.next();!k.done;k=h.next())if(k=k.value,b.includes(k.id)){k=$jscomp.makeIterator(k.streams);for(var l=k.next(),m={};!l.done;m=
2205
+ {stream$jscomp$101:void 0},l=k.next())m.stream$jscomp$101=l.value,m.stream$jscomp$101.trickModeVideo=f.streams.find(function(n){return function(p){return shaka.util.MimeUtils.getNormalizedCodec(n.stream$jscomp$101.codecs)==shaka.util.MimeUtils.getNormalizedCodec(p.codecs)}}(m))}e=this.getStreamsFromSets_(this.config_.disableAudio,c,g.AUDIO);f=this.getStreamsFromSets_(this.config_.disableVideo,c,g.VIDEO);b=this.getStreamsFromSets_(this.config_.disableText,c,g.TEXT);g=this.getStreamsFromSets_(this.config_.disableThumbnails,
2206
+ c,g.IMAGE);if(0===f.length&&0===e.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_EMPTY_PERIOD);return{id:a.period.id,audioStreams:e,videoStreams:f,textStreams:b,imageStreams:g}};shaka.dash.DashParser.prototype.getStreamsFromSets_=function(a,b,c){return a||!b.length?[]:b.reduce(function(d,e){if(e.contentType!=c)return d;d.push.apply(d,$jscomp.arrayFromIterable(e.streams));return d},[])};
2204
2207
  shaka.dash.DashParser.prototype.parseAdaptationSet_=function(a,b,c){var d=this,e=shaka.util.TXml,f=shaka.util.Functional,g=shaka.util.ManifestParserUtils,h=g.ContentType,k=shaka.dash.ContentProtection;a.adaptationSet=this.createFrame_(c,a.period,null);a.adaptationSet.position=b;var l=!1,m=e.findChildren(c,"Role"),n=m.map(function(G){return G.attributes.value}).filter(f.isNotNull),p=void 0;if(b=a.adaptationSet.contentType==h.TEXT)p=g.TextStreamKind.SUBTITLE;f=$jscomp.makeIterator(m);for(m=f.next();!m.done;m=
2205
2208
  f.next()){m=m.value;var q=m.attributes.schemeIdUri;if(null==q||"urn:mpeg:dash:role:2011"==q)switch(m=m.attributes.value,m){case "main":l=!0;break;case "caption":case "subtitle":p=m}}var r,t;q=function(G){switch(G){case 1:case 6:case 13:case 14:case 15:return"SDR";case 16:return"PQ";case 18:return"HLG"}};var v=function(G){switch(G){case 1:case 5:case 6:case 7:return"srgb";case 9:return"rec2020";case 11:case 12:return"p3"}},y=e.findChildren(c,"EssentialProperty");f=null;var w=!1;m=!1;y=$jscomp.makeIterator(y);
2206
2209
  for(var x=y.next();!x.done;x=y.next()){x=x.value;var u=x.attributes.schemeIdUri;"http://dashif.org/guidelines/trickmode"==u?f=x.attributes.value:"urn:mpeg:mpegB:cicp:TransferCharacteristics"==u?r=q(parseInt(x.attributes.value,10)):"urn:mpeg:mpegB:cicp:ColourPrimaries"==u?t=v(parseInt(x.attributes.value,10)):"urn:mpeg:mpegB:cicp:MatrixCoefficients"!=u&&("urn:mpeg:dash:ssr:2023"==u&&this.config_.dash.enableFastSwitching?w=!0:m=!0)}var z=null;y=e.findChildren(c,"SupplementalProperty");y=$jscomp.makeIterator(y);
@@ -2217,12 +2220,11 @@ firstMediaSequenceNumber:0,fetchKey:function(){var J,L,M;return $jscomp.asyncExe
2217
2220
  3)}M.cryptoKey=K.yieldResult;w.fetchKey=void 0;K.jumpToEnd()})}}}a.representation.aesKey=w;x=function(J,L,M,K){return n.requestSegment_(J,L,M,K)};if(a.representation.segmentBase)var A=shaka.dash.SegmentBase.createStreamInfo(a,x,w);else if(a.representation.segmentList)A=shaka.dash.SegmentList.createStreamInfo(a,this.streamMap_,w);else if(a.representation.segmentTemplate)A=shaka.dash.SegmentTemplate.createStreamInfo(a,x,this.streamMap_,!!this.manifest_,this.config_.dash.initialSegmentLimit,this.periodDurations_,
2218
2221
  w,m,!1);else{goog.asserts.assert(y,"Must have Segment* with non-text streams.");var D=a.periodInfo.duration||0,F=a.representation.getBaseUris,I=a.representation.mimeType,E=a.representation.codecs;A={generateSegmentIndex:function(){var J=shaka.media.SegmentIndex.forSingleSegment(t,D,F());J.forEachTopLevelReference(function(L){L.mimeType=I;L.codecs=E});return Promise.resolve(J)}}}}catch(J){if((y||q)&&J.code==shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)return null;throw J;}m=p.findChildren(k,"ContentProtection");
2219
2222
  m=shaka.dash.ContentProtection.parseFromRepresentation(m,b,this.config_.dash.ignoreDrmInfo,this.config_.dash.keySystemsByURI);m=new Set(m?[m]:[]);x=!1;p.findChildren(k,"SupplementalProperty").some(function(J){return"tag:dolby.com,2018:dash:EC3_ExtensionType:2018"==J.attributes.schemeIdUri&&"JOC"==J.attributes.value})&&(x=!0);u=!1;y&&(u=g.includes("forced_subtitle")||g.includes("forced-subtitle"));var B;if(q&&((k=p.findChildren(k,"EssentialProperty").find(function(J){return["http://dashif.org/thumbnail_tile",
2220
- "http://dashif.org/guidelines/thumbnail_tile"].includes(J.attributes.schemeIdUri)}))&&(B=k.attributes.value),!B))return null;var H;k=a.representation.codecs;a.profiles.includes("http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10")&&(k.includes("hvc1.2.4.L153.B0")||k.includes("hev1.2.4.L153.B0"))&&(H="PQ");p=a.representation.id?a.period.id+","+a.representation.id:"";this.patchLocationNodes_.length&&r&&this.contextCache_.set(a.period.id+","+r,this.cloneContext_(a));var G=p&&this.streamMap_[p]?this.streamMap_[p]:
2221
- {id:this.globalId_++,originalId:a.representation.id,groupId:null,createSegmentIndex:function(){return Promise.resolve()},closeSegmentIndex:function(){G.segmentIndex&&(G.segmentIndex.release(),G.segmentIndex=null)},segmentIndex:null,mimeType:a.representation.mimeType,codecs:k,frameRate:a.representation.frameRate,pixelAspectRatio:a.representation.pixelAspectRatio,bandwidth:a.bandwidth,width:a.representation.width,height:a.representation.height,kind:c,encrypted:0<b.drmInfos.length,drmInfos:b.drmInfos,
2223
+ "http://dashif.org/guidelines/thumbnail_tile"].includes(J.attributes.schemeIdUri)}))&&(B=k.attributes.value),!B))return null;var H;p=a.representation.codecs;a.profiles.includes("http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10")&&(p.includes("hvc1.2.4.L153.B0")||p.includes("hev1.2.4.L153.B0"))&&(H="PQ");k=a.representation.id?a.period.id+","+a.representation.id:"";this.patchLocationNodes_.length&&r&&this.contextCache_.set(a.period.id+","+r,this.cloneContext_(a));var G=k&&this.streamMap_[k]?this.streamMap_[k]:
2224
+ {id:this.globalId_++,originalId:a.representation.id,groupId:null,createSegmentIndex:function(){return Promise.resolve()},closeSegmentIndex:function(){G.segmentIndex&&(G.segmentIndex.release(),G.segmentIndex=null)},segmentIndex:null,mimeType:a.representation.mimeType,codecs:p,frameRate:a.representation.frameRate,pixelAspectRatio:a.representation.pixelAspectRatio,bandwidth:a.bandwidth,width:a.representation.width,height:a.representation.height,kind:c,encrypted:0<b.drmInfos.length,drmInfos:b.drmInfos,
2222
2225
  keyIds:m,language:d,originalLanguage:a.adaptationSet.language,label:e,type:a.adaptationSet.contentType,primary:f,trickModeVideo:null,emsgSchemeIdUris:a.representation.emsgSchemeIdUris,roles:g,forced:u,channelsCount:a.representation.numChannels,audioSamplingRate:a.representation.audioSamplingRate,spatialAudio:x,closedCaptions:h,hdr:H,colorGamut:void 0,videoLayout:void 0,tilesLayout:B,accessibilityPurpose:l,external:!1,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(a.representation.mimeType,
2223
- a.representation.codecs)])};G.createSegmentIndex=function(){var J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(L){if(1==L.nextAddress){if(G.segmentIndex)return L.jumpTo(0);J=G;return L.yield(A.generateSegmentIndex(),3)}J.segmentIndex=L.yieldResult;L.jumpToEnd()})};p&&a.dynamic&&!this.streamMap_[p]&&(this.streamMap_[p]=G);return G};
2224
- shaka.dash.DashParser.prototype.cloneContext_=function(a){for(var b={},c=$jscomp.makeIterator(Object.keys(a)),d=c.next();!d.done;d=c.next())if(d=d.value,["period","adaptationSet","representation"].includes(d)){var e=a[d];b[d]={segmentBase:null,segmentList:null,segmentTemplate:e.segmentTemplate,getBaseUris:e.getBaseUris,width:e.width,height:e.height,contentType:e.contentType,mimeType:e.mimeType,language:e.language,codecs:e.codecs,frameRate:e.frameRate,pixelAspectRatio:e.pixelAspectRatio,emsgSchemeIdUris:e.emsgSchemeIdUris,
2225
- id:e.id,position:e.position,numChannels:e.numChannels,audioSamplingRate:e.audioSamplingRate,availabilityTimeOffset:e.availabilityTimeOffset,initialization:e.initialization}}else"periodInfo"==d?(e=a[d],b[d]={start:e.start,duration:e.duration,node:null,isLastPeriod:e.isLastPeriod}):b[d]=a[d];return b};
2226
+ a.representation.codecs)])};G.createSegmentIndex=function(){var J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(L){if(1==L.nextAddress){if(G.segmentIndex)return L.jumpTo(0);J=G;return L.yield(A.generateSegmentIndex(),3)}J.segmentIndex=L.yieldResult;L.jumpToEnd()})};k&&a.dynamic&&!this.streamMap_[k]&&(a=a.period.id||"",this.indexStreamMap_[a]||(this.indexStreamMap_[a]=[]),this.streamMap_[k]=G,this.indexStreamMap_[a].push(k));return G};
2227
+ shaka.dash.DashParser.prototype.cloneContext_=function(a){var b=function(c){if(!c)return null;c=shaka.util.ObjectUtils.shallowCloneObject(c);c.segmentBase=null;c.segmentList=null;c.segmentTemplate=shaka.util.TXml.cloneNode(c.segmentTemplate);return c};a=shaka.util.ObjectUtils.shallowCloneObject(a);a.period=b(a.period);a.adaptationSet=b(a.adaptationSet);a.representation=b(a.representation);a.periodInfo&&(a.periodInfo=shaka.util.ObjectUtils.shallowCloneObject(a.periodInfo),a.periodInfo.node=null);return a};
2226
2228
  shaka.dash.DashParser.prototype.onUpdate_=function(){var a=this,b,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){switch(d.nextAddress){case 1:return goog.asserts.assert(0<=a.updatePeriod_,"There should be an update period"),shaka.log.info("Updating manifest..."),b=0,d.setCatchFinallyBlocks(2),d.yield(a.requestManifest_(),4);case 4:b=d.yieldResult;d.leaveTryBlock(3);break;case 2:if(c=d.enterCatchBlock(),goog.asserts.assert(c instanceof shaka.util.Error,"Should only receive a Shaka error"),
2227
2229
  a.playerInterface_){if(a.config_.raiseFatalErrorOnManifestUpdateRequestFailure)return a.playerInterface_.onError(c),d.return();c.severity=shaka.util.Error.Severity.RECOVERABLE;a.playerInterface_.onError(c)}case 3:if(!a.playerInterface_)return d.return();a.playerInterface_.onManifestUpdated();a.setUpdateTimer_(b);d.jumpToEnd()}})};shaka.dash.DashParser.prototype.updateNow_=function(){this.updateTimer_.tickNow()};
2228
2230
  shaka.dash.DashParser.prototype.setUpdateTimer_=function(a){if(!(0>this.updatePeriod_)){var b=this.updatePeriod_;0<=this.config_.dash.updatePeriod&&(b=this.config_.dash.updatePeriod);a=Math.max(b-a,this.averageUpdateDuration_.getEstimate());this.updateTimer_.tickAfter(a)}};
@@ -2286,7 +2288,7 @@ shaka.hls.HlsParser.prototype.syncStreamsWithSequenceNumber_=function(a){for(var
2286
2288
  f.next()){g=$jscomp.makeIterator(g.value);var h=g.next().value;if(g.next().value==e.startTime){b&&(this.minSequenceNumber_=Math.max(this.minSequenceNumber_,h));d.firstSequenceNumber=h;break}}}}if(!(0>this.minSequenceNumber_))for(shaka.log.debug("Syncing HLS streams against base sequence number:",this.minSequenceNumber_),a=$jscomp.makeIterator(a),b=a.next();!b.done;b=a.next())if(b=b.value,this.ignoreManifestProgramDateTimeFor_(b.type)&&(c=b.stream.segmentIndex))if(d=this.minSequenceNumber_-b.firstSequenceNumber,
2287
2289
  0<d&&(c.dropFirstReferences(d),c=c.earliestReference()))c=-c.startTime,b.stream.segmentIndex.offset(c),this.offsetStreamInfo_(b,c)};
2288
2290
  shaka.hls.HlsParser.prototype.syncStreamsWithProgramDateTime_=function(a){if(Infinity==this.lowestSyncTime_){a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())b=b.value.stream.segmentIndex,goog.asserts.assert(b,"Only loaded streams should be synced"),b=b.earliestReference(),null!=b&&null!=b.syncTime&&(this.lowestSyncTime_=Math.min(this.lowestSyncTime_,b.syncTime))}a=this.lowestSyncTime_;if(Infinity!=a){shaka.log.debug("Syncing HLS streams against base time:",a);b=$jscomp.makeIterator(this.uriToStreamInfosMap_.values());
2289
- for(var c=b.next();!c.done;c=b.next())if(c=c.value,!this.ignoreManifestProgramDateTimeFor_(c.type)){var d=c.stream.segmentIndex;if(null!=d){var e=d.earliestReference();if(null==e.syncTime)shaka.log.alwaysError("Missing EXT-X-PROGRAM-DATE-TIME for stream",c.getUris(),"Expect AV sync issues!");else for(this.offsetStreamInfo_(c,e.syncTime-a-e.startTime),c=$jscomp.makeIterator(d),d=c.next();!d.done;d=c.next())d.value.syncAgainst(a)}}}};
2291
+ for(var c=b.next();!c.done;c=b.next())if(c=c.value,!this.ignoreManifestProgramDateTimeFor_(c.type)){var d=c.stream.segmentIndex;if(null!=d){var e=d.earliestReference();if(e)if(null==e.syncTime)shaka.log.alwaysError("Missing EXT-X-PROGRAM-DATE-TIME for stream",c.getUris(),"Expect AV sync issues!");else for(this.offsetStreamInfo_(c,e.syncTime-a-e.startTime),c=$jscomp.makeIterator(d),d=c.next();!d.done;d=c.next())d.value.syncAgainst(a)}}}};
2290
2292
  shaka.hls.HlsParser.prototype.offsetStreamInfo_=function(a,b){a.minTimestamp+=b;a.maxTimestamp+=b;goog.asserts.assert(0<=a.maxTimestamp,"Negative maxTimestamp after adjustment!");for(var c=this.getMediaSequenceToStartTimeFor_(a),d=$jscomp.makeIterator(c),e=d.next();!e.done;e=d.next()){var f=$jscomp.makeIterator(e.value);e=f.next().value;f=f.next().value;c.set(e,f+b)}shaka.log.debug("Offset",b,"applied to",a.getUris())};
2291
2293
  shaka.hls.HlsParser.prototype.parseManifest_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r,t,v,y,w,x,u,z,C,A,D,F,I,E,B,H,G,J,L,M,K,N;return $jscomp.asyncExecutePromiseGeneratorProgram(function(O){switch(O.nextAddress){case 1:d=shaka.hls.Utils;e=shaka.util.ManifestParserUtils.ContentType;goog.asserts.assert(c.masterPlaylistUri_,"Master playlist URI must be set before calling parseManifest_!");f=c.manifestTextParser_.parsePlaylist(a);g=d.filterTagsByName(f.tags,"EXT-X-DEFINE");h=[];k=[];l=[];goog.asserts.assert(null==
2292
2294
  c.presentationTimeline_,"Presentation timeline created early!");c.presentationTimeline_=new shaka.media.PresentationTimeline(null,0);c.presentationTimeline_.setStatic(!0);m=function(){return[b]};n=null;p=new Map;if(f.type==shaka.hls.PlaylistType.MEDIA)return c.needsClosedCaptionsDetection_=!1,u=shaka.hls.Utils.filterTagsByName(f.tags,"EXT-X-DEFINE"),p=c.parseMediaVariables_(u,c.masterPlaylistUri_),n=e.VIDEO,z="",C=new Map,O.yield(c.convertParsedPlaylistIntoStreamInfo_(c.globalId_++,p,f,m,b,"",n,z,
@@ -3122,7 +3124,7 @@ englishName:"Serbian (Serbia)"},su:{nativeName:"Basa Sunda",englishName:"Sundane
3122
3124
  tl:{nativeName:"Filipino",englishName:"Filipino"},"tl-PH":{nativeName:"Filipino",englishName:"Filipino"},tlh:{nativeName:"tlhIngan-Hol",englishName:"Klingon"},tr:{nativeName:"T\u00fcrk\u00e7e",englishName:"Turkish"},"tr-TR":{nativeName:"T\u00fcrk\u00e7e",englishName:"Turkish"},"tt-RU":{nativeName:"\u0442\u0430\u0442\u0430\u0440\u0447\u0430",englishName:"Tatar"},uk:{nativeName:"\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",englishName:"Ukrainian"},"uk-UA":{nativeName:"\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430",
3123
3125
  englishName:"Ukrainian"},ur:{nativeName:"\u0627\u0631\u062f\u0648",englishName:"Urdu"},"ur-PK":{nativeName:"\u0627\u0631\u062f\u0648",englishName:"Urdu"},uz:{nativeName:"O'zbek",englishName:"Uzbek"},"uz-UZ":{nativeName:"O'zbek",englishName:"Uzbek"},vi:{nativeName:"Ti\u1ebfng Vi\u1ec7t",englishName:"Vietnamese"},"vi-VN":{nativeName:"Ti\u1ebfng Vi\u1ec7t",englishName:"Vietnamese"},"xh-ZA":{nativeName:"isiXhosa",englishName:"Xhosa"},yi:{nativeName:"\u05d9\u05d9\u05b4\u05d3\u05d9\u05e9",englishName:"Yiddish"},
3124
3126
  "yi-DE":{nativeName:"\u05d9\u05d9\u05b4\u05d3\u05d9\u05e9 (German)",englishName:"Yiddish (German)"},zh:{nativeName:"\u4e2d\u6587",englishName:"Chinese"},"zh-HANS":{nativeName:"\u4e2d\u6587\u7b80\u4f53",englishName:"Chinese Simplified"},"zh-HANT":{nativeName:"\u4e2d\u6587\u7e41\u9ad4",englishName:"Chinese Traditional"},"zh-CN":{nativeName:"\u4e2d\u6587\uff08\u4e2d\u56fd\uff09",englishName:"Chinese Simplified (China)"},"zh-HK":{nativeName:"\u4e2d\u6587\uff08\u9999\u6e2f\uff09",englishName:"Chinese Traditional (Hong Kong)"},
3125
- "zh-SG":{nativeName:"\u4e2d\u6587\uff08\u65b0\u52a0\u5761\uff09",englishName:"Chinese Simplified (Singapore)"},"zh-TW":{nativeName:"\u4e2d\u6587\uff08\u53f0\u7063\uff09",englishName:"Chinese Traditional (Taiwan)"},"zu-ZA":{nativeName:"isiZulu",englishName:"Zulu"}}},$jscomp$iter$580=$jscomp.makeIterator(Object.keys(mozilla.LanguageMapping)),$jscomp$key$2089745539$0$key$jscomp$164=$jscomp$iter$580.next();!$jscomp$key$2089745539$0$key$jscomp$164.done;$jscomp$key$2089745539$0$key$jscomp$164=$jscomp$iter$580.next()){var key$jscomp$164=
3127
+ "zh-SG":{nativeName:"\u4e2d\u6587\uff08\u65b0\u52a0\u5761\uff09",englishName:"Chinese Simplified (Singapore)"},"zh-TW":{nativeName:"\u4e2d\u6587\uff08\u53f0\u7063\uff09",englishName:"Chinese Traditional (Taiwan)"},"zu-ZA":{nativeName:"isiZulu",englishName:"Zulu"}}},$jscomp$iter$583=$jscomp.makeIterator(Object.keys(mozilla.LanguageMapping)),$jscomp$key$2089745539$0$key$jscomp$164=$jscomp$iter$583.next();!$jscomp$key$2089745539$0$key$jscomp$164.done;$jscomp$key$2089745539$0$key$jscomp$164=$jscomp$iter$583.next()){var key$jscomp$164=
3126
3128
  $jscomp$key$2089745539$0$key$jscomp$164.value;mozilla.LanguageMapping[key$jscomp$164.toLowerCase()]=mozilla.LanguageMapping[key$jscomp$164]};shaka.ui.Element=function(a,b){var c=this;this.parent=a;this.controls=b;this.eventManager=new shaka.util.EventManager;this.localization=this.controls.getLocalization();this.player=this.controls.getPlayer();this.video=this.controls.getVideo();this.adManager=this.player.getAdManager();this.ad=b.getAd();this.eventManager.listen(this.adManager,shaka.ads.Utils.AD_STARTED,function(d){c.ad=d.ad});this.eventManager.listen(this.adManager,shaka.ads.Utils.AD_STOPPED,function(){c.ad=null})};
3127
3129
  shaka.ui.Element.prototype.release=function(){this.eventManager.release();this.ad=this.adManager=this.video=this.player=this.localization=this.eventManager=this.controls=this.parent=null};goog.exportSymbol("shaka.ui.Element",shaka.ui.Element);goog.exportProperty(shaka.ui.Element.prototype,"release",shaka.ui.Element.prototype.release);shaka.ui.Enums={};
3128
3130
  shaka.ui.Enums.MaterialDesignIcons={FULLSCREEN:"fullscreen",EXIT_FULLSCREEN:"fullscreen_exit",CLOSE:"close",CLOSED_CAPTIONS:"closed_caption",CLOSED_CAPTIONS_OFF:"closed_caption_disabled",CHECKMARK:"done",LANGUAGE:"language",PIP:"picture_in_picture_alt",EXIT_PIP:"branding_watermark",BACK:"arrow_back",RESOLUTION:"settings",MUTE:"volume_up",UNMUTE:"volume_off",CAST:"cast",EXIT_CAST:"cast_connected",OPEN_OVERFLOW:"more_vert",REWIND:"fast_rewind",FAST_FORWARD:"fast_forward",PLAY:"play_arrow",PLAYBACK_RATE:"slow_motion_video",