shaka-player 4.11.9 → 4.11.10

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.
@@ -196,7 +196,7 @@ shaka.util.Platform.isPS4=function(){return shaka.util.Platform.userAgentContain
196
196
  shaka.util.Platform.isAmazonFireTV=function(){return shaka.util.Platform.userAgentContains_("AFT")};shaka.util.Platform.isWPE=function(){return shaka.util.Platform.userAgentContains_("WPE")};shaka.util.Platform.isZenterio=function(){return shaka.util.Platform.userAgentContains_("DT_STB_BCM")};
197
197
  shaka.util.Platform.safariVersion=function(){if(!shaka.util.Platform.isApple())return null;var a=navigator.userAgent.match(/Version\/(\d+)/);return a?parseInt(a[1],10):(a=navigator.userAgent.match(/OS (\d+)(?:_\d+)?/))?parseInt(a[1],10):null};shaka.util.Platform.isSafari=function(){return!!shaka.util.Platform.safariVersion()};shaka.util.Platform.isEOS=function(){return shaka.util.Platform.userAgentContains_("PC=EOS")};shaka.util.Platform.isAPL=function(){return shaka.util.Platform.userAgentContains_("PC=APL")};
198
198
  shaka.util.Platform.isMobile=function(){return/(?:iPhone|iPad|iPod|Android)/.test(navigator.userAgent)?!0:shaka.util.Platform.isApple()&&1<navigator.maxTouchPoints};shaka.util.Platform.isMac=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"macos"==navigator.userAgentData.platform.toLowerCase():navigator.platform?navigator.platform.toLowerCase().includes("mac"):!1};
199
- shaka.util.Platform.isWindows=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"windows"==navigator.userAgentData.platform.toLowerCase():navigator.platform?navigator.platform.toLowerCase().includes("windows"):!1};shaka.util.Platform.isAndroid=function(){return shaka.util.Platform.userAgentContains_("Android")};shaka.util.Platform.isFuchsia=function(){return shaka.util.Platform.userAgentContains_("Fuchsia")};
199
+ shaka.util.Platform.isWindows=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"windows"==navigator.userAgentData.platform.toLowerCase():navigator.platform?navigator.platform.toLowerCase().includes("win32"):!1};shaka.util.Platform.isAndroid=function(){return shaka.util.Platform.userAgentContains_("Android")};shaka.util.Platform.isFuchsia=function(){return shaka.util.Platform.userAgentContains_("Fuchsia")};
200
200
  shaka.util.Platform.isSmartTV=function(){var a=shaka.util.Platform;return a.isTizen()||a.isWebOS()||a.isXboxOne()||a.isPS4()||a.isPS5()||a.isAmazonFireTV()||a.isEOS()||a.isAPL()||a.isVirginMedia()||a.isOrange()||a.isWPE()||a.isChromecast()||a.isHisense()||a.isZenterio()?!0:!1};shaka.util.Platform.userAgentContains_=function(a){return(navigator.userAgent||"").includes(a)};
201
201
  shaka.util.Platform.anyMediaElement=function(){var a=shaka.util.Platform;if(a.cachedMediaElement_)return a.cachedMediaElement_;a.cacheExpirationTimer_||(a.cacheExpirationTimer_=new shaka.util.Timer(function(){a.cachedMediaElement_=null}));a.cachedMediaElement_=document.getElementsByTagName("video")[0]||document.getElementsByTagName("audio")[0];a.cachedMediaElement_||(a.cachedMediaElement_=document.createElement("video"));a.cacheExpirationTimer_.tickAfter(1);return a.cachedMediaElement_};
202
202
  shaka.util.Platform.requiresEncryptionInfoInAllInitSegments=function(a){var b=shaka.util.Platform;a=shaka.util.DrmUtils.isPlayReadyKeySystem(a);return b.isTizen()||b.isXboxOne()||b.isOrange()||b.isEdge()&&b.isWindows()&&a};shaka.util.Platform.supportsSequenceMode=function(){var a=shaka.util.Platform;return a.isTizen3()||a.isTizen2()||a.isWebOS3()||a.isPS4()?!1:!0};
@@ -376,7 +376,7 @@ shaka.util.StreamUtils.checkEachDecodingConfigCombination_=function(a){var b=[""
376
376
  shaka.util.MimeUtils.getBasicType(h.copy$jscomp$1.video.contentType);h.copy$jscomp$1.video.contentType=shaka.util.MimeUtils.getFullType(k,e)}a.audio&&(k=shaka.util.MimeUtils.getBasicType(h.copy$jscomp$1.audio.contentType),h.copy$jscomp$1.audio.contentType=shaka.util.MimeUtils.getFullType(k,g));d.push(new Promise(function(l){return function(m,n){navigator.mediaCapabilities.decodingInfo(l.copy$jscomp$1).then(function(p){m(p)}).catch(n)}}(h)))}}return Promise.all(d).catch(function(l){shaka.log.info("MediaCapabilities.decodingInfo() failed.",
377
377
  JSON.stringify(a),l);return null})};
378
378
  shaka.util.StreamUtils.getDecodingInfosForVariants=function(a,b,c,d){var e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C;return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){switch(A.nextAddress){case 1:if(e=a.some(function(B){return B.decodingInfos.length}))return shaka.log.debug("Already got the variants' decodingInfo."),A.return();f=$jscomp.makeIterator(d);g=f.next();h={};case 2:if(g.done){A.jumpTo(4);break}h.preferredKeySystem=g.value;k=!1;l=$jscomp.makeIterator(a);m=l.next();case 5:if(m.done){A.jumpTo(7);
379
- break}n=m.value;p=shaka.util.StreamUtils.getDecodingConfigs_(n,b,c).filter(function(B){return function(E){E=E[0];return(E.keySystemConfiguration&&E.keySystemConfiguration.keySystem)===B.preferredKeySystem}}(h));q=$jscomp.makeIterator(p);r=q.next();case 8:if(r.done){A.jumpTo(10);break}t=r.value;return A.yield(shaka.util.StreamUtils.getDecodingInfosForVariant_(n,t),9);case 9:r=q.next();A.jumpTo(8);break;case 10:n.decodingInfos.length&&(k=!0);m=l.next();A.jumpTo(5);break;case 7:if(k)return A.return();
379
+ break}n=m.value;p=shaka.util.StreamUtils.getDecodingConfigs_(n,b,c).filter(function(B){return function(D){D=D[0];return(D.keySystemConfiguration&&D.keySystemConfiguration.keySystem)===B.preferredKeySystem}}(h));q=$jscomp.makeIterator(p);r=q.next();case 8:if(r.done){A.jumpTo(10);break}t=r.value;return A.yield(shaka.util.StreamUtils.getDecodingInfosForVariant_(n,t),9);case 9:r=q.next();A.jumpTo(8);break;case 10:n.decodingInfos.length&&(k=!0);m=l.next();A.jumpTo(5);break;case 7:if(k)return A.return();
380
380
  h={preferredKeySystem:void 0};g=f.next();A.jumpTo(2);break;case 4:u=$jscomp.makeIterator(a),v=u.next();case 12:if(v.done){A.jumpTo(0);break}x=v.value;y=shaka.util.StreamUtils.getDecodingConfigs_(x,b,c).filter(function(B){B=B[0];B=B.keySystemConfiguration&&B.keySystemConfiguration.keySystem;return!B||!d.includes(B)});w=$jscomp.makeIterator(y);z=w.next();case 15:if(z.done){v=u.next();A.jumpTo(12);break}C=z.value;return A.yield(shaka.util.StreamUtils.getDecodingInfosForVariant_(x,C),16);case 16:z=w.next(),
381
381
  A.jumpTo(15)}})};
382
382
  shaka.util.StreamUtils.getDecodingConfigs_=function(a,b,c){var d=a.audio,e=a.video,f=shaka.util.ManifestParserUtils.ContentType,g=shaka.util.ManifestParserUtils,h=shaka.util.MimeUtils,k=shaka.util.StreamUtils,l=[],m=[];if(e)for(var n=$jscomp.makeIterator(e.fullMimeTypes),p=n.next();!p.done;p=n.next()){p=p.value;var q=h.getCodecs(p);if(q.includes(",")&&!d){var r=q.split(","),t=h.getBasicType(p);q=g.guessCodecs(f.VIDEO,r);r=g.guessCodecs(f.AUDIO,r);r=k.getCorrectAudioCodecs(r,t);t=h.getFullOrConvertedType(t,
@@ -447,7 +447,7 @@ this.videoLabel_),a.length?c=a:shaka.log.warning("No exact match for video label
447
447
  return new shaka.media.AdaptationSet(c[0],c,!b,this.enableAudioGroups_)};shaka.media.PreferenceBasedCriteria.filterByLanguage_=function(a,b){var c=shaka.util.LanguageUtils;b=c.normalize(b);var d=c.findClosestLocale(b,a.map(function(e){return c.getLocaleForVariant(e)}));return d?a.filter(function(e){return d==c.getLocaleForVariant(e)}):[]};
448
448
  shaka.media.PreferenceBasedCriteria.filterVariantsByRole_=function(a,b){return a.filter(function(c){return c.audio?b?c.audio.roles.includes(b):0==c.audio.roles.length:!1})};shaka.media.PreferenceBasedCriteria.filterVariantsByAudioLabel_=function(a,b){return a.filter(function(c){if(!c.audio||!c.audio.label)return!1;c=c.audio.label.toLowerCase();var d=b.toLowerCase();return c==d})};
449
449
  shaka.media.PreferenceBasedCriteria.filterVariantsByVideoLabel_=function(a,b){return a.filter(function(c){if(!c.video||!c.video.label)return!1;c=c.video.label.toLowerCase();var d=b.toLowerCase();return c==d})};shaka.media.PreferenceBasedCriteria.filterVariantsByAudioChannelCount_=function(a,b){return a.filter(function(c){return c.audio&&c.audio.channelsCount&&c.audio.channelsCount!=b?!1:!0})};
450
- shaka.media.PreferenceBasedCriteria.filterVariantsByHDRLevel_=function(a,b){"AUTO"==b&&(b=window.matchMedia("(color-gamut: p3)").matches?"PQ":"SDR");return a.filter(function(c){return c.video&&c.video.hdr&&c.video.hdr!=b?!1:!0})};shaka.media.PreferenceBasedCriteria.filterVariantsByVideoLayout_=function(a,b){return a.filter(function(c){return c.video&&c.video.videoLayout&&c.video.videoLayout!=b?!1:!0})};
450
+ shaka.media.PreferenceBasedCriteria.filterVariantsByHDRLevel_=function(a,b){"AUTO"==b&&(b=window.matchMedia("(color-gamut: p3)").matches?a.some(function(c){return c.video&&c.video.hdr&&"HLG"==c.video.hdr?!0:!1})?"HLG":"PQ":"SDR");return a.filter(function(c){return c.video&&c.video.hdr&&c.video.hdr!=b?!1:!0})};shaka.media.PreferenceBasedCriteria.filterVariantsByVideoLayout_=function(a,b){return a.filter(function(c){return c.video&&c.video.videoLayout&&c.video.videoLayout!=b?!1:!0})};
451
451
  shaka.media.PreferenceBasedCriteria.filterVariantsBySpatialAudio_=function(a,b){return a.filter(function(c){return c.audio&&c.audio.spatialAudio!=b?!1:!0})};shaka.media.PreferenceBasedCriteria.filterVariantsByAudioCodec_=function(a,b){return a.filter(function(c){return c.audio&&c.audio.codecs!=b?!1:!0})};shaka.media.BufferingObserver=function(a,b){var c=shaka.media.BufferingObserver.State;this.previousState_=c.SATISFIED;this.thresholds_=(new Map).set(c.SATISFIED,b).set(c.STARVING,a);this.lastRebufferTime_=0};shaka.media.BufferingObserver.prototype.setThresholds=function(a,b){var c=shaka.media.BufferingObserver.State;this.thresholds_.set(c.SATISFIED,b).set(c.STARVING,a)};
452
452
  shaka.media.BufferingObserver.prototype.update=function(a,b){var c=shaka.media.BufferingObserver.State,d=this.thresholds_.get(this.previousState_),e=this.previousState_;this.previousState_=a=b||a>=d?c.SATISFIED:c.STARVING;(e=e!=a)&&a===c.SATISFIED&&(this.lastRebufferTime_=Date.now());return e};shaka.media.BufferingObserver.prototype.setState=function(a){this.previousState_=a};shaka.media.BufferingObserver.prototype.getState=function(){return this.previousState_};
453
453
  shaka.media.BufferingObserver.prototype.getLastRebufferTime=function(){return this.lastRebufferTime_};shaka.media.BufferingObserver.prototype.resetLastRebufferTime=function(){this.lastRebufferTime_=0};shaka.media.BufferingObserver.State={STARVING:0,SATISFIED:1};shaka.net={};
@@ -482,7 +482,7 @@ shaka.net.NetworkingEngine.prototype.filterRequest_=function(a,b,c){var d=shaka.
482
482
  shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.REQUEST_FILTER_ERROR,h);})};shaka.net.NetworkingEngine.prototype.makeRequestWithRetry_=function(a,b,c,d){var e=new shaka.net.Backoff(b.retryParameters,!1);return this.send_(a,b,c,e,0,null,d)};
483
483
  shaka.net.NetworkingEngine.prototype.send_=function(a,b,c,d,e,f,g){var h=this;this.forceHTTP_&&(b.uris[e]=b.uris[e].replace("https://","http://"));this.forceHTTPS_&&(b.uris[e]=b.uris[e].replace("http://","https://"));if(0<e&&this.onRetry_)this.onRetry_(a,c,b.uris[e],b.uris[e-1]);var k=new goog.Uri(b.uris[e]),l=k.getScheme(),m=!1;l||(l=shaka.net.NetworkingEngine.getLocationProtocol_(),goog.asserts.assert(":"==l[l.length-1],"location.protocol expected to end with a colon!"),l=l.slice(0,-1),k.setScheme(l),
484
484
  b.uris[e]=k.toString());l=l.toLowerCase();var n=(l=shaka.net.NetworkingEngine.schemes_[l])?l.plugin:null;if(!n)return shaka.util.AbortableOperation.failed(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.UNSUPPORTED_SCHEME,k));var p=l.progressSupport,q=null,r=null,t=!1,u=!1,v;return shaka.util.AbortableOperation.notAbortable(d.attempt()).chain(function(){if(h.destroyed_)return shaka.util.AbortableOperation.aborted();v=Date.now();var x=
485
- shaka.net.NetworkingEngine.RequestType.SEGMENT,y=0;b.requestStartTime=Date.now();var w=n(b.uris[e],b,a,function(A,B,E){q&&q.stop();r&&r.tickAfter(C/1E3);if(h.onProgressUpdated_&&a==x){y++;b.packetNumber=y;var G=h.allowSwitch_(c);h.onProgressUpdated_(A,B,G,b);m=!0;g.setBytes(E)}},function(A){if(h.onHeadersReceived_)h.onHeadersReceived_(A,b,a);u=!0;b.timeToFirstByte=Date.now()-b.requestStartTime},{minBytesForProgressEvents:h.minBytesForProgressEvents_});if(!p)return w;var z=b.retryParameters.connectionTimeout;
485
+ shaka.net.NetworkingEngine.RequestType.SEGMENT,y=0;b.requestStartTime=Date.now();var w=n(b.uris[e],b,a,function(A,B,D){q&&q.stop();r&&r.tickAfter(C/1E3);if(h.onProgressUpdated_&&a==x){y++;b.packetNumber=y;var G=h.allowSwitch_(c);h.onProgressUpdated_(A,B,G,b);m=!0;g.setBytes(D)}},function(A){if(h.onHeadersReceived_)h.onHeadersReceived_(A,b,a);u=!0;b.timeToFirstByte=Date.now()-b.requestStartTime},{minBytesForProgressEvents:h.minBytesForProgressEvents_});if(!p)return w;var z=b.retryParameters.connectionTimeout;
486
486
  z&&(q=new shaka.util.Timer(function(){t=!0;w.abort()}),q.tickAfter(z/1E3));var C=b.retryParameters.stallTimeout;C&&(r=new shaka.util.Timer(function(){t=!0;w.abort()}));return w}).chain(function(x){q&&q.stop();r&&r.stop();void 0==x.timeMs&&(x.timeMs=Date.now()-v);var y={response:x,gotProgress:m};if(!u&&h.onHeadersReceived_)h.onHeadersReceived_(x.headers,b,a);return y},function(x){q&&q.stop();r&&r.stop();if(h.onDownloadFailed_){var y=null,w=0;x instanceof shaka.util.Error&&(y=x,x.code==shaka.util.Error.Code.BAD_HTTP_STATUS&&
487
487
  (w=x.data[1]));h.onDownloadFailed_(b,y,w,t)}if(h.destroyed_)return shaka.util.AbortableOperation.aborted();t&&(x=new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.TIMEOUT,b.uris[e],a));if(x instanceof shaka.util.Error){if(x.code==shaka.util.Error.Code.OPERATION_ABORTED)throw x;if(x.code==shaka.util.Error.Code.ATTEMPTS_EXHAUSTED)throw goog.asserts.assert(f,"Should have last error"),f;if(x.severity==shaka.util.Error.Severity.RECOVERABLE)return y=
488
488
  (new Map).set("error",x),y=new shaka.util.FakeEvent("retry",y),h.dispatchEvent(y),e=(e+1)%b.uris.length,h.send_(a,b,c,d,e,x,g)}throw x;})};
@@ -587,14 +587,14 @@ shaka.media.DrmEngine.prototype.unpackPlayReadyRequest_=function(a){var b=shaka.
587
587
  shaka.media.DrmEngine.prototype.onKeyStatusesChange_=function(a){var b=this;a=a.target;shaka.log.v2("Key status changed for session",a.sessionId);var c=this.activeSessions_.get(a),d=!1;a.keyStatuses.forEach(function(f,g){if("string"==typeof g){var h=g;g=f;f=h}if(shaka.util.DrmUtils.isPlayReadyKeySystem(b.currentDrmInfo_.keySystem)&&16==g.byteLength&&(shaka.util.Platform.isEdge()||shaka.util.Platform.isPS4())){h=shaka.util.BufferUtils.toDataView(g);var k=h.getUint32(0,!0),l=h.getUint16(4,!0),m=h.getUint16(6,
588
588
  !0);h.setUint32(0,k,!1);h.setUint16(4,l,!1);h.setUint16(6,m,!1)}"status-pending"!=f&&(c.loaded=!0);c||goog.asserts.assert("usable"!=f,"Usable keys found in closed session");"expired"==f&&(d=!0);g=shaka.util.Uint8ArrayUtils.toHex(g).slice(0,32);b.keyStatusByKeyId_.set(g,f)});var e=a.expiration-Date.now();(0>e||d&&1E3>e)&&c&&!c.updatePromise&&(shaka.log.debug("Session has expired",a.sessionId),this.activeSessions_.delete(a),a.close().catch(function(){}));this.areAllSessionsLoaded_()&&(this.allSessionsLoaded_.resolve(),
589
589
  this.keyStatusTimer_.tickAfter(shaka.media.DrmEngine.KEY_STATUS_BATCH_TIME))};shaka.media.DrmEngine.prototype.processKeyStatusChanges_=function(){var a=this.keyStatusByKeyId_,b=this.announcedKeyStatusByKeyId_;b.clear();a.forEach(function(c,d){return b.set(d,c)});a=Array.from(b.values());if(a.length&&a.every(function(c){return"expired"==c}))this.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.EXPIRED));this.playerInterface_.onKeyStatus(shaka.util.MapUtils.asObject(b))};
590
- shaka.media.DrmEngine.probeSupport=function(){var a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){if(1==F.nextAddress){goog.asserts.assert(shaka.util.DrmUtils.isBrowserSupported(),"Must have basic EME support");a="org.w3.clearkey com.widevine.alpha com.microsoft.playready com.microsoft.playready.hardware com.microsoft.playready.recommendation com.chromecast.playready com.apple.fps.1_0 com.apple.fps".split(" ");b=["SW_SECURE_CRYPTO",
591
- "SW_SECURE_DECODE","HW_SECURE_CRYPTO","HW_SECURE_DECODE","HW_SECURE_ALL"];c=["150","2000","3000"];d={"com.widevine.alpha":b,"com.microsoft.playready.recommendation":c};e=[{contentType:'video/mp4; codecs="avc1.42E01E"'},{contentType:'video/webm; codecs="vp8"'}];f=[{contentType:'audio/mp4; codecs="mp4a.40.2"'},{contentType:'audio/webm; codecs="opus"'}];g={videoCapabilities:e,audioCapabilities:f,initDataTypes:["cenc","sinf","skd","keyids"]};h=[null,"cenc","cbcs","cbcs-1-9"];k=new Map;l=function(D,I){var J,
592
- M,K,L,N,P,O,T;return $jscomp.asyncExecutePromiseGeneratorProgram(function(R){switch(R.nextAddress){case 1:return R.setCatchFinallyBlocks(2),R.yield(I.createMediaKeys(),4);case 4:R.leaveTryBlock(3);break;case 2:return R.enterCatchBlock(),R.return();case 3:M=(J=I.getConfiguration().sessionTypes)?J.includes("persistent-license"):!1,shaka.util.Platform.isTizen3()&&(M=!1),K=I.getConfiguration().videoCapabilities,L=I.getConfiguration().audioCapabilities,N={persistentState:M,encryptionSchemes:[],videoRobustnessLevels:[],
593
- audioRobustnessLevels:[]},k.has(D)&&k.get(D)?N=k.get(D):k.set(D,N),(P=K[0].encryptionScheme)&&!N.encryptionSchemes.includes(P)&&N.encryptionSchemes.push(P),(O=K[0].robustness)&&!N.videoRobustnessLevels.includes(O)&&N.videoRobustnessLevels.push(O),(T=L[0].robustness)&&!N.audioRobustnessLevels.includes(T)&&N.audioRobustnessLevels.push(T),R.jumpToEnd()}})};m=function(D,I,J,M){var K,L,N,P,O,T,R,S,V,U;return $jscomp.asyncExecutePromiseGeneratorProgram(function(Q){switch(Q.nextAddress){case 1:Q.setCatchFinallyBlocks(2);
594
- K=shaka.util.ObjectUtils.cloneObject(g);L=$jscomp.makeIterator(K.videoCapabilities);for(N=L.next();!N.done;N=L.next())P=N.value,P.encryptionScheme=I,P.robustness=J;O=$jscomp.makeIterator(K.audioCapabilities);for(T=O.next();!T.done;T=O.next())R=T.value,R.encryptionScheme=I,R.robustness=M;S=shaka.util.ObjectUtils.cloneObject(K);S.persistentState="required";S.sessionTypes=["persistent-license"];V=[S,K];return Q.yield(navigator.requestMediaKeySystemAccess(D,V),4);case 4:return U=Q.yieldResult,Q.yield(l(D,
595
- U),5);case 5:Q.leaveTryBlock(0);break;case 2:Q.enterCatchBlock(),Q.jumpToEnd()}})};n=function(D,I,J,M){var K,L,N;return $jscomp.asyncExecutePromiseGeneratorProgram(function(P){switch(P.nextAddress){case 1:return P.setCatchFinallyBlocks(2),K={type:"media-source",video:{contentType:e[0].contentType,width:640,height:480,bitrate:1,framerate:1},audio:{contentType:f[0].contentType,channels:2,bitrate:1,samplerate:1},keySystemConfiguration:{keySystem:D,video:{encryptionScheme:I,robustness:J},audio:{encryptionScheme:I,
596
- robustness:M}}},P.yield(navigator.mediaCapabilities.decodingInfo(K),4);case 4:return L=P.yieldResult,N=L.keySystemAccess,P.yield(l(D,N),5);case 5:P.leaveTryBlock(0);break;case 2:P.enterCatchBlock(),P.jumpToEnd()}})};p=$jscomp.makeIterator(a);for(q=p.next();!q.done;q=p.next())r=q.value,k.set(r,null);t=[];u=$jscomp.makeIterator(h);for(v=u.next();!v.done;v=u.next())for(x=v.value,y=$jscomp.makeIterator(a),w=y.next();!w.done;w=y.next())z=w.value,"org.w3.clearkey"===z&&shaka.util.Platform.isSafari()||(t.push(m(z,
597
- x,"","")),t.push(n(z,x,"","")));C=$jscomp.makeIterator(a);for(A=C.next();!A.done;A=C.next())for(B=A.value,E=$jscomp.makeIterator(d[B]||[]),G=E.next();!G.done;G=E.next())H=G.value,t.push(m(B,null,H,"")),t.push(m(B,null,"",H)),t.push(n(B,null,H,"")),t.push(n(B,null,"",H));return F.yield(Promise.all(t),2)}return F.return(shaka.util.MapUtils.asObject(k))})};
590
+ shaka.media.DrmEngine.probeSupport=function(){var a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){if(1==F.nextAddress){goog.asserts.assert(shaka.util.DrmUtils.isBrowserSupported(),"Must have basic EME support");a="org.w3.clearkey com.widevine.alpha com.microsoft.playready com.microsoft.playready.hardware com.microsoft.playready.recommendation com.chromecast.playready com.apple.fps.1_0 com.apple.fps".split(" ");b=["SW_SECURE_CRYPTO",
591
+ "SW_SECURE_DECODE","HW_SECURE_CRYPTO","HW_SECURE_DECODE","HW_SECURE_ALL"];c=["150","2000","3000"];d={"com.widevine.alpha":b,"com.microsoft.playready.recommendation":c};e=[{contentType:'video/mp4; codecs="avc1.42E01E"'},{contentType:'video/webm; codecs="vp8"'}];f=[{contentType:'audio/mp4; codecs="mp4a.40.2"'},{contentType:'audio/webm; codecs="opus"'}];g={videoCapabilities:e,audioCapabilities:f,initDataTypes:["cenc","sinf","skd","keyids"]};h=[null,"cenc","cbcs","cbcs-1-9"];k=new Map;l=function(E,M){var I,
592
+ H,K,L,N,P,O,T;return $jscomp.asyncExecutePromiseGeneratorProgram(function(R){switch(R.nextAddress){case 1:return R.setCatchFinallyBlocks(2),R.yield(M.createMediaKeys(),4);case 4:R.leaveTryBlock(3);break;case 2:return R.enterCatchBlock(),R.return();case 3:H=(I=M.getConfiguration().sessionTypes)?I.includes("persistent-license"):!1,shaka.util.Platform.isTizen3()&&(H=!1),K=M.getConfiguration().videoCapabilities,L=M.getConfiguration().audioCapabilities,N={persistentState:H,encryptionSchemes:[],videoRobustnessLevels:[],
593
+ audioRobustnessLevels:[]},k.has(E)&&k.get(E)?N=k.get(E):k.set(E,N),(P=K[0].encryptionScheme)&&!N.encryptionSchemes.includes(P)&&N.encryptionSchemes.push(P),(O=K[0].robustness)&&!N.videoRobustnessLevels.includes(O)&&N.videoRobustnessLevels.push(O),(T=L[0].robustness)&&!N.audioRobustnessLevels.includes(T)&&N.audioRobustnessLevels.push(T),R.jumpToEnd()}})};m=function(E,M,I,H){var K,L,N,P,O,T,R,S,V,U;return $jscomp.asyncExecutePromiseGeneratorProgram(function(Q){switch(Q.nextAddress){case 1:Q.setCatchFinallyBlocks(2);
594
+ K=shaka.util.ObjectUtils.cloneObject(g);L=$jscomp.makeIterator(K.videoCapabilities);for(N=L.next();!N.done;N=L.next())P=N.value,P.encryptionScheme=M,P.robustness=I;O=$jscomp.makeIterator(K.audioCapabilities);for(T=O.next();!T.done;T=O.next())R=T.value,R.encryptionScheme=M,R.robustness=H;S=shaka.util.ObjectUtils.cloneObject(K);S.persistentState="required";S.sessionTypes=["persistent-license"];V=[S,K];return Q.yield(navigator.requestMediaKeySystemAccess(E,V),4);case 4:return U=Q.yieldResult,Q.yield(l(E,
595
+ U),5);case 5:Q.leaveTryBlock(0);break;case 2:Q.enterCatchBlock(),Q.jumpToEnd()}})};n=function(E,M,I,H){var K,L,N;return $jscomp.asyncExecutePromiseGeneratorProgram(function(P){switch(P.nextAddress){case 1:return P.setCatchFinallyBlocks(2),K={type:"media-source",video:{contentType:e[0].contentType,width:640,height:480,bitrate:1,framerate:1},audio:{contentType:f[0].contentType,channels:2,bitrate:1,samplerate:1},keySystemConfiguration:{keySystem:E,video:{encryptionScheme:M,robustness:I},audio:{encryptionScheme:M,
596
+ robustness:H}}},P.yield(navigator.mediaCapabilities.decodingInfo(K),4);case 4:return L=P.yieldResult,N=L.keySystemAccess,P.yield(l(E,N),5);case 5:P.leaveTryBlock(0);break;case 2:P.enterCatchBlock(),P.jumpToEnd()}})};p=$jscomp.makeIterator(a);for(q=p.next();!q.done;q=p.next())r=q.value,k.set(r,null);t=[];u=$jscomp.makeIterator(h);for(v=u.next();!v.done;v=u.next())for(x=v.value,y=$jscomp.makeIterator(a),w=y.next();!w.done;w=y.next())z=w.value,"org.w3.clearkey"===z&&shaka.util.Platform.isSafari()||(t.push(m(z,
597
+ x,"","")),t.push(n(z,x,"","")));C=$jscomp.makeIterator(a);for(A=C.next();!A.done;A=C.next())for(B=A.value,D=$jscomp.makeIterator(d[B]||[]),G=D.next();!G.done;G=D.next())J=G.value,t.push(m(B,null,J,"")),t.push(m(B,null,"",J)),t.push(n(B,null,J,"")),t.push(n(B,null,"",J));return F.yield(Promise.all(t),2)}return F.return(shaka.util.MapUtils.asObject(k))})};
598
598
  shaka.media.DrmEngine.prototype.onPlay_=function(){for(var a=$jscomp.makeIterator(this.mediaKeyMessageEvents_),b=a.next();!b.done;b=a.next())this.sendLicenseRequest_(b.value);this.initialRequestsSent_=!0;this.mediaKeyMessageEvents_=[]};
599
599
  shaka.media.DrmEngine.prototype.closeSession_=function(a){var b,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return b=shaka.media.DrmEngine,c=new Promise(function(e,f){(new shaka.util.Timer(f)).tickAfter(b.CLOSE_TIMEOUT_)}),d.setCatchFinallyBlocks(2),d.yield(Promise.race([Promise.all([a.close(),a.closed]),c]),4);if(2!=d.nextAddress)return d.leaveTryBlock(0);d.enterCatchBlock();shaka.log.warning("Timeout waiting for session close");d.jumpToEnd()})};
600
600
  shaka.media.DrmEngine.prototype.closeOpenSessions_=function(){var a=this,b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){b=Array.from(a.activeSessions_.entries());a.activeSessions_.clear();return c.yield(Promise.all(b.map(function(d){d=$jscomp.makeIterator(d);var e=d.next().value,f=d.next().value,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress){h.setCatchFinallyBlocks(2);if(!a.initializedForStorage_&&!a.storedPersistentSessions_.has(e.sessionId)&&
@@ -637,7 +637,7 @@ shaka.media.ContentWorkarounds.fakeEncryption=function(a,b){var c=shaka.media.Co
637
637
  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,
638
638
  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!"),
639
639
  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()&&
640
- shaka.util.Platform.isWindows()?(b=new Uint8Array(a.byteLength+d.byteLength),b.set(d),b.set(a,d.byteLength),b):d};
640
+ shaka.util.Platform.isWindows()&&!shaka.util.Platform.isXboxOne()?(b=new Uint8Array(a.byteLength+d.byteLength),b.set(d),b.set(a,d.byteLength),b):d};
641
641
  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!"),
642
642
  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};
643
643
  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};
@@ -754,8 +754,8 @@ shaka.lcevc.Dec.prototype.updateVariant=function(a,b){var c=shaka.lcevc.Dec.Cont
754
754
  this.dec_.setStreamingFormat(d))};goog.exportSymbol("shaka.lcevc.Dec",shaka.lcevc.Dec);goog.exportProperty(shaka.lcevc.Dec.prototype,"release",shaka.lcevc.Dec.prototype.release);shaka.lcevc.Dec.ContainerFormat={MPEG2_TS:0,WEBM:1,MP4:2};shaka.lcevc.Dec.StreamingFormat={HLS:0,DASH:1,OTHER:-1};shaka.media.MediaSourceEngine=function(a,b,c,d){var e=this;this.video_=a;this.playerInterface_=c;this.config_=null;this.textDisplayer_=b;this.sourceBuffers_={};this.sourceBufferTypes_={};this.expectedEncryption_={};this.textEngine_=null;this.segmentRelativeVttTiming_=!1;this.lcevcDec_=d||null;this.queues_={};this.eventManager_=new shaka.util.EventManager;this.transmuxers_={};this.captionParser_=null;this.mediaSourceOpen_=new shaka.util.PublicPromise;this.url_="";this.playbackHasBegun_=!1;this.mediaSource_=
755
755
  this.createMediaSource(this.mediaSourceOpen_);this.reloadingMediaSource_=!1;this.destroyer_=new shaka.util.Destroyer(function(){return e.doDestroy_()});this.sequenceMode_=!1;this.manifestType_=shaka.media.ManifestParser.UNKNOWN;this.attemptTimestampOffsetCalculation_=this.ignoreManifestTimestampsInSegmentsMode_=!1;this.textSequenceModeOffset_=new shaka.util.PublicPromise;this.needSplitMuxedContent_=!1;this.streamingAllowed_=!0;this.firstAudioReferenceStartTime_=this.firstAudioTimestamp_=this.firstVideoReferenceStartTime_=
756
756
  this.firstVideoTimestamp_=this.tsParser_=this.lastDuration_=null;this.audioCompensation_=new shaka.util.PublicPromise};
757
- shaka.media.MediaSourceEngine.prototype.createMediaSource=function(a){var b=this;if(window.ManagedMediaSource){this.video_.disableRemotePlayback=!0;var c=new ManagedMediaSource;this.eventManager_.listen(c,"startstreaming",function(){b.streamingAllowed_=!0});this.eventManager_.listen(c,"endstreaming",function(){b.streamingAllowed_=!1})}else c=new MediaSource;this.eventManager_.listenOnce(c,"sourceopen",function(){return b.onSourceOpen_(a)});this.eventManager_.listenOnce(this.video_,"playing",function(){b.playbackHasBegun_=
758
- !0});this.url_=shaka.media.MediaSourceEngine.createObjectURL(c);this.video_.src=this.url_;return c};shaka.media.MediaSourceEngine.prototype.onSourceOpen_=function(a){goog.asserts.assert(this.url_,"Must have object URL");URL.revokeObjectURL(this.url_);a.resolve()};
757
+ shaka.media.MediaSourceEngine.prototype.createMediaSource=function(a){var b=this;this.streamingAllowed_=!0;if(window.ManagedMediaSource){this.video_.disableRemotePlayback=!0;var c=new ManagedMediaSource;this.eventManager_.listen(c,"startstreaming",function(){shaka.log.info("MMS startstreaming");b.streamingAllowed_=!0});this.eventManager_.listen(c,"endstreaming",function(){shaka.log.info("MMS endstreaming");b.streamingAllowed_=!1})}else c=new MediaSource;this.eventManager_.listenOnce(c,"sourceopen",
758
+ function(){return b.onSourceOpen_(a)});this.eventManager_.listenOnce(this.video_,"playing",function(){b.playbackHasBegun_=!0});this.url_=shaka.media.MediaSourceEngine.createObjectURL(c);this.video_.src=this.url_;return c};shaka.media.MediaSourceEngine.prototype.onSourceOpen_=function(a){goog.asserts.assert(this.url_,"Must have object URL");URL.revokeObjectURL(this.url_);a.resolve()};
759
759
  shaka.media.MediaSourceEngine.isStreamSupported=function(a,b){var c,d,e,f,g,h,k,l,m,n,p,q,r,t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){if(1==u.nextAddress)return a.createSegmentIndex?u.yield(a.createSegmentIndex(),2):u.jumpTo(2);if(!a.segmentIndex)return u.return(!1);if(a.segmentIndex.isEmpty())return u.return(!0);c=shaka.util.MimeUtils;d=shaka.transmuxer.TransmuxerEngine;e=shaka.util.ManifestParserUtils.ContentType;f=shaka.util.StreamUtils;g=new Set;h=$jscomp.makeIterator(a.segmentIndex);
760
760
  for(k=h.next();!k.done;k=h.next())if(l=k.value,m=l.mimeType||a.mimeType||"",n=l.codecs||a.codecs||"",p=m+":"+n,!g.has(p))if(g.add(p),b==e.TEXT){if(q=c.getFullType(m,n),!shaka.text.TextEngine.isTypeSupported(q))return u.return(!1)}else if(b==e.VIDEO?n=f.getCorrectVideoCodecs(n):b==e.AUDIO&&(n=f.getCorrectAudioCodecs(n,m)),r=c.getExtendedType(a,m,n),t=c.getFullTypeWithAllCodecs(m,n),!shaka.media.Capabilities.isTypeSupported(r)&&!d.isSupported(t,a.type))return u.return(!1);return u.return(!0)})};
761
761
  shaka.media.MediaSourceEngine.probeSupport=function(){var a='video/mp4; codecs="avc1.42E01E",video/mp4; codecs="avc3.42E01E",video/mp4; codecs="hev1.1.6.L93.90",video/mp4; codecs="hvc1.1.6.L93.90",video/mp4; codecs="hev1.2.4.L153.B0"; eotf="smpte2084",video/mp4; codecs="hvc1.2.4.L153.B0"; eotf="smpte2084",video/mp4; codecs="vp9",video/mp4; codecs="vp09.00.10.08",video/mp4; codecs="av01.0.01M.08",video/mp4; codecs="dvh1.20.01",audio/mp4; codecs="mp4a.40.2",audio/mp4; codecs="ac-3",audio/mp4; codecs="ec-3",audio/mp4; codecs="ac-4.02.01.01",audio/mp4; codecs="opus",audio/mp4; codecs="flac",audio/mp4; codecs="dtsc",audio/mp4; codecs="dtse",audio/mp4; codecs="dtsx",video/webm; codecs="vp8",video/webm; codecs="vp9",video/webm; codecs="vp09.00.10.08",audio/webm; codecs="vorbis",audio/webm; codecs="opus",video/mp2t; codecs="avc1.42E01E",video/mp2t; codecs="avc3.42E01E",video/mp2t; codecs="hvc1.1.6.L93.90",video/mp2t; codecs="mp4a.40.2",video/mp2t; codecs="ac-3",video/mp2t; codecs="ec-3",text/vtt,application/mp4; codecs="wvtt",application/ttml+xml,application/mp4; codecs="stpp"'.split(",").concat($jscomp.arrayFromIterable(shaka.util.MimeUtils.RAW_FORMATS)),
@@ -770,23 +770,23 @@ d.sequenceMode_,b.external);u.jumpTo(0);break}k=d.config_.forceTransmux;if(!shak
770
770
  b,m),6);case 6:return u.yield(d.initSourceBuffer_(e.VIDEO,b,n),7);case 7:return u.return();case 5:if(p=shaka.transmuxer.TransmuxerEngine.findTransmuxer(l))q=p(),d.transmuxers_[a]=q,h=q.convertCodecs(a,l);case 4:r=d.addExtraFeaturesToMimeType_(h);d.destroyer_.ensureNotDestroyed();try{t=d.mediaSource_.addSourceBuffer(r)}catch(v){throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW,v,"The mediaSource_ status was "+
771
771
  d.mediaSource_.readyState+" expected 'open'",null);}d.sequenceMode_&&(t.mode=shaka.media.MediaSourceEngine.SourceBufferMode_.SEQUENCE);d.eventManager_.listen(t,"error",function(){return d.onError_(a)});d.eventManager_.listen(t,"updateend",function(){return d.onUpdateEnd_(a)});d.sourceBuffers_[a]=t;d.sourceBufferTypes_[a]=h;d.expectedEncryption_[a]=!!b.drmInfos.length;u.jumpToEnd()}})};shaka.media.MediaSourceEngine.prototype.configure=function(a){this.config_=a;this.textEngine_&&this.textEngine_.setModifyCueCallback(a.modifyCueCallback)};
772
772
  shaka.media.MediaSourceEngine.prototype.isStreamingAllowed=function(){return this.streamingAllowed_};shaka.media.MediaSourceEngine.prototype.reinitText=function(a,b,c){this.textEngine_||(this.textEngine_=new shaka.text.TextEngine(this.textDisplayer_),this.textEngine_.setModifyCueCallback(this.config_.modifyCueCallback));this.textEngine_.initParser(a,b,c||this.segmentRelativeVttTiming_,this.manifestType_)};
773
- shaka.media.MediaSourceEngine.prototype.ended=function(){return this.reloadingMediaSource_?!1:this.mediaSource_?"ended"==this.mediaSource_.readyState:!0};shaka.media.MediaSourceEngine.prototype.bufferStart=function(a){return this.reloadingMediaSource_||!Object.keys(this.sourceBuffers_).length?null:a==shaka.util.ManifestParserUtils.ContentType.TEXT?this.textEngine_.bufferStart():shaka.media.TimeRangesUtils.bufferStart(this.getBuffered_(a))};
774
- shaka.media.MediaSourceEngine.prototype.bufferEnd=function(a){return this.reloadingMediaSource_?null:a==shaka.util.ManifestParserUtils.ContentType.TEXT?this.textEngine_.bufferEnd():shaka.media.TimeRangesUtils.bufferEnd(this.getBuffered_(a))};
775
- shaka.media.MediaSourceEngine.prototype.isBuffered=function(a,b){if(this.reloadingMediaSource_)return!1;if(a==shaka.util.ManifestParserUtils.ContentType.TEXT)return this.textEngine_.isBuffered(b);a=this.getBuffered_(a);return shaka.media.TimeRangesUtils.isBuffered(a,b)};
776
- shaka.media.MediaSourceEngine.prototype.bufferedAheadOf=function(a,b){if(this.reloadingMediaSource_)return 0;if(a==shaka.util.ManifestParserUtils.ContentType.TEXT)return this.textEngine_.bufferedAheadOf(b);a=this.getBuffered_(a);return shaka.media.TimeRangesUtils.bufferedAheadOf(a,b)};
777
- shaka.media.MediaSourceEngine.prototype.getBufferedInfo=function(){var a=shaka.util.ManifestParserUtils.ContentType,b=shaka.media.TimeRangesUtils;a={total:this.reloadingMediaSource_?[]:b.getBufferedInfo(this.video_.buffered),audio:this.reloadingMediaSource_?[]:b.getBufferedInfo(this.getBuffered_(a.AUDIO)),video:this.reloadingMediaSource_?[]:b.getBufferedInfo(this.getBuffered_(a.VIDEO)),text:[]};if(this.textEngine_){b=this.textEngine_.bufferStart();var c=this.textEngine_.bufferEnd();null!=b&&null!=
778
- c&&a.text.push({start:b,end:c})}return a};shaka.media.MediaSourceEngine.prototype.getBuffered_=function(a){try{return this.sourceBuffers_[a].buffered}catch(b){return a in this.sourceBuffers_&&shaka.log.error("failed to get buffered range for "+a,b),null}};shaka.media.MediaSourceEngine.prototype.getCaptionParser=function(a){return new shaka.media.ClosedCaptionParser(a)};
779
- shaka.media.MediaSourceEngine.prototype.getTimestampAndDispatchMetadata_=function(a,b,c,d,e){var f=null,g=shaka.util.BufferUtils.toUint8(b);if(shaka.util.MimeUtils.RAW_FORMATS.includes(d))e=shaka.util.Id3Utils.getID3Frames(g),e.length&&c&&((a=e.find(function(m){return"com.apple.streaming.transportStreamTimestamp"===m.description}))&&a.data&&(f=Math.round(a.data)/1E3),this.playerInterface_.onMetadata([{cueTime:c.startTime,data:g,frames:e,dts:c.startTime,pts:c.startTime}],0,c.endTime));else if(d.includes("/mp4")&&
780
- c&&0==c.timestampOffset&&c.initSegmentReference&&c.initSegmentReference.timescale){var h=c.initSegmentReference.timescale;if(!isNaN(h)){c=shaka.util.Mp4Parser;var k=0,l=!1;(new c).box("moof",c.children).box("traf",c.children).fullBox("tfdt",function(m){goog.asserts.assert(0==m.version||1==m.version,"TFDT version can only be 0 or 1");k=shaka.util.Mp4BoxParsers.parseTFDTInaccurate(m.reader,m.version).baseMediaDecodeTime/h;l=!0;m.parser.stop()}).parse(b,!0);l&&(f=k)}}else if(!d.includes("/mp4")&&!d.includes("/webm")&&
781
- shaka.util.TsParser.probe(g)&&(this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser,g=this.tsParser_.parse(g),a=g.getStartTime(a),null!=a&&(f=a),g=g.getMetadata(),g.length))this.playerInterface_.onMetadata(g,e,c?c.endTime:null);return f};
782
- shaka.media.MediaSourceEngine.prototype.appendBuffer=function(a,b,c,d,e,f,g,h,k){f=void 0===f?!1:f;g=void 0===g?!1:g;h=void 0===h?!1:h;k=void 0===k?!1:k;var l=this,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){switch(I.nextAddress){case 1:m=shaka.util.ManifestParserUtils.ContentType;if(a!=m.TEXT){I.jumpTo(2);break}if(!l.sequenceMode_){I.jumpTo(3);break}return I.yield(l.textSequenceModeOffset_,4);case 4:n=I.yieldResult,l.textEngine_.setTimestampOffset(n);
783
- case 3:return I.yield(l.textEngine_.appendBuffer(b,c?c.startTime:null,c?c.endTime:null,c?c.getUris()[0]:null),5);case 5:return I.return();case 2:if(k||!l.needSplitMuxedContent_){I.jumpTo(6);break}return I.yield(l.appendBuffer(m.AUDIO,b,c,d,e,f,g,h,!0),7);case 7:return I.yield(l.appendBuffer(m.VIDEO,b,c,d,e,f,g,h,!0),8);case 8:return I.return();case 6:if(!l.sourceBuffers_[a])return shaka.log.warning("Attempted to restore a non-existent source buffer"),I.return();p=l.sourceBuffers_[a].timestampOffset;
784
- q=l.sourceBufferTypes_[a];l.transmuxers_[a]&&(q=l.transmuxers_[a].getOriginalMimeType());c&&(r=l.getTimestampAndDispatchMetadata_(a,b,c,q,p),null!=r&&(null==l.firstVideoTimestamp_&&a==m.VIDEO&&(l.firstVideoTimestamp_=r,l.firstVideoReferenceStartTime_=c.startTime,null!=l.firstAudioTimestamp_&&(t=0,l.firstVideoReferenceStartTime_==l.firstAudioReferenceStartTime_&&(t=l.firstVideoTimestamp_-l.firstAudioTimestamp_),l.audioCompensation_.resolve(t))),null==l.firstAudioTimestamp_&&a==m.AUDIO&&(l.firstAudioTimestamp_=
785
- r,l.firstAudioReferenceStartTime_=c.startTime,null!=l.firstVideoTimestamp_&&(u=0,l.firstVideoReferenceStartTime_==l.firstAudioReferenceStartTime_&&(u=l.firstVideoTimestamp_-l.firstAudioTimestamp_),l.audioCompensation_.resolve(u))),v=c.startTime-r,x=Math.abs(p-v),(.001<=x||f||g)&&(!h||0<v||!p)&&(p=v,l.attemptTimestampOffsetCalculation_&&(l.enqueueOperation_(a,function(){return l.abort_(a)},null),l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,p)},null))),y=a==m.VIDEO||!(m.VIDEO in l.sourceBuffers_),
786
- l.sequenceMode_&&y&&l.textSequenceModeOffset_.resolve(p)));e&&a==m.VIDEO&&(l.textEngine_||l.reinitText(shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE,l.sequenceMode_,!1),l.captionParser_||(w=q.split(";",1)[0],l.captionParser_=l.getCaptionParser(w)),c?(z=l.captionParser_.parseFrom(b),z.length&&l.textEngine_.storeAndAppendClosedCaptions(z,c.startTime,c.endTime,p)):l.captionParser_.init(b,g));if(!l.transmuxers_[a]){I.jumpTo(9);break}return I.yield(l.transmuxers_[a].transmux(b,d,c,l.mediaSource_.duration,
787
- a),10);case 10:b=I.yieldResult;case 9:b=l.workAroundBrokenPlatforms_(b,c?c.startTime:null,a,c?c.getUris()[0]:null);if(!c||!l.sequenceMode_||a==m.TEXT){I.jumpTo(11);break}if(!f&&!g){I.jumpTo(11);break}C=c.startTime;if(l.manifestType_!=shaka.media.ManifestParser.HLS||l.needSplitMuxedContent_||a!=m.AUDIO||!l.sourceBuffers_[m.VIDEO]){I.jumpTo(13);break}return I.yield(l.audioCompensation_,14);case 14:A=I.yieldResult,.1<Math.abs(A)&&(C-=A);case 13:l.enqueueOperation_(a,function(){return l.abort_(a)},null),
788
- l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,C)},null);case 11:return B=null,I.yield(l.enqueueOperation_(a,function(){goog.DEBUG&&c&&!c.isPreload()&&!h&&(B=l.getBuffered_(a));l.append_(a,b,p)},c?c.getUris()[0]:null),15);case 15:goog.DEBUG&&c&&!c.isPreload()&&!h&&(E=l.getBuffered_(a),G=shaka.media.TimeRangesUtils.computeAddedRange(B,E))&&(H=c.endTime-c.startTime,F=G.end-G.start,D=Math.abs(G.end-c.endTime),.1<H&&(D>H/2||.03<Math.abs(H-F))&&shaka.log.error("Possible encoding problem detected!",
789
- "Unexpected buffered range for reference",c,"from URIs",c.getUris(),"should be",{start:c.startTime,end:c.endTime},"but got",G)),I.jumpToEnd()}})};shaka.media.MediaSourceEngine.prototype.setSelectedClosedCaptionId=function(a){var b=this.bufferEnd(shaka.util.ManifestParserUtils.ContentType.VIDEO)||0;this.textEngine_.setSelectedClosedCaptionId(a,b)};shaka.media.MediaSourceEngine.prototype.clearSelectedClosedCaptionId=function(){this.textEngine_&&this.textEngine_.setSelectedClosedCaptionId("",0)};
773
+ shaka.media.MediaSourceEngine.prototype.ended=function(){return this.reloadingMediaSource_?!1:this.mediaSource_?"ended"==this.mediaSource_.readyState:!0};shaka.media.MediaSourceEngine.prototype.bufferStart=function(a){return Object.keys(this.sourceBuffers_).length?a==shaka.util.ManifestParserUtils.ContentType.TEXT?this.textEngine_.bufferStart():shaka.media.TimeRangesUtils.bufferStart(this.getBuffered_(a)):null};
774
+ shaka.media.MediaSourceEngine.prototype.bufferEnd=function(a){return Object.keys(this.sourceBuffers_).length?a==shaka.util.ManifestParserUtils.ContentType.TEXT?this.textEngine_.bufferEnd():shaka.media.TimeRangesUtils.bufferEnd(this.getBuffered_(a)):null};shaka.media.MediaSourceEngine.prototype.isBuffered=function(a,b){if(a==shaka.util.ManifestParserUtils.ContentType.TEXT)return this.textEngine_.isBuffered(b);a=this.getBuffered_(a);return shaka.media.TimeRangesUtils.isBuffered(a,b)};
775
+ shaka.media.MediaSourceEngine.prototype.bufferedAheadOf=function(a,b){if(a==shaka.util.ManifestParserUtils.ContentType.TEXT)return this.textEngine_.bufferedAheadOf(b);a=this.getBuffered_(a);return shaka.media.TimeRangesUtils.bufferedAheadOf(a,b)};
776
+ shaka.media.MediaSourceEngine.prototype.getBufferedInfo=function(){var a=shaka.util.ManifestParserUtils.ContentType,b=shaka.media.TimeRangesUtils;a={total:this.reloadingMediaSource_?[]:b.getBufferedInfo(this.video_.buffered),audio:b.getBufferedInfo(this.getBuffered_(a.AUDIO)),video:b.getBufferedInfo(this.getBuffered_(a.VIDEO)),text:[]};if(this.textEngine_){b=this.textEngine_.bufferStart();var c=this.textEngine_.bufferEnd();null!=b&&null!=c&&a.text.push({start:b,end:c})}return a};
777
+ shaka.media.MediaSourceEngine.prototype.getBuffered_=function(a){if(this.reloadingMediaSource_)return null;try{return this.sourceBuffers_[a].buffered}catch(b){return a in this.sourceBuffers_&&shaka.log.error("failed to get buffered range for "+a,b),null}};shaka.media.MediaSourceEngine.prototype.getCaptionParser=function(a){return new shaka.media.ClosedCaptionParser(a)};
778
+ shaka.media.MediaSourceEngine.prototype.getTimestampAndDispatchMetadata_=function(a,b,c,d){var e=null,f=[],g=shaka.util.BufferUtils.toUint8(b);if(shaka.util.MimeUtils.RAW_FORMATS.includes(d))a=shaka.util.Id3Utils.getID3Frames(g),a.length&&c&&((b=a.find(function(m){return"com.apple.streaming.transportStreamTimestamp"===m.description}))&&b.data&&(e=Math.round(b.data)/1E3),this.playerInterface_.onMetadata([{cueTime:c.startTime,data:g,frames:a,dts:c.startTime,pts:c.startTime}],0,c.endTime));else if(d.includes("/mp4")&&
779
+ c&&0==c.timestampOffset&&c.initSegmentReference&&c.initSegmentReference.timescale){var h=c.initSegmentReference.timescale;if(!isNaN(h)){c=shaka.util.Mp4Parser;var k=0,l=!1;(new c).box("moof",c.children).box("traf",c.children).fullBox("tfdt",function(m){goog.asserts.assert(0==m.version||1==m.version,"TFDT version can only be 0 or 1");k=shaka.util.Mp4BoxParsers.parseTFDTInaccurate(m.reader,m.version).baseMediaDecodeTime/h;l=!0;m.parser.stop()}).parse(b,!0);l&&(e=k)}}else d.includes("/mp4")||d.includes("/webm")||
780
+ !shaka.util.TsParser.probe(g)||(this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser,f=this.tsParser_.parse(g),c=f.getStartTime(a),null!=c&&(e=c),f=f.getMetadata());return{timestamp:e,metadata:f}};
781
+ shaka.media.MediaSourceEngine.prototype.appendBuffer=function(a,b,c,d,e,f,g,h,k){f=void 0===f?!1:f;g=void 0===g?!1:g;h=void 0===h?!1:h;k=void 0===k?!1:k;var l=this,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M,I;return $jscomp.asyncExecutePromiseGeneratorProgram(function(H){switch(H.nextAddress){case 1:m=shaka.util.ManifestParserUtils.ContentType;if(a!=m.TEXT){H.jumpTo(2);break}if(!l.sequenceMode_){H.jumpTo(3);break}return H.yield(l.textSequenceModeOffset_,4);case 4:n=H.yieldResult,l.textEngine_.setTimestampOffset(n);
782
+ case 3:return H.yield(l.textEngine_.appendBuffer(b,c?c.startTime:null,c?c.endTime:null,c?c.getUris()[0]:null),5);case 5:return H.return();case 2:if(k||!l.needSplitMuxedContent_){H.jumpTo(6);break}return H.yield(l.appendBuffer(m.AUDIO,b,c,d,e,f,g,h,!0),7);case 7:return H.yield(l.appendBuffer(m.VIDEO,b,c,d,e,f,g,h,!0),8);case 8:return H.return();case 6:if(!l.sourceBuffers_[a])return shaka.log.warning("Attempted to restore a non-existent source buffer"),H.return();p=l.sourceBuffers_[a].timestampOffset;
783
+ q=l.sourceBufferTypes_[a];l.transmuxers_[a]&&(q=l.transmuxers_[a].getOriginalMimeType());if(c&&(r=l.getTimestampAndDispatchMetadata_(a,b,c,q),t=r.timestamp,u=r.metadata,null!=t&&(null==l.firstVideoTimestamp_&&a==m.VIDEO&&(l.firstVideoTimestamp_=t,l.firstVideoReferenceStartTime_=c.startTime,null!=l.firstAudioTimestamp_&&(v=0,l.firstVideoReferenceStartTime_==l.firstAudioReferenceStartTime_&&(v=l.firstVideoTimestamp_-l.firstAudioTimestamp_),l.audioCompensation_.resolve(v))),null==l.firstAudioTimestamp_&&
784
+ a==m.AUDIO&&(l.firstAudioTimestamp_=t,l.firstAudioReferenceStartTime_=c.startTime,null!=l.firstVideoTimestamp_&&(x=0,l.firstVideoReferenceStartTime_==l.firstAudioReferenceStartTime_&&(x=l.firstVideoTimestamp_-l.firstAudioTimestamp_),l.audioCompensation_.resolve(x))),y=c.startTime-t,w=Math.abs(p-y),(.001<=w||f||g)&&(!h||0<y||!p)&&(p=y,l.attemptTimestampOffsetCalculation_&&(l.enqueueOperation_(a,function(){return l.abort_(a)},null),l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,p)},
785
+ null))),z=a==m.VIDEO||!(m.VIDEO in l.sourceBuffers_),l.sequenceMode_&&z&&l.textSequenceModeOffset_.resolve(p)),u.length))l.playerInterface_.onMetadata(u,p,c?c.endTime:null);e&&a==m.VIDEO&&(l.textEngine_||l.reinitText(shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE,l.sequenceMode_,!1),l.captionParser_||(C=q.split(";",1)[0],l.captionParser_=l.getCaptionParser(C)),c?(A=l.captionParser_.parseFrom(b),A.length&&l.textEngine_.storeAndAppendClosedCaptions(A,c.startTime,c.endTime,p)):l.captionParser_.init(b,
786
+ g));if(!l.transmuxers_[a]){H.jumpTo(9);break}return H.yield(l.transmuxers_[a].transmux(b,d,c,l.mediaSource_.duration,a),10);case 10:b=H.yieldResult;case 9:b=l.workAroundBrokenPlatforms_(b,c?c.startTime:null,a,c?c.getUris()[0]:null);if(!c||!l.sequenceMode_||a==m.TEXT){H.jumpTo(11);break}if(!f&&!g){H.jumpTo(11);break}B=c.startTime;if(l.manifestType_!=shaka.media.ManifestParser.HLS||l.needSplitMuxedContent_||a!=m.AUDIO||!l.sourceBuffers_[m.VIDEO]){H.jumpTo(13);break}return H.yield(l.audioCompensation_,
787
+ 14);case 14:D=H.yieldResult,.1<Math.abs(D)&&(B-=D);case 13:l.enqueueOperation_(a,function(){return l.abort_(a)},null),l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,B)},null);case 11:return G=null,H.yield(l.enqueueOperation_(a,function(){goog.DEBUG&&c&&!c.isPreload()&&!h&&(G=l.getBuffered_(a));l.append_(a,b,p)},c?c.getUris()[0]:null),15);case 15:goog.DEBUG&&c&&!c.isPreload()&&!h&&(J=l.getBuffered_(a),F=shaka.media.TimeRangesUtils.computeAddedRange(G,J))&&(E=c.endTime-c.startTime,
788
+ M=F.end-F.start,I=Math.abs(F.end-c.endTime),.1<E&&(I>E/2||.03<Math.abs(E-M))&&shaka.log.error("Possible encoding problem detected!","Unexpected buffered range for reference",c,"from URIs",c.getUris(),"should be",{start:c.startTime,end:c.endTime},"but got",F)),H.jumpToEnd()}})};shaka.media.MediaSourceEngine.prototype.setSelectedClosedCaptionId=function(a){var b=this.bufferEnd(shaka.util.ManifestParserUtils.ContentType.VIDEO)||0;this.textEngine_.setSelectedClosedCaptionId(a,b)};
789
+ shaka.media.MediaSourceEngine.prototype.clearSelectedClosedCaptionId=function(){this.textEngine_&&this.textEngine_.setSelectedClosedCaptionId("",0)};
790
790
  shaka.media.MediaSourceEngine.prototype.remove=function(a,b,c){var d=this,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){return 1==f.nextAddress?(e=shaka.util.ManifestParserUtils.ContentType,a==e.TEXT?f.yield(d.textEngine_.remove(b,c),0):f.yield(d.enqueueOperation_(a,function(){return d.remove_(a,b,c)},null),4)):d.needSplitMuxedContent_?f.yield(d.enqueueOperation_(e.AUDIO,function(){return d.remove_(e.AUDIO,b,c)},null),0):f.jumpTo(0)})};
791
791
  shaka.media.MediaSourceEngine.prototype.clear=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?(c=shaka.util.ManifestParserUtils.ContentType,a==c.TEXT?b.textEngine_?d.yield(b.textEngine_.remove(0,Infinity),0):d.return():d.yield(b.enqueueOperation_(a,function(){return b.remove_(a,0,b.mediaSource_.duration)},null),4)):b.needSplitMuxedContent_?d.yield(b.enqueueOperation_(c.AUDIO,function(){return b.remove_(c.AUDIO,0,b.mediaSource_.duration)},
792
792
  null),0):d.jumpTo(0)})};shaka.media.MediaSourceEngine.prototype.resetCaptionParser=function(){this.captionParser_&&this.captionParser_.reset()};
@@ -812,10 +812,10 @@ this.popFromQueue_(a)}};shaka.media.MediaSourceEngine.prototype.getTextDisplayer
812
812
  shaka.media.MediaSourceEngine.prototype.workAroundBrokenPlatforms_=function(a,b,c,d){var e=shaka.util.Platform;b=null==b;var f=this.expectedEncryption_[c],g=this.playerInterface_.getKeySystem();this.config_.insertFakeEncryptionInInit&&b&&f&&e.requiresEncryptionInfoInAllInitSegments(g)&&"mp4"==shaka.util.MimeUtils.getContainerType(this.sourceBufferTypes_[c])&&(shaka.log.debug("Forcing fake encryption information in init segment."),a=shaka.media.ContentWorkarounds.fakeEncryption(a,d));return a};
813
813
  shaka.media.MediaSourceEngine.prototype.change_=function(a,b,c){a===shaka.util.ManifestParserUtils.ContentType.TEXT?shaka.log.debug("Change not supported for "+a):(shaka.log.debug("Change Type: "+this.sourceBufferTypes_[a]+" -> "+b),shaka.media.Capabilities.isChangeTypeSupported()?(this.transmuxers_[a]&&(this.transmuxers_[a].destroy(),delete this.transmuxers_[a]),c&&(this.transmuxers_[a]=c),c=this.addExtraFeaturesToMimeType_(b),this.sourceBuffers_[a].changeType(c),this.sourceBufferTypes_[a]=b):shaka.log.debug("Change Type not supported"),
814
814
  this.onUpdateEnd_(a))};shaka.media.MediaSourceEngine.prototype.changeType=function(a,b,c){var d=this;return this.enqueueOperation_(a,function(){return d.change_(a,b,c)},null)};
815
- shaka.media.MediaSourceEngine.prototype.reset_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G;return $jscomp.asyncExecutePromiseGeneratorProgram(function(H){switch(H.nextAddress){case 1:c=shaka.util.Functional;d=shaka.util.ManifestParserUtils.ContentType;b.reloadingMediaSource_=!0;b.needSplitMuxedContent_=!1;e=b.video_.currentTime;f=b.video_.autoplay;g=b.video_.paused;b.playbackHasBegun_&&(b.video_.autoplay=!1);H.setFinallyBlock(2);b.eventManager_.removeAll();h=[];for(k in b.transmuxers_)h.push(b.transmuxers_[k].destroy());
816
- for(l in b.queues_)for(m=b.queues_[l],n=m[0],b.queues_[l]=m.slice(0,1),n&&h.push(n.p.catch(c.noop)),p=$jscomp.makeIterator(m.slice(1)),q=p.next();!q.done;q=p.next())r=q.value,r.p.reject(shaka.util.Destroyer.destroyedError());for(t in b.sourceBuffers_){u=b.sourceBuffers_[t];try{b.mediaSource_.removeSourceBuffer(u)}catch(F){}}return H.yield(Promise.all(h),4);case 4:return b.transmuxers_={},b.sourceBuffers_={},v=b.mediaSource_.duration,b.mediaSourceOpen_=new shaka.util.PublicPromise,b.mediaSource_=b.createMediaSource(b.mediaSourceOpen_),
817
- H.yield(b.mediaSourceOpen_,5);case 5:!isNaN(v)&&v?b.mediaSource_.duration=v:!isNaN(b.lastDuration_)&&b.lastDuration_&&(b.mediaSource_.duration=b.lastDuration_),x=new shaka.util.PublicPromise,y=b.mediaSource_.sourceBuffers,w=a.size,z=0,C=function(){z++;z===w&&(x.resolve(),b.eventManager_.unlisten(y,"addsourcebuffer",C))},b.eventManager_.listen(y,"addsourcebuffer",C),A=$jscomp.makeIterator(a.keys()),B=A.next();case 6:if(B.done)return b.video_.currentTime=e,H.yield(x,2);E=B.value;G=a.get(E);return H.yield(b.initSourceBuffer_(E,
818
- G,G.codecs),9);case 9:b.needSplitMuxedContent_?(b.queues_[d.AUDIO]=[],b.queues_[d.VIDEO]=[]):b.queues_[E]=[];B=A.next();H.jumpTo(6);break;case 2:H.enterFinallyBlock(),b.reloadingMediaSource_=!1,b.destroyer_.ensureNotDestroyed(),b.eventManager_.listenOnce(b.video_,"canplaythrough",function(){b.destroyer_.destroyed()||(b.video_.autoplay=f,g||b.video_.play())}),H.leaveFinallyBlock(0)}})};shaka.media.MediaSourceEngine.prototype.reset=function(a){var b=this;return this.enqueueBlockingOperation_(function(){return b.reset_(a)})};
815
+ shaka.media.MediaSourceEngine.prototype.reset_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G;return $jscomp.asyncExecutePromiseGeneratorProgram(function(J){switch(J.nextAddress){case 1:c=shaka.util.Functional;d=shaka.util.ManifestParserUtils.ContentType;b.reloadingMediaSource_=!0;b.needSplitMuxedContent_=!1;e=b.video_.currentTime;f=b.video_.autoplay;g=b.video_.paused;b.playbackHasBegun_&&(b.video_.autoplay=!1);J.setFinallyBlock(2);b.eventManager_.removeAll();h=[];for(k in b.transmuxers_)h.push(b.transmuxers_[k].destroy());
816
+ for(l in b.queues_)for(m=b.queues_[l],n=m[0],b.queues_[l]=m.slice(0,1),n&&h.push(n.p.catch(c.noop)),p=$jscomp.makeIterator(m.slice(1)),q=p.next();!q.done;q=p.next())r=q.value,r.p.reject(shaka.util.Destroyer.destroyedError());for(t in b.sourceBuffers_){u=b.sourceBuffers_[t];try{b.mediaSource_.removeSourceBuffer(u)}catch(F){}}return J.yield(Promise.all(h),4);case 4:return b.transmuxers_={},b.sourceBuffers_={},v=b.mediaSource_.duration,b.mediaSourceOpen_=new shaka.util.PublicPromise,b.mediaSource_=b.createMediaSource(b.mediaSourceOpen_),
817
+ J.yield(b.mediaSourceOpen_,5);case 5:!isNaN(v)&&v?b.mediaSource_.duration=v:!isNaN(b.lastDuration_)&&b.lastDuration_&&(b.mediaSource_.duration=b.lastDuration_),x=new shaka.util.PublicPromise,y=b.mediaSource_.sourceBuffers,w=a.size,z=0,C=function(){z++;z===w&&(x.resolve(),b.eventManager_.unlisten(y,"addsourcebuffer",C))},b.eventManager_.listen(y,"addsourcebuffer",C),A=$jscomp.makeIterator(a.keys()),B=A.next();case 6:if(B.done)return b.video_.currentTime=e,J.yield(x,2);D=B.value;G=a.get(D);return J.yield(b.initSourceBuffer_(D,
818
+ G,G.codecs),9);case 9:b.needSplitMuxedContent_?(b.queues_[d.AUDIO]=[],b.queues_[d.VIDEO]=[]):b.queues_[D]=[];B=A.next();J.jumpTo(6);break;case 2:J.enterFinallyBlock(),b.reloadingMediaSource_=!1,b.destroyer_.ensureNotDestroyed(),b.eventManager_.listenOnce(b.video_,"canplaythrough",function(){b.destroyer_.destroyed()||(b.video_.autoplay=f,g||b.video_.play())}),J.leaveFinallyBlock(0)}})};shaka.media.MediaSourceEngine.prototype.reset=function(a){var b=this;return this.enqueueBlockingOperation_(function(){return b.reset_(a)})};
819
819
  shaka.media.MediaSourceEngine.prototype.codecSwitchIfNecessary_=function(a,b,c,d){var e=this,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z;return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){if(1==C.nextAddress){f=shaka.util.ManifestParserUtils.ContentType;if(a==f.TEXT)return C.return(!1);g=shaka.util.MimeUtils;h=g.getNormalizedCodec(g.getCodecs(e.sourceBufferTypes_[a]));k=g.getBasicType(e.sourceBufferTypes_[a]);m=!1;n=shaka.util.MimeUtils.getFullType(b,c);p=e.config_.forceTransmux;if(!shaka.media.Capabilities.isTypeSupported(n)||
820
820
  !e.sequenceMode_&&shaka.util.MimeUtils.RAW_FORMATS.includes(n))p=!0;q=shaka.transmuxer.TransmuxerEngine;p&&(r=shaka.util.MimeUtils.getFullTypeWithAllCodecs(b,c),t=q.findTransmuxer(r))&&(l=t(),u=shaka.util.ManifestParserUtils.guessCodecsSafe(f.AUDIO,(c||"").split(",")),v=shaka.util.ManifestParserUtils.guessCodecsSafe(f.VIDEO,(c||"").split(",")),u&&v?(m=!0,x=v,a==f.AUDIO&&(x=u),n=l.convertCodecs(a,shaka.util.MimeUtils.getFullTypeWithAllCodecs(b,x))):n=l.convertCodecs(a,r));y=g.getNormalizedCodec(g.getCodecs(n));
821
821
  w=g.getBasicType(n);if(h===y&&k===w)return e.transmuxers_[a]&&!l?(e.transmuxers_[a].destroy(),delete e.transmuxers_[a]):!e.transmuxers_[a]&&l?e.transmuxers_[a]=l:l&&(e.transmuxers_[a]&&e.transmuxers_[a].transmux!=l.transmux?(e.transmuxers_[a].destroy(),delete e.transmuxers_[a],e.transmuxers_[a]=l):l.destroy()),C.return(!1);z=!0;if(e.needSplitMuxedContent_||m&&l&&!e.transmuxers_[a])z=!1;if(z&&e.config_.codecSwitchingStrategy===shaka.config.CodecSwitchingStrategy.SMOOTH&&shaka.media.Capabilities.isChangeTypeSupported())return C.yield(e.changeType(a,
@@ -904,10 +904,12 @@ goog.DEBUG&&(shaka.media.SegmentIndex.assertCorrectReferences_=function(a){goog.
904
904
  shaka.media.SegmentIterator.prototype.currentPosition=function(){return this.currentPosition_};
905
905
  shaka.media.SegmentIterator.prototype.current=function(){var a=this.segmentIndex_.get(this.currentPosition_);a&&a.hasPartialSegments()&&a.hasAllPartialSegments()&&this.currentPartialPosition_>=a.partialReferences.length&&(this.currentPosition_++,this.currentPartialPosition_=0,a=this.segmentIndex_.get(this.currentPosition_));return a&&a.hasPartialSegments()?a.partialReferences[this.currentPartialPosition_]:a};
906
906
  shaka.media.SegmentIterator.prototype.next=function(){var a=this.segmentIndex_.get(this.currentPosition_);this.reverse?a&&a.hasPartialSegments()?(this.currentPartialPosition_--,0>this.currentPartialPosition_&&(this.currentPosition_--,(a=this.segmentIndex_.get(this.currentPosition_))&&a.hasPartialSegments()?this.currentPartialPosition_=a.partialReferences.length-1:this.currentPartialPosition_=0)):(this.currentPosition_--,this.currentPartialPosition_=0):a&&a.hasPartialSegments()?(this.currentPartialPosition_++,
907
- a.hasAllPartialSegments()&&this.currentPartialPosition_==a.partialReferences.length&&(this.currentPosition_++,this.currentPartialPosition_=0)):(this.currentPosition_++,this.currentPartialPosition_=0);a=this.current();return{value:a,done:!a}};goog.exportSymbol("shaka.media.SegmentIterator",shaka.media.SegmentIterator);goog.exportProperty(shaka.media.SegmentIterator.prototype,"next",shaka.media.SegmentIterator.prototype.next);goog.exportProperty(shaka.media.SegmentIterator.prototype,"current",shaka.media.SegmentIterator.prototype.current);
908
- goog.exportProperty(shaka.media.SegmentIterator.prototype,"currentPosition",shaka.media.SegmentIterator.prototype.currentPosition);goog.exportProperty(shaka.media.SegmentIterator.prototype,"setReverse",shaka.media.SegmentIterator.prototype.setReverse);shaka.media.MetaSegmentIndex=function(){shaka.media.SegmentIndex.call(this,[]);this.indexes_=[]};$jscomp.inherits(shaka.media.MetaSegmentIndex,shaka.media.SegmentIndex);
909
- shaka.media.MetaSegmentIndex.prototype.evictEmpty=function(){for(;1<this.indexes_.length&&this.indexes_[0].isEmpty();){var a=this.indexes_.shift();this.numEvicted_+=a.getNumEvicted();a.release()}};shaka.media.MetaSegmentIndex.prototype.appendSegmentIndex=function(a){goog.asserts.assert(0==this.indexes_.length||0==a.getNumEvicted(),"Should not append a new segment index with already-evicted segments");this.indexes_.push(a)};
910
- shaka.media.MetaSegmentIndex.prototype.clone=function(){var a=new shaka.media.MetaSegmentIndex;a.indexes_=this.indexes_.slice();a.numEvicted_=this.numEvicted_;return a};shaka.media.MetaSegmentIndex.prototype.release=function(){for(var a=$jscomp.makeIterator(this.indexes_),b=a.next();!b.done;b=a.next())b.value.release();this.indexes_=[]};shaka.media.MetaSegmentIndex.prototype.forEachTopLevelReference=function(a){for(var b=$jscomp.makeIterator(this.indexes_),c=b.next();!c.done;c=b.next())c.value.forEachTopLevelReference(a)};
907
+ a.hasAllPartialSegments()&&this.currentPartialPosition_==a.partialReferences.length&&(this.currentPosition_++,this.currentPartialPosition_=0)):(this.currentPosition_++,this.currentPartialPosition_=0);a=this.current();return{value:a,done:!a}};
908
+ shaka.media.SegmentIterator.prototype.resetToLastIndependent=function(){var a=this.current();if(a.isPartial()&&!a.isIndependent()&&(a=this.segmentIndex_.get(this.currentPosition_))&&a.hasPartialSegments())for(var b=a.partialReferences[this.currentPartialPosition_];b.isIndependent()&&!(0>=this.currentPartialPosition_);)this.currentPartialPosition_--,b=a.partialReferences[this.currentPartialPosition_]};goog.exportSymbol("shaka.media.SegmentIterator",shaka.media.SegmentIterator);
909
+ goog.exportProperty(shaka.media.SegmentIterator.prototype,"resetToLastIndependent",shaka.media.SegmentIterator.prototype.resetToLastIndependent);goog.exportProperty(shaka.media.SegmentIterator.prototype,"next",shaka.media.SegmentIterator.prototype.next);goog.exportProperty(shaka.media.SegmentIterator.prototype,"current",shaka.media.SegmentIterator.prototype.current);goog.exportProperty(shaka.media.SegmentIterator.prototype,"currentPosition",shaka.media.SegmentIterator.prototype.currentPosition);
910
+ goog.exportProperty(shaka.media.SegmentIterator.prototype,"setReverse",shaka.media.SegmentIterator.prototype.setReverse);shaka.media.MetaSegmentIndex=function(){shaka.media.SegmentIndex.call(this,[]);this.indexes_=[]};$jscomp.inherits(shaka.media.MetaSegmentIndex,shaka.media.SegmentIndex);shaka.media.MetaSegmentIndex.prototype.evictEmpty=function(){for(;1<this.indexes_.length&&this.indexes_[0].isEmpty();){var a=this.indexes_.shift();this.numEvicted_+=a.getNumEvicted();a.release()}};
911
+ shaka.media.MetaSegmentIndex.prototype.appendSegmentIndex=function(a){goog.asserts.assert(0==this.indexes_.length||0==a.getNumEvicted(),"Should not append a new segment index with already-evicted segments");this.indexes_.push(a)};shaka.media.MetaSegmentIndex.prototype.clone=function(){var a=new shaka.media.MetaSegmentIndex;a.indexes_=this.indexes_.slice();a.numEvicted_=this.numEvicted_;return a};
912
+ shaka.media.MetaSegmentIndex.prototype.release=function(){for(var a=$jscomp.makeIterator(this.indexes_),b=a.next();!b.done;b=a.next())b.value.release();this.indexes_=[]};shaka.media.MetaSegmentIndex.prototype.forEachTopLevelReference=function(a){for(var b=$jscomp.makeIterator(this.indexes_),c=b.next();!c.done;c=b.next())c.value.forEachTopLevelReference(a)};
911
913
  shaka.media.MetaSegmentIndex.prototype.find=function(a){for(var b=this.numEvicted_,c=$jscomp.makeIterator(this.indexes_),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.find(a);if(null!=e)return e+b;b+=d.getNumEvicted()+d.getNumReferences()}return null};
912
914
  shaka.media.MetaSegmentIndex.prototype.get=function(a){for(var b=this.numEvicted_,c=!1,d=$jscomp.makeIterator(this.indexes_),e=d.next();!e.done;e=d.next()){e=e.value;goog.asserts.assert(!c||0==e.getNumEvicted(),"Should not see evicted segments after available segments");var f=e.get(a-b);if(f)return f;f=e.getNumReferences();b+=e.getNumEvicted()+f;c=c||0!=f}return null};shaka.media.MetaSegmentIndex.prototype.offset=function(a){goog.asserts.assert(!1,"offset() should not be used in MetaSegmentIndex!")};
913
915
  shaka.media.MetaSegmentIndex.prototype.merge=function(a){goog.asserts.assert(!1,"merge() should not be used in MetaSegmentIndex!")};shaka.media.MetaSegmentIndex.prototype.evict=function(a){for(var b=$jscomp.makeIterator(this.indexes_),c=b.next();!c.done;c=b.next())c.value.evict(a);this.evictEmpty()};shaka.media.MetaSegmentIndex.prototype.mergeAndEvict=function(a,b){goog.asserts.assert(!1,"mergeAndEvict() should not be used in MetaSegmentIndex!")};
@@ -935,8 +937,8 @@ stateHistory:this.stateHistory_.getCopy(),switchHistory:this.switchHistory_.getC
935
937
  shaka.util.Stats.getEmptyBlob=function(){return{width:NaN,height:NaN,streamBandwidth:NaN,decodedFrames:NaN,droppedFrames:NaN,corruptedFrames:NaN,stallsDetected:NaN,gapsJumped:NaN,estimatedBandwidth:NaN,completionPercent:NaN,loadLatency:NaN,manifestTimeSeconds:NaN,drmTimeSeconds:NaN,playTime:NaN,pauseTime:NaN,bufferingTime:NaN,licenseTime:NaN,liveLatency:NaN,maxSegmentDuration:NaN,manifestSizeBytes:NaN,bytesDownloaded:NaN,nonFatalErrorCount:NaN,manifestPeriodCount:NaN,manifestGapCount:NaN,switchHistory:[],
936
938
  stateHistory:[]}};shaka.media.SegmentPrefetch=function(a,b,c,d){this.prefetchLimit_=a;this.stream_=b;this.fetchDispatcher_=c;this.segmentPrefetchMap_=new Map;this.initSegmentPrefetchMap_=new Map;this.iterator_=null;this.reverse_=d};shaka.media.SegmentPrefetch.prototype.replaceFetchDispatcher=function(a){this.fetchDispatcher_=a;for(var b=$jscomp.makeIterator(this.segmentPrefetchMap_.values()),c=b.next();!c.done;c=b.next())c.value.replaceFetchDispatcher(a)};
937
939
  shaka.media.SegmentPrefetch.prototype.prefetchSegmentsByTime=function(a,b){b=void 0===b?!1:b;goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var c=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);if(this.stream_.segmentIndex)if(this.iterator_||(this.iterator_=this.stream_.segmentIndex.getIteratorForTime(a,!0,this.reverse_)),this.iterator_){for(b&&this.iterator_.next();this.segmentPrefetchMap_.size<this.prefetchLimit_;){a=this.iterator_.next().value;
938
- if(!a)break;b=!0;a.isPreload()&&null!=a.endByte&&(b=!1);a.getStatus()==shaka.media.SegmentReference.Status.MISSING&&(b=!1);b&&a.initSegmentReference&&this.prefetchInitSegment(a.initSegmentReference);b&&!this.segmentPrefetchMap_.has(a)&&(b=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_),b.dispatchFetch(a,this.stream_),this.segmentPrefetchMap_.set(a,b))}this.clearInitSegments_()}else shaka.log.debug(c,"missing iterator");else shaka.log.debug(c,"missing segmentIndex")};
939
- shaka.media.SegmentPrefetch.prototype.prefetchInitSegment=function(a){goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var b=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);this.stream_.segmentIndex?Array.from(this.initSegmentPrefetchMap_.keys()).some(function(c){return shaka.media.InitSegmentReference.equal(c,a)})||(b=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_),b.dispatchFetch(a,this.stream_),this.initSegmentPrefetchMap_.set(a,
940
+ if(!a)break;b=!0;a.isPreload()&&null!=a.endByte&&(b=!1);a.getStatus()==shaka.media.SegmentReference.Status.MISSING&&(b=!1);a.getSegmentData()&&(b=!1);b&&a.initSegmentReference&&this.prefetchInitSegment(a.initSegmentReference);b&&!this.segmentPrefetchMap_.has(a)&&(b=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_),b.dispatchFetch(a,this.stream_),this.segmentPrefetchMap_.set(a,b))}this.clearInitSegments_()}else shaka.log.debug(c,"missing iterator");else shaka.log.debug(c,"missing segmentIndex")};
941
+ shaka.media.SegmentPrefetch.prototype.prefetchInitSegment=function(a){goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var b=shaka.media.SegmentPrefetch.logPrefix_(this.stream_);this.stream_.segmentIndex?a.getSegmentData()||Array.from(this.initSegmentPrefetchMap_.keys()).some(function(c){return shaka.media.InitSegmentReference.equal(c,a)})||(b=new shaka.media.SegmentPrefetchOperation(this.fetchDispatcher_),b.dispatchFetch(a,this.stream_),this.initSegmentPrefetchMap_.set(a,
940
942
  b)):shaka.log.debug(b,"missing segmentIndex")};
941
943
  shaka.media.SegmentPrefetch.prototype.getPrefetchedSegment=function(a,b){goog.asserts.assert(0<this.prefetchLimit_,"SegmentPrefetch can not be used when prefetchLimit <= 0.");var c=shaka.media.SegmentPrefetch.logPrefix_(this.stream_),d=this.segmentPrefetchMap_;a instanceof shaka.media.InitSegmentReference&&(d=this.initSegmentPrefetchMap_);if(d.has(a)){var e=d.get(a);b&&e.setStreamDataCallback(b);a instanceof shaka.media.SegmentReference?shaka.log.debug(c,"reused prefetched segment at time:",a.startTime,
942
944
  "mapSize",d.size):shaka.log.debug(c,"reused prefetched init segment at time, mapSize",d.size);return e.getOperation()}a instanceof shaka.media.SegmentReference?shaka.log.debug(c,"missed segment at time:",a.startTime,"mapSize",d.size):shaka.log.debug(c,"missed init segment at time, mapSize",d.size);return null};shaka.media.SegmentPrefetch.prototype.clearMap_=function(a){a=$jscomp.makeIterator(a.keys());for(var b=a.next();!b.done;b=a.next())(b=b.value)&&this.abortPrefetchedSegment_(b)};
@@ -1011,8 +1013,8 @@ shaka.media.StreamingEngine.prototype.createMediaState_=function(a){return{strea
1011
1013
  operation:null}};
1012
1014
  shaka.media.StreamingEngine.prototype.createSegmentPrefetch_=function(a){var b=this,c=shaka.util.ManifestParserUtils.ContentType;if(a.type===c.VIDEO&&this.config_.disableVideoPrefetch||a.type===c.AUDIO&&this.config_.disableAudioPrefetch)return null;var d=shaka.util.MimeUtils,e=d.CEA608_CLOSED_CAPTION_MIMETYPE;d=d.CEA708_CLOSED_CAPTION_MIMETYPE;return a.type===c.TEXT&&(a.mimeType==e||a.mimeType==d)||a.type===c.TEXT&&this.config_.disableTextPrefetch?null:this.audioPrefetchMap_.has(a)?this.audioPrefetchMap_.get(a):
1013
1015
  (c=(c=this.mediaStates_.get(a.type))&&c.segmentPrefetch)&&a===c.getStream()?c:0<this.config_.segmentPrefetchLimit?(c=0>this.playerInterface_.getPlaybackRate(),new shaka.media.SegmentPrefetch(this.config_.segmentPrefetchLimit,a,function(f,g,h){return b.dispatchFetch_(f,g,h)},c)):null};
1014
- shaka.media.StreamingEngine.prototype.updatePrefetchMapForAudio_=function(){for(var a=this.config_.segmentPrefetchLimit,b=this.config_.prefetchAudioLanguages,c=shaka.util.LanguageUtils,d=$jscomp.makeIterator(this.manifest_.variants),e=d.next(),f={};!e.done;f={variant$jscomp$56:void 0},e=d.next())if(f.variant$jscomp$56=e.value,f.variant$jscomp$56.audio)if(this.audioPrefetchMap_.has(f.variant$jscomp$56.audio)){if(e=this.audioPrefetchMap_.get(f.variant$jscomp$56.audio),e.resetLimit(a),!(0<a&&b.some(function(h){return function(k){return c.areLanguageCompatible(h.variant$jscomp$56.audio.language,
1015
- k)}}(f)))){var g=this.mediaStates_.get(f.variant$jscomp$56.audio.type);e!==(g&&g.segmentPrefetch)&&e.clearAll();this.audioPrefetchMap_.delete(f.variant$jscomp$56.audio)}}else 0>=a||!b.some(function(h){return function(k){return c.areLanguageCompatible(h.variant$jscomp$56.audio.language,k)}}(f))||!(e=this.createSegmentPrefetch_(f.variant$jscomp$56.audio))||(f.variant$jscomp$56.audio.segmentIndex||f.variant$jscomp$56.audio.createSegmentIndex(),this.audioPrefetchMap_.set(f.variant$jscomp$56.audio,e))};
1016
+ shaka.media.StreamingEngine.prototype.updatePrefetchMapForAudio_=function(){for(var a=this.config_.segmentPrefetchLimit,b=this.config_.prefetchAudioLanguages,c=shaka.util.LanguageUtils,d=$jscomp.makeIterator(this.manifest_.variants),e=d.next(),f={};!e.done;f={variant$jscomp$57:void 0},e=d.next())if(f.variant$jscomp$57=e.value,f.variant$jscomp$57.audio)if(this.audioPrefetchMap_.has(f.variant$jscomp$57.audio)){if(e=this.audioPrefetchMap_.get(f.variant$jscomp$57.audio),e.resetLimit(a),!(0<a&&b.some(function(h){return function(k){return c.areLanguageCompatible(h.variant$jscomp$57.audio.language,
1017
+ k)}}(f)))){var g=this.mediaStates_.get(f.variant$jscomp$57.audio.type);e!==(g&&g.segmentPrefetch)&&e.clearAll();this.audioPrefetchMap_.delete(f.variant$jscomp$57.audio)}}else 0>=a||!b.some(function(h){return function(k){return c.areLanguageCompatible(h.variant$jscomp$57.audio.language,k)}}(f))||!(e=this.createSegmentPrefetch_(f.variant$jscomp$57.audio))||(f.variant$jscomp$57.audio.segmentIndex||f.variant$jscomp$57.audio.createSegmentIndex(),this.audioPrefetchMap_.set(f.variant$jscomp$57.audio,e))};
1016
1018
  shaka.media.StreamingEngine.prototype.updateDuration=function(){var a=this.manifest_.presentationTimeline.getDuration();Infinity>a?this.playerInterface_.mediaSourceEngine.setDuration(a):this.playerInterface_.mediaSourceEngine.setDuration(this.config_.infiniteLiveStreamDuration?Infinity:Math.pow(2,32))};
1017
1019
  shaka.media.StreamingEngine.prototype.onUpdate_=function(a){var b=this,c,d,e,f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){switch(l.nextAddress){case 1:b.destroyer_.ensureNotDestroyed();c=shaka.media.StreamingEngine.logPrefix_(a);goog.asserts.assert(!a.performingUpdate&&null!=a.updateTimer,c+" unexpected call to onUpdate_()");if(a.performingUpdate||null==a.updateTimer)return l.return();goog.asserts.assert(!a.clearingBuffer,c+" onUpdate_() should not be called when clearing the buffer");
1018
1020
  if(a.clearingBuffer)return l.return();a.updateTimer=null;if(!a.waitingToClearBuffer){l.jumpTo(2);break}shaka.log.debug(c,"skipping update and clearing the buffer");return l.yield(b.clearBuffer_(a,a.waitingToFlushBuffer,a.clearBufferSafeMargin),3);case 3:return l.return();case 2:b.handleDeferredCloseSegmentIndexes_(a);if(a.stream.segmentIndex){l.jumpTo(4);break}d=a.stream;l.setCatchFinallyBlocks(5);return l.yield(a.stream.createSegmentIndex(),7);case 7:l.leaveTryBlock(6);break;case 5:return e=l.enterCatchBlock(),
@@ -1027,15 +1029,15 @@ shaka.media.StreamingEngine.prototype.getTimeNeeded_=function(a,b){return a.last
1027
1029
  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>
1028
1030
  this.playerInterface_.getPlaybackRate(),a.stream.segmentIndex&&(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.stream.segmentIndex&&
1029
1031
  (a.segmentIterator=a.stream.segmentIndex.getIteratorForTime(e,!1,f)),g=a.segmentIterator&&a.segmentIterator.next().value);g||(a.stream.segmentIndex&&(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};
1030
- shaka.media.StreamingEngine.prototype.fetchAndAppend_=function(a,b,c,d){var e=this,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){switch(E.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;E.setCatchFinallyBlocks(2);
1031
- 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 E.yield(e.initSourceBuffer_(a,c,d),4);case 4:e.destroyer_.ensureNotDestroyed();if(e.fatalError_)return E.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!=
1032
- shaka.media.ManifestParser.HLS||c.hasByterangeOptimization()))return t=new Uint8Array(0),v=u=!1,y=function(G){var H,F,D,I;return $jscomp.asyncExecutePromiseGeneratorProgram(function(J){switch(J.nextAddress){case 1:if(u)return J.return();v=!0;e.destroyer_.ensureNotDestroyed();if(e.fatalError_)return J.return();J.setCatchFinallyBlocks(2);t=e.concatArray_(t,G);H=!1;F=0;(new shaka.util.Mp4Parser).box("mdat",function(M){F=M.size+M.start;H=!0}).parse(t,!1,!0);if(!H){J.jumpTo(4);break}D=t.subarray(0,F);
1033
- t=t.subarray(F);return J.yield(e.append_(a,b,k,c,D,!0,d),5);case 5:a.segmentPrefetch&&a.segmentIterator&&a.segmentPrefetch.prefetchSegmentsByTime(c.startTime,!0);case 4:J.leaveTryBlock(0);break;case 2:x=I=J.enterCatchBlock(),J.jumpToEnd()}})},E.yield(e.fetch_(a,c,y),9);p&&!n&&shaka.log.warning("Low latency streaming mode is enabled, but ReadableStream is not supported by the browser.");q=e.fetch_(a,c);return E.yield(q,7);case 7:r=E.yieldResult;e.destroyer_.ensureNotDestroyed();if(e.fatalError_)return E.return();
1034
- e.destroyer_.ensureNotDestroyed();return a.waitingToClearBuffer?(shaka.log.info(h,"waitingToClearBuffer, skip append"),a.performingUpdate=!1,e.scheduleUpdate_(a,0),E.return()):E.yield(e.append_(a,b,k,c,r,!1,d),6);case 9:w=E.yieldResult;if(x)throw x;if(v){E.jumpTo(10);break}u=!0;e.destroyer_.ensureNotDestroyed();return e.fatalError_?E.return():a.waitingToClearBuffer?(shaka.log.info(h,"waitingToClearBuffer, skip append"),a.performingUpdate=!1,e.scheduleUpdate_(a,0),E.return()):E.yield(e.append_(a,b,
1035
- k,c,w,!1,d),10);case 10:a.segmentPrefetch&&a.segmentIterator&&a.segmentPrefetch.prefetchSegmentsByTime(c.startTime,!0);case 6:e.destroyer_.ensureNotDestroyed();if(e.fatalError_)return E.return();a.lastSegmentReference=c;z=l.next().value;shaka.log.v2(h,"advancing to next segment",z);a.performingUpdate=!1;a.recovering=!1;C=e.playerInterface_.mediaSourceEngine.getBufferedInfo();A=C[a.type];shaka.log.v1(h,"finished fetch and append",JSON.stringify(A));if(!a.waitingToClearBuffer)e.playerInterface_.onSegmentAppended(c,
1036
- a.stream);e.scheduleUpdate_(a,0);E.leaveTryBlock(0);break;case 2:B=E.enterCatchBlock();e.destroyer_.ensureNotDestroyed(B);if(e.fatalError_)return E.return();goog.asserts.assert(B instanceof shaka.util.Error,"Should only receive a Shaka error");a.performingUpdate=!1;if(B.code==shaka.util.Error.Code.OPERATION_ABORTED)a.performingUpdate=!1,e.cancelUpdate_(a),e.scheduleUpdate_(a,0),E.jumpTo(0);else if(a.type==f.TEXT&&e.config_.ignoreTextStreamFailures)B.code==shaka.util.Error.Code.BAD_HTTP_STATUS?shaka.log.warning(h,
1037
- "Text stream failed to download. Proceeding without it."):shaka.log.warning(h,"Text stream failed to parse. Proceeding without it."),e.mediaStates_.delete(f.TEXT),E.jumpTo(0);else{if(B.code==shaka.util.Error.Code.QUOTA_EXCEEDED_ERROR)return E.yield(e.handleQuotaExceeded_(a,B),0);shaka.log.error(h,"failed fetch and append: code="+B.code);a.hasError=!0;B.category==shaka.util.Error.Category.NETWORK&&a.segmentPrefetch&&a.segmentPrefetch.removeReference(c);B.severity=shaka.util.Error.Severity.CRITICAL;
1038
- return E.yield(e.handleStreamingError_(a,B),0)}}})};
1032
+ shaka.media.StreamingEngine.prototype.fetchAndAppend_=function(a,b,c,d){var e=this,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B;return $jscomp.asyncExecutePromiseGeneratorProgram(function(D){switch(D.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;D.setCatchFinallyBlocks(2);
1033
+ 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 D.yield(e.initSourceBuffer_(a,c,d),4);case 4:e.destroyer_.ensureNotDestroyed();if(e.fatalError_)return D.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!=
1034
+ shaka.media.ManifestParser.HLS||c.hasByterangeOptimization()))return t=new Uint8Array(0),v=u=!1,y=function(G){var J,F,E,M;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){switch(I.nextAddress){case 1:if(u)return I.return();v=!0;e.destroyer_.ensureNotDestroyed();if(e.fatalError_)return I.return();I.setCatchFinallyBlocks(2);t=e.concatArray_(t,G);J=!1;F=0;(new shaka.util.Mp4Parser).box("mdat",function(H){F=H.size+H.start;J=!0}).parse(t,!1,!0);if(!J){I.jumpTo(4);break}E=t.subarray(0,F);
1035
+ t=t.subarray(F);return I.yield(e.append_(a,b,k,c,E,!0,d),5);case 5:a.segmentPrefetch&&a.segmentIterator&&a.segmentPrefetch.prefetchSegmentsByTime(c.startTime,!0);case 4:I.leaveTryBlock(0);break;case 2:x=M=I.enterCatchBlock(),I.jumpToEnd()}})},D.yield(e.fetch_(a,c,y),9);p&&!n&&shaka.log.warning("Low latency streaming mode is enabled, but ReadableStream is not supported by the browser.");q=e.fetch_(a,c);return D.yield(q,7);case 7:r=D.yieldResult;e.destroyer_.ensureNotDestroyed();if(e.fatalError_)return D.return();
1036
+ e.destroyer_.ensureNotDestroyed();return a.waitingToClearBuffer?(shaka.log.info(h,"waitingToClearBuffer, skip append"),a.performingUpdate=!1,e.scheduleUpdate_(a,0),D.return()):D.yield(e.append_(a,b,k,c,r,!1,d),6);case 9:w=D.yieldResult;if(x)throw x;if(v){D.jumpTo(10);break}u=!0;e.destroyer_.ensureNotDestroyed();return e.fatalError_?D.return():a.waitingToClearBuffer?(shaka.log.info(h,"waitingToClearBuffer, skip append"),a.performingUpdate=!1,e.scheduleUpdate_(a,0),D.return()):D.yield(e.append_(a,b,
1037
+ k,c,w,!1,d),10);case 10:a.segmentPrefetch&&a.segmentIterator&&a.segmentPrefetch.prefetchSegmentsByTime(c.startTime,!0);case 6:e.destroyer_.ensureNotDestroyed();if(e.fatalError_)return D.return();a.lastSegmentReference=c;z=l.next().value;shaka.log.v2(h,"advancing to next segment",z);a.performingUpdate=!1;a.recovering=!1;C=e.playerInterface_.mediaSourceEngine.getBufferedInfo();A=C[a.type];shaka.log.v1(h,"finished fetch and append",JSON.stringify(A));if(!a.waitingToClearBuffer)e.playerInterface_.onSegmentAppended(c,
1038
+ a.stream);e.scheduleUpdate_(a,0);D.leaveTryBlock(0);break;case 2:B=D.enterCatchBlock();e.destroyer_.ensureNotDestroyed(B);if(e.fatalError_)return D.return();goog.asserts.assert(B instanceof shaka.util.Error,"Should only receive a Shaka error");a.performingUpdate=!1;if(B.code==shaka.util.Error.Code.OPERATION_ABORTED)a.performingUpdate=!1,e.cancelUpdate_(a),e.scheduleUpdate_(a,0),D.jumpTo(0);else if(a.type==f.TEXT&&e.config_.ignoreTextStreamFailures)B.code==shaka.util.Error.Code.BAD_HTTP_STATUS?shaka.log.warning(h,
1039
+ "Text stream failed to download. Proceeding without it."):shaka.log.warning(h,"Text stream failed to parse. Proceeding without it."),e.mediaStates_.delete(f.TEXT),D.jumpTo(0);else{if(B.code==shaka.util.Error.Code.QUOTA_EXCEEDED_ERROR)return D.yield(e.handleQuotaExceeded_(a,B),0);shaka.log.error(h,"failed fetch and append: code="+B.code);a.hasError=!0;B.category==shaka.util.Error.Category.NETWORK&&a.segmentPrefetch&&a.segmentPrefetch.removeReference(c);B.severity=shaka.util.Error.Severity.CRITICAL;
1040
+ return D.yield(e.handleStreamingError_(a,B),0)}}})};
1039
1041
  shaka.media.StreamingEngine.prototype.retry=function(a){if(this.destroyer_.destroyed())return shaka.log.error("Unable to retry after StreamingEngine is destroyed!"),!1;if(this.fatalError_)return shaka.log.error("Unable to retry after StreamingEngine encountered a fatal error!"),!1;for(var b=$jscomp.makeIterator(this.mediaStates_.values()),c=b.next();!c.done;c=b.next()){c=c.value;var d=shaka.media.StreamingEngine.logPrefix_(c);!c.hasError||c.performingUpdate||c.updateTimer||(shaka.log.info(d,"Retrying after failure..."),
1040
1042
  c.hasError=!1,this.scheduleUpdate_(c,a))}return!0};shaka.media.StreamingEngine.prototype.concatArray_=function(a,b){var c=new Uint8Array(a.length+b.length);c.set(a);c.set(b,a.length);return c};
1041
1043
  shaka.media.StreamingEngine.prototype.handleQuotaExceeded_=function(a,b){var c=this,d,e,f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){if(1==n.nextAddress){d=shaka.media.StreamingEngine.logPrefix_(a);e=Array.from(c.mediaStates_.values());if(f=e.some(function(p){return p!=a&&p.recovering}))return shaka.log.debug(d,"MediaSource threw QuotaExceededError:","waiting for another stream to recover..."),n.jumpTo(2);(g=c.getDisabledTime_(b))&&shaka.log.debug(d,"Disabling stream due to quota",
@@ -1044,17 +1046,17 @@ return n.yield(c.evict_(a,m),2)}c.scheduleUpdate_(a,4);n.jumpToEnd()})};
1044
1046
  shaka.media.StreamingEngine.prototype.initSourceBuffer_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C;return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){switch(A.nextAddress){case 1:e=shaka.util.ManifestParserUtils.ContentType;f=shaka.util.MimeUtils;g=shaka.media.StreamingEngine;h=g.logPrefix_(a);k=null==a.lastSegmentReference&&null==a.lastInitSegmentReference;l=[];m=Math.max(0,Math.max(b.appendWindowStart,d.playRangeStart_)-g.APPEND_WINDOW_START_FUDGE_);n=Math.min(b.appendWindowEnd,
1045
1047
  d.playRangeEnd_)+g.APPEND_WINDOW_END_FUDGE_;goog.asserts.assert(b.startTime<=n,h+" segment should start before append window end");p=b.codecs||a.stream.codecs;q=f.getCodecBase(p);r=f.getBasicType(b.mimeType||a.stream.mimeType);t=b.timestampOffset;if(t==a.lastTimestampOffset&&m==a.lastAppendWindowStart&&n==a.lastAppendWindowEnd&&q==a.lastCodecs&&r==a.lastMimeType){A.jumpTo(2);break}shaka.log.v1(h,"setting timestamp offset to "+t);shaka.log.v1(h,"setting append window start to "+m);shaka.log.v1(h,"setting append window end to "+
1046
1048
  n);u=a.lastCodecs&&a.lastMimeType&&d.playerInterface_.mediaSourceEngine.isResetMediaSourceNecessary(a.type,a.stream,r,p);if(!u){A.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){A.jumpTo(3);break}return A.yield(d.abortOperations_(v).catch(function(){}),5);case 5:v.lastInitSegmentReference=null,d.forceClearBuffer_(v);case 3:return A.yield(d.setProperties_(a,t,m,n,b,q,r),2);case 2:return shaka.media.InitSegmentReference.equal(b.initSegmentReference,
1047
- a.lastInitSegmentReference)||(a.lastInitSegmentReference=b.initSegmentReference,b.isIndependent()&&b.initSegmentReference&&(shaka.log.v1(h,"fetching init segment"),x=d.fetch_(a,b.initSegmentReference),y=function(){var B,E,G,H,F,D,I,J,M;return $jscomp.asyncExecutePromiseGeneratorProgram(function(K){switch(K.nextAddress){case 1:return K.setCatchFinallyBlocks(2),K.yield(x,4);case 4:return B=K.yieldResult,d.destroyer_.ensureNotDestroyed(),E=null,G=new Map,H={projection:null,hfov:null},F=new shaka.util.Mp4Parser,
1048
- D=shaka.util.Mp4Parser,I=shaka.util.Mp4BoxParsers,F.box("moov",D.children).box("trak",D.children).box("mdia",D.children).fullBox("mdhd",function(L){goog.asserts.assert(null!=L.version,"MDHD is a full box and should have a valid version.");E=I.parseMDHD(L.reader,L.version).timescale}).box("hdlr",function(L){switch(I.parseHDLR(L.reader).handlerType){case "soun":G.set(e.AUDIO,E);break;case "vide":G.set(e.VIDEO,E)}E=null}).box("minf",D.children).box("stbl",D.children).fullBox("stsd",D.sampleDescription).box("encv",
1049
- D.visualSampleEntry).box("avc1",D.visualSampleEntry).box("avc3",D.visualSampleEntry).box("hev1",D.visualSampleEntry).box("hvc1",D.visualSampleEntry).box("dvav",D.visualSampleEntry).box("dva1",D.visualSampleEntry).box("dvh1",D.visualSampleEntry).box("dvhe",D.visualSampleEntry).box("dvc1",D.visualSampleEntry).box("dvi1",D.visualSampleEntry).box("vexu",D.children).box("proj",D.children).fullBox("prji",function(L){L=I.parsePRJI(L.reader);H.projection=L.projection}).box("hfov",function(L){L=I.parseHFOV(L.reader);
1050
- H.hfov=L.hfov}).parse(B),d.updateSpatialVideoInfo_(H),G.has(a.type)?b.initSegmentReference.timescale=G.get(a.type):null!=E&&(b.initSegmentReference.timescale=E),shaka.log.v1(h,"appending init segment"),J=a.stream.closedCaptions&&0<a.stream.closedCaptions.size,K.yield(d.playerInterface_.beforeAppendSegment(a.type,B),5);case 5:return K.yield(d.playerInterface_.mediaSourceEngine.appendBuffer(a.type,B,null,a.stream,J,a.seeked,c),6);case 6:K.leaveTryBlock(0);break;case 2:throw M=K.enterCatchBlock(),a.lastInitSegmentReference=
1051
- null,M;}})},w=b.startTime,k&&(z=d.playerInterface_.mediaSourceEngine.bufferEnd(a.type),null!=z&&(w=z)),d.playerInterface_.onInitSegmentAppended(w,b.initSegmentReference),l.push(y()))),d.manifest_.sequenceMode&&(C=a.lastSegmentReference?a.lastSegmentReference.discontinuitySequence:null,b.discontinuitySequence!=C&&l.push(d.playerInterface_.mediaSourceEngine.resync(a.type,b.startTime))),A.yield(Promise.all(l),0)}})};
1049
+ a.lastInitSegmentReference)||(a.lastInitSegmentReference=b.initSegmentReference,b.isIndependent()&&b.initSegmentReference&&(shaka.log.v1(h,"fetching init segment"),x=d.fetch_(a,b.initSegmentReference),y=function(){var B,D,G,J,F,E,M,I,H;return $jscomp.asyncExecutePromiseGeneratorProgram(function(K){switch(K.nextAddress){case 1:return K.setCatchFinallyBlocks(2),K.yield(x,4);case 4:return B=K.yieldResult,d.destroyer_.ensureNotDestroyed(),D=null,G=new Map,J={projection:null,hfov:null},F=new shaka.util.Mp4Parser,
1050
+ E=shaka.util.Mp4Parser,M=shaka.util.Mp4BoxParsers,F.box("moov",E.children).box("trak",E.children).box("mdia",E.children).fullBox("mdhd",function(L){goog.asserts.assert(null!=L.version,"MDHD is a full box and should have a valid version.");D=M.parseMDHD(L.reader,L.version).timescale}).box("hdlr",function(L){switch(M.parseHDLR(L.reader).handlerType){case "soun":G.set(e.AUDIO,D);break;case "vide":G.set(e.VIDEO,D)}D=null}).box("minf",E.children).box("stbl",E.children).fullBox("stsd",E.sampleDescription).box("encv",
1051
+ E.visualSampleEntry).box("avc1",E.visualSampleEntry).box("avc3",E.visualSampleEntry).box("hev1",E.visualSampleEntry).box("hvc1",E.visualSampleEntry).box("dvav",E.visualSampleEntry).box("dva1",E.visualSampleEntry).box("dvh1",E.visualSampleEntry).box("dvhe",E.visualSampleEntry).box("dvc1",E.visualSampleEntry).box("dvi1",E.visualSampleEntry).box("vexu",E.children).box("proj",E.children).fullBox("prji",function(L){L=M.parsePRJI(L.reader);J.projection=L.projection}).box("hfov",function(L){L=M.parseHFOV(L.reader);
1052
+ J.hfov=L.hfov}).parse(B),d.updateSpatialVideoInfo_(J),G.has(a.type)?b.initSegmentReference.timescale=G.get(a.type):null!=D&&(b.initSegmentReference.timescale=D),shaka.log.v1(h,"appending init segment"),I=a.stream.closedCaptions&&0<a.stream.closedCaptions.size,K.yield(d.playerInterface_.beforeAppendSegment(a.type,B),5);case 5:return K.yield(d.playerInterface_.mediaSourceEngine.appendBuffer(a.type,B,null,a.stream,I,a.seeked,c),6);case 6:K.leaveTryBlock(0);break;case 2:throw H=K.enterCatchBlock(),a.lastInitSegmentReference=
1053
+ null,H;}})},w=b.startTime,k&&(z=d.playerInterface_.mediaSourceEngine.bufferEnd(a.type),null!=z&&(w=z)),d.playerInterface_.onInitSegmentAppended(w,b.initSegmentReference),l.push(y()))),d.manifest_.sequenceMode&&(C=a.lastSegmentReference?a.lastSegmentReference.discontinuitySequence:null,b.discontinuitySequence!=C&&l.push(d.playerInterface_.mediaSourceEngine.resync(a.type,b.startTime))),A.yield(Promise.all(l),0)}})};
1052
1054
  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=
1053
1055
  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;})};
1054
1056
  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,u;return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){switch(v.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;
1055
1057
  r=null;d.initSegmentReference&&(r=d.initSegmentReference.timescale);t=q&&r&&c.type===shaka.util.ManifestParserUtils.ContentType.VIDEO&&h.manifest_.type==shaka.media.ManifestParser.DASH&&h.config_.shouldFixTimestampOffset;if(n||p||t)m=new shaka.util.Mp4Parser;n&&m.fullBox("emsg",function(x){return h.parseEMSG_(d,c.emsgSchemeIdUris,x)});p&&m.fullBox("prft",function(x){return h.parsePrft_(d,x)});t&&m.box("moof",shaka.util.Mp4Parser.children).box("traf",shaka.util.Mp4Parser.children).fullBox("tfdt",function(x){var y,
1056
- w,z,C,A,B;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){goog.asserts.assert(null!=x.version,"TFDT is a full box and should have a valid version.");y=shaka.util.Mp4BoxParsers.parseTFDTInaccurate(x.reader,x.version);w=y.baseMediaDecodeTime;if(!w)return E.return();goog.asserts.assert("number"==typeof r,"Should be an number!");z=-w/r;C=Number(a.lastTimestampOffset)||0;if(!(C<z))return E.jumpTo(0);A=a.lastAppendWindowStart;B=a.lastAppendWindowEnd;goog.asserts.assert("number"==typeof A,
1057
- "Should be an number!");goog.asserts.assert("number"==typeof B,"Should be an number!");return E.yield(h.setProperties_(a,z,A,B,d),0)})});(n||p||t)&&m.parse(e,!1,f);return v.yield(h.evict_(a,b),2);case 2:return h.destroyer_.ensureNotDestroyed(),u=a.seeked,a.seeked=!1,v.yield(h.playerInterface_.beforeAppendSegment(a.type,e),3);case 3:return v.yield(h.playerInterface_.mediaSourceEngine.appendBuffer(a.type,e,d,c,l,u,g,f),4);case 4:h.destroyer_.ensureNotDestroyed(),shaka.log.v2(k,"appended media segment"),
1058
+ w,z,C,A,B;return $jscomp.asyncExecutePromiseGeneratorProgram(function(D){goog.asserts.assert(null!=x.version,"TFDT is a full box and should have a valid version.");y=shaka.util.Mp4BoxParsers.parseTFDTInaccurate(x.reader,x.version);w=y.baseMediaDecodeTime;if(!w)return D.return();goog.asserts.assert("number"==typeof r,"Should be an number!");z=-w/r;C=Number(a.lastTimestampOffset)||0;if(!(C<z))return D.jumpTo(0);A=a.lastAppendWindowStart;B=a.lastAppendWindowEnd;goog.asserts.assert("number"==typeof A,
1059
+ "Should be an number!");goog.asserts.assert("number"==typeof B,"Should be an number!");return D.yield(h.setProperties_(a,z,A,B,d),0)})});(n||p||t)&&m.parse(e,!1,f);return v.yield(h.evict_(a,b),2);case 2:return h.destroyer_.ensureNotDestroyed(),u=a.seeked,a.seeked=!1,v.yield(h.playerInterface_.beforeAppendSegment(a.type,e),3);case 3:return v.yield(h.playerInterface_.mediaSourceEngine.appendBuffer(a.type,e,d,c,l,u,g,f),4);case 4:h.destroyer_.ensureNotDestroyed(),shaka.log.v2(k,"appended media segment"),
1058
1060
  v.jumpToEnd()}})};
1059
1061
  shaka.media.StreamingEngine.prototype.parseEMSG_=function(a,b,c){if(0===c.version){var d=c.reader.readTerminatedString();var e=c.reader.readTerminatedString();var f=c.reader.readUint32();var g=c.reader.readUint32();var h=c.reader.readUint32();var k=c.reader.readUint32();var l=a.startTime+g/f}else f=c.reader.readUint32(),l=c.reader.readUint64()/f+a.timestampOffset,g=l-a.startTime,h=c.reader.readUint32(),k=c.reader.readUint32(),d=c.reader.readTerminatedString(),e=c.reader.readTerminatedString();a=c.reader.readBytes(c.reader.getLength()-
1060
1062
  c.reader.getPosition());if(b&&b.includes(d)||this.config_.dispatchAllEmsgBoxes)if("urn:mpeg:dash:event:2012"==d)this.playerInterface_.onManifestUpdate();else if(b=l+h/f,k={startTime:l,endTime:b,schemeIdUri:d,value:e,timescale:f,presentationTimeDelta:g,eventDuration:h,id:k,messageData:a},f=shaka.util.FakeEvent.EventName.Emsg,k=(new Map).set("detail",k),f=new shaka.util.FakeEvent(f,k),f.cancelable=!0,this.playerInterface_.onEvent(f),!f.defaultPrevented&&("https://aomedia.org/emsg/ID3"==d||"https://developer.apple.com/streaming/emsg-id3"==
@@ -1077,8 +1079,8 @@ g.yield(c.onUpdate_(a),4);if(2!=g.nextAddress)return g.leaveTryBlock(0);f=g.ente
1077
1079
  shaka.media.StreamingEngine.prototype.abortOperations_=function(a){return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){return a.operation?b.yield(a.operation.abort(),0):b.jumpTo(0)})};
1078
1080
  shaka.media.StreamingEngine.prototype.handleStreamingError_=function(a,b){var c=this,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return d=shaka.media.StreamingEngine.logPrefix_(a),f.yield(c.failureCallbackBackoff_.attempt(),2);c.destroyer_.ensureNotDestroyed();if(b.category===shaka.util.Error.Category.NETWORK&&b.code!=shaka.util.Error.Code.TIMEOUT){if(a.restoreStreamAfterTrickPlay)return c.setTrickPlay(!1),f.return();(e=c.getDisabledTime_(b))&&shaka.log.debug(d,
1079
1081
  "Disabling stream due to error",b);b.handled=c.playerInterface_.disableStream(a.stream,e);b.handled&&(b.severity=shaka.util.Error.Severity.RECOVERABLE)}if(!b.handled||b.code!=shaka.util.Error.Code.SEGMENT_MISSING)c.playerInterface_.onError(b);b.handled||c.config_.failureCallback(b);f.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};
1080
- 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(){});
1081
- 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)})};
1082
+ 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(){}),
1083
+ e.segmentIterator&&e.segmentIterator.resetToLastIndependent();if(f=a.mediaStates_.get(d.VIDEO))f.lastInitSegmentReference=null,a.forceClearBuffer_(f),a.abortOperations_(f).catch(function(){}),f.segmentIterator&&f.segmentIterator.resetToLastIndependent();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)})};
1082
1084
  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}};
1083
1085
  shaka.media.StreamingEngine.prototype.updateSegmentIteratorReverse_=function(){for(var a=0>this.playerInterface_.getPlaybackRate(),b=$jscomp.makeIterator(this.mediaStates_.values()),c=b.next();!c.done;c=b.next())c=c.value,c.segmentIterator&&c.segmentIterator.setReverse(a),c.segmentPrefetch&&c.segmentPrefetch.setReverse(a);b=$jscomp.makeIterator(this.audioPrefetchMap_.values());for(c=b.next();!c.done;c=b.next())c.value.setReverse(a)};
1084
1086
  shaka.media.StreamingEngine.logPrefix_=function(a){return"("+a.type+":"+a.stream.id+")"};shaka.media.StreamingEngine.APPEND_WINDOW_START_FUDGE_=.1;shaka.media.StreamingEngine.APPEND_WINDOW_END_FUDGE_=.01;shaka.media.StreamingEngine.MAX_RUN_AHEAD_SEGMENTS_=1;shaka.util.ConfigUtils=function(){};
@@ -1297,30 +1299,30 @@ shaka.Player.prototype.destroyAllPreloads=function(){var a=this,b,c,d,e;return $
1297
1299
  shaka.Player.prototype.preloadInner_=function(a,b,c,d){d=void 0===d?!1:d;var e=this,f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return goog.asserts.assert(e.networkingEngine_,"Should have a net engine!"),goog.asserts.assert(e.config_,"Config must not be null!"),c?l.jumpTo(2):l.yield(e.guessMimeType_(a),3);2!=l.nextAddress&&(c=l.yieldResult);if(f=e.shouldUseSrcEquals_(a,c))return l.return(null);g=!1;h=!0;d&&(e.abrManager_&&e.abrManagerFactory_==e.config_.abrFactory&&
1298
1300
  (h=!1),e.video_&&"AUDIO"===e.video_.nodeName&&(g=!0));k=e.makePreloadManager_(a,b,c||null,!d,g,h);k=d?k.then(function(m){m.markIsLoad();return m}):k.then(function(m){e.createdPreloadManagers_.push(m);return m});return l.return(k)})};
1299
1301
  shaka.Player.prototype.makePreloadManager_=function(a,b,c,d,e,f){d=void 0===d?!0:d;e=void 0===e?!1:e;f=void 0===f?!0:f;var g=this,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z;return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){if(1==C.nextAddress)return goog.asserts.assert(g.networkingEngine_,"Must have net engine"),h=null,k=shaka.util.ObjectUtils.cloneObject(g.config_),e&&(k.manifest.disableVideo=!0),l=function(){goog.asserts.assert(h,"Must have preload manager");return h.hasBeenAttached()&&h.isDestroyed()?
1300
- null:h},m=function(){return l()?l().getConfiguration():g.config_},n=function(A,B){l()?h.configure(A,B):g.configure(A,B)},Infinity!=g.maxHwRes_.width||Infinity!=g.maxHwRes_.height?C.jumpTo(2):C.yield(shaka.util.Platform.detectMaxHardwareResolution(),3);2!=C.nextAddress&&(p=C.yieldResult,g.maxHwRes_.width=p.width,g.maxHwRes_.height=p.height);q=new shaka.media.ManifestFilterer(k,g.maxHwRes_,null);r={networkingEngine:g.networkingEngine_,filter:function(A){var B,E;return $jscomp.asyncExecutePromiseGeneratorProgram(function(G){if(1==
1301
- G.nextAddress)return G.yield(q.filterManifest(A),2);if(4!=G.nextAddress){B=G.yieldResult;if(!B)return G.jumpTo(0);E=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged);return G.yield(Promise.resolve(),4)}h.dispatchEvent(E);G.jumpToEnd()})},makeTextStreamsForClosedCaptions:function(A){return g.makeTextStreamsForClosedCaptions_(A)},onTimelineRegionAdded:function(A){h.getRegionTimeline().addRegion(A)},onEvent:function(A){return h.dispatchEvent(A)},onError:function(A){return h.onError(A)},
1302
- isLowLatencyMode:function(){return m().streaming.lowLatencyMode},isAutoLowLatencyMode:function(){return m().streaming.autoLowLatencyMode},enableLowLatencyMode:function(){n("streaming.lowLatencyMode",!0)},updateDuration:function(){g.streamingEngine_&&h.hasBeenAttached()&&g.streamingEngine_.updateDuration()},newDrmInfo:function(A){var B=h.getDrmEngine(),E=B?B.getDrmInfo():null;E&&B.getMediaKeys()&&q.processDrmInfos(E.keySystem,A)},onManifestUpdated:function(){var A=shaka.util.FakeEvent.EventName.ManifestUpdated,
1303
- B=(new Map).set("isLive",g.isLive());h.dispatchEvent(shaka.Player.makeEvent_(A,B));h.addQueuedOperation(!1,function(){if(g.adManager_)g.adManager_.onManifestUpdated(g.isLive())})},getBandwidthEstimate:function(){return g.abrManager_.getBandwidthEstimate()},onMetadata:function(A,B,E,G){var H=A;"com.apple.hls.interstitial"==A&&(H="com.apple.quicktime.HLS",A={startTime:B,endTime:E,values:G},g.adManager_&&(goog.asserts.assert(g.video_,"Must have video"),g.adManager_.onHLSInterstitialMetadata(g,g.video_,
1304
- A)));G=$jscomp.makeIterator(G);A=G.next();for(var F={};!A.done;F={payload$jscomp$6:void 0},A=G.next())F.payload$jscomp$6=A.value,"ID"!=F.payload$jscomp$6.name&&h.addQueuedOperation(!1,function(D){return function(){g.dispatchMetadataEvent_(B,E,H,D.payload$jscomp$6)}}(F))},disableStream:function(A){return g.disableStream(A,g.config_.streaming.maxDisabledTime)},addFont:function(A,B){return g.addFont(A,B)}};t=new shaka.media.RegionTimeline(function(){return g.seekRange()});t.addEventListener("regionadd",
1302
+ null:h},m=function(){return l()?l().getConfiguration():g.config_},n=function(A,B){l()?h.configure(A,B):g.configure(A,B)},Infinity!=g.maxHwRes_.width||Infinity!=g.maxHwRes_.height?C.jumpTo(2):C.yield(shaka.util.Platform.detectMaxHardwareResolution(),3);2!=C.nextAddress&&(p=C.yieldResult,g.maxHwRes_.width=p.width,g.maxHwRes_.height=p.height);q=new shaka.media.ManifestFilterer(k,g.maxHwRes_,null);r={networkingEngine:g.networkingEngine_,filter:function(A){var B,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(G){if(1==
1303
+ G.nextAddress)return G.yield(q.filterManifest(A),2);if(4!=G.nextAddress){B=G.yieldResult;if(!B)return G.jumpTo(0);D=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged);return G.yield(Promise.resolve(),4)}h.dispatchEvent(D);G.jumpToEnd()})},makeTextStreamsForClosedCaptions:function(A){return g.makeTextStreamsForClosedCaptions_(A)},onTimelineRegionAdded:function(A){h.getRegionTimeline().addRegion(A)},onEvent:function(A){return h.dispatchEvent(A)},onError:function(A){return h.onError(A)},
1304
+ isLowLatencyMode:function(){return m().streaming.lowLatencyMode},isAutoLowLatencyMode:function(){return m().streaming.autoLowLatencyMode},enableLowLatencyMode:function(){n("streaming.lowLatencyMode",!0)},updateDuration:function(){g.streamingEngine_&&h.hasBeenAttached()&&g.streamingEngine_.updateDuration()},newDrmInfo:function(A){var B=h.getDrmEngine(),D=B?B.getDrmInfo():null;D&&B.getMediaKeys()&&q.processDrmInfos(D.keySystem,A)},onManifestUpdated:function(){var A=shaka.util.FakeEvent.EventName.ManifestUpdated,
1305
+ B=(new Map).set("isLive",g.isLive());h.dispatchEvent(shaka.Player.makeEvent_(A,B));h.addQueuedOperation(!1,function(){if(g.adManager_)g.adManager_.onManifestUpdated(g.isLive())})},getBandwidthEstimate:function(){return g.abrManager_.getBandwidthEstimate()},onMetadata:function(A,B,D,G){var J=A;"com.apple.hls.interstitial"==A&&(J="com.apple.quicktime.HLS",A={startTime:B,endTime:D,values:G},g.adManager_&&(goog.asserts.assert(g.video_,"Must have video"),g.adManager_.onHLSInterstitialMetadata(g,g.video_,
1306
+ A)));G=$jscomp.makeIterator(G);A=G.next();for(var F={};!A.done;F={payload$jscomp$6:void 0},A=G.next())F.payload$jscomp$6=A.value,"ID"!=F.payload$jscomp$6.name&&h.addQueuedOperation(!1,function(E){return function(){g.dispatchMetadataEvent_(B,D,J,E.payload$jscomp$6)}}(F))},disableStream:function(A){return g.disableStream(A,g.config_.streaming.maxDisabledTime)},addFont:function(A,B){return g.addFont(A,B)}};t=new shaka.media.RegionTimeline(function(){return g.seekRange()});t.addEventListener("regionadd",
1305
1307
  function(A){var B=A.region;g.onRegionEvent_(shaka.util.FakeEvent.EventName.TimelineRegionAdded,B,h);h.addQueuedOperation(!1,function(){g.adManager_&&(g.adManager_.onDashTimedMetadata(B),goog.asserts.assert(g.video_,"Must have video"),g.adManager_.onDASHInterstitialMetadata(g,g.video_,B))})});u=null;k.streaming.observeQualityChanges&&(u=new shaka.media.QualityObserver(function(){return g.getBufferedInfo()}),u.addEventListener("qualitychange",function(A){g.onMediaQualityChange_(A.quality,A.position)}),
1306
- u.addEventListener("audiotrackchange",function(A){g.onMediaQualityChange_(A.quality,A.position,!0)}));v=!0;x={netEngine:g.networkingEngine_,onError:function(A){return h.onError(A)},onKeyStatus:function(A){h.addQueuedOperation(!0,function(){g.onKeyStatus_(A)})},onExpirationUpdated:function(A,B){var E=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ExpirationUpdated);h.dispatchEvent(E);if((E=h.getParser())&&E.onExpirationUpdated)E.onExpirationUpdated(A,B)},onEvent:function(A){h.dispatchEvent(A);
1308
+ u.addEventListener("audiotrackchange",function(A){g.onMediaQualityChange_(A.quality,A.position,!0)}));v=!0;x={netEngine:g.networkingEngine_,onError:function(A){return h.onError(A)},onKeyStatus:function(A){h.addQueuedOperation(!0,function(){g.onKeyStatus_(A)})},onExpirationUpdated:function(A,B){var D=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ExpirationUpdated);h.dispatchEvent(D);if((D=h.getParser())&&D.onExpirationUpdated)D.onExpirationUpdated(A,B)},onEvent:function(A){h.dispatchEvent(A);
1307
1309
  A.type==shaka.util.FakeEvent.EventName.DrmSessionUpdate&&v&&(v=!1,A=Date.now()/1E3-h.getStartTimeOfDRM(),(g.stats_||h.getStats()).setDrmTime(A),g.lcevcDec_&&g.lcevcDec_.hideCanvas())}};y=g.createNetworkingEngine(l);g.networkingEngine_.copyFiltersInto(y);w=function(){return g.createDrmEngine(x)};z={config:k,manifestPlayerInterface:r,regionTimeline:t,qualityObserver:u,createDrmEngine:w,manifestFilterer:q,networkingEngine:y,allowPrefetch:d,allowMakeAbrManager:f};h=new shaka.media.PreloadManager(a,c,
1308
1310
  b,z);return C.return(h)})};shaka.Player.prototype.guessMimeType_=function(a){var b=this,c,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return goog.asserts.assert(b.networkingEngine_,"Should have a net engine!"),c=b.config_.manifest.retryParameters,e.yield(shaka.net.NetworkingUtils.getMimeType(a,b.networkingEngine_,c),2);d=e.yieldResult;"application/x-mpegurl"==d&&shaka.util.Platform.isApple()&&(d="application/vnd.apple.mpegurl");return e.return(d)})};
1309
1311
  shaka.Player.prototype.shouldUseSrcEquals_=function(a,b){a=shaka.util.Platform;var c=shaka.util.MimeUtils;if(!a.supportsMediaSource())return!0;if(b){var d=""!=(this.video_||a.anyMediaElement()).canPlayType(b);if(!d)return!1;var e=shaka.media.ManifestParser.isSupported(b);if(!e)return!0;goog.asserts.assert(d&&e,"Both native and MSE playback should be possible!");if(c.isHlsType(b))return a.isApple()&&(this.config_.drm.servers["com.apple.fps"]||this.config_.drm.servers["com.apple.fps.1_0"])?this.config_.streaming.useNativeHlsForFairPlay:
1310
1312
  this.config_.streaming.preferNativeHls}return!1};shaka.Player.prototype.createTextDisplayer_=function(){var a=this.config_.textDisplayFactory;a!==this.lastTextFactory_&&(this.textDisplayer_=a(),this.textDisplayer_.configure?this.textDisplayer_.configure(this.config_.textDisplayer):shaka.Deprecate.deprecateFeature(5,"Text displayer w/ configure",'Text displayer should have a "configure" method!'),this.lastTextFactory_=a,this.textDisplayer_.setTextVisibility(this.isTextVisible_))};
1311
1313
  shaka.Player.prototype.initializeMediaSourceEngineInner_=function(){var a=this,b,c,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return goog.asserts.assert(shaka.util.Platform.supportsMediaSource(),"We should not be initializing media source on a platform that does not support media source."),goog.asserts.assert(a.video_,"We should have a media element when initializing media source."),goog.asserts.assert(null==a.mediaSourceEngine_,"We should not have a media source engine yet."),
1312
1314
  a.makeStateChangeEvent_("media-source"),a.createTextDisplayer_(),goog.asserts.assert(a.textDisplayer_,"Text displayer should be created already"),b=a.createMediaSourceEngine(a.video_,a.textDisplayer_,{getKeySystem:function(){return a.keySystem()},onMetadata:function(f,g,h){a.processTimedMetadataMediaSrc_(f,g,h)}},a.lcevcDec_),b.configure(a.config_.mediaSource),c=a.config_.manifest,d=c.segmentRelativeVttTiming,b.setSegmentRelativeVttTiming(d),e.yield(b.open(),2);a.mediaSourceEngine_=b;e.jumpToEnd()})};
1313
- shaka.Player.prototype.loadInner_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){switch(F.nextAddress){case 1:goog.asserts.assert(d.video_,"We should have a media element by now."),goog.asserts.assert(d.manifest_,"The manifest should already be parsed."),goog.asserts.assert(d.assetUri_,"We should have an asset uri by now."),goog.asserts.assert(d.abrManager_,"We should have an abr manager by now."),d.makeStateChangeEvent_("load"),
1314
- e=d.video_,d.playRateController_=new shaka.media.PlayRateController({getRate:function(){return e.playbackRate},getDefaultRate:function(){return e.defaultPlaybackRate},setRate:function(D){e.playbackRate=D},movePlayhead:function(D){e.currentTime+=D}}),f=function(){return d.updateStateHistory_()},g=function(){return d.onRateChange_()},d.loadEventManager_.listen(e,"playing",f),d.loadEventManager_.listen(e,"pause",f),d.loadEventManager_.listen(e,"ended",f),d.loadEventManager_.listen(e,"ratechange",g),
1315
- d.setupLcevc_(d.config_),d.currentTextLanguage_=d.config_.preferredTextLanguage,d.currentTextRole_=d.config_.preferredTextRole,d.currentTextForced_=d.config_.preferForcedSubs,shaka.Player.applyPlayRange_(d.manifest_.presentationTimeline,d.config_.playRangeStart,d.config_.playRangeEnd),d.abrManager_.init(function(D,I,J){return d.switch_(D,I,J)}),d.abrManager_.setMediaElement(e),d.abrManager_.setCmsdManager(d.cmsdManager_),d.streamingEngine_=d.createStreamingEngine(),d.streamingEngine_.configure(d.config_.streaming),
1316
- d.loadMode_=shaka.Player.LoadMode.MEDIA_SOURCE,e.textTracks&&d.loadEventManager_.listen(e.textTracks,"addtrack",function(D){if(D.track)switch(D=D.track,goog.asserts.assert(D instanceof TextTrack,"Wrong track type!"),D.kind){case "chapters":d.activateChaptersTrack_(D)}}),d.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Streaming)),h=b;case 2:l=d.streamingEngine_.getCurrentVariant();l||h||(h=d.chooseVariant_(),goog.asserts.assert(h,"Must choose an initial variant!"));m=[];k=l||
1315
+ shaka.Player.prototype.loadInner_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){switch(F.nextAddress){case 1:goog.asserts.assert(d.video_,"We should have a media element by now."),goog.asserts.assert(d.manifest_,"The manifest should already be parsed."),goog.asserts.assert(d.assetUri_,"We should have an asset uri by now."),goog.asserts.assert(d.abrManager_,"We should have an abr manager by now."),d.makeStateChangeEvent_("load"),
1316
+ e=d.video_,d.playRateController_=new shaka.media.PlayRateController({getRate:function(){return e.playbackRate},getDefaultRate:function(){return e.defaultPlaybackRate},setRate:function(E){e.playbackRate=E},movePlayhead:function(E){e.currentTime+=E}}),f=function(){return d.updateStateHistory_()},g=function(){return d.onRateChange_()},d.loadEventManager_.listen(e,"playing",f),d.loadEventManager_.listen(e,"pause",f),d.loadEventManager_.listen(e,"ended",f),d.loadEventManager_.listen(e,"ratechange",g),
1317
+ d.setupLcevc_(d.config_),d.currentTextLanguage_=d.config_.preferredTextLanguage,d.currentTextRole_=d.config_.preferredTextRole,d.currentTextForced_=d.config_.preferForcedSubs,shaka.Player.applyPlayRange_(d.manifest_.presentationTimeline,d.config_.playRangeStart,d.config_.playRangeEnd),d.abrManager_.init(function(E,M,I){return d.switch_(E,M,I)}),d.abrManager_.setMediaElement(e),d.abrManager_.setCmsdManager(d.cmsdManager_),d.streamingEngine_=d.createStreamingEngine(),d.streamingEngine_.configure(d.config_.streaming),
1318
+ d.loadMode_=shaka.Player.LoadMode.MEDIA_SOURCE,e.textTracks&&d.loadEventManager_.listen(e.textTracks,"addtrack",function(E){if(E.track)switch(E=E.track,goog.asserts.assert(E instanceof TextTrack,"Wrong track type!"),E.kind){case "chapters":d.activateChaptersTrack_(E)}}),d.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Streaming)),h=b;case 2:l=d.streamingEngine_.getCurrentVariant();l||h||(h=d.chooseVariant_(),goog.asserts.assert(h,"Must choose an initial variant!"));m=[];k=l||
1317
1319
  h;n=$jscomp.makeIterator([k.video,k.audio]);for(p=n.next();!p.done;p=n.next())(q=p.value)&&!q.segmentIndex&&m.push(q.createSegmentIndex());if(!(0<m.length)){F.jumpTo(4);break}return F.yield(Promise.all(m),4);case 4:if(!k||0!=k.disabledUntilTime){F.jumpTo(2);break}if(d.parser_&&d.parser_.onInitialVariantChosen)d.parser_.onInitialVariantChosen(k);d.manifest_.isLowLatency&&!d.config_.streaming.lowLatencyMode&&shaka.log.alwaysWarn("Low-latency live stream detected, but low-latency streaming mode is not enabled in Shaka Player. Set streaming.lowLatencyMode configuration to true, and see https://bit.ly/3clctcj for details.");
1318
- d.cmcdManager_&&d.cmcdManager_.setLowLatency(d.manifest_.isLowLatency&&d.config_.streaming.lowLatencyMode);shaka.Player.applyPlayRange_(d.manifest_.presentationTimeline,d.config_.playRangeStart,d.config_.playRangeEnd);d.streamingEngine_.applyPlayRange(d.config_.playRangeStart,d.config_.playRangeEnd);r=function(D){d.playhead_=d.createPlayhead(D);d.playheadObservers_=d.createPlayheadObserversForMSE_(D);d.startBufferManagement_(e,Math.max(d.manifest_.minBufferTime,d.config_.streaming.rebufferingGoal))};
1320
+ d.cmcdManager_&&d.cmcdManager_.setLowLatency(d.manifest_.isLowLatency&&d.config_.streaming.lowLatencyMode);shaka.Player.applyPlayRange_(d.manifest_.presentationTimeline,d.config_.playRangeStart,d.config_.playRangeEnd);d.streamingEngine_.applyPlayRange(d.config_.playRangeStart,d.config_.playRangeEnd);r=function(E){d.playhead_=d.createPlayhead(E);d.playheadObservers_=d.createPlayheadObserversForMSE_(E);d.startBufferManagement_(e,Math.max(d.manifest_.minBufferTime,d.config_.streaming.rebufferingGoal))};
1319
1321
  d.config_.streaming.startAtSegmentBoundary||(t=d.startTime_,null==t&&d.manifest_.startTime&&(t=d.manifest_.startTime),r(t));if(l){F.jumpTo(7);break}goog.asserts.assert(h,"Must have choosen an initial variant!");if(!d.config_.streaming.startAtSegmentBoundary){F.jumpTo(8);break}u=d.manifest_.presentationTimeline;v=d.startTime_||d.video_.currentTime;null==d.startTime_&&d.manifest_.startTime&&(v=d.manifest_.startTime);x=u.getSeekRangeStart();y=u.getSeekRangeEnd();v<x?v=x:v>y&&(v=y);return F.yield(d.adjustStartTime_(h,
1320
- v),9);case 9:w=F.yieldResult,r(w);case 8:d.switchVariant_(h,!0,!1,0);case 7:return d.playhead_.ready(),z=d.getTextTracks().find(function(D){return D.active}),z||((C=d.chooseTextStream_())&&d.addTextStreamToSwitchHistory_(C,!0),h&&d.setInitialTextState_(h,C),C&&d.shouldStreamText_()&&d.streamingEngine_.switchTextStream(C)),F.yield(d.streamingEngine_.start(c),10);case 10:d.config_.abr.enabled&&(d.abrManager_.enable(),d.onAbrStatusChanged_());d.onTracksChanged_();d.updateAbrManagerVariants_();A=d.manifest_.variants.some(function(D){return D.primary});
1321
- d.config_.preferredAudioLanguage||A||shaka.log.warning("No preferred audio language set. We have chosen an arbitrary language initially");if((B=d.isLive())&&(d.config_.streaming.liveSync&&d.config_.streaming.liveSync.enabled||d.manifest_.serviceDescription||d.config_.streaming.liveSync.panicMode)||d.config_.streaming.vodDynamicPlaybackRate)E=function(){return d.onTimeUpdate_()},d.loadEventManager_.listen(e,"timeupdate",E);B||(G=function(){return d.onVideoProgress_()},d.loadEventManager_.listen(e,
1322
- "timeupdate",G),d.onVideoProgress_(),d.manifest_.nextUrl&&(0<d.config_.streaming.preloadNextUrlWindow&&(H=function(){var D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){if(1==I.nextAddress){D=d.video_.duration-d.video_.currentTime;if(isNaN(D)||!(D<=d.config_.streaming.preloadNextUrlWindow))return I.jumpTo(0);d.loadEventManager_.unlisten(e,"timeupdate",H);goog.asserts.assert(d.manifest_.nextUrl,"this.manifest_.nextUrl should be valid.");return I.yield(d.preload(d.manifest_.nextUrl),
1323
- 4)}d.preloadNextUrl_=I.yieldResult;I.jumpToEnd()})},d.loadEventManager_.listen(e,"timeupdate",H)),d.loadEventManager_.listen(e,"ended",function(){d.load(d.preloadNextUrl_||d.manifest_.nextUrl)})));if(d.adManager_)d.adManager_.onManifestUpdated(B);d.fullyLoaded_=!0;d.loadEventManager_.listenOnce(e,"loadedmetadata",function(){var D=Date.now()/1E3-a;d.stats_.setLoadLatency(D)});F.jumpToEnd()}})};
1322
+ v),9);case 9:w=F.yieldResult,r(w);case 8:d.switchVariant_(h,!0,!1,0);case 7:return d.playhead_.ready(),z=d.getTextTracks().find(function(E){return E.active}),z||((C=d.chooseTextStream_())&&d.addTextStreamToSwitchHistory_(C,!0),h&&d.setInitialTextState_(h,C),C&&d.shouldStreamText_()&&d.streamingEngine_.switchTextStream(C)),F.yield(d.streamingEngine_.start(c),10);case 10:d.config_.abr.enabled&&(d.abrManager_.enable(),d.onAbrStatusChanged_());d.onTracksChanged_();d.updateAbrManagerVariants_();A=d.manifest_.variants.some(function(E){return E.primary});
1323
+ d.config_.preferredAudioLanguage||A||shaka.log.warning("No preferred audio language set. We have chosen an arbitrary language initially");if((B=d.isLive())&&(d.config_.streaming.liveSync&&d.config_.streaming.liveSync.enabled||d.manifest_.serviceDescription||d.config_.streaming.liveSync.panicMode)||d.config_.streaming.vodDynamicPlaybackRate)D=function(){return d.onTimeUpdate_()},d.loadEventManager_.listen(e,"timeupdate",D);B||(G=function(){return d.onVideoProgress_()},d.loadEventManager_.listen(e,
1324
+ "timeupdate",G),d.onVideoProgress_(),d.manifest_.nextUrl&&(0<d.config_.streaming.preloadNextUrlWindow&&(J=function(){var E;return $jscomp.asyncExecutePromiseGeneratorProgram(function(M){if(1==M.nextAddress){E=d.video_.duration-d.video_.currentTime;if(isNaN(E)||!(E<=d.config_.streaming.preloadNextUrlWindow))return M.jumpTo(0);d.loadEventManager_.unlisten(e,"timeupdate",J);goog.asserts.assert(d.manifest_.nextUrl,"this.manifest_.nextUrl should be valid.");return M.yield(d.preload(d.manifest_.nextUrl),
1325
+ 4)}d.preloadNextUrl_=M.yieldResult;M.jumpToEnd()})},d.loadEventManager_.listen(e,"timeupdate",J)),d.loadEventManager_.listen(e,"ended",function(){d.load(d.preloadNextUrl_||d.manifest_.nextUrl)})));if(d.adManager_)d.adManager_.onManifestUpdated(B);d.fullyLoaded_=!0;d.loadEventManager_.listenOnce(e,"loadedmetadata",function(){var E=Date.now()/1E3-a;d.stats_.setLoadLatency(E)});F.jumpToEnd()}})};
1324
1326
  shaka.Player.prototype.initializeSrcEqualsDrmInner_=function(a){var b=this,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){return 1==h.nextAddress?(c=shaka.util.ManifestParserUtils.ContentType,goog.asserts.assert(b.networkingEngine_,"|onInitializeSrcEqualsDrm_| should never be called after |destroy|"),goog.asserts.assert(b.config_,"|onInitializeSrcEqualsDrm_| should never be called after |destroy|"),d=Date.now()/1E3,e=!0,b.drmEngine_=b.createDrmEngine({netEngine:b.networkingEngine_,
1325
1327
  onError:function(k){b.onError_(k)},onKeyStatus:function(k){},onExpirationUpdated:function(k,l){k=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ExpirationUpdated);b.dispatchEvent(k)},onEvent:function(k){b.dispatchEvent(k);k.type==shaka.util.FakeEvent.EventName.DrmSessionUpdate&&e&&(e=!1,k=Date.now()/1E3-d,b.stats_.setDrmTime(k))}}),b.drmEngine_.configure(b.config_.drm),f={id:0,language:"und",disabledUntilTime:0,primary:!1,audio:null,video:null,bandwidth:100,allowedByApplication:!0,allowedByKeySystem:!0,
1326
1328
  decodingInfos:[]},g={id:0,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:null,mimeType:a?shaka.util.MimeUtils.getBasicType(a):"",codecs:a?shaka.util.MimeUtils.getCodecs(a):"",encrypted:!0,drmInfos:[],keyIds:new Set,language:"und",originalLanguage:null,label:null,type:c.VIDEO,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,
@@ -1338,7 +1340,7 @@ c.loadEventManager_.listen(d,"timeupdate",q),c.onVideoProgress_());c.adManager_&
1338
1340
  shaka.Player.prototype.setupPreferredTextOnSrc_=function(){var a=this.config_.preferredTextLanguage;""!=a&&this.selectTextLanguage(a,this.config_.preferredTextRole,this.config_.preferForcedSubs)};
1339
1341
  shaka.Player.prototype.processTimedMetadataSrcEqls_=function(a){var b=this;if("metadata"==a.kind){a.mode="hidden";this.loadEventManager_.listen(a,"cuechange",function(){if(a.activeCues)for(var d=$jscomp.makeIterator(a.activeCues),e=d.next();!e.done;e=d.next())if(e=e.value,b.dispatchMetadataEvent_(e.startTime,e.endTime,e.type,e.value),b.adManager_)b.adManager_.onCueMetadataChange(e.value);if(a.cues){d=[];e=$jscomp.makeIterator(a.cues);for(var f=e.next(),g={};!f.done;g={cue$jscomp$37:void 0},f=e.next())g.cue$jscomp$37=
1340
1342
  f.value,"com.apple.quicktime.HLS"==g.cue$jscomp$37.type&&null!=g.cue$jscomp$37.startTime&&(f=d.find(function(h){return function(k){return k.startTime==h.cue$jscomp$37.startTime&&k.endTime==h.cue$jscomp$37.endTime}}(g)),f||(f={startTime:g.cue$jscomp$37.startTime,endTime:g.cue$jscomp$37.endTime,values:[]},d.push(f)),f.values.push(g.cue$jscomp$37.value));d=$jscomp.makeIterator(d);for(e=d.next();!e.done;e=d.next())e=e.value,e.values.some(function(h){return"X-ASSET-URI"==h.key||"X-ASSET-LIST"==h.key})&&
1341
- b.adManager_&&(e.values.push({key:"CUE",description:"",data:0==e.startTime?"ONCE,PRE":"ONCE",mimeType:null,pictureType:null}),goog.asserts.assert(b.video_,"Must have video"),b.adManager_.onHLSInterstitialMetadata(b,b.video_,e))}});var c=(new shaka.util.Timer(function(){var d=b.getMetadataTracks_();d=$jscomp.makeIterator(d);for(var e=d.next();!e.done;e=d.next())e.value.mode="hidden"})).tickNow().tickAfter(.5);this.cleanupOnUnload_.push(function(){c.stop()})}};
1343
+ b.adManager_&&(g=0==e.startTime&&!b.isLive(),e.values.push({key:"CUE",description:"",data:g?"ONCE,PRE":"ONCE",mimeType:null,pictureType:null}),goog.asserts.assert(b.video_,"Must have video"),b.adManager_.onHLSInterstitialMetadata(b,b.video_,e))}});var c=(new shaka.util.Timer(function(){var d=b.getMetadataTracks_();d=$jscomp.makeIterator(d);for(var e=d.next();!e.done;e=d.next())e.value.mode="hidden"})).tickNow().tickAfter(.5);this.cleanupOnUnload_.push(function(){c.stop()})}};
1342
1344
  shaka.Player.prototype.processTimedMetadataMediaSrc_=function(a,b,c){a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next())if(d=d.value,d.data&&"number"==typeof d.cueTime&&d.frames){var e=d.cueTime+b,f=c;f&&e>f&&(f=e);for(var g=$jscomp.makeIterator(d.frames),h=g.next();!h.done;h=g.next())this.dispatchMetadataEvent_(e,f,"org.id3",h.value);if(this.adManager_)this.adManager_.onHlsTimedMetadata(d,e)}};
1343
1345
  shaka.Player.prototype.dispatchMetadataEvent_=function(a,b,c,d){goog.asserts.assert(!b||a<=b,"Metadata start time should be less or equal to the end time!");var e=shaka.util.FakeEvent.EventName.Metadata;a=(new Map).set("startTime",a).set("endTime",b).set("metadataType",c).set("payload",d);this.dispatchEvent(shaka.Player.makeEvent_(e,a))};
1344
1346
  shaka.Player.prototype.activateChaptersTrack_=function(a){if(a&&"chapters"==a.kind){a.mode="hidden";var b=(new shaka.util.Timer(function(){a.mode="hidden"})).tickNow().tickAfter(.5);this.cleanupOnUnload_.push(function(){b.stop()})}};shaka.Player.prototype.releaseAllMutexes=function(){this.mutex_.releaseAll()};shaka.Player.prototype.createDrmEngine=function(a){return new shaka.media.DrmEngine(a)};
@@ -1490,10 +1492,11 @@ shaka.Player.prototype.onAdaptation_=function(a,b){a=(new Map).set("oldTrack",a)
1490
1492
  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)};
1491
1493
  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))};
1492
1494
  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_()}};
1493
- 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()/
1494
- 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};
1495
- shaka.Player.prototype.onError_=function(a){var b=this,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:goog.asserts.assert(a instanceof shaka.util.Error,"Wrong error type!");if(b.loadMode_==shaka.Player.LoadMode.DESTROYED)return h.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&&
1496
- a.code!=shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW&&a.code!=shaka.util.Error.Code.TRANSMUXING_FAILED){h.jumpTo(2);break}h.setCatchFinallyBlocks(3);return h.yield(b.streamingEngine_.resetMediaSource(),5);case 5:d=h.yieldResult;c=!d;d&&(e=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.MediaSourceRecovered),b.dispatchEvent(e));h.leaveTryBlock(2);break;case 3:h.enterCatchBlock(),c=!0;case 2:if(!c)return h.return();a.severity===shaka.util.Error.Severity.CRITICAL&&b.restoreDisabledVariants_(!1);
1495
+ shaka.Player.prototype.disableStream=function(a,b){if(!this.config_.abr.enabled||this.loadMode_===shaka.Player.LoadMode.DESTROYED||!navigator.onLine||0==b||!this.manifest_)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=
1496
+ Date.now()/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...");
1497
+ return!1};
1498
+ shaka.Player.prototype.onError_=function(a){var b=this,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:goog.asserts.assert(a instanceof shaka.util.Error,"Wrong error type!");if(b.loadMode_==shaka.Player.LoadMode.DESTROYED)return h.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&&a.code!=
1499
+ shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW&&a.code!=shaka.util.Error.Code.TRANSMUXING_FAILED){h.jumpTo(2);break}h.setCatchFinallyBlocks(3);return h.yield(b.streamingEngine_.resetMediaSource(),5);case 5:d=h.yieldResult;c=!d;d&&(e=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.MediaSourceRecovered),b.dispatchEvent(e));h.leaveTryBlock(2);break;case 3:h.enterCatchBlock(),c=!0;case 2:if(!c)return h.return();a.severity===shaka.util.Error.Severity.CRITICAL&&b.restoreDisabledVariants_(!1);
1497
1500
  f=shaka.util.FakeEvent.EventName.Error;g=shaka.Player.makeEvent_(f,(new Map).set("detail",a));b.dispatchEvent(g);g.defaultPrevented&&(a.handled=!0);h.jumpToEnd()}})};
1498
1501
  shaka.Player.prototype.addFont=function(a,b){var c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress)return"fonts"in document&&"FontFace"in window?h.yield(document.fonts.ready,3):h.jumpTo(0);if(!("entries"in document.fonts))return h.return();c=function(k){k=k.entries();for(var l=[],m=k.next();!1===m.done;)l.push(m.value),m=k.next();return l};d=$jscomp.makeIterator(c(document.fonts));for(e=d.next();!e.done;e=d.next())if(f=e.value,f.family==a&&"swap"==f.display)return h.return();
1499
1502
  g=new FontFace(a,"url("+b+")",{display:"swap"});document.fonts.add(g);h.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))};
@@ -1511,23 +1514,24 @@ shaka.Player.getLanguageAndRolesFrom_=function(a){var b=new Map,c=new Map;a=$jsc
1511
1514
  l){k=$jscomp.makeIterator(k);for(var m=k.next();!m.done;m=k.next()){m=m.value;var n=null;c.has(l)&&c.get(l).has(m)&&(n=c.get(l).get(m));h.push({language:l,role:m,label:n})}});return h};
1512
1515
  shaka.Player.prototype.isBufferedToEndMS_=function(){goog.asserts.assert(this.video_,"We need a video element to get buffering information");goog.asserts.assert(this.mediaSourceEngine_,"We need a media source engine to get buffering information");goog.asserts.assert(this.manifest_,"We need a manifest to get buffering information");if(this.video_.ended||this.mediaSourceEngine_.ended())return!0;if(this.manifest_.presentationTimeline.isLive()){var a=this.manifest_.presentationTimeline.getSegmentAvailabilityEnd(),
1513
1516
  b=shaka.media.TimeRangesUtils.bufferEnd(this.video_.buffered);if(null!=b&&b>=a)return!0}return!1};shaka.Player.prototype.isBufferedToEndSrc_=function(){goog.asserts.assert(this.video_,"We need a video element to get buffering information");if(this.video_.ended)return!0;var a=shaka.media.TimeRangesUtils.bufferEnd(this.video_.buffered);return null!=a&&a>=this.video_.duration-1};
1514
- shaka.Player.prototype.createAbortLoadError_=function(){return new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.LOAD_INTERRUPTED)};goog.exportSymbol("shaka.Player",shaka.Player);goog.exportProperty(shaka.Player.prototype,"addFont",shaka.Player.prototype.addFont);goog.exportProperty(shaka.Player.prototype,"setVideoContainer",shaka.Player.prototype.setVideoContainer);goog.exportProperty(shaka.Player.prototype,"getFetchedPlaybackInfo",shaka.Player.prototype.getFetchedPlaybackInfo);
1515
- goog.exportProperty(shaka.Player.prototype,"getManifestParserFactory",shaka.Player.prototype.getManifestParserFactory);goog.exportProperty(shaka.Player.prototype,"getManifest",shaka.Player.prototype.getManifest);goog.exportProperty(shaka.Player.prototype,"retryStreaming",shaka.Player.prototype.retryStreaming);goog.exportProperty(shaka.Player.prototype,"setMaxHardwareResolution",shaka.Player.prototype.setMaxHardwareResolution);goog.exportProperty(shaka.Player.prototype,"addChaptersTrack",shaka.Player.prototype.addChaptersTrack);
1516
- goog.exportProperty(shaka.Player.prototype,"addThumbnailsTrack",shaka.Player.prototype.addThumbnailsTrack);goog.exportProperty(shaka.Player.prototype,"addTextTrackAsync",shaka.Player.prototype.addTextTrackAsync);goog.exportProperty(shaka.Player.prototype,"getStats",shaka.Player.prototype.getStats);goog.exportProperty(shaka.Player.prototype,"getBufferedInfo",shaka.Player.prototype.getBufferedInfo);goog.exportProperty(shaka.Player.prototype,"getSegmentAvailabilityDuration",shaka.Player.prototype.getSegmentAvailabilityDuration);
1517
- goog.exportProperty(shaka.Player.prototype,"getPresentationStartTimeAsDate",shaka.Player.prototype.getPresentationStartTimeAsDate);goog.exportProperty(shaka.Player.prototype,"getPlayheadTimeAsDate",shaka.Player.prototype.getPlayheadTimeAsDate);goog.exportProperty(shaka.Player.prototype,"setTextTrackVisibility",shaka.Player.prototype.setTextTrackVisibility);goog.exportProperty(shaka.Player.prototype,"getChapters",shaka.Player.prototype.getChapters);
1518
- goog.exportProperty(shaka.Player.prototype,"getChaptersTracks",shaka.Player.prototype.getChaptersTracks);goog.exportProperty(shaka.Player.prototype,"isTextTrackVisible",shaka.Player.prototype.isTextTrackVisible);goog.exportProperty(shaka.Player.prototype,"selectVariantsByLabel",shaka.Player.prototype.selectVariantsByLabel);goog.exportProperty(shaka.Player.prototype,"selectTextLanguage",shaka.Player.prototype.selectTextLanguage);goog.exportProperty(shaka.Player.prototype,"selectAudioLanguage",shaka.Player.prototype.selectAudioLanguage);
1519
- goog.exportProperty(shaka.Player.prototype,"getTextLanguages",shaka.Player.prototype.getTextLanguages);goog.exportProperty(shaka.Player.prototype,"getAudioLanguages",shaka.Player.prototype.getAudioLanguages);goog.exportProperty(shaka.Player.prototype,"getTextLanguagesAndRoles",shaka.Player.prototype.getTextLanguagesAndRoles);goog.exportProperty(shaka.Player.prototype,"getAudioLanguagesAndRoles",shaka.Player.prototype.getAudioLanguagesAndRoles);
1520
- goog.exportProperty(shaka.Player.prototype,"selectVariantTrack",shaka.Player.prototype.selectVariantTrack);goog.exportProperty(shaka.Player.prototype,"selectTextTrack",shaka.Player.prototype.selectTextTrack);goog.exportProperty(shaka.Player.prototype,"getThumbnails",shaka.Player.prototype.getThumbnails);goog.exportProperty(shaka.Player.prototype,"getAllThumbnails",shaka.Player.prototype.getAllThumbnails);goog.exportProperty(shaka.Player.prototype,"getImageTracks",shaka.Player.prototype.getImageTracks);
1521
- goog.exportProperty(shaka.Player.prototype,"getTextTracks",shaka.Player.prototype.getTextTracks);goog.exportProperty(shaka.Player.prototype,"getVariantTracks",shaka.Player.prototype.getVariantTracks);goog.exportProperty(shaka.Player.prototype,"cancelTrickPlay",shaka.Player.prototype.cancelTrickPlay);goog.exportProperty(shaka.Player.prototype,"trickPlay",shaka.Player.prototype.trickPlay);goog.exportProperty(shaka.Player.prototype,"getPlaybackRate",shaka.Player.prototype.getPlaybackRate);
1522
- goog.exportProperty(shaka.Player.prototype,"isBuffering",shaka.Player.prototype.isBuffering);goog.exportProperty(shaka.Player.prototype,"getKeyStatuses",shaka.Player.prototype.getKeyStatuses);goog.exportProperty(shaka.Player.prototype,"getActiveSessionsMetadata",shaka.Player.prototype.getActiveSessionsMetadata);goog.exportProperty(shaka.Player.prototype,"getExpiration",shaka.Player.prototype.getExpiration);goog.exportProperty(shaka.Player.prototype,"drmInfo",shaka.Player.prototype.drmInfo);
1523
- goog.exportProperty(shaka.Player.prototype,"keySystem",shaka.Player.prototype.keySystem);goog.exportProperty(shaka.Player.prototype,"isFullyLoaded",shaka.Player.prototype.isFullyLoaded);goog.exportProperty(shaka.Player.prototype,"goToLive",shaka.Player.prototype.goToLive);goog.exportProperty(shaka.Player.prototype,"seekRange",shaka.Player.prototype.seekRange);goog.exportProperty(shaka.Player.prototype,"isAudioOnly",shaka.Player.prototype.isAudioOnly);
1524
- goog.exportProperty(shaka.Player.prototype,"isInProgress",shaka.Player.prototype.isInProgress);goog.exportProperty(shaka.Player.prototype,"isLive",shaka.Player.prototype.isLive);goog.exportProperty(shaka.Player.prototype,"getAdManager",shaka.Player.prototype.getAdManager);goog.exportProperty(shaka.Player.prototype,"getAssetUri",shaka.Player.prototype.getAssetUri);goog.exportProperty(shaka.Player.prototype,"getNetworkingEngine",shaka.Player.prototype.getNetworkingEngine);
1525
- goog.exportProperty(shaka.Player.prototype,"getMediaElement",shaka.Player.prototype.getMediaElement);goog.exportProperty(shaka.Player.prototype,"getManifestType",shaka.Player.prototype.getManifestType);goog.exportProperty(shaka.Player.prototype,"getLoadMode",shaka.Player.prototype.getLoadMode);goog.exportProperty(shaka.Player.prototype,"resetConfiguration",shaka.Player.prototype.resetConfiguration);goog.exportProperty(shaka.Player.prototype,"getBufferFullness",shaka.Player.prototype.getBufferFullness);
1526
- goog.exportProperty(shaka.Player.prototype,"getNonDefaultConfiguration",shaka.Player.prototype.getNonDefaultConfiguration);goog.exportProperty(shaka.Player.prototype,"getConfiguration",shaka.Player.prototype.getConfiguration);goog.exportProperty(shaka.Player.prototype,"configure",shaka.Player.prototype.configure);goog.exportProperty(shaka.Player.prototype,"releaseAllMutexes",shaka.Player.prototype.releaseAllMutexes);goog.exportProperty(shaka.Player.prototype,"destroyAllPreloads",shaka.Player.prototype.destroyAllPreloads);
1527
- goog.exportProperty(shaka.Player.prototype,"preload",shaka.Player.prototype.preload);goog.exportProperty(shaka.Player.prototype,"detachAndSavePreload",shaka.Player.prototype.detachAndSavePreload);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);
1528
- goog.exportProperty(shaka.Player.prototype,"unload",shaka.Player.prototype.unload);goog.exportProperty(shaka.Player.prototype,"detach",shaka.Player.prototype.detach);goog.exportProperty(shaka.Player.prototype,"attachCanvas",shaka.Player.prototype.attachCanvas);goog.exportProperty(shaka.Player.prototype,"attach",shaka.Player.prototype.attach);goog.exportProperty(shaka.Player,"probeSupport",shaka.Player.probeSupport);goog.exportProperty(shaka.Player,"isBrowserSupported",shaka.Player.isBrowserSupported);
1529
- goog.exportProperty(shaka.Player,"setAdManagerFactory",shaka.Player.setAdManagerFactory);goog.exportProperty(shaka.Player,"registerSupportPlugin",shaka.Player.registerSupportPlugin);goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy);shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3};goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode);shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.11.9-debug";
1530
- goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;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_++};
1517
+ shaka.Player.prototype.createAbortLoadError_=function(){return new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.LOAD_INTERRUPTED)};shaka.Player.prototype.isRemotePlayback=function(){return this.video_&&this.video_.remote?"disconnected"!=this.video_.remote.state:!1};goog.exportSymbol("shaka.Player",shaka.Player);goog.exportProperty(shaka.Player.prototype,"isRemotePlayback",shaka.Player.prototype.isRemotePlayback);
1518
+ goog.exportProperty(shaka.Player.prototype,"addFont",shaka.Player.prototype.addFont);goog.exportProperty(shaka.Player.prototype,"setVideoContainer",shaka.Player.prototype.setVideoContainer);goog.exportProperty(shaka.Player.prototype,"getFetchedPlaybackInfo",shaka.Player.prototype.getFetchedPlaybackInfo);goog.exportProperty(shaka.Player.prototype,"getManifestParserFactory",shaka.Player.prototype.getManifestParserFactory);goog.exportProperty(shaka.Player.prototype,"getManifest",shaka.Player.prototype.getManifest);
1519
+ goog.exportProperty(shaka.Player.prototype,"retryStreaming",shaka.Player.prototype.retryStreaming);goog.exportProperty(shaka.Player.prototype,"setMaxHardwareResolution",shaka.Player.prototype.setMaxHardwareResolution);goog.exportProperty(shaka.Player.prototype,"addChaptersTrack",shaka.Player.prototype.addChaptersTrack);goog.exportProperty(shaka.Player.prototype,"addThumbnailsTrack",shaka.Player.prototype.addThumbnailsTrack);goog.exportProperty(shaka.Player.prototype,"addTextTrackAsync",shaka.Player.prototype.addTextTrackAsync);
1520
+ goog.exportProperty(shaka.Player.prototype,"getStats",shaka.Player.prototype.getStats);goog.exportProperty(shaka.Player.prototype,"getBufferedInfo",shaka.Player.prototype.getBufferedInfo);goog.exportProperty(shaka.Player.prototype,"getSegmentAvailabilityDuration",shaka.Player.prototype.getSegmentAvailabilityDuration);goog.exportProperty(shaka.Player.prototype,"getPresentationStartTimeAsDate",shaka.Player.prototype.getPresentationStartTimeAsDate);
1521
+ goog.exportProperty(shaka.Player.prototype,"getPlayheadTimeAsDate",shaka.Player.prototype.getPlayheadTimeAsDate);goog.exportProperty(shaka.Player.prototype,"setTextTrackVisibility",shaka.Player.prototype.setTextTrackVisibility);goog.exportProperty(shaka.Player.prototype,"getChapters",shaka.Player.prototype.getChapters);goog.exportProperty(shaka.Player.prototype,"getChaptersTracks",shaka.Player.prototype.getChaptersTracks);goog.exportProperty(shaka.Player.prototype,"isTextTrackVisible",shaka.Player.prototype.isTextTrackVisible);
1522
+ goog.exportProperty(shaka.Player.prototype,"selectVariantsByLabel",shaka.Player.prototype.selectVariantsByLabel);goog.exportProperty(shaka.Player.prototype,"selectTextLanguage",shaka.Player.prototype.selectTextLanguage);goog.exportProperty(shaka.Player.prototype,"selectAudioLanguage",shaka.Player.prototype.selectAudioLanguage);goog.exportProperty(shaka.Player.prototype,"getTextLanguages",shaka.Player.prototype.getTextLanguages);goog.exportProperty(shaka.Player.prototype,"getAudioLanguages",shaka.Player.prototype.getAudioLanguages);
1523
+ goog.exportProperty(shaka.Player.prototype,"getTextLanguagesAndRoles",shaka.Player.prototype.getTextLanguagesAndRoles);goog.exportProperty(shaka.Player.prototype,"getAudioLanguagesAndRoles",shaka.Player.prototype.getAudioLanguagesAndRoles);goog.exportProperty(shaka.Player.prototype,"selectVariantTrack",shaka.Player.prototype.selectVariantTrack);goog.exportProperty(shaka.Player.prototype,"selectTextTrack",shaka.Player.prototype.selectTextTrack);
1524
+ goog.exportProperty(shaka.Player.prototype,"getThumbnails",shaka.Player.prototype.getThumbnails);goog.exportProperty(shaka.Player.prototype,"getAllThumbnails",shaka.Player.prototype.getAllThumbnails);goog.exportProperty(shaka.Player.prototype,"getImageTracks",shaka.Player.prototype.getImageTracks);goog.exportProperty(shaka.Player.prototype,"getTextTracks",shaka.Player.prototype.getTextTracks);goog.exportProperty(shaka.Player.prototype,"getVariantTracks",shaka.Player.prototype.getVariantTracks);
1525
+ goog.exportProperty(shaka.Player.prototype,"cancelTrickPlay",shaka.Player.prototype.cancelTrickPlay);goog.exportProperty(shaka.Player.prototype,"trickPlay",shaka.Player.prototype.trickPlay);goog.exportProperty(shaka.Player.prototype,"getPlaybackRate",shaka.Player.prototype.getPlaybackRate);goog.exportProperty(shaka.Player.prototype,"isBuffering",shaka.Player.prototype.isBuffering);goog.exportProperty(shaka.Player.prototype,"getKeyStatuses",shaka.Player.prototype.getKeyStatuses);
1526
+ goog.exportProperty(shaka.Player.prototype,"getActiveSessionsMetadata",shaka.Player.prototype.getActiveSessionsMetadata);goog.exportProperty(shaka.Player.prototype,"getExpiration",shaka.Player.prototype.getExpiration);goog.exportProperty(shaka.Player.prototype,"drmInfo",shaka.Player.prototype.drmInfo);goog.exportProperty(shaka.Player.prototype,"keySystem",shaka.Player.prototype.keySystem);goog.exportProperty(shaka.Player.prototype,"isFullyLoaded",shaka.Player.prototype.isFullyLoaded);
1527
+ goog.exportProperty(shaka.Player.prototype,"goToLive",shaka.Player.prototype.goToLive);goog.exportProperty(shaka.Player.prototype,"seekRange",shaka.Player.prototype.seekRange);goog.exportProperty(shaka.Player.prototype,"isAudioOnly",shaka.Player.prototype.isAudioOnly);goog.exportProperty(shaka.Player.prototype,"isInProgress",shaka.Player.prototype.isInProgress);goog.exportProperty(shaka.Player.prototype,"isLive",shaka.Player.prototype.isLive);
1528
+ goog.exportProperty(shaka.Player.prototype,"getAdManager",shaka.Player.prototype.getAdManager);goog.exportProperty(shaka.Player.prototype,"getAssetUri",shaka.Player.prototype.getAssetUri);goog.exportProperty(shaka.Player.prototype,"getNetworkingEngine",shaka.Player.prototype.getNetworkingEngine);goog.exportProperty(shaka.Player.prototype,"getMediaElement",shaka.Player.prototype.getMediaElement);goog.exportProperty(shaka.Player.prototype,"getManifestType",shaka.Player.prototype.getManifestType);
1529
+ goog.exportProperty(shaka.Player.prototype,"getLoadMode",shaka.Player.prototype.getLoadMode);goog.exportProperty(shaka.Player.prototype,"resetConfiguration",shaka.Player.prototype.resetConfiguration);goog.exportProperty(shaka.Player.prototype,"getBufferFullness",shaka.Player.prototype.getBufferFullness);goog.exportProperty(shaka.Player.prototype,"getNonDefaultConfiguration",shaka.Player.prototype.getNonDefaultConfiguration);goog.exportProperty(shaka.Player.prototype,"getConfiguration",shaka.Player.prototype.getConfiguration);
1530
+ 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);
1531
+ 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);
1532
+ 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);
1533
+ 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.11.10-debug";goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;
1534
+ 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_++};
1531
1535
  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};
1532
1536
  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()};
1533
1537
  shaka.ads.ClientSideAd.prototype.getTimeUntilSkippable=function(){var a=this.ad_.getSkipTimeOffset();a=this.getRemainingTime()-a;return Math.max(a,0)};shaka.ads.ClientSideAd.prototype.canSkipNow=function(){return this.manager_.getAdSkippableState()};shaka.ads.ClientSideAd.prototype.skip=function(){return this.manager_.skip()};shaka.ads.ClientSideAd.prototype.setPaused=function(a){this.isPaused_=a};shaka.ads.ClientSideAd.prototype.pause=function(){return this.manager_.pause()};
@@ -1592,9 +1596,9 @@ goog.exportProperty(shaka.ads.InterstitialAd.prototype,"setMuted",shaka.ads.Inte
1592
1596
  goog.exportProperty(shaka.ads.InterstitialAd.prototype,"setVolume",shaka.ads.InterstitialAd.prototype.setVolume);goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getVolume",shaka.ads.InterstitialAd.prototype.getVolume);goog.exportProperty(shaka.ads.InterstitialAd.prototype,"play",shaka.ads.InterstitialAd.prototype.play);goog.exportProperty(shaka.ads.InterstitialAd.prototype,"pause",shaka.ads.InterstitialAd.prototype.pause);goog.exportProperty(shaka.ads.InterstitialAd.prototype,"skip",shaka.ads.InterstitialAd.prototype.skip);
1593
1597
  goog.exportProperty(shaka.ads.InterstitialAd.prototype,"canSkipNow",shaka.ads.InterstitialAd.prototype.canSkipNow);goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getTimeUntilSkippable",shaka.ads.InterstitialAd.prototype.getTimeUntilSkippable);goog.exportProperty(shaka.ads.InterstitialAd.prototype,"isSkippable",shaka.ads.InterstitialAd.prototype.isSkippable);goog.exportProperty(shaka.ads.InterstitialAd.prototype,"isPaused",shaka.ads.InterstitialAd.prototype.isPaused);
1594
1598
  goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getRemainingTime",shaka.ads.InterstitialAd.prototype.getRemainingTime);goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getMinSuggestedDuration",shaka.ads.InterstitialAd.prototype.getMinSuggestedDuration);goog.exportProperty(shaka.ads.InterstitialAd.prototype,"getDuration",shaka.ads.InterstitialAd.prototype.getDuration);goog.exportProperty(shaka.ads.InterstitialAd.prototype,"needsSkipUI",shaka.ads.InterstitialAd.prototype.needsSkipUI);shaka.ads.InterstitialAdManager=function(a,b,c,d){var e=this;this.adContainer_=a;this.basePlayer_=b;this.baseVideo_=c;this.adVideo_=null;this.usingBaseVideo_=!0;this.video_=this.baseVideo_;this.onEvent_=d;this.interstitialIds_=new Set;this.interstitials_=new Set;this.preloadManagerInterstitials_=new Map;this.player_=new shaka.Player;this.updatePlayerConfig_();this.eventManager_=new shaka.util.EventManager;this.adEventManager_=new shaka.util.EventManager;this.playingAd_=!1;this.lastPlayedAd_=this.lastTime_=
1595
- null;this.eventManager_.listen(this.baseVideo_,"timeupdate",function(){if(!e.playingAd_){var f=null==e.lastTime_||0==e.lastTime_;e.lastTime_=e.baseVideo_.currentTime;e.lastPlayedAd_&&!e.lastPlayedAd_.pre&&!e.lastPlayedAd_.post&&e.lastTime_<e.lastPlayedAd_.startTime&&(e.lastPlayedAd_=null);(f=e.getCurrentInterstitial_(f,0,e.lastPlayedAd_))&&e.setupAd_(f,1,1,Date.now())}});this.pollTimer_=(new shaka.util.Timer(function(){var f,g,h,k,l,m,n,p,q,r;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){switch(t.nextAddress){case 1:if(!e.interstitials_.size||
1596
- e.playingAd_||null==e.lastTime_){t.jumpTo(0);break}f=!1;g=Array.from(e.interstitials_);h=e.basePlayer_.seekRange();k=$jscomp.makeIterator(g);l=k.next();case 3:if(l.done){t.jumpTo(5);break}m=l.value;n=m.endTime||m.startTime;if(!(1<=h.start-n)){p=m.startTime-e.lastTime_;0<p&&10>=p&&(e.preloadManagerInterstitials_.has(m)||e.preloadManagerInterstitials_.set(m,e.player_.preload(m.uri)));t.jumpTo(4);break}if(!e.preloadManagerInterstitials_.has(m)){t.jumpTo(7);break}return t.yield(e.preloadManagerInterstitials_.get(m),
1597
- 8);case 8:(q=t.yieldResult)&&q.destroy(),e.preloadManagerInterstitials_.delete(m);case 7:r=JSON.stringify(m),e.interstitialIds_.has(r)&&e.interstitialIds_.delete(r),e.interstitials_.delete(m),f=!0;case 4:l=k.next();t.jumpTo(3);break;case 5:f&&e.cuepointsChanged_(),t.jumpToEnd()}})})).tickEvery(1)};
1599
+ null;this.eventManager_.listen(this.baseVideo_,"timeupdate",function(){if(!e.playingAd_&&!e.basePlayer_.isRemotePlayback()){var f=null==e.lastTime_||0==e.lastTime_;e.lastTime_=e.baseVideo_.currentTime;e.lastPlayedAd_&&!e.lastPlayedAd_.pre&&!e.lastPlayedAd_.post&&e.lastTime_<e.lastPlayedAd_.startTime&&(e.lastPlayedAd_=null);(f=e.getCurrentInterstitial_(f,0,e.lastPlayedAd_))&&e.setupAd_(f,1,1,Date.now())}});this.pollTimer_=(new shaka.util.Timer(function(){var f,g,h,k,l,m,n,p,q,r,t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:if(!e.interstitials_.size||
1600
+ null==e.lastTime_){u.jumpTo(0);break}f=e.basePlayer_.getLoadMode();if(f==shaka.Player.LoadMode.DESTROYED||f==shaka.Player.LoadMode.NOT_LOADED)return u.return();g=!1;h=Array.from(e.interstitials_);k=e.basePlayer_.seekRange();l=$jscomp.makeIterator(h);m=l.next();case 3:if(m.done){u.jumpTo(5);break}n=m.value;if(n==e.lastPlayedAd_){u.jumpTo(4);break}p=n.endTime||n.startTime;if(!(1<=k.start-p)){q=n.startTime-e.lastTime_;0<q&&10>=q&&(e.preloadManagerInterstitials_.has(n)||e.preloadManagerInterstitials_.set(n,
1601
+ e.player_.preload(n.uri)));u.jumpTo(4);break}if(!e.preloadManagerInterstitials_.has(n)){u.jumpTo(7);break}return u.yield(e.preloadManagerInterstitials_.get(n),8);case 8:(r=u.yieldResult)&&r.destroy(),e.preloadManagerInterstitials_.delete(n);case 7:t=JSON.stringify(n),e.interstitialIds_.has(t)&&e.interstitialIds_.delete(t),e.interstitials_.delete(n),g=!0;case 4:m=l.next();u.jumpTo(3);break;case 5:g&&e.cuepointsChanged_(),u.jumpToEnd()}})})).tickEvery(1)};
1598
1602
  shaka.ads.InterstitialAdManager.prototype.configure=function(a){this.adContainer_&&this.usingBaseVideo_==a.supportsMultipleMediaElements&&((this.usingBaseVideo_=!a.supportsMultipleMediaElements)?(this.video_=this.baseVideo_,this.adVideo_&&(this.adVideo_.parentElement&&this.adContainer_.removeChild(this.adVideo_),this.adVideo_=null)):(this.adVideo_||(this.adVideo_=this.createMediaElement_()),this.video_=this.adVideo_))};
1599
1603
  shaka.ads.InterstitialAdManager.prototype.stop=function(){this.adEventManager_&&this.adEventManager_.removeAll();this.interstitialIds_.clear();this.interstitials_.clear();this.player_.destroyAllPreloads();this.preloadManagerInterstitials_.clear();this.player_.detach();this.playingAd_=!1;this.lastPlayedAd_=this.lastTime_=null};
1600
1604
  shaka.ads.InterstitialAdManager.prototype.release=function(){this.stop();this.eventManager_&&this.eventManager_.release();this.adEventManager_&&this.adEventManager_.release();this.adContainer_&&shaka.util.Dom.removeAllChildren(this.adContainer_);this.pollTimer_&&(this.pollTimer_.stop(),this.pollTimer_=null);this.player_.destroy()};
@@ -1610,21 +1614,22 @@ c.startTime&&!c.canJump)d=!0;else if(null!=this.lastTime_){var e=c.startTime-thi
1610
1614
  shaka.ads.InterstitialAdManager.prototype.createMediaElement_=function(){var a=document.createElement(this.baseVideo_.tagName);a.autoplay=!0;a.style.position="absolute";a.style.top="0";a.style.left="0";a.style.width="100%";a.style.height="100%";a.style.backgroundColor="rgb(0, 0, 0)";a.setAttribute("playsinline","");return a};
1611
1615
  shaka.ads.InterstitialAdManager.prototype.getCurrentInterstitial_=function(a,b,c){var d=0,e=null;if(this.interstitials_.size&&null!=this.lastTime_){var f=this.baseVideo_.ended,g=Array.from(this.interstitials_).sort(function(m,n){return n.startTime-m.startTime});g=$jscomp.makeIterator(g);for(var h=g.next();!h.done;h=g.next()){h=h.value;var k=!1;if(a)k=h.pre;else if(f)k=h.post;else if(!h.pre&&!h.post){var l=this.lastTime_-Math.round(1E3*h.startTime)/1E3;0<l&&(1>=l||!h.canJump)&&(k=1<l&&c&&!c.pre&&!c.post&&
1612
1616
  c.startTime>=h.startTime?!1:!0)}if(k){if(d==b){e=h;break}d++}}}return e};
1613
- shaka.ads.InterstitialAdManager.prototype.setupAd_=function(a,b,c,d,e){e=void 0===e?0:e;var f=this,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w;return $jscomp.asyncExecutePromiseGeneratorProgram(function(z){switch(z.nextAddress){case 1:goog.asserts.assert(f.video_,"Must have video");f.lastPlayedAd_=a;g=Date.now();!f.video_.parentElement&&f.adContainer_&&f.adContainer_.appendChild(f.video_);1==c&&1==b&&(b=Array.from(f.interstitials_).filter(function(C){return a.pre?C.pre==a.pre:a.post?C.post==a.post:.001>Math.abs(C.startTime-
1614
- a.startTime)}).length);if(a.once||a.pre)e++,f.interstitials_.delete(a),f.cuepointsChanged_();f.playingAd_=!0;if(!f.usingBaseVideo_||1!=c){z.jumpTo(2);break}f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_CONTENT_PAUSE_REQUESTED,(new Map).set("saveLivePosition",!0)));h=new shaka.util.PublicPromise;k=function(C){return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){if(1==A.nextAddress)return"detach"!=C.state?A.jumpTo(0):shaka.util.Platform.isSmartTV()?A.yield(new Promise(function(B){return(new shaka.util.Timer(B)).tickAfter(.1)}),
1615
- 3):A.jumpTo(3);h.resolve();f.adEventManager_.unlisten(f.basePlayer_,"onstatechange",k);A.jumpToEnd()})};f.adEventManager_.listen(f.basePlayer_,"onstatechange",k);return z.yield(h,2);case 2:f.usingBaseVideo_||(f.baseVideo_.pause(),null!=a.resumeOffset&&0!=a.resumeOffset&&(f.baseVideo_.currentTime+=a.resumeOffset));l=!1;m=null;n=function(){if(!f.usingBaseVideo_&&null==a.resumeOffset)if(a.timelineRange&&a.endTime&&Infinity!=a.endTime)f.baseVideo_.currentTime!=a.endTime&&(f.baseVideo_.currentTime=a.endTime);
1616
- else{var C=Date.now();f.baseVideo_.currentTime+=(C-d)/1E3;d=C}};p=function(){var C,A;return $jscomp.asyncExecutePromiseGeneratorProgram(function(B){if(1==B.nextAddress)return n(),m&&m.stop(),goog.asserts.assert("number"==typeof e,"Should be an number!"),(C=f.getCurrentInterstitial_(a.pre,c-e))?(f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED)),f.adEventManager_.removeAll(),f.setupAd_(C,b,++c,d,e),B.jumpTo(0)):f.usingBaseVideo_?B.yield(f.player_.detach(),4):B.yield(f.player_.unload(),
1617
- 4);f.usingBaseVideo_&&(A=a.resumeOffset,null==A&&(A=a.timelineRange&&a.endTime&&Infinity!=a.endTime?a.endTime-(f.lastTime_||0):(Date.now()-d)/1E3),f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_CONTENT_RESUME_REQUESTED,(new Map).set("offset",A))));f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED));f.adEventManager_.removeAll();f.playingAd_=!1;f.usingBaseVideo_||(n(),f.baseVideo_.ended||f.baseVideo_.play());B.jumpToEnd()})};q=function(C){return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){if(l)return A.return();
1618
- l=!0;f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_ERROR,(new Map).set("originalEvent",C)));return A.yield(p(),0)})};r=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){if(1==C.nextAddress){if(l)return C.return();l=!0;return C.yield(p(),2)}f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_COMPLETE));C.jumpToEnd()})};t=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){if(l)return C.return();l=!0;f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIPPED));
1619
- return C.yield(p(),0)})};u=new shaka.ads.InterstitialAd(f.video_,a.isSkippable,a.skipOffset,t,b,c);f.usingBaseVideo_||(u.setMuted(f.baseVideo_.muted),u.setVolume(f.baseVideo_.volume));f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STARTED,(new Map).set("ad",u)));if(u.canSkipNow())f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIP_STATE_CHANGED));v=new Set;f.adEventManager_.listenOnce(f.player_,"error",q);f.adEventManager_.listen(f.video_,"timeupdate",function(){var C=f.video_.duration;
1620
- if(C){if(a.isSkippable&&a.skipOffset&&u.canSkipNow()&&0<u.getRemainingTime()&&0<u.getDuration())f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIP_STATE_CHANGED));C=100*f.video_.currentTime/C;25<=C&&!v.has("firstquartile")?(n(),f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_FIRST_QUARTILE)),v.add("firstquartile")):50<=C&&!v.has("midpoint")?(n(),f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_MIDPOINT)),v.add("midpoint")):75<=C&&!v.has("thirdquartile")&&(n(),f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_THIRD_QUARTILE)),
1621
- v.add("thirdquartile"))}});f.adEventManager_.listenOnce(f.player_,"complete",r);f.adEventManager_.listen(f.video_,"play",function(){f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_RESUMED))});f.adEventManager_.listen(f.video_,"pause",function(){f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_PAUSED))});f.adEventManager_.listen(f.video_,"volumechange",function(){if(f.video_.muted)f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_MUTED));else f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_VOLUME_CHANGED))});
1622
- z.setCatchFinallyBlocks(4);a.playoutLimit&&(m=(new shaka.util.Timer(function(){u.skip()})).tickAfter(a.playoutLimit));f.updatePlayerConfig_();return z.yield(f.player_.attach(f.video_),6);case 6:return f.preloadManagerInterstitials_.has(a)?z.yield(f.preloadManagerInterstitials_.get(a),10):z.yield(f.player_.load(a.uri),8);case 10:return x=z.yieldResult,f.preloadManagerInterstitials_.delete(a),x?z.yield(f.player_.load(x),8):z.yield(f.player_.load(a.uri),8);case 8:y=(Date.now()-g)/1E3;f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.ADS_LOADED,
1623
- (new Map).set("loadTime",y)));f.usingBaseVideo_&&f.baseVideo_.play();z.leaveTryBlock(0);break;case 4:w=z.enterCatchBlock(),q(w),z.jumpToEnd()}})};
1624
- shaka.ads.InterstitialAdManager.prototype.getInterstitialsInfo_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D,I,J,M,K,L;return $jscomp.asyncExecutePromiseGeneratorProgram(function(N){switch(N.nextAddress){case 1:c=[];if(!a)return N.return(c);d=a.values.find(function(P){return"X-ASSET-URI"==P.key});e=a.values.find(function(P){return"X-ASSET-LIST"==P.key});if(!d&&!e)return N.return(c);f=null;if(g=a.values.find(function(P){return"ID"==P.key}))f=g.data;h=a.values.find(function(P){return"X-RESTRICT"==
1617
+ shaka.ads.InterstitialAdManager.prototype.setupAd_=function(a,b,c,d,e){e=void 0===e?0:e;var f=this,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z;return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){switch(C.nextAddress){case 1:goog.asserts.assert(f.video_,"Must have video");f.lastPlayedAd_=a;g=Date.now();!f.video_.parentElement&&f.adContainer_&&f.adContainer_.appendChild(f.video_);1==c&&1==b&&(b=Array.from(f.interstitials_).filter(function(A){return a.pre?A.pre==a.pre:a.post?A.post==a.post:.001>Math.abs(A.startTime-
1618
+ a.startTime)}).length);if(a.once||a.pre)e++,f.interstitials_.delete(a),f.cuepointsChanged_();f.playingAd_=!0;if(!f.usingBaseVideo_||1!=c){C.jumpTo(2);break}f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_CONTENT_PAUSE_REQUESTED,(new Map).set("saveLivePosition",!0)));h=new shaka.util.PublicPromise;k=function(A){return $jscomp.asyncExecutePromiseGeneratorProgram(function(B){if(1==B.nextAddress)return"detach"!=A.state?B.jumpTo(0):shaka.util.Platform.isSmartTV()?B.yield(new Promise(function(D){return(new shaka.util.Timer(D)).tickAfter(.1)}),
1619
+ 3):B.jumpTo(3);h.resolve();f.adEventManager_.unlisten(f.basePlayer_,"onstatechange",k);B.jumpToEnd()})};f.adEventManager_.listen(f.basePlayer_,"onstatechange",k);return C.yield(h,2);case 2:f.usingBaseVideo_||(f.baseVideo_.pause(),null!=a.resumeOffset&&0!=a.resumeOffset&&(f.baseVideo_.currentTime+=a.resumeOffset));l=!1;m=null;n=function(){if(!f.usingBaseVideo_&&null==a.resumeOffset)if(a.timelineRange&&a.endTime&&Infinity!=a.endTime)f.baseVideo_.currentTime!=a.endTime&&(f.baseVideo_.currentTime=a.endTime);
1620
+ else{var A=Date.now();f.baseVideo_.currentTime+=(A-d)/1E3;d=A}};p=function(){var A,B;return $jscomp.asyncExecutePromiseGeneratorProgram(function(D){if(1==D.nextAddress)return n(),m&&m.stop(),goog.asserts.assert("number"==typeof e,"Should be an number!"),(A=f.getCurrentInterstitial_(a.pre,c-e))?(f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED)),f.adEventManager_.removeAll(),f.setupAd_(A,b,++c,d,e),D.jumpTo(0)):f.usingBaseVideo_?D.yield(f.player_.detach(),4):D.yield(f.player_.unload(),
1621
+ 4);f.usingBaseVideo_&&(B=a.resumeOffset,null==B&&(B=a.timelineRange&&a.endTime&&Infinity!=a.endTime?a.endTime-(f.lastTime_||0):(Date.now()-d)/1E3),f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_CONTENT_RESUME_REQUESTED,(new Map).set("offset",B))));f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STOPPED));f.adEventManager_.removeAll();f.playingAd_=!1;f.usingBaseVideo_||(n(),f.baseVideo_.ended||f.baseVideo_.play());D.jumpToEnd()})};q=function(A){return $jscomp.asyncExecutePromiseGeneratorProgram(function(B){if(l)return B.return();
1622
+ l=!0;f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_ERROR,(new Map).set("originalEvent",A)));return B.yield(p(),0)})};r=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){if(1==A.nextAddress){if(l)return A.return();l=!0;return A.yield(p(),2)}f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_COMPLETE));A.jumpToEnd()})};t=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){if(l)return A.return();l=!0;f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIPPED));
1623
+ return A.yield(p(),0)})};u=new shaka.ads.InterstitialAd(f.video_,a.isSkippable,a.skipOffset,t,b,c);f.usingBaseVideo_||(u.setMuted(f.baseVideo_.muted),u.setVolume(f.baseVideo_.volume));f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_STARTED,(new Map).set("ad",u)));if(u.canSkipNow())f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIP_STATE_CHANGED));v=new Set;f.adEventManager_.listenOnce(f.player_,"error",q);f.adEventManager_.listen(f.video_,"timeupdate",function(){var A=f.video_.duration;
1624
+ if(A){if(a.isSkippable&&a.skipOffset&&u.canSkipNow()&&0<u.getRemainingTime()&&0<u.getDuration())f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_SKIP_STATE_CHANGED));A=100*f.video_.currentTime/A;25<=A&&!v.has("firstquartile")?(n(),f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_FIRST_QUARTILE)),v.add("firstquartile")):50<=A&&!v.has("midpoint")?(n(),f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_MIDPOINT)),v.add("midpoint")):75<=A&&!v.has("thirdquartile")&&(n(),f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_THIRD_QUARTILE)),
1625
+ v.add("thirdquartile"))}});f.adEventManager_.listenOnce(f.player_,"complete",r);f.adEventManager_.listen(f.video_,"play",function(){f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_RESUMED))});f.adEventManager_.listen(f.video_,"pause",function(){var A=f.player_.getConfiguration();if(f.video_.currentTime>=A.playRangeEnd)r();else f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_PAUSED))});f.adEventManager_.listen(f.video_,"volumechange",function(){if(f.video_.muted)f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_MUTED));
1626
+ else f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.AD_VOLUME_CHANGED))});C.setCatchFinallyBlocks(4);f.updatePlayerConfig_();a.startTime&&a.endTime&&Infinity!=a.endTime&&a.startTime!=a.endTime&&(x=a.endTime-a.startTime,0<x&&f.player_.configure("playRangeEnd",x));a.playoutLimit&&(m=(new shaka.util.Timer(function(){u.skip()})).tickAfter(a.playoutLimit),f.player_.configure("playRangeEnd",a.playoutLimit));return C.yield(f.player_.attach(f.video_),6);case 6:return f.preloadManagerInterstitials_.has(a)?
1627
+ C.yield(f.preloadManagerInterstitials_.get(a),10):C.yield(f.player_.load(a.uri),8);case 10:return y=C.yieldResult,f.preloadManagerInterstitials_.delete(a),y?C.yield(f.player_.load(y),8):C.yield(f.player_.load(a.uri),8);case 8:a.playoutLimit&&(m&&m.stop(),m=(new shaka.util.Timer(function(){u.skip()})).tickAfter(a.playoutLimit));w=(Date.now()-g)/1E3;f.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.ADS_LOADED,(new Map).set("loadTime",w)));f.usingBaseVideo_&&f.baseVideo_.play();C.leaveTryBlock(0);
1628
+ break;case 4:z=C.enterCatchBlock(),q(z),C.jumpToEnd()}})};
1629
+ shaka.ads.InterstitialAdManager.prototype.getInterstitialsInfo_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M,I,H,K,L;return $jscomp.asyncExecutePromiseGeneratorProgram(function(N){switch(N.nextAddress){case 1:c=[];if(!a)return N.return(c);d=a.values.find(function(P){return"X-ASSET-URI"==P.key});e=a.values.find(function(P){return"X-ASSET-LIST"==P.key});if(!d&&!e)return N.return(c);f=null;if(g=a.values.find(function(P){return"ID"==P.key}))f=g.data;h=a.values.find(function(P){return"X-RESTRICT"==
1625
1630
  P.key});l=k=!0;h&&h.data&&(m=h.data,k=!m.includes("SKIP"),l=!m.includes("JUMP"));n=null;if(p=a.values.find(function(P){return"X-RESUME-OFFSET"==P.key}))q=p.data,n=parseFloat(q),isNaN(n)&&(n=null);r=null;if(t=a.values.find(function(P){return"X-PLAYOUT-LIMIT"==P.key}))u=t.data,r=parseFloat(u),isNaN(r)&&(r=null);y=x=v=!1;if(w=a.values.find(function(P){return"CUE"==P.key}))z=w.data,v=z.includes("ONCE"),x=z.includes("PRE"),y=z.includes("POST");C=!1;(A=a.values.find(function(P){return"X-TIMELINE-OCCUPIES"==
1626
- P.key}))?(B=A.data,C=B.includes("RANGE")):!p&&b.basePlayer_.isLive()&&(C=!x&&!y);if(d){E=d.data;if(!E)return N.return(c);c.push({id:f,startTime:a.startTime,endTime:a.endTime,uri:E,isSkippable:k,skipOffset:k?0:null,canJump:l,resumeOffset:n,playoutLimit:r,once:v,pre:x,post:y,timelineRange:C});N.jumpTo(2);break}if(!e){N.jumpTo(2);break}G=e.data;if(!G)return N.return(c);N.setCatchFinallyBlocks(4);H=shaka.net.NetworkingEngine;F={type:H.AdvancedRequestType.INTERSTITIAL_ASSET_LIST};return N.yield(b.makeAdRequest_(G,
1627
- F),6);case 6:D=N.yieldResult;I=shaka.util.StringUtils.fromUTF8(D);J=JSON.parse(I);M=$jscomp.makeIterator(J.ASSETS);for(K=M.next();!K.done;K=M.next())L=K.value,L.URI&&c.push({id:f,startTime:a.startTime,endTime:a.endTime,uri:L.URI,isSkippable:k,skipOffset:k?0:null,canJump:l,resumeOffset:n,playoutLimit:r,once:v,pre:x,post:y,timelineRange:C});N.leaveTryBlock(2);break;case 4:N.enterCatchBlock();case 2:return N.return(c)}})};
1631
+ P.key}))?(B=A.data,C=B.includes("RANGE")):!p&&b.basePlayer_.isLive()&&(C=!x&&!y);if(d){D=d.data;if(!D)return N.return(c);c.push({id:f,startTime:a.startTime,endTime:a.endTime,uri:D,isSkippable:k,skipOffset:k?0:null,canJump:l,resumeOffset:n,playoutLimit:r,once:v,pre:x,post:y,timelineRange:C});N.jumpTo(2);break}if(!e){N.jumpTo(2);break}G=e.data;if(!G)return N.return(c);N.setCatchFinallyBlocks(4);J=shaka.net.NetworkingEngine;F={type:J.AdvancedRequestType.INTERSTITIAL_ASSET_LIST};return N.yield(b.makeAdRequest_(G,
1632
+ F),6);case 6:E=N.yieldResult;M=shaka.util.StringUtils.fromUTF8(E);I=JSON.parse(M);H=$jscomp.makeIterator(I.ASSETS);for(K=H.next();!K.done;K=H.next())L=K.value,L.URI&&c.push({id:f,startTime:a.startTime,endTime:a.endTime,uri:L.URI,isSkippable:k,skipOffset:k?0:null,canJump:l,resumeOffset:n,playoutLimit:r,once:v,pre:x,post:y,timelineRange:C});N.leaveTryBlock(2);break;case 4:N.enterCatchBlock();case 2:return N.return(c)}})};
1628
1633
  shaka.ads.InterstitialAdManager.prototype.cuepointsChanged_=function(){for(var a=[],b=$jscomp.makeIterator(this.interstitials_),c=b.next(),d={};!c.done;d={shakaCuePoint$jscomp$1:void 0},c=b.next())c=c.value,d.shakaCuePoint$jscomp$1={start:c.startTime,end:null},c.pre?(d.shakaCuePoint$jscomp$1.start=0,d.shakaCuePoint$jscomp$1.end=null):c.post?(d.shakaCuePoint$jscomp$1.start=-1,d.shakaCuePoint$jscomp$1.end=null):c.timelineRange&&(d.shakaCuePoint$jscomp$1.end=c.endTime),a.find(function(e){return function(f){return e.shakaCuePoint$jscomp$1.start==
1629
1634
  f.start&&e.shakaCuePoint$jscomp$1.end==f.end}}(d))||a.push(d.shakaCuePoint$jscomp$1);this.onEvent_(new shaka.util.FakeEvent(shaka.ads.Utils.CUEPOINTS_CHANGED,(new Map).set("cuepoints",a)))};
1630
1635
  shaka.ads.InterstitialAdManager.prototype.updatePlayerConfig_=function(){goog.asserts.assert(this.player_,"Must have player");goog.asserts.assert(this.basePlayer_,"Must have base player");this.player_.configure(this.basePlayer_.getNonDefaultConfiguration());var a=this.player_.getNetworkingEngine();goog.asserts.assert(a,"Need networking engine");a.clearAllRequestFilters();a.clearAllResponseFilters();this.basePlayer_.getNetworkingEngine().copyFiltersInto(a)};
@@ -1996,9 +2001,9 @@ shaka.dash.SegmentBase.createInitSegment=function(a,b,c){var d=shaka.util.TXml,e
1996
2001
  f,d,null,null,c);c.codecs=a.representation.codecs;c.mimeType=a.representation.mimeType;return c};
1997
2002
  shaka.dash.SegmentBase.createStreamInfo=function(a,b,c){goog.asserts.assert(a.representation.segmentBase,"Should only be called with SegmentBase");var d=shaka.dash.MpdUtils,e=shaka.dash.SegmentBase,f=shaka.util.TXml,g=Number(d.inheritAttribute(a,e.fromInheritance_,"presentationTimeOffset"))||0;d=d.inheritAttribute(a,e.fromInheritance_,"timescale");var h=1;d&&(h=f.parsePositiveInt(d)||1);var k=g/h||0,l=e.createInitSegment(a,e.fromInheritance_,c);e.checkSegmentIndexRangeSupport_(a,l);var m=shaka.util.ObjectUtils.shallowCloneObject(a);
1998
2003
  return{generateSegmentIndex:function(){return e.generateSegmentIndex_(m,b,l,k)}}};
1999
- shaka.dash.SegmentBase.generateSegmentIndexFromUris=function(a,b,c,d,e,f,g){var h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){if(1==E.nextAddress)return h=a.presentationTimeline,k=!a.dynamic||!a.periodInfo.isLastPeriod,l=a.periodInfo.start,m=a.periodInfo.duration,n=a.representation.mimeType.split("/")[1],p=b,q=null,r=[p(d,e,f,!1),"webm"==n?p(c.getUris(),c.startByte,c.endByte,!0):null],p=null,E.yield(Promise.all(r),2);t=E.yieldResult;u=t[0];v=t[1]||
2004
+ shaka.dash.SegmentBase.generateSegmentIndexFromUris=function(a,b,c,d,e,f,g){var h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B;return $jscomp.asyncExecutePromiseGeneratorProgram(function(D){if(1==D.nextAddress)return h=a.presentationTimeline,k=!a.dynamic||!a.periodInfo.isLastPeriod,l=a.periodInfo.start,m=a.periodInfo.duration,n=a.representation.mimeType.split("/")[1],p=b,q=null,r=[p(d,e,f,!1),"webm"==n?p(c.getUris(),c.startByte,c.endByte,!0):null],p=null,D.yield(Promise.all(r),2);t=D.yieldResult;u=t[0];v=t[1]||
2000
2005
  null;x=null;y=l-g;w=l;z=m?l+m:Infinity;"mp4"==n?x=shaka.media.Mp4SegmentIndexParser.parse(u,e,d,c,y,w,z):(goog.asserts.assert(v,"WebM requires init data"),x=shaka.media.WebmSegmentIndexParser.parse(u,v,d,c,y,w,z));C=$jscomp.makeIterator(x);for(A=C.next();!A.done;A=C.next())B=A.value,B.codecs=a.representation.codecs,B.mimeType=a.representation.mimeType,B.bandwidth=a.bandwidth;h.notifySegments(x);goog.asserts.assert(!q,"Should not call generateSegmentIndex twice");q=new shaka.media.SegmentIndex(x);
2001
- k&&q.fit(w,z,!0);return E.return(q)})};shaka.dash.SegmentBase.fromInheritance_=function(a){return a.segmentBase};shaka.dash.SegmentBase.computeIndexRange_=function(a){var b=shaka.dash.MpdUtils,c=shaka.dash.SegmentBase,d=shaka.util.TXml,e=b.inheritChild(a,c.fromInheritance_,"RepresentationIndex");a=b.inheritAttribute(a,c.fromInheritance_,"indexRange");a=d.parseRange(a||"");e&&(a=d.parseAttr(e,"range",d.parseRange,a));return a};
2006
+ k&&q.fit(w,z,!0);return D.return(q)})};shaka.dash.SegmentBase.fromInheritance_=function(a){return a.segmentBase};shaka.dash.SegmentBase.computeIndexRange_=function(a){var b=shaka.dash.MpdUtils,c=shaka.dash.SegmentBase,d=shaka.util.TXml,e=b.inheritChild(a,c.fromInheritance_,"RepresentationIndex");a=b.inheritAttribute(a,c.fromInheritance_,"indexRange");a=d.parseRange(a||"");e&&(a=d.parseAttr(e,"range",d.parseRange,a));return a};
2002
2007
  shaka.dash.SegmentBase.computeIndexUris_=function(a){var b=shaka.util.ManifestParserUtils,c=shaka.util.StringUtils,d=shaka.dash.MpdUtils.inheritChild(a,shaka.dash.SegmentBase.fromInheritance_,"RepresentationIndex"),e=a.representation.getBaseUris();d&&(c=c.htmlUnescape(d.attributes.sourceURL))&&(e=b.resolveUris(e,[c],a.urlParams()));return e};
2003
2008
  shaka.dash.SegmentBase.checkSegmentIndexRangeSupport_=function(a,b){var c=shaka.dash.SegmentBase;c.checkSegmentIndexSupport(a,b);if(!c.computeIndexRange_(a))throw shaka.log.error("SegmentBase does not contain sufficient segment information:","the SegmentBase does not contain @indexRange","or a RepresentationIndex element.",a.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_NO_SEGMENT_INFO);};
2004
2009
  shaka.dash.SegmentBase.checkSegmentIndexSupport=function(a,b){var c=shaka.util.ManifestParserUtils.ContentType,d=a.representation.contentType,e=a.representation.mimeType.split("/")[1];if(d!=c.TEXT&&"mp4"!=e&&"webm"!=e)throw shaka.log.error("SegmentBase specifies an unsupported container type.",a.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_UNSUPPORTED_CONTAINER);if("webm"==e&&!b)throw shaka.log.error("SegmentBase does not contain sufficient segment information:",
@@ -2030,12 +2035,12 @@ shaka.dash.SegmentTemplate.checkSegmentTemplateInfo_=function(a,b){var c=b.index
2030
2035
  "the SegmentTemplate should only contain an index URL template,","a SegmentTimeline or a segment duration.",a.representation),b.indexTemplate?(shaka.log.info("Using the index URL template by default."),b.timeline=null):(goog.asserts.assert(b.timeline,"There should be a timeline"),shaka.log.info("Using the SegmentTimeline by default.")),b.segmentDuration=null);if(!b.indexTemplate&&!b.mediaTemplate)throw shaka.log.error("SegmentTemplate does not contain sufficient segment information:","the SegmentTemplate's media URL template is missing.",
2031
2036
  a.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_NO_SEGMENT_INFO);};
2032
2037
  shaka.dash.SegmentTemplate.generateSegmentIndexFromIndexTemplate_=function(a,b,c,d){var e=shaka.dash.MpdUtils,f=shaka.util.ManifestParserUtils;goog.asserts.assert(d.indexTemplate,"must be using index template");e=e.fillUriTemplate(d.indexTemplate,a.representation.id,null,null,a.bandwidth||null,null);f=f.resolveUris(a.representation.getBaseUris(),[e]);return shaka.dash.SegmentBase.generateSegmentIndexFromUris(a,b,c,f,0,null,d.scaledPresentationTimeOffset)};
2033
- shaka.dash.SegmentTemplate.generateSegmentIndexFromDuration_=function(a,b,c,d,e,f,g,h){goog.asserts.assert(b.mediaTemplate,"There should be a media template with duration");var k=shaka.dash.MpdUtils,l=shaka.util.ManifestParserUtils,m=a.presentationTimeline,n=a.periodInfo.start,p=a.period.id,q=a.periodInfo.duration,r=function(){var J=null!=p&&e[p]||q;return J?n+J:Infinity},t=b.segmentDuration;goog.asserts.assert(null!=t,"Segment duration must not be null!");var u=b.startNumber,v=b.timescale,x=b.mediaTemplate,
2034
- y=a.bandwidth||null,w=a.representation.id,z=a.representation.getBaseUris,C=a.urlParams,A=n-b.scaledPresentationTimeOffset,B=function(){var J=[Math.max(m.getSegmentAvailabilityStart(),n),Math.min(m.getSegmentAvailabilityEnd(),r())];goog.asserts.assert(J.every(isFinite),"Available presentation times must be finite!");goog.asserts.assert(J.every(function(M){return 0<=M}),"Available presentation times must be positive!");goog.asserts.assert(null!=t,"Segment duration must not be null!");J=J.map(function(M){return M-
2035
- n});J=[Math.ceil(J[0]/t),Math.ceil(J[1]/t)-1];a.representation.availabilityTimeOffset&&J[1]++;return J.map(function(M){return M+u})},E=B();c=a.dynamic?Math.max(E[0],E[1]-c+1):E[0];g=g||E[1];E=[];var G=function(J){goog.asserts.assert(null!=t,"Segment duration must not be null!");var M=(J-u)*t,K=M+b.scaledPresentationTimeOffset,L=M+n;M=L+t;var N=Math.min(M,r());goog.asserts.assert(L<N,"Generated a segment outside of the period!");var P=[],O=b.numChunks;if(O)for(var T=(N-L)/O,R={},S=0;S<O;R={subNumber$jscomp$1:void 0},
2036
- S++){var V=L+T*S,U=V+T;R.subNumber$jscomp$1=S+1;R=function(Q){return function(){var W=K*v;"BigInt"in window&&W>Number.MAX_SAFE_INTEGER&&(W=BigInt(K)*BigInt(v));W=k.fillUriTemplate(x,w,J,Q.subNumber$jscomp$1,y,W);return l.resolveUris(z(),[W],C())}}(R);V=new shaka.media.SegmentReference(V,U,R,0,null,d,A,n,r(),[],"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,f);V.codecs=a.representation.codecs;V.mimeType=a.representation.mimeType;0==h?0<S&&V.markAsNonIndependent():0!=S%h&&V.markAsNonIndependent();
2037
- P.push(V)}L=new shaka.media.SegmentReference(L,N,function(){if(O)return[];var Q=K*v;"BigInt"in window&&Q>Number.MAX_SAFE_INTEGER&&(Q=BigInt(K)*BigInt(v));Q=k.fillUriTemplate(x,w,J,null,y,Q);return l.resolveUris(z(),[Q],C())},0,null,d,A,n,r(),P,"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,f,0<P.length);L.codecs=a.representation.codecs;L.mimeType=a.representation.mimeType;L.bandwidth=a.bandwidth;L.trueEndTime=M;return L},H=c;for(;H<=g;++H){var F=G(H);E.push(F)}var D=new shaka.media.SegmentIndex(E);
2038
- E=m.getSegmentAvailabilityEnd()<r();H=m.isLive();if(E||H){var I=Math.max(c,g+1);c=t;a.representation.availabilityTimeOffset&&(c=.1);D.updateEvery(c,function(){var J=m.getSegmentAvailabilityStart();D.evict(J);var M=$jscomp.makeIterator(B());M.next();M=M.next().value;for(var K=[];I<=M;){var L=G(I);K.push(L);I++}return J>r()&&!K.length?null:K})}return Promise.resolve(D)};
2038
+ shaka.dash.SegmentTemplate.generateSegmentIndexFromDuration_=function(a,b,c,d,e,f,g,h){goog.asserts.assert(b.mediaTemplate,"There should be a media template with duration");var k=shaka.dash.MpdUtils,l=shaka.util.ManifestParserUtils,m=a.presentationTimeline,n=a.periodInfo.start,p=a.period.id,q=a.periodInfo.duration,r=function(){var I=null!=p&&e[p]||q;return I?n+I:Infinity},t=b.segmentDuration;goog.asserts.assert(null!=t,"Segment duration must not be null!");var u=b.startNumber,v=b.timescale,x=b.mediaTemplate,
2039
+ y=a.bandwidth||null,w=a.representation.id,z=a.representation.getBaseUris,C=a.urlParams,A=n-b.scaledPresentationTimeOffset,B=function(){var I=[Math.max(m.getSegmentAvailabilityStart(),n),Math.min(m.getSegmentAvailabilityEnd(),r())];goog.asserts.assert(I.every(isFinite),"Available presentation times must be finite!");goog.asserts.assert(I.every(function(H){return 0<=H}),"Available presentation times must be positive!");goog.asserts.assert(null!=t,"Segment duration must not be null!");I=I.map(function(H){return H-
2040
+ n});I=[Math.ceil(I[0]/t),Math.ceil(I[1]/t)-1];a.representation.availabilityTimeOffset&&I[1]++;return I.map(function(H){return H+u})},D=B();c=a.dynamic?Math.max(D[0],D[1]-c+1):D[0];g=g||D[1];D=[];var G=function(I){goog.asserts.assert(null!=t,"Segment duration must not be null!");var H=(I-u)*t,K=H+b.scaledPresentationTimeOffset,L=H+n;H=L+t;var N=Math.min(H,r());goog.asserts.assert(L<N,"Generated a segment outside of the period!");var P=[],O=b.numChunks;if(O)for(var T=(N-L)/O,R={},S=0;S<O;R={subNumber$jscomp$1:void 0},
2041
+ S++){var V=L+T*S,U=V+T;R.subNumber$jscomp$1=S+1;R=function(Q){return function(){var W=K*v;"BigInt"in window&&W>Number.MAX_SAFE_INTEGER&&(W=BigInt(K)*BigInt(v));W=k.fillUriTemplate(x,w,I,Q.subNumber$jscomp$1,y,W);return l.resolveUris(z(),[W],C())}}(R);V=new shaka.media.SegmentReference(V,U,R,0,null,d,A,n,r(),[],"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,f);V.codecs=a.representation.codecs;V.mimeType=a.representation.mimeType;0==h?0<S&&V.markAsNonIndependent():0!=S%h&&V.markAsNonIndependent();
2042
+ P.push(V)}L=new shaka.media.SegmentReference(L,N,function(){if(O)return[];var Q=K*v;"BigInt"in window&&Q>Number.MAX_SAFE_INTEGER&&(Q=BigInt(K)*BigInt(v));Q=k.fillUriTemplate(x,w,I,null,y,Q);return l.resolveUris(z(),[Q],C())},0,null,d,A,n,r(),P,"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,f,0<P.length);L.codecs=a.representation.codecs;L.mimeType=a.representation.mimeType;L.bandwidth=a.bandwidth;L.trueEndTime=H;return L},J=c;for(;J<=g;++J){var F=G(J);D.push(F)}var E=new shaka.media.SegmentIndex(D);
2043
+ D=m.getSegmentAvailabilityEnd()<r();J=m.isLive();if(D||J){var M=Math.max(c,g+1);c=t;a.representation.availabilityTimeOffset&&(c=.1);E.updateEvery(c,function(){var I=m.getSegmentAvailabilityStart();E.evict(I);var H=$jscomp.makeIterator(B());H.next();H=H.next().value;for(var K=[];M<=H;){var L=G(M);K.push(L);M++}return I>r()&&!K.length?null:K})}return Promise.resolve(E)};
2039
2044
  shaka.dash.SegmentTemplate.createInitSegment_=function(a,b){var c=shaka.dash.MpdUtils,d=shaka.util.ManifestParserUtils,e=shaka.dash.SegmentTemplate,f=a.representation.initialization;f||(f=c.inheritAttribute(a,e.fromInheritance_,"initialization"));if(!f)return null;f=shaka.util.StringUtils.htmlUnescape(f);var g=a.representation.id,h=a.bandwidth||null,k=a.representation.getBaseUris,l=a.urlParams;e=shaka.dash.SegmentBase.createQualityInfo(a);b=new shaka.media.InitSegmentReference(function(){goog.asserts.assert(f,
2040
2045
  "Should have returned earler");var m=c.fillUriTemplate(f,g,null,null,h,null);return d.resolveUris(k(),[m],l())},0,null,e,null,null,b);b.codecs=a.representation.codecs;b.mimeType=a.representation.mimeType;return b};
2041
2046
  shaka.dash.TimelineSegmentIndex=function(a,b,c,d,e,f,g,h,k,l,m){shaka.media.SegmentIndex.call(this,[]);this.templateInfo_=a;this.representationId_=b;this.bandwidth_=c;this.getBaseUris_=d;this.urlParams_=e;this.periodStart_=f;this.periodEnd_=g;this.initSegmentReference_=h;this.aesKey_=l;this.segmentSequenceCadence_=m;k&&this.fitTimeline()};$jscomp.inherits(shaka.dash.TimelineSegmentIndex,shaka.media.SegmentIndex);
@@ -2066,19 +2071,19 @@ shaka.util.PeriodCombiner.prototype.deleteStream=function(a,b){if(a){var c=shaka
2066
2071
  d.trickModeVideo.matchedStreams.filter(function(e){return e!==a}));else if(a.type==c.TEXT)for(c=$jscomp.makeIterator(this.textStreams_),d=c.next();!d.done;d=c.next())d=d.value,d.matchedStreams=d.matchedStreams.filter(function(e){return e!==a});else if(a.type==c.IMAGE)for(c=$jscomp.makeIterator(this.imageStreams_),d=c.next();!d.done;d=c.next())d=d.value,d.matchedStreams=d.matchedStreams.filter(function(e){return e!==a});a.segmentIndex&&a.closeSegmentIndex();this.usedPeriodIds_.delete(b)}};
2067
2072
  shaka.util.PeriodCombiner.prototype.getStreamsPerPeriod_=function(a,b){var c=shaka.util.ManifestParserUtils.ContentType,d=shaka.util.PeriodCombiner,e=[],f=[],g=[],h=[];a=$jscomp.makeIterator(a);for(var k=a.next();!k.done;k=a.next()){var l=k.value;k=new Map(l.audioStreams.map(function(q){return[d.generateAudioKey_(q),q]}));var m=new Map(l.videoStreams.map(function(q){return[d.generateVideoKey_(q),q]})),n=new Map(l.textStreams.map(function(q){return[d.generateTextKey_(q),q]}));l=new Map(l.imageStreams.map(function(q){return[d.generateImageKey_(q),
2068
2073
  q]}));if(b){var p=d.dummyStream_(c.TEXT);n.set(d.generateTextKey_(p),p);p=d.dummyStream_(c.IMAGE);l.set(d.generateImageKey_(p),p)}e.push(k);f.push(m);g.push(n);h.push(l)}return{audioStreamsPerPeriod:e,videoStreamsPerPeriod:f,textStreamsPerPeriod:g,imageStreamsPerPeriod:h}};
2069
- shaka.util.PeriodCombiner.prototype.combinePeriods=function(a,b,c){c=void 0===c?!1:c;var d=this,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D,I,J,M,K;return $jscomp.asyncExecutePromiseGeneratorProgram(function(L){if(1==L.nextAddress){e=shaka.util.ManifestParserUtils.ContentType;if(!b&&1==a.length)return f=d.getStreamsPerPeriod_(a,!1),g=f.audioStreamsPerPeriod,h=f.videoStreamsPerPeriod,k=f.textStreamsPerPeriod,l=f.imageStreamsPerPeriod,d.audioStreams_=Array.from(g[0].values()),d.videoStreams_=
2074
+ shaka.util.PeriodCombiner.prototype.combinePeriods=function(a,b,c){c=void 0===c?!1:c;var d=this,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M,I,H,K;return $jscomp.asyncExecutePromiseGeneratorProgram(function(L){if(1==L.nextAddress){e=shaka.util.ManifestParserUtils.ContentType;if(!b&&1==a.length)return f=d.getStreamsPerPeriod_(a,!1),g=f.audioStreamsPerPeriod,h=f.videoStreamsPerPeriod,k=f.textStreamsPerPeriod,l=f.imageStreamsPerPeriod,d.audioStreams_=Array.from(g[0].values()),d.videoStreams_=
2070
2075
  Array.from(h[0].values()),d.textStreams_=Array.from(k[0].values()),d.imageStreams_=Array.from(l[0].values()),L.jumpTo(2);m=c?d.usedPeriodIds_.size:0;n=-1;for(p=0;p<a.length;p++)q=a[p],d.usedPeriodIds_.has(q.id)||(d.usedPeriodIds_.add(q.id),-1==n&&(n=p));if(-1==n)return L.return();r=d.getStreamsPerPeriod_(a,!0);t=r.audioStreamsPerPeriod;u=r.videoStreamsPerPeriod;v=r.textStreamsPerPeriod;x=r.imageStreamsPerPeriod;return L.yield(Promise.all([d.combine_(d.audioStreams_,t,n,shaka.util.PeriodCombiner.cloneStream_,
2071
2076
  shaka.util.PeriodCombiner.concatenateStreams_,m),d.combine_(d.videoStreams_,u,n,shaka.util.PeriodCombiner.cloneStream_,shaka.util.PeriodCombiner.concatenateStreams_,m),d.combine_(d.textStreams_,v,n,shaka.util.PeriodCombiner.cloneStream_,shaka.util.PeriodCombiner.concatenateStreams_,m),d.combine_(d.imageStreams_,x,n,shaka.util.PeriodCombiner.cloneStream_,shaka.util.PeriodCombiner.concatenateStreams_,m)]),2)}y=0;w=[];if(d.videoStreams_.length&&d.audioStreams_.length)for(G=$jscomp.makeIterator(d.audioStreams_),
2072
- H=G.next();!H.done;H=G.next())for(F=H.value,D=$jscomp.makeIterator(d.videoStreams_),I=D.next();!I.done;I=D.next())J=I.value,M=shaka.util.DrmUtils.getCommonDrmInfos(F.drmInfos,J.drmInfos),F.drmInfos.length&&J.drmInfos.length&&!M.length?shaka.log.warning("Incompatible DRM in audio & video, skipping variant creation.",F,J):(K=y++,w.push({id:K,language:F.language,disabledUntilTime:0,primary:F.primary,audio:F,video:J,bandwidth:(F.bandwidth||0)+(J.bandwidth||0),drmInfos:M,allowedByApplication:!0,allowedByKeySystem:!0,
2073
- decodingInfos:[]}));else for(z=d.videoStreams_.length?d.videoStreams_:d.audioStreams_,C=$jscomp.makeIterator(z),A=C.next();!A.done;A=C.next())B=A.value,E=y++,w.push({id:E,language:B.language,disabledUntilTime:0,primary:B.primary,audio:B.type==e.AUDIO?B:null,video:B.type==e.VIDEO?B:null,bandwidth:B.bandwidth||0,drmInfos:B.drmInfos,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]});d.variants_=w;L.jumpToEnd()})};
2074
- shaka.util.PeriodCombiner.combineDbStreams=function(a){var b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D,I,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(M){switch(M.nextAddress){case 1:b=shaka.util.ManifestParserUtils.ContentType;c=shaka.util.PeriodCombiner;if(1==a.length)return M.return(a[0]);d=a.map(function(K){return new Map(K.filter(function(L){return L.type===b.AUDIO}).map(function(L){return[c.generateAudioKey_(L),L]}))});e=a.map(function(K){return new Map(K.filter(function(L){return L.type===
2077
+ J=G.next();!J.done;J=G.next())for(F=J.value,E=$jscomp.makeIterator(d.videoStreams_),M=E.next();!M.done;M=E.next())I=M.value,H=shaka.util.DrmUtils.getCommonDrmInfos(F.drmInfos,I.drmInfos),F.drmInfos.length&&I.drmInfos.length&&!H.length?shaka.log.warning("Incompatible DRM in audio & video, skipping variant creation.",F,I):(K=y++,w.push({id:K,language:F.language,disabledUntilTime:0,primary:F.primary,audio:F,video:I,bandwidth:(F.bandwidth||0)+(I.bandwidth||0),drmInfos:H,allowedByApplication:!0,allowedByKeySystem:!0,
2078
+ decodingInfos:[]}));else for(z=d.videoStreams_.length?d.videoStreams_:d.audioStreams_,C=$jscomp.makeIterator(z),A=C.next();!A.done;A=C.next())B=A.value,D=y++,w.push({id:D,language:B.language,disabledUntilTime:0,primary:B.primary,audio:B.type==e.AUDIO?B:null,video:B.type==e.VIDEO?B:null,bandwidth:B.bandwidth||0,drmInfos:B.drmInfos,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]});d.variants_=w;L.jumpToEnd()})};
2079
+ shaka.util.PeriodCombiner.combineDbStreams=function(a){var b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M,I;return $jscomp.asyncExecutePromiseGeneratorProgram(function(H){switch(H.nextAddress){case 1:b=shaka.util.ManifestParserUtils.ContentType;c=shaka.util.PeriodCombiner;if(1==a.length)return H.return(a[0]);d=a.map(function(K){return new Map(K.filter(function(L){return L.type===b.AUDIO}).map(function(L){return[c.generateAudioKey_(L),L]}))});e=a.map(function(K){return new Map(K.filter(function(L){return L.type===
2075
2080
  b.VIDEO}).map(function(L){return[c.generateVideoKey_(L),L]}))});f=a.map(function(K){return new Map(K.filter(function(L){return L.type===b.TEXT}).map(function(L){return[c.generateTextKey_(L),L]}))});g=a.map(function(K){return new Map(K.filter(function(L){return L.type===b.IMAGE}).map(function(L){return[c.generateImageKey_(L),L]}))});h=$jscomp.makeIterator(f);for(k=h.next();!k.done;k=h.next())l=k.value,m=c.dummyStreamDB_(b.TEXT),l.set(c.generateTextKey_(m),m);n=$jscomp.makeIterator(g);for(p=n.next();!p.done;p=
2076
- n.next())q=p.value,r=c.dummyStreamDB_(b.IMAGE),q.set(c.generateImageKey_(r),r);t=new shaka.util.PeriodCombiner;return M.yield(t.combine_([],d,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),2);case 2:return u=M.yieldResult,M.yield(t.combine_([],e,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),3);case 3:return v=M.yieldResult,M.yield(t.combine_([],f,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,
2077
- 0),4);case 4:return x=M.yieldResult,M.yield(t.combine_([],g,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),5);case 5:y=M.yieldResult;w=0;if(v.length&&u.length)for(E=$jscomp.makeIterator(u),G=E.next();!G.done;G=E.next())for(H=G.value,F=$jscomp.makeIterator(v),D=F.next();!D.done;D=F.next())I=D.value,J=w++,I.variantIds.push(J),H.variantIds.push(J);else for(z=v.concat(u),C=$jscomp.makeIterator(z),A=C.next();!A.done;A=C.next())B=A.value,B.variantIds=[w++];
2078
- return M.return(v.concat(u).concat(x).concat(y))}})};
2079
- shaka.util.PeriodCombiner.prototype.combine_=function(a,b,c,d,e,f){var g=this,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G;return $jscomp.asyncExecutePromiseGeneratorProgram(function(H){switch(H.nextAddress){case 1:h=[];for(k=0;k<b.length;k++)k>=c?h.push(new Set(b[k].values())):h.push(new Set);l=$jscomp.makeIterator(a);m=l.next();case 2:if(m.done){H.jumpTo(4);break}n=m.value;return H.yield(g.extendExistingOutputStream_(n,b,c,e,h,f),5);case 5:p=H.yieldResult;if(!p)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2080
- shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.PERIOD_FLATTENING_FAILED);m=l.next();H.jumpTo(2);break;case 4:q=$jscomp.makeIterator(h);for(r=q.next();!r.done;r=q.next())for(t=r.value,u=$jscomp.makeIterator(t),v=u.next();!v.done;v=u.next())x=v.value,(y=g.createNewOutputStream_(x,b,d,e,h))&&a.push(y);w=$jscomp.makeIterator(h);for(z=w.next();!z.done;z=w.next())for(C=z.value,A=$jscomp.makeIterator(C),B=A.next(),E={};!B.done;E={stream$jscomp$93:void 0},B=A.next())if(E.stream$jscomp$93=B.value,
2081
- !shaka.util.PeriodCombiner.isDummy_(E.stream$jscomp$93)&&(G=a.some(function(F){return function(D){return g.areAVStreamsCompatible_(F.stream$jscomp$93,D)}}(E))))throw shaka.log.error("Unused stream in period-flattening!",E.stream$jscomp$93,a),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.PERIOD_FLATTENING_FAILED);return H.return(a)}})};
2081
+ n.next())q=p.value,r=c.dummyStreamDB_(b.IMAGE),q.set(c.generateImageKey_(r),r);t=new shaka.util.PeriodCombiner;return H.yield(t.combine_([],d,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),2);case 2:return u=H.yieldResult,H.yield(t.combine_([],e,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),3);case 3:return v=H.yieldResult,H.yield(t.combine_([],f,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,
2082
+ 0),4);case 4:return x=H.yieldResult,H.yield(t.combine_([],g,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),5);case 5:y=H.yieldResult;w=0;if(v.length&&u.length)for(D=$jscomp.makeIterator(u),G=D.next();!G.done;G=D.next())for(J=G.value,F=$jscomp.makeIterator(v),E=F.next();!E.done;E=F.next())M=E.value,I=w++,M.variantIds.push(I),J.variantIds.push(I);else for(z=v.concat(u),C=$jscomp.makeIterator(z),A=C.next();!A.done;A=C.next())B=A.value,B.variantIds=[w++];
2083
+ return H.return(v.concat(u).concat(x).concat(y))}})};
2084
+ shaka.util.PeriodCombiner.prototype.combine_=function(a,b,c,d,e,f){var g=this,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G;return $jscomp.asyncExecutePromiseGeneratorProgram(function(J){switch(J.nextAddress){case 1:h=[];for(k=0;k<b.length;k++)k>=c?h.push(new Set(b[k].values())):h.push(new Set);l=$jscomp.makeIterator(a);m=l.next();case 2:if(m.done){J.jumpTo(4);break}n=m.value;return J.yield(g.extendExistingOutputStream_(n,b,c,e,h,f),5);case 5:p=J.yieldResult;if(!p)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2085
+ shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.PERIOD_FLATTENING_FAILED);m=l.next();J.jumpTo(2);break;case 4:q=$jscomp.makeIterator(h);for(r=q.next();!r.done;r=q.next())for(t=r.value,u=$jscomp.makeIterator(t),v=u.next();!v.done;v=u.next())x=v.value,(y=g.createNewOutputStream_(x,b,d,e,h))&&a.push(y);w=$jscomp.makeIterator(h);for(z=w.next();!z.done;z=w.next())for(C=z.value,A=$jscomp.makeIterator(C),B=A.next(),D={};!B.done;D={stream$jscomp$93:void 0},B=A.next())if(D.stream$jscomp$93=B.value,
2086
+ !shaka.util.PeriodCombiner.isDummy_(D.stream$jscomp$93)&&(G=a.some(function(F){return function(E){return g.areAVStreamsCompatible_(F.stream$jscomp$93,E)}}(D))))throw shaka.log.error("Unused stream in period-flattening!",D.stream$jscomp$93,a),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.PERIOD_FLATTENING_FAILED);return J.return(a)}})};
2082
2087
  shaka.util.PeriodCombiner.prototype.extendExistingOutputStream_=function(a,b,c,d,e,f){var g=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress)return g.findMatchesInAllPeriods_(b,a,0<f),goog.asserts.assert(a.createSegmentIndex,"outputStream should be a Stream type!"),a.matchedStreams?a.segmentIndex?h.yield(shaka.util.PeriodCombiner.extendOutputSegmentIndex_(a,c+f),2):h.jumpTo(2):(shaka.log.error("No matches extending output stream!",a,b),h.return(!1));shaka.util.PeriodCombiner.extendOutputStream_(a,
2083
2088
  c,d,e,f);return h.return(!0)})};
2084
2089
  shaka.util.PeriodCombiner.extendOutputSegmentIndex_=function(a,b){var c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){if(1==k.nextAddress){c=[];d=a.matchedStreams;goog.asserts.assert(d,"matched streams should be valid");for(e=b;e<d.length;e++)f=d[e],c.push(f.createSegmentIndex()),f.trickModeVideo&&!f.trickModeVideo.segmentIndex&&c.push(f.trickModeVideo.createSegmentIndex());return k.yield(Promise.all(c),2)}if(a.segmentIndex instanceof shaka.media.MetaSegmentIndex)for(g=b;g<
@@ -2138,24 +2143,24 @@ p);return q.return(p)})};
2138
2143
  shaka.dash.DashParser.prototype.parseManifest_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress){e=a;f=d.config_.dash.manifestPreprocessor;g=shaka.util.PlayerConfiguration.defaultManifestPreprocessor;if(f!=g){shaka.Deprecate.deprecateFeature(5,"manifest.dash.manifestPreprocessor configuration","Please Use manifest.dash.manifestPreprocessorTXml instead.");h=shaka.util.XmlUtils.parseXml(e,c);if(!h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2139
2144
  shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_INVALID_XML,b);f(h);e=shaka.util.XmlUtils.toArrayBuffer(h)}k=shaka.util.TXml.parseXml(e,c);if(!k)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_INVALID_XML,b);l=d.config_.dash.manifestPreprocessorTXml;m=shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml;l!=m&&l(k);if("Patch"===c)return t.return(d.processPatchManifest_(k));if(n=d.config_.dash.disableXlinkProcessing)return t.return(d.processManifest_(k,
2140
2145
  b));p=d.config_.dash.xlinkFailGracefully;q=shaka.dash.MpdUtils.processXlinks(k,d.config_.retryParameters,p,b,d.playerInterface_.networkingEngine);d.operationManager_.manage(q);return t.yield(q.promise,2)}r=t.yieldResult;return t.return(d.processManifest_(r,b))})};
2141
- shaka.dash.DashParser.prototype.processManifest_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D,I,J,M,K,L,N,P,O,T,R,S,V,U,Q,W,X,Y,ba,ca,Z,da,ha,fa,ia,ea,na,ja,ka,la,ma;return $jscomp.asyncExecutePromiseGeneratorProgram(function(aa){switch(aa.nextAddress){case 1:d=shaka.util.TXml;goog.asserts.assert(c.config_,"Must call configure() before processManifest_()!");c.contentSteeringManager_&&c.contentSteeringManager_.clearPreviousLocations();e=[b];f=[];g=new Map;h=d.findChildren(a,
2146
+ shaka.dash.DashParser.prototype.processManifest_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M,I,H,K,L,N,P,O,T,R,S,V,U,Q,W,X,Y,ba,ca,Z,da,ha,fa,ia,ea,na,ja,ka,la,ma;return $jscomp.asyncExecutePromiseGeneratorProgram(function(aa){switch(aa.nextAddress){case 1:d=shaka.util.TXml;goog.asserts.assert(c.config_,"Must call configure() before processManifest_()!");c.contentSteeringManager_&&c.contentSteeringManager_.clearPreviousLocations();e=[b];f=[];g=new Map;h=d.findChildren(a,
2142
2147
  "Location");k=$jscomp.makeIterator(h);for(l=k.next();!l.done;l=k.next())if(m=l.value,n=m.attributes.serviceLocation,p=d.getContents(m))q=shaka.util.ManifestParserUtils.resolveUris(e,[p])[0],n&&(c.contentSteeringManager_?c.contentSteeringManager_.addLocation("Location",n,q):g.set(n,q)),f.push(q);c.contentSteeringManager_?(r=c.contentSteeringManager_.getLocations("Location",!0),0<r.length&&(e=c.manifestUris_=r)):f.length&&(e=c.manifestUris_=f);c.manifestPatchContext_.mpdId=a.attributes.id||"";c.manifestPatchContext_.publishTime=
2143
2148
  d.parseAttr(a,"publishTime",d.parseDate)||0;c.patchLocationNodes_=d.findChildren(a,"PatchLocation");t=Promise.resolve();if((u=d.findChild(a,"ContentSteering"))&&c.playerInterface_){v=u.attributes.defaultServiceLocation;if(c.contentSteeringManager_)c.contentSteeringManager_.setBaseUris(e),c.contentSteeringManager_.setDefaultPathwayId(v);else if(c.contentSteeringManager_=new shaka.util.ContentSteeringManager(c.playerInterface_),c.contentSteeringManager_.configure(c.config_),c.contentSteeringManager_.setManifestType(shaka.media.ManifestParser.DASH),
2144
- c.contentSteeringManager_.setBaseUris(e),c.contentSteeringManager_.setDefaultPathwayId(v),x=d.getContents(u))(y=d.parseAttr(u,"queryBeforeStart",d.parseBoolean,!1))?t=c.contentSteeringManager_.requestInfo(x):c.contentSteeringManager_.requestInfo(x);w=$jscomp.makeIterator(g.keys());for(z=w.next();!z.done;z=w.next())C=z.value,A=g.get(C),c.contentSteeringManager_.addLocation("Location",C,A)}B=d.findChildren(a,"BaseURL");E=!1;if(c.contentSteeringManager_)for(G=$jscomp.makeIterator(B),H=G.next();!H.done;H=
2145
- G.next())F=H.value,D=F.attributes.serviceLocation,I=d.getContents(F),D&&I&&(c.contentSteeringManager_.addLocation("BaseURL",D,I),E=!0);c.lastCalculatedBaseUris_=null;E&&c.contentSteeringManager_||(J=B.map(d.getContents),c.lastCalculatedBaseUris_=shaka.util.ManifestParserUtils.resolveUris(e,J));M=function(){return c.contentSteeringManager_&&E?c.contentSteeringManager_.getLocations("BaseURL"):c.lastCalculatedBaseUris_?c.lastCalculatedBaseUris_:[]};c.manifestPatchContext_.getBaseUris=M;K=0;B&&B.length&&
2149
+ c.contentSteeringManager_.setBaseUris(e),c.contentSteeringManager_.setDefaultPathwayId(v),x=d.getContents(u))(y=d.parseAttr(u,"queryBeforeStart",d.parseBoolean,!1))?t=c.contentSteeringManager_.requestInfo(x):c.contentSteeringManager_.requestInfo(x);w=$jscomp.makeIterator(g.keys());for(z=w.next();!z.done;z=w.next())C=z.value,A=g.get(C),c.contentSteeringManager_.addLocation("Location",C,A)}B=d.findChildren(a,"BaseURL");D=!1;if(c.contentSteeringManager_)for(G=$jscomp.makeIterator(B),J=G.next();!J.done;J=
2150
+ G.next())F=J.value,E=F.attributes.serviceLocation,M=d.getContents(F),E&&M&&(c.contentSteeringManager_.addLocation("BaseURL",E,M),D=!0);c.lastCalculatedBaseUris_=null;D&&c.contentSteeringManager_||(I=B.map(d.getContents),c.lastCalculatedBaseUris_=shaka.util.ManifestParserUtils.resolveUris(e,I));H=function(){return c.contentSteeringManager_&&D?c.contentSteeringManager_.getLocations("BaseURL"):c.lastCalculatedBaseUris_?c.lastCalculatedBaseUris_:[]};c.manifestPatchContext_.getBaseUris=H;K=0;B&&B.length&&
2146
2151
  (K=d.parseAttr(B[0],"availabilityTimeOffset",d.parseFloat)||0);c.manifestPatchContext_.availabilityTimeOffset=K;L=c.config_.dash.ignoreMinBufferTime;N=0;L||(N=d.parseAttr(a,"minBufferTime",d.parseDuration)||0);c.updatePeriod_=d.parseAttr(a,"minimumUpdatePeriod",d.parseDuration,-1);P=d.parseAttr(a,"availabilityStartTime",d.parseDate);O=d.parseAttr(a,"timeShiftBufferDepth",d.parseDuration);T=c.config_.dash.ignoreSuggestedPresentationDelay;R=null;T||(R=d.parseAttr(a,"suggestedPresentationDelay",d.parseDuration));
2147
2152
  S=c.config_.dash.ignoreMaxSegmentDuration;V=null;S||(V=d.parseAttr(a,"maxSegmentDuration",d.parseDuration));U=a.attributes.type||"static";c.manifest_&&c.manifest_.presentationTimeline&&(c.isTransitionFromDynamicToStatic_=c.manifest_.presentationTimeline.isLive()&&"static"==U);c.manifestPatchContext_.type=U;c.cleanStreamMap_();if(c.manifest_)for(Q=c.manifest_.presentationTimeline,W=$jscomp.makeIterator(Object.values(c.streamMap_)),X=W.next();!X.done;X=W.next())Y=X.value,Y.segmentIndex&&Y.segmentIndex.evict(Q.getSegmentAvailabilityStart());
2148
2153
  else ba=c.config_.defaultPresentationDelay||1.5*N,ca=null!=R?R:ba,Q=new shaka.media.PresentationTimeline(P,ca,c.config_.dash.autoCorrectDrift);Q.setStatic("static"==U);(Z=Q.isLive())&&!isNaN(c.config_.availabilityWindowOverride)&&(O=c.config_.availabilityWindowOverride);null==O&&(O=Infinity);Q.setSegmentAvailabilityDuration(O);da=a.attributes.profiles||"";c.manifestPatchContext_.profiles=da.split(",");ha={dynamic:"static"!=U,presentationTimeline:Q,period:null,periodInfo:null,adaptationSet:null,representation:null,
2149
- bandwidth:0,indexRangeWarningGiven:!1,availabilityTimeOffset:K,mediaPresentationDuration:null,profiles:da.split(","),roles:null,urlParams:function(){return""}};c.gapCount_=0;fa=c.parsePeriods_(ha,M,a,!1);ia=fa.duration;ea=fa.periods;("static"!=U||c.isTransitionFromDynamicToStatic_)&&fa.durationDerivedFromPeriods||Q.setDuration(ia||Infinity);c.isLowLatency_&&!c.lowLatencyMode_&&(na=c.playerInterface_.isAutoLowLatencyMode())&&(c.playerInterface_.enableLowLatencyMode(),c.lowLatencyMode_=c.playerInterface_.isLowLatencyMode());
2154
+ bandwidth:0,indexRangeWarningGiven:!1,availabilityTimeOffset:K,mediaPresentationDuration:null,profiles:da.split(","),roles:null,urlParams:function(){return""}};c.gapCount_=0;fa=c.parsePeriods_(ha,H,a,!1);ia=fa.duration;ea=fa.periods;("static"!=U||c.isTransitionFromDynamicToStatic_)&&fa.durationDerivedFromPeriods||Q.setDuration(ia||Infinity);c.isLowLatency_&&!c.lowLatencyMode_&&(na=c.playerInterface_.isAutoLowLatencyMode())&&(c.playerInterface_.enableLowLatencyMode(),c.lowLatencyMode_=c.playerInterface_.isLowLatencyMode());
2150
2155
  c.lowLatencyMode_&&Q.setAvailabilityTimeOffset(c.minTotalAvailabilityTimeOffset_);Q.notifyMaxSegmentDuration(V||1);goog.DEBUG&&!c.isTransitionFromDynamicToStatic_&&Q.assertIsValid();return aa.yield(t,2);case 2:c.lowLatencyMode_&&(N=0,ja=null!=R?R:c.config_.defaultPresentationDelay,Q.setDelay(ja));if(!c.manifest_)return aa.yield(c.periodCombiner_.combinePeriods(ea,ha.dynamic),6);c.manifest_.periodCount=ea.length;c.manifest_.gapCount=c.gapCount_;return aa.yield(c.postPeriodProcessing_(ea,!1),4);case 6:c.manifest_=
2151
2156
  {presentationTimeline:Q,variants:c.periodCombiner_.getVariants(),textStreams:c.periodCombiner_.getTextStreams(),imageStreams:c.periodCombiner_.getImageStreams(),offlineSessionIds:[],minBufferTime:N||0,sequenceMode:c.config_.dash.sequenceMode,ignoreManifestTimestampsInSegmentsMode:!1,type:shaka.media.ManifestParser.DASH,serviceDescription:c.parseServiceDescription_(a),nextUrl:c.parseMpdChaining_(a),periodCount:ea.length,gapCount:c.gapCount_,isLowLatency:c.isLowLatency_,startTime:null};if(!Q.usingPresentationStartTime()){aa.jumpTo(7);
2152
- break}ka=shaka.util.TXml;la=ka.findChildren(a,"UTCTiming");return aa.yield(c.parseUtcTiming_(M,la),8);case 8:ma=aa.yieldResult;if(!c.playerInterface_)return aa.return();Q.setClockOffset(ma);case 7:Q.lockStartTime();case 4:c.playerInterface_.makeTextStreamsForClosedCaptions(c.manifest_),aa.jumpToEnd()}})};
2157
+ break}ka=shaka.util.TXml;la=ka.findChildren(a,"UTCTiming");return aa.yield(c.parseUtcTiming_(H,la),8);case 8:ma=aa.yieldResult;if(!c.playerInterface_)return aa.return();Q.setClockOffset(ma);case 7:Q.lockStartTime();case 4:c.playerInterface_.makeTextStreamsForClosedCaptions(c.manifest_),aa.jumpToEnd()}})};
2153
2158
  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()})};
2154
- shaka.dash.DashParser.prototype.processPatchManifest_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D,I;return $jscomp.asyncExecutePromiseGeneratorProgram(function(J){if(1==J.nextAddress){c=shaka.util.TXml;d=a.attributes.mpdId;e=c.parseAttr(a,"originalPublishTime",c.parseDate);if(!d||d!==b.manifestPatchContext_.mpdId||e!==b.manifestPatchContext_.publishTime)throw b.patchLocationNodes_=[],new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.MANIFEST,
2159
+ shaka.dash.DashParser.prototype.processPatchManifest_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){if(1==I.nextAddress){c=shaka.util.TXml;d=a.attributes.mpdId;e=c.parseAttr(a,"originalPublishTime",c.parseDate);if(!d||d!==b.manifestPatchContext_.mpdId||e!==b.manifestPatchContext_.publishTime)throw b.patchLocationNodes_=[],new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.MANIFEST,
2155
2160
  shaka.util.Error.Code.DASH_INVALID_PATCH);f=[];g=[];h=new Set;k=$jscomp.makeIterator(c.getChildNodes(a));for(l=k.next();!l.done;l=k.next()){m=l.value;n=!0;p=c.parseXpath(m.attributes.sel||"");q=p[p.length-1];r=c.getContents(m)||"";if("MPD"===q.name)"mediaPresentationDuration"===q.attribute?(t=c.getContents(m)||"",b.parsePatchMediaPresentationDurationChange_(t)):"type"===q.attribute?b.parsePatchMpdTypeChange_(r):"publishTime"===q.attribute?b.manifestPatchContext_.publishTime=c.parseDate(r)||0:null===
2156
2161
  q.attribute&&"add"===m.tagName?g.push(m):n=!1;else if("PatchLocation"===q.name)b.updatePatchLocationNodes_(m);else if("Period"===q.name)"add"===m.tagName?g.push(m):"remove"===m.tagName&&q.id&&b.removePatchPeriod_(q.id);else if("SegmentTemplate"===q.name)for(u=b.modifySegmentTemplate_(m),v=$jscomp.makeIterator(u),x=v.next();!x.done;x=v.next())y=x.value,h.add(y);else if("SegmentTimeline"===q.name||"S"===q.name)for(w=b.modifyTimepoints_(m),z=$jscomp.makeIterator(w),C=z.next();!C.done;C=z.next())A=C.value,
2157
- h.add(A);else n=!1;n||shaka.log.warning("Unhandled "+m.tagName+" operation",m.attributes.sel)}B=$jscomp.makeIterator(h);for(E=B.next();!E.done;E=B.next())G=E.value,b.parsePatchSegment_(G);H=$jscomp.makeIterator(g);for(F=H.next();!F.done;F=H.next())D=F.value,f.push.apply(f,$jscomp.arrayFromIterable(b.parsePatchPeriod_(D)));if(!f.length)return J.jumpTo(2);b.manifest_.periodCount+=f.length;b.manifest_.gapCount=b.gapCount_;return J.yield(b.postPeriodProcessing_(f,!0),2)}"static"==b.manifestPatchContext_.type&&
2158
- (I=b.manifestPatchContext_.mediaPresentationDuration,b.manifest_.presentationTimeline.setDuration(I||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)};
2162
+ h.add(A);else n=!1;n||shaka.log.warning("Unhandled "+m.tagName+" operation",m.attributes.sel)}B=$jscomp.makeIterator(h);for(D=B.next();!D.done;D=B.next())G=D.value,b.parsePatchSegment_(G);J=$jscomp.makeIterator(g);for(F=J.next();!F.done;F=J.next())E=F.value,f.push.apply(f,$jscomp.arrayFromIterable(b.parsePatchPeriod_(E)));if(!f.length)return I.jumpTo(2);b.manifest_.periodCount+=f.length;b.manifest_.gapCount=b.gapCount_;return I.yield(b.postPeriodProcessing_(f,!0),2)}"static"==b.manifestPatchContext_.type&&
2163
+ (M=b.manifestPatchContext_.mediaPresentationDuration,b.manifest_.presentationTimeline.setDuration(M||Infinity));I.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)};
2159
2164
  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}};
2160
2165
  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,
2161
2166
  mediaPresentationDuration:this.manifestPatchContext_.mediaPresentationDuration,roles:null,urlParams:function(){return""}},this.manifestPatchContext_.getBaseUris,a,!0).periods};
@@ -2179,29 +2184,29 @@ shaka.dash.DashParser.prototype.parsePeriod_=function(a,b,c){var d=this,e=shaka.
2179
2184
  n,m)}).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,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_DUPLICATE_REPRESENTATION_ID);}c=e.filter(function(m){return!m.trickModeFor});e=e.filter(function(m){return m.trickModeFor});e=$jscomp.makeIterator(e);
2180
2185
  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();!l.done;l=k.next())shaka.util.StreamUtils.setBetterIFrameStream(l.value,f.streams)}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,
2181
2186
  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},[])};
2182
- 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(D){return D.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=
2183
- 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}}m=function(D){switch(D){case 1:case 6:case 13:case 14:case 15:return"SDR";case 16:return"PQ";case 18:return"HLG"}};q=function(D){switch(D){case 1:case 5:case 6:case 7:return"srgb";case 9:return"rec2020";case 11:case 12:return"p3"}};var r=function(D){var I=D.attributes["dvb:fontFamily"];D=D.attributes["dvb:url"];I&&D&&
2184
- (D=shaka.util.ManifestParserUtils.resolveUris(a.adaptationSet.getBaseUris(),[D],a.urlParams()),d.playerInterface_.addFont(I,D[0]))},t=e.findChildren(c,"EssentialProperty");f=null;var u=!1,v=null,x=!1;t=$jscomp.makeIterator(t);for(var y=t.next();!y.done;y=t.next()){y=y.value;var w=y.attributes.schemeIdUri;if("http://dashif.org/guidelines/trickmode"==w)f=y.attributes.value;else if("urn:mpeg:mpegB:cicp:TransferCharacteristics"==w)var z=m(parseInt(y.attributes.value,10));else if("urn:mpeg:mpegB:cicp:ColourPrimaries"==
2187
+ 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(E){return E.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=
2188
+ 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}}m=function(E){switch(E){case 1:case 6:case 13:case 14:case 15:return"SDR";case 16:return"PQ";case 18:return"HLG"}};q=function(E){switch(E){case 1:case 5:case 6:case 7:return"srgb";case 9:return"rec2020";case 11:case 12:return"p3"}};var r=function(E){var M=E.attributes["dvb:fontFamily"];E=E.attributes["dvb:url"];M&&E&&
2189
+ (E=shaka.util.ManifestParserUtils.resolveUris(a.adaptationSet.getBaseUris(),[E],a.urlParams()),d.playerInterface_.addFont(M,E[0]))},t=e.findChildren(c,"EssentialProperty");f=null;var u=!1,v=null,x=!1;t=$jscomp.makeIterator(t);for(var y=t.next();!y.done;y=t.next()){y=y.value;var w=y.attributes.schemeIdUri;if("http://dashif.org/guidelines/trickmode"==w)f=y.attributes.value;else if("urn:mpeg:mpegB:cicp:TransferCharacteristics"==w)var z=m(parseInt(y.attributes.value,10));else if("urn:mpeg:mpegB:cicp:ColourPrimaries"==
2185
2190
  w)var C=q(parseInt(y.attributes.value,10));else"urn:mpeg:mpegB:cicp:MatrixCoefficients"!=w&&("urn:mpeg:dash:ssr:2023"==w&&this.config_.dash.enableFastSwitching?u=!0:"urn:dvb:dash:fontdownload:2014"==w?r(y):"urn:mpeg:dash:urlparam:2014"==w?(v=this.getURLParametersFunction_(y))||(x=!0):x=!0)}if(x)return null;var A=null;x=e.findChildren(c,"SupplementalProperty");x=$jscomp.makeIterator(x);for(t=x.next();!t.done;t=x.next())t=t.value,y=t.attributes.schemeIdUri,"http://dashif.org/guidelines/last-segment-number"==
2186
2191
  y?A=parseInt(t.attributes.value,10)-1:"urn:mpeg:mpegB:cicp:TransferCharacteristics"==y?z=m(parseInt(t.attributes.value,10)):"urn:mpeg:mpegB:cicp:ColourPrimaries"==y?C=q(parseInt(t.attributes.value,10)):"urn:dvb:dash:fontdownload:2014"==y?r(t):"urn:mpeg:dash:urlparam:2014"==y&&(v=this.getURLParametersFunction_(t));v&&(a.urlParams=v);q=e.findChildren(c,"Accessibility");m=shaka.util.LanguageUtils;var B=new Map;q=$jscomp.makeIterator(q);for(r=q.next();!r.done;r=q.next())if(v=r.value,r=v.attributes.schemeIdUri,
2187
2192
  v=v.attributes.value,"urn:scte:dash:cc:cea-608:2015"==r&&!this.config_.disableText)if(r=1,null!=v)for(v=v.split(";"),x=$jscomp.makeIterator(v),t=x.next();!t.done;t=x.next())y=t.value,w=t=void 0,y.includes("=")?(y=y.split("="),t=y[0].startsWith("CC")?y[0]:"CC"+y[0],w=y[1]||"und"):(t="CC"+r,2==v.length?r+=2:r++,w=y),B.set(t,m.normalize(w));else B.set("CC1","und");else if("urn:scte:dash:cc:cea-708:2015"==r&&!this.config_.disableText)if(r=1,null!=v)for(v=$jscomp.makeIterator(v.split(";")),x=v.next();!x.done;x=
2188
- v.next())t=x.value,y=x=void 0,t.includes("=")?(t=t.split("="),x="svc"+t[0],y=t[1].split(",")[0].split(":").pop()):(x="svc"+r,r++,y=t),B.set(x,m.normalize(y));else B.set("svc1","und");else if("urn:mpeg:dash:role:2011"==r)null!=v&&(n.push(v),"captions"==v&&(p=g.TextStreamKind.CLOSED_CAPTION));else if("urn:tva:metadata:cs:AudioPurposeCS:2007"==r)if("1"==v)var E=shaka.media.ManifestParser.AccessibilityPurpose.VISUALLY_IMPAIRED;else"2"==v&&(E=shaka.media.ManifestParser.AccessibilityPurpose.HARD_OF_HEARING);
2189
- g=e.findChildren(c,"ContentProtection");var G=k.parseFromAdaptationSet(g,this.config_.dash.ignoreDrmInfo,this.config_.dash.keySystemsByURI),H=shaka.util.LanguageUtils.normalize(a.adaptationSet.language||"und"),F=a.adaptationSet.label;e=e.findChildren(c,"Representation");c=e.map(function(D){if(D=d.parseRepresentation_(a,G,p,H,F,l,n,B,D,E,A))D.hdr=D.hdr||z,D.colorGamut=D.colorGamut||C,D.fastSwitching=u;return D}).filter(function(D){return!!D});if(0==c.length){f=a.adaptationSet.contentType==h.IMAGE;
2193
+ v.next())t=x.value,y=x=void 0,t.includes("=")?(t=t.split("="),x="svc"+t[0],y=t[1].split(",")[0].split(":").pop()):(x="svc"+r,r++,y=t),B.set(x,m.normalize(y));else B.set("svc1","und");else if("urn:mpeg:dash:role:2011"==r)null!=v&&(n.push(v),"captions"==v&&(p=g.TextStreamKind.CLOSED_CAPTION));else if("urn:tva:metadata:cs:AudioPurposeCS:2007"==r)if("1"==v)var D=shaka.media.ManifestParser.AccessibilityPurpose.VISUALLY_IMPAIRED;else"2"==v&&(D=shaka.media.ManifestParser.AccessibilityPurpose.HARD_OF_HEARING);
2194
+ g=e.findChildren(c,"ContentProtection");var G=k.parseFromAdaptationSet(g,this.config_.dash.ignoreDrmInfo,this.config_.dash.keySystemsByURI),J=shaka.util.LanguageUtils.normalize(a.adaptationSet.language||"und"),F=a.adaptationSet.label;e=e.findChildren(c,"Representation");c=e.map(function(E){if(E=d.parseRepresentation_(a,G,p,J,F,l,n,B,E,D,A))E.hdr=E.hdr||z,E.colorGamut=E.colorGamut||C,E.fastSwitching=u;return E}).filter(function(E){return!!E});if(0==c.length){f=a.adaptationSet.contentType==h.IMAGE;
2190
2195
  if(this.config_.dash.ignoreEmptyAdaptationSet||b||f)return null;throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_EMPTY_ADAPTATION_SET);}if(!a.adaptationSet.contentType||a.adaptationSet.contentType==h.APPLICATION)for(a.adaptationSet.contentType=shaka.dash.DashParser.guessContentType_(c[0].mimeType,c[0].codecs),h=$jscomp.makeIterator(c),b=h.next();!b.done;b=h.next())b.value.type=a.adaptationSet.contentType;h=a.adaptationSet.id||
2191
- "__fake__"+this.globalId_++;b=$jscomp.makeIterator(c);for(k=b.next();!k.done;k=b.next()){k=k.value;g=$jscomp.makeIterator(G.drmInfos);for(m=g.next();!m.done;m=g.next())m=m.value,m.keyIds=m.keyIds&&k.keyIds?new Set([].concat($jscomp.arrayFromIterable(m.keyIds),$jscomp.arrayFromIterable(k.keyIds))):m.keyIds||k.keyIds;this.config_.dash.enableAudioGroups&&(k.groupId=h)}b=e.map(function(D){return D.attributes.id}).filter(shaka.util.Functional.isNotNull);return{id:h,contentType:a.adaptationSet.contentType,
2192
- language:H,main:l,streams:c,drmInfos:G.drmInfos,trickModeFor:f,representationIds:b}};
2196
+ "__fake__"+this.globalId_++;b=$jscomp.makeIterator(c);for(k=b.next();!k.done;k=b.next()){k=k.value;g=$jscomp.makeIterator(G.drmInfos);for(m=g.next();!m.done;m=g.next())m=m.value,m.keyIds=m.keyIds&&k.keyIds?new Set([].concat($jscomp.arrayFromIterable(m.keyIds),$jscomp.arrayFromIterable(k.keyIds))):m.keyIds||k.keyIds;this.config_.dash.enableAudioGroups&&(k.groupId=h)}b=e.map(function(E){return E.attributes.id}).filter(shaka.util.Functional.isNotNull);return{id:h,contentType:a.adaptationSet.contentType,
2197
+ language:J,main:l,streams:c,drmInfos:G.drmInfos,trickModeFor:f,representationIds:b}};
2193
2198
  shaka.dash.DashParser.prototype.getURLParametersFunction_=function(a){var b=this,c=shaka.util.TXml;if((a=c.findChildNS(a,shaka.dash.DashParser.UP_NAMESPACE_,"UrlQueryInfo"))&&c.parseAttr(a,"useMPDUrlQuery",c.parseBoolean,!1)){var d=a.attributes.queryTemplate;if(d)return function(){return"$querypart$"==d?b.lastManifestQueryParams_:d.split("&").map(function(e){if("$querypart$"==e)return b.lastManifestQueryParams_;var f=/\$query:(.*?)\$/g.exec(e);if(f&&2==f.length){f=f[1];var g=(new goog.Uri.QueryData(b.lastManifestQueryParams_)).get(f);
2194
2199
  if(g.length)return f+"="+g[0]}return e}).join("&")}}return null};
2195
2200
  shaka.dash.DashParser.prototype.parseRepresentation_=function(a,b,c,d,e,f,g,h,k,l,m){var n=this,p=shaka.util.TXml,q=shaka.util.ManifestParserUtils.ContentType;a.representation=this.createFrame_(k,a.adaptationSet,null);var r=a.representation.id;this.minTotalAvailabilityTimeOffset_=Math.min(this.minTotalAvailabilityTimeOffset_,a.representation.availabilityTimeOffset);this.isLowLatency_=0<this.minTotalAvailabilityTimeOffset_;if(!this.verifyRepresentation_(a.representation))return shaka.log.warning("Skipping Representation",a.representation),
2196
2201
  null;var t=a.periodInfo.start;a.bandwidth=p.parseAttr(k,"bandwidth",p.parsePositiveInt)||0;a.roles=g;var u=p.findChildren(k,"SupplementalProperty"),v=p.findChildren(k,"EssentialProperty"),x=null,y=v.find(function(L){return"urn:mpeg:dash:urlparam:2014"==L.attributes.schemeIdUri});y?x=this.getURLParametersFunction_(y):(y=u.find(function(L){return"urn:mpeg:dash:urlparam:2014"==L.attributes.schemeIdUri}))&&(x=this.getURLParametersFunction_(y));x&&(a.urlParams=x);y=a.representation.contentType;x=y==q.TEXT||
2197
- y==q.APPLICATION;q=y==q.IMAGE;try{var w=void 0;if(b.aes128Info){var z=a.representation.getBaseUris,C=a.urlParams,A=shaka.util.ManifestParserUtils.resolveUris(z(),[b.aes128Info.keyUri],C()),B=shaka.net.NetworkingEngine.RequestType.KEY,E=shaka.net.NetworkingEngine.makeRequest(A,this.config_.retryParameters);w={bitsKey:128,blockCipherMode:"CBC",iv:b.aes128Info.iv,firstMediaSequenceNumber:0,fetchKey:function(){var L,N,P;return $jscomp.asyncExecutePromiseGeneratorProgram(function(O){if(1==O.nextAddress)return O.yield(n.makeNetworkRequest_(E,
2202
+ y==q.APPLICATION;q=y==q.IMAGE;try{var w=void 0;if(b.aes128Info){var z=a.representation.getBaseUris,C=a.urlParams,A=shaka.util.ManifestParserUtils.resolveUris(z(),[b.aes128Info.keyUri],C()),B=shaka.net.NetworkingEngine.RequestType.KEY,D=shaka.net.NetworkingEngine.makeRequest(A,this.config_.retryParameters);w={bitsKey:128,blockCipherMode:"CBC",iv:b.aes128Info.iv,firstMediaSequenceNumber:0,fetchKey:function(){var L,N,P;return $jscomp.asyncExecutePromiseGeneratorProgram(function(O){if(1==O.nextAddress)return O.yield(n.makeNetworkRequest_(D,
2198
2203
  B),2);if(3!=O.nextAddress){L=O.yieldResult;if(!L.data||16!=L.data.byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.AES_128_INVALID_KEY_LENGTH);N={name:"AES-CBC"};P=w;return O.yield(window.crypto.subtle.importKey("raw",L.data,N,!0,["decrypt"]),3)}P.cryptoKey=O.yieldResult;w.fetchKey=void 0;O.jumpToEnd()})}}}a.representation.aesKey=w;z=function(L,N,P,O){return n.requestSegment_(L,N,P,O)};if(a.representation.segmentBase)var G=
2199
- shaka.dash.SegmentBase.createStreamInfo(a,z,w);else if(a.representation.segmentList)G=shaka.dash.SegmentList.createStreamInfo(a,this.streamMap_,w);else if(a.representation.segmentTemplate)G=shaka.dash.SegmentTemplate.createStreamInfo(a,z,this.streamMap_,!!this.manifest_,this.config_.dash.initialSegmentLimit,this.periodDurations_,w,m,!1);else{goog.asserts.assert(x,"Must have Segment* with non-text streams.");var H=a.periodInfo.duration||0,F=a.representation.getBaseUris,D=a.representation.mimeType,
2200
- I=a.representation.codecs;G={generateSegmentIndex:function(){var L=shaka.media.SegmentIndex.forSingleSegment(t,H,F());L.forEachTopLevelReference(function(N){N.mimeType=D;N.codecs=I});return Promise.resolve(L)}}}}catch(L){if((x||q)&&L.code==shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)return null;throw L;}k=p.findChildren(k,"ContentProtection");k=shaka.dash.ContentProtection.parseFromRepresentation(k,b,this.config_.dash.ignoreDrmInfo,this.config_.dash.keySystemsByURI);k=new Set(k?[k]:[]);m=!1;u.some(function(L){return"tag:dolby.com,2018:dash:EC3_ExtensionType:2018"==
2201
- L.attributes.schemeIdUri&&"JOC"==L.attributes.value})&&(m=!0);u=!1;x&&(u=g.includes("forced_subtitle")||g.includes("forced-subtitle"));var J;if(q&&((v=v.find(function(L){return["http://dashif.org/thumbnail_tile","http://dashif.org/guidelines/thumbnail_tile"].includes(L.attributes.schemeIdUri)}))&&(J=v.attributes.value),!J))return null;var M;x=a.representation.codecs;a.profiles.includes("http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10")&&(x.includes("hvc1.2.4.L153.B0")||x.includes("hev1.2.4.L153.B0"))&&
2202
- (M="PQ");v=a.representation.id?a.period.id+","+a.representation.id:"";this.patchLocationNodes_.length&&r&&this.contextCache_.set(a.period.id+","+r,this.cloneContext_(a));var K=v&&this.streamMap_[v]?this.streamMap_[v]:{id:this.globalId_++,originalId:a.representation.id,groupId:null,createSegmentIndex:function(){return Promise.resolve()},closeSegmentIndex:function(){K.segmentIndex&&(K.segmentIndex.release(),K.segmentIndex=null)},segmentIndex:null,mimeType:a.representation.mimeType,codecs:x,frameRate:a.representation.frameRate,
2204
+ shaka.dash.SegmentBase.createStreamInfo(a,z,w);else if(a.representation.segmentList)G=shaka.dash.SegmentList.createStreamInfo(a,this.streamMap_,w);else if(a.representation.segmentTemplate)G=shaka.dash.SegmentTemplate.createStreamInfo(a,z,this.streamMap_,!!this.manifest_,this.config_.dash.initialSegmentLimit,this.periodDurations_,w,m,!1);else{goog.asserts.assert(x,"Must have Segment* with non-text streams.");var J=a.periodInfo.duration||0,F=a.representation.getBaseUris,E=a.representation.mimeType,
2205
+ M=a.representation.codecs;G={generateSegmentIndex:function(){var L=shaka.media.SegmentIndex.forSingleSegment(t,J,F());L.forEachTopLevelReference(function(N){N.mimeType=E;N.codecs=M});return Promise.resolve(L)}}}}catch(L){if((x||q)&&L.code==shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)return null;throw L;}k=p.findChildren(k,"ContentProtection");k=shaka.dash.ContentProtection.parseFromRepresentation(k,b,this.config_.dash.ignoreDrmInfo,this.config_.dash.keySystemsByURI);k=new Set(k?[k]:[]);m=!1;u.some(function(L){return"tag:dolby.com,2018:dash:EC3_ExtensionType:2018"==
2206
+ L.attributes.schemeIdUri&&"JOC"==L.attributes.value})&&(m=!0);u=!1;x&&(u=g.includes("forced_subtitle")||g.includes("forced-subtitle"));var I;if(q&&((v=v.find(function(L){return["http://dashif.org/thumbnail_tile","http://dashif.org/guidelines/thumbnail_tile"].includes(L.attributes.schemeIdUri)}))&&(I=v.attributes.value),!I))return null;var H;x=a.representation.codecs;a.profiles.includes("http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10")&&(x.includes("hvc1.2.4.L153.B0")||x.includes("hev1.2.4.L153.B0"))&&
2207
+ (H="PQ");v=a.representation.id?a.period.id+","+a.representation.id:"";this.patchLocationNodes_.length&&r&&this.contextCache_.set(a.period.id+","+r,this.cloneContext_(a));var K=v&&this.streamMap_[v]?this.streamMap_[v]:{id:this.globalId_++,originalId:a.representation.id,groupId:null,createSegmentIndex:function(){return Promise.resolve()},closeSegmentIndex:function(){K.segmentIndex&&(K.segmentIndex.release(),K.segmentIndex=null)},segmentIndex:null,mimeType:a.representation.mimeType,codecs:x,frameRate:a.representation.frameRate,
2203
2208
  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,keyIds:k,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:m,
2204
- closedCaptions:h,hdr:M,colorGamut:void 0,videoLayout:void 0,tilesLayout:J,accessibilityPurpose:l,external:!1,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(a.representation.mimeType,a.representation.codecs)])};K.createSegmentIndex=function(){var L;return $jscomp.asyncExecutePromiseGeneratorProgram(function(N){if(1==N.nextAddress){if(K.segmentIndex)return N.jumpTo(0);L=K;return N.yield(G.generateSegmentIndex(),3)}L.segmentIndex=N.yieldResult;N.jumpToEnd()})};v&&a.dynamic&&
2209
+ closedCaptions:h,hdr:H,colorGamut:void 0,videoLayout:void 0,tilesLayout:I,accessibilityPurpose:l,external:!1,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(a.representation.mimeType,a.representation.codecs)])};K.createSegmentIndex=function(){var L;return $jscomp.asyncExecutePromiseGeneratorProgram(function(N){if(1==N.nextAddress){if(K.segmentIndex)return N.jumpTo(0);L=K;return N.yield(G.generateSegmentIndex(),3)}L.segmentIndex=N.yieldResult;N.jumpToEnd()})};v&&a.dynamic&&
2205
2210
  !this.streamMap_[v]&&(a=a.period.id||"",this.indexStreamMap_[a]||(this.indexStreamMap_[a]=[]),this.streamMap_[v]=K,this.indexStreamMap_[a].push(v));return K};
2206
2211
  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};
2207
2212
  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"),
@@ -2258,11 +2263,11 @@ this.aesKeyInfoMap_.clear();this.aesKeyMap_.clear();this.identityKeyMap_.clear()
2258
2263
  shaka.hls.HlsParser.prototype.update=function(){var a=this,b,c,d,e,f,g,h,k,l,m,n,p;return $jscomp.asyncExecutePromiseGeneratorProgram(function(q){if(1==q.nextAddress){if(!a.isLive_())return q.return();b=[];c=Array.from(a.uriToStreamInfosMap_.values());a.lastTargetDuration_=Infinity;a.manifest_.gapCount=0;d=c.filter(function(r){return r.stream.segmentIndex});e=$jscomp.makeIterator(d);for(f=e.next();!f.done;f=e.next())g=f.value,b.push(a.updateStream_(g));return q.yield(Promise.all(b),2)}a.notifySegmentsForStreams_(d.map(function(r){return r.stream}));
2259
2264
  h=d.some(function(r){return 0==r.hasEndList});d.length&&!h&&(k=shaka.hls.HlsParser.PresentationType_,a.setPresentationType_(k.VOD),l=d.map(function(r){return r.maxTimestamp}),a.presentationTimeline_.setDuration(Math.min.apply(Math,$jscomp.arrayFromIterable(l))),a.playerInterface_.updateDuration());h&&a.determineDuration_();m=$jscomp.makeIterator(d);for(n=m.next();!n.done;n=m.next())p=n.value,p.stream.segmentIndex&&!p.stream.segmentIndex.earliestReference()&&a.playerInterface_.disableStream(p.stream);
2260
2265
  q.jumpToEnd()})};shaka.hls.HlsParser.prototype.getMediaSequenceToStartTimeFor_=function(a){return this.isLive_()?this.mediaSequenceToStartTimeByType_.get(a.type):a.mediaSequenceToStartTime};
2261
- shaka.hls.HlsParser.prototype.updateStream_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D,I,J,M,K,L,N,P;return $jscomp.asyncExecutePromiseGeneratorProgram(function(O){switch(O.nextAddress){case 1:c=[];d=$jscomp.makeIterator(a.getUris());for(e=d.next();!e.done;e=d.next())f=e.value,g=new goog.Uri(f),h=g.getQueryData(),a.canBlockReload&&(0<=a.nextMediaSequence&&h.add("_HLS_msn",String(a.nextMediaSequence)),0<=a.nextPart&&h.add("_HLS_part",String(a.nextPart))),a.canSkipSegments&&
2266
+ shaka.hls.HlsParser.prototype.updateStream_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M,I,H,K,L,N,P;return $jscomp.asyncExecutePromiseGeneratorProgram(function(O){switch(O.nextAddress){case 1:c=[];d=$jscomp.makeIterator(a.getUris());for(e=d.next();!e.done;e=d.next())f=e.value,g=new goog.Uri(f),h=g.getQueryData(),a.canBlockReload&&(0<=a.nextMediaSequence&&h.add("_HLS_msn",String(a.nextMediaSequence)),0<=a.nextPart&&h.add("_HLS_part",String(a.nextPart))),a.canSkipSegments&&
2262
2267
  h.add("_HLS_skip","YES"),h.getCount()&&g.setQueryData(h),c.push(g.toString());O.setCatchFinallyBlocks(2);return O.yield(b.requestManifest_(c,!0).promise,4);case 4:k=O.yieldResult;O.leaveTryBlock(3);break;case 2:throw l=O.enterCatchBlock(),b.playerInterface_&&b.playerInterface_.disableStream(a.stream),l;case 3:if(!a.stream.segmentIndex)return O.return();m=b.manifestTextParser_.parsePlaylist(k.data);if(m.type!=shaka.hls.PlaylistType.MEDIA)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2263
2268
  shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_INVALID_PLAYLIST_HIERARCHY);n=k.uri;n==k.originalUri||a.getUris().includes(n)||a.redirectUris.push(n);p=shaka.hls.Utils.filterTagsByName(m.tags,"EXT-X-DEFINE");q=b.parseMediaVariables_(p,n);r=a.stream;t=b.getMediaSequenceToStartTimeFor_(a);return O.yield(b.parseDrmInfo_(m,r.mimeType,a.getUris,q),5);case 5:u=O.yieldResult;v=u.keyIds;x=u.drmInfos;y=function(T,R){return T.size===R.size&&[].concat($jscomp.arrayFromIterable(T)).every(function(S){return R.has(S)})};
2264
- y(r.keyIds,v)||(r.keyIds=v,r.drmInfos=x,b.playerInterface_.newDrmInfo(r));w=b.createSegments_(m,t,q,a.getUris,a.type);z=w.segments;if(C=w.bandwidth)r.bandwidth=C;A=shaka.media.QualityObserver.createQualityInfo(r);B=$jscomp.makeIterator(z);for(E=B.next();!E.done;E=B.next())G=E.value,G.initSegmentReference&&(G.initSegmentReference.mediaQuality=A);r.segmentIndex.mergeAndEvict(z,b.presentationTimeline_.getSegmentAvailabilityStart());z.length&&(H=shaka.hls.Utils.getFirstTagWithNameAsNumber(m.tags,"EXT-X-MEDIA-SEQUENCE",
2265
- 0),D=(F=shaka.hls.Utils.getFirstTagWithName(m.tags,"EXT-X-SKIP"))?Number(F.getAttributeValue("SKIPPED-SEGMENTS")):0,I=b.getNextMediaSequenceAndPart_(H,z),J=I.nextMediaSequence,M=I.nextPart,a.nextMediaSequence=J+D,a.nextPart=M,K=t.get(H),r.segmentIndex.evict(K));if(L=r.segmentIndex.earliestReference())a.minTimestamp=L.startTime,N=z[z.length-1],goog.asserts.assert(N,"Should have segments!"),a.maxTimestamp=N.endTime;if(P=shaka.hls.Utils.getFirstTagWithName(m.tags,"EXT-X-ENDLIST"))a.hasEndList=!0;b.determineLastTargetDuration_(m);
2269
+ y(r.keyIds,v)||(r.keyIds=v,r.drmInfos=x,b.playerInterface_.newDrmInfo(r));w=b.createSegments_(m,t,q,a.getUris,a.type);z=w.segments;if(C=w.bandwidth)r.bandwidth=C;A=shaka.media.QualityObserver.createQualityInfo(r);B=$jscomp.makeIterator(z);for(D=B.next();!D.done;D=B.next())G=D.value,G.initSegmentReference&&(G.initSegmentReference.mediaQuality=A);r.segmentIndex.mergeAndEvict(z,b.presentationTimeline_.getSegmentAvailabilityStart());z.length&&(J=shaka.hls.Utils.getFirstTagWithNameAsNumber(m.tags,"EXT-X-MEDIA-SEQUENCE",
2270
+ 0),E=(F=shaka.hls.Utils.getFirstTagWithName(m.tags,"EXT-X-SKIP"))?Number(F.getAttributeValue("SKIPPED-SEGMENTS")):0,M=b.getNextMediaSequenceAndPart_(J,z),I=M.nextMediaSequence,H=M.nextPart,a.nextMediaSequence=I+E,a.nextPart=H,K=t.get(J),r.segmentIndex.evict(K));if(L=r.segmentIndex.earliestReference())a.minTimestamp=L.startTime,N=z[z.length-1],goog.asserts.assert(N,"Should have segments!"),a.maxTimestamp=N.endTime;if(P=shaka.hls.Utils.getFirstTagWithName(m.tags,"EXT-X-ENDLIST"))a.hasEndList=!0;b.determineLastTargetDuration_(m);
2266
2271
  b.processDateRangeTags_(m.tags,r.type,q,a.getUris);O.jumpToEnd()}})};shaka.hls.HlsParser.prototype.onExpirationUpdated=function(a,b){};shaka.hls.HlsParser.prototype.onInitialVariantChosen=function(a){};shaka.hls.HlsParser.prototype.banLocation=function(a){this.contentSteeringManager_&&this.contentSteeringManager_.banLocation(a)};shaka.hls.HlsParser.prototype.setMediaElement=function(a){this.mediaElement_=a};
2267
2272
  shaka.hls.HlsParser.prototype.syncStreamsWithSequenceNumber_=function(a,b){b=void 0===b?!1:b;for(var c=-1==this.minSequenceNumber_,d=$jscomp.makeIterator(a),e=d.next();!e.done;e=d.next()){e=e.value;var f=e.stream.segmentIndex;goog.asserts.assert(f,"Only loaded streams should be synced");var g=this.getMediaSequenceToStartTimeFor_(e);if(f=f.earliestReference()){goog.DEBUG&&g.values().next().value!=f.startTime&&shaka.log.warning("Sequence number map is not ordered as expected!");g=$jscomp.makeIterator(g);
2268
2273
  for(var h=g.next();!h.done;h=g.next()){h=$jscomp.makeIterator(h.value);var k=h.next().value;if(h.next().value==f.startTime){c&&(this.minSequenceNumber_=Math.max(this.minSequenceNumber_,k));e.firstSequenceNumber=k;break}}}}if(!(0>this.minSequenceNumber_))for(shaka.log.debug("Syncing HLS streams against base sequence number:",this.minSequenceNumber_),a=$jscomp.makeIterator(a),c=a.next();!c.done;c=a.next())if(c=c.value,this.ignoreManifestProgramDateTimeFor_(c.type)||b)if(d=c.stream.segmentIndex)if(e=
@@ -2270,18 +2275,18 @@ this.minSequenceNumber_-c.firstSequenceNumber,0<e&&(d.dropFirstReferences(e),d=d
2270
2275
  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());
2271
2276
  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)}}}};
2272
2277
  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())};
2273
- shaka.hls.HlsParser.prototype.parseManifest_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D,I,J,M,K,L,N,P;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==
2278
+ shaka.hls.HlsParser.prototype.parseManifest_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M,I,H,K,L,N,P;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==
2274
2279
  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,z=shaka.hls.Utils.filterTagsByName(f.tags,"EXT-X-DEFINE"),p=c.parseMediaVariables_(z,c.masterPlaylistUri_),n=e.VIDEO,C="",A=new Map,O.yield(c.convertParsedPlaylistIntoStreamInfo_(c.globalId_++,p,f,m,b,"",n,C,
2275
2280
  !0,"Media Playlist",null,A,null,!1,null,!1),7);c.parseMasterVariables_(g);q=d.filterTagsByName(f.tags,"EXT-X-MEDIA");r=d.filterTagsByName(f.tags,"EXT-X-STREAM-INF");t=d.filterTagsByName(f.tags,"EXT-X-IMAGE-STREAM-INF");u=d.filterTagsByName(f.tags,"EXT-X-I-FRAME-STREAM-INF");v=d.filterTagsByName(f.tags,"EXT-X-SESSION-KEY");x=d.filterTagsByName(f.tags,"EXT-X-SESSION-DATA");y=d.filterTagsByName(f.tags,"EXT-X-CONTENT-STEERING");c.processSessionData_(x);return O.yield(c.processContentSteering_(y),4);case 4:return c.parseCodecs_(r),
2276
- c.parseClosedCaptions_(q),w=c.parseIFrames_(u),O.yield(c.createVariantsForTags_(r,v,q,m,c.globalVariables_,w),5);case 5:return h=O.yieldResult,k=c.parseTexts_(q),O.yield(c.parseImages_(t,u),6);case 6:l=O.yieldResult;O.jumpTo(3);break;case 7:B=O.yieldResult,c.uriToStreamInfosMap_.set(b,B),B.stream&&(E=shaka.media.QualityObserver.createQualityInfo(B.stream),B.stream.segmentIndex.forEachTopLevelReference(function(T){T.initSegmentReference&&(T.initSegmentReference.mediaQuality=E)})),n=B.stream.type,h.push({id:0,
2281
+ c.parseClosedCaptions_(q),w=c.parseIFrames_(u),O.yield(c.createVariantsForTags_(r,v,q,m,c.globalVariables_,w),5);case 5:return h=O.yieldResult,k=c.parseTexts_(q),O.yield(c.parseImages_(t,u),6);case 6:l=O.yieldResult;O.jumpTo(3);break;case 7:B=O.yieldResult,c.uriToStreamInfosMap_.set(b,B),B.stream&&(D=shaka.media.QualityObserver.createQualityInfo(B.stream),B.stream.segmentIndex.forEachTopLevelReference(function(T){T.initSegmentReference&&(T.initSegmentReference.mediaQuality=D)})),n=B.stream.type,h.push({id:0,
2277
2282
  language:c.getLanguage_(C),disabledUntilTime:0,primary:!0,audio:"audio"==n?B.stream:null,video:"video"==n?B.stream:null,bandwidth:B.stream.bandwidth||0,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]});case 3:if(!c.playerInterface_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OPERATION_ABORTED);c.determineStartTime_(f);f.type==shaka.hls.PlaylistType.MEDIA&&(c.isLive_()&&(c.changePresentationTimelineToLive_(f),G=
2278
- c.getUpdatePlaylistDelay_(),c.updatePlaylistTimer_.tickAfter(G)),H=Array.from(c.uriToStreamInfosMap_.values()),c.finalizeStreams_(H),c.determineDuration_(),goog.asserts.assert(n,"mediaPlaylistType should be non-null"),c.processDateRangeTags_(f.tags,n,p,m));c.manifest_={presentationTimeline:c.presentationTimeline_,variants:h,textStreams:k,imageStreams:l,offlineSessionIds:[],minBufferTime:0,sequenceMode:c.config_.hls.sequenceMode,ignoreManifestTimestampsInSegmentsMode:c.config_.hls.ignoreManifestTimestampsInSegmentsMode,
2279
- type:shaka.media.ManifestParser.HLS,serviceDescription:null,nextUrl:null,periodCount:1,gapCount:0,isLowLatency:!1,startTime:c.startTime_};if(c.codecInfoInManifest_||!c.config_.hls.disableCodecGuessing){O.jumpTo(8);break}F=[];D=$jscomp.makeIterator(c.manifest_.variants);for(I=D.next();!I.done;I=D.next())J=I.value,J.audio&&""===J.audio.codecs&&F.push(J.audio.createSegmentIndex()),J.video&&""===J.video.codecs&&F.push(J.video.createSegmentIndex());return O.yield(Promise.all(F),8);case 8:c.playerInterface_.makeTextStreamsForClosedCaptions(c.manifest_);
2280
- if(1==h.length){M=[];K=h[0];L=$jscomp.makeIterator([K.video,K.audio]);for(N=L.next();!N.done;N=L.next())(P=N.value)&&!P.segmentIndex&&M.push(P.createSegmentIndex());if(0<M.length)return O.yield(Promise.all(M),0)}O.jumpTo(0)}})};
2281
- shaka.hls.HlsParser.prototype.getBasicInfoFromSegments_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){switch(F.nextAddress){case 1:c=shaka.hls.HlsParser;d=shaka.media.SegmentUtils.getBasicInfoFromMimeType(b.config_.hls.mediaPlaylistFullMimeType);if(!a.length)return F.return(d);e=b.getAvailableSegment_(a);f=e.segment;g=e.segmentIndex;h=f.getUris();k=h[0];l=new goog.Uri(k);m=l.getPath().split(".").pop();if(n=
2283
+ c.getUpdatePlaylistDelay_(),c.updatePlaylistTimer_.tickAfter(G)),J=Array.from(c.uriToStreamInfosMap_.values()),c.finalizeStreams_(J),c.determineDuration_(),goog.asserts.assert(n,"mediaPlaylistType should be non-null"),c.processDateRangeTags_(f.tags,n,p,m));c.manifest_={presentationTimeline:c.presentationTimeline_,variants:h,textStreams:k,imageStreams:l,offlineSessionIds:[],minBufferTime:0,sequenceMode:c.config_.hls.sequenceMode,ignoreManifestTimestampsInSegmentsMode:c.config_.hls.ignoreManifestTimestampsInSegmentsMode,
2284
+ type:shaka.media.ManifestParser.HLS,serviceDescription:null,nextUrl:null,periodCount:1,gapCount:0,isLowLatency:!1,startTime:c.startTime_};if(c.codecInfoInManifest_||!c.config_.hls.disableCodecGuessing){O.jumpTo(8);break}F=[];E=$jscomp.makeIterator(c.manifest_.variants);for(M=E.next();!M.done;M=E.next())I=M.value,I.audio&&""===I.audio.codecs&&F.push(I.audio.createSegmentIndex()),I.video&&""===I.video.codecs&&F.push(I.video.createSegmentIndex());return O.yield(Promise.all(F),8);case 8:c.playerInterface_.makeTextStreamsForClosedCaptions(c.manifest_);
2285
+ if(1==h.length){H=[];K=h[0];L=$jscomp.makeIterator([K.video,K.audio]);for(N=L.next();!N.done;N=L.next())(P=N.value)&&!P.segmentIndex&&H.push(P.createSegmentIndex());if(0<H.length)return O.yield(Promise.all(H),0)}O.jumpTo(0)}})};
2286
+ shaka.hls.HlsParser.prototype.getBasicInfoFromSegments_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){switch(F.nextAddress){case 1:c=shaka.hls.HlsParser;d=shaka.media.SegmentUtils.getBasicInfoFromMimeType(b.config_.hls.mediaPlaylistFullMimeType);if(!a.length)return F.return(d);e=b.getAvailableSegment_(a);f=e.segment;g=e.segmentIndex;h=f.getUris();k=h[0];l=new goog.Uri(k);m=l.getPath().split(".").pop();if(n=
2282
2287
  c.RAW_FORMATS_TO_MIME_TYPES_[m])return F.return(shaka.media.SegmentUtils.getBasicInfoFromMimeType(n));p=shaka.net.NetworkingEngine.RequestType.SEGMENT;r=q=null;t=f.initSegmentReference;if(!t){F.jumpTo(2);break}u=shaka.util.Networking.createSegmentRequest(t.getUris(),t.getStartByte(),t.getEndByte(),b.config_.retryParameters);v=shaka.net.NetworkingEngine.AdvancedRequestType.INIT_SEGMENT;return F.yield(b.makeNetworkRequest_(u,p,{type:v}).promise,3);case 3:x=F.yieldResult;q=x.data;if(!t.aesKey){F.jumpTo(4);
2283
2288
  break}return F.yield(shaka.media.SegmentUtils.aesDecrypt(q,t.aesKey,0),5);case 5:q=F.yieldResult;case 4:(r=x.headers["content-type"])&&(r=r.split(";")[0].toLowerCase());case 2:return y=shaka.util.Networking.createSegmentRequest(f.getUris(),f.getStartByte(),f.getEndByte(),b.config_.retryParameters),w=shaka.net.NetworkingEngine.AdvancedRequestType.MEDIA_SEGMENT,F.yield(b.makeNetworkRequest_(y,p,{type:w}).promise,6);case 6:z=F.yieldResult;C=z.data;if(!f.aesKey){F.jumpTo(7);break}return F.yield(shaka.media.SegmentUtils.aesDecrypt(C,
2284
- f.aesKey,g),8);case 8:C=F.yieldResult;case 7:(A=z.headers["content-type"])&&(A=A.split(";")[0].toLowerCase());B="mp4 mp4a m4s m4i m4a m4f cmfa mp4v m4v cmfv fmp4".split(" ");E=["audio/mp4","video/mp4","video/iso.segment"];if(shaka.util.TsParser.probe(shaka.util.BufferUtils.toUint8(C))){if(G=shaka.media.SegmentUtils.getBasicInfoFromTs(C))return F.return(G)}else if(B.includes(m)||E.includes(A)||r&&E.includes(r))if(H=shaka.media.SegmentUtils.getBasicInfoFromMp4(q,C))return F.return(H);return A?F.return(shaka.media.SegmentUtils.getBasicInfoFromMimeType(A)):
2289
+ f.aesKey,g),8);case 8:C=F.yieldResult;case 7:(A=z.headers["content-type"])&&(A=A.split(";")[0].toLowerCase());B="mp4 mp4a m4s m4i m4a m4f cmfa mp4v m4v cmfv fmp4".split(" ");D=["audio/mp4","video/mp4","video/iso.segment"];if(shaka.util.TsParser.probe(shaka.util.BufferUtils.toUint8(C))){if(G=shaka.media.SegmentUtils.getBasicInfoFromTs(C))return F.return(G)}else if(B.includes(m)||D.includes(A)||r&&D.includes(r))if(J=shaka.media.SegmentUtils.getBasicInfoFromMp4(q,C))return F.return(J);return A?F.return(shaka.media.SegmentUtils.getBasicInfoFromMimeType(A)):
2285
2290
  r?F.return(shaka.media.SegmentUtils.getBasicInfoFromMimeType(r)):F.return(d)}})};
2286
2291
  shaka.hls.HlsParser.prototype.determineDuration_=function(){goog.asserts.assert(this.presentationTimeline_,"Presentation timeline not created!");if(this.isLive_()){if(this.presentationType_==shaka.hls.HlsParser.PresentationType_.LIVE){var a=this.getLiveDuration_()||0;isNaN(this.config_.availabilityWindowOverride)||(a=this.config_.availabilityWindowOverride);this.presentationTimeline_.setSegmentAvailabilityDuration(a)}}else this.presentationTimeline_.setDuration(this.getMinDuration_());if(!this.presentationTimeline_.isStartTimeLocked()){a=
2287
2292
  $jscomp.makeIterator(this.uriToStreamInfosMap_.values());for(var b=a.next();!b.done;b=a.next())b=b.value,!b.stream.segmentIndex||"audio"!=b.type&&"video"!=b.type||(b=b.stream.segmentIndex.earliestReference())&&b.syncTime&&this.presentationTimeline_.setInitialProgramDateTime(b.syncTime)}this.presentationTimeline_.lockStartTime();goog.asserts.assert(!this.presentationTimeline_.usingPresentationStartTime(),"We should not be using the presentation start time in HLS!")};
@@ -2299,11 +2304,11 @@ shaka.hls.HlsParser.prototype.parseImages_=function(a,b){var c=this,d,e;return $
2299
2304
  throw l;})}).concat(b.map(function(g){if(c.config_.disableThumbnails)return null;try{var h=c.createStreamInfoFromIframeTag_(g);return h.stream.type!==shaka.util.ManifestParserUtils.ContentType.IMAGE?null:h.stream}catch(k){if(c.config_.hls.ignoreImageStreamFailures)return null;throw k;}})),f.yield(Promise.all(d),2);e=f.yieldResult;return f.return(e.filter(function(g){return g}))})};
2300
2305
  shaka.hls.HlsParser.prototype.createStreamInfosFromMediaTags_=function(a,b){a=a.filter(function(g){var h=g.getAttributeValue("URI")||"";return"SUBTITLES"!=g.getAttributeValue("TYPE")&&""!=h});var c={};a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next()){d=d.value;var e=d.getTagKey(!this.contentSteeringManager_);c[e]?c[e].push(d):c[e]=[d]}for(var f in c)this.createStreamInfoFromMediaTags_(c[f],b)};
2301
2306
  shaka.hls.HlsParser.prototype.parseIFrames_=function(a){var b=this;return a.map(function(c){c=b.createStreamInfoFromIframeTag_(c);return c.stream.type!==shaka.util.ManifestParserUtils.ContentType.VIDEO?null:c.stream}).filter(function(c){return c})};
2302
- shaka.hls.HlsParser.prototype.createVariantsForTags_=function(a,b,c,d,e,f){var g=this,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D,I,J,M,K,L,N,P,O,T,R,S,V,U;return $jscomp.asyncExecutePromiseGeneratorProgram(function(Q){switch(Q.nextAddress){case 1:h=[];k=new Set;if(!(0<b.length)){Q.jumpTo(2);break}l=$jscomp.makeIterator(b);m=l.next();case 3:if(m.done){Q.jumpTo(2);break}n=m.value;p=n.getRequiredAttrValue("METHOD");q=n.getAttributeValue("KEYFORMAT")||"identity";r=null;if("NONE"==p){Q.jumpTo(4);break}if(g.isAesMethod_(p)){t=
2307
+ shaka.hls.HlsParser.prototype.createVariantsForTags_=function(a,b,c,d,e,f){var g=this,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M,I,H,K,L,N,P,O,T,R,S,V,U;return $jscomp.asyncExecutePromiseGeneratorProgram(function(Q){switch(Q.nextAddress){case 1:h=[];k=new Set;if(!(0<b.length)){Q.jumpTo(2);break}l=$jscomp.makeIterator(b);m=l.next();case 3:if(m.done){Q.jumpTo(2);break}n=m.value;p=n.getRequiredAttrValue("METHOD");q=n.getAttributeValue("KEYFORMAT")||"identity";r=null;if("NONE"==p){Q.jumpTo(4);break}if(g.isAesMethod_(p)){t=
2303
2308
  shaka.hls.Utils.constructSegmentUris(d(),n.getRequiredAttrValue("URI"),e);u=t.sort().join("");g.aesKeyMap_.has(u)||(v=shaka.net.NetworkingEngine.RequestType.KEY,x=shaka.net.NetworkingEngine.makeRequest(t,g.config_.retryParameters),y=g.makeNetworkRequest_(x,v).promise,g.aesKeyMap_.set(u,y));Q.jumpTo(4);break}if("identity"!=q){r=(w=shaka.hls.HlsParser.KEYFORMATS_TO_DRM_PARSERS_[q])?w(n,""):null;Q.jumpTo(6);break}return Q.yield(g.identityDrmParser_(n,"",d,null,e),9);case 9:r=Q.yieldResult;case 6:if(r){if(r.keyIds)for(z=
2304
- $jscomp.makeIterator(r.keyIds),C=z.next();!C.done;C=z.next())A=C.value,k.add(A);h.push(r)}else shaka.log.warning("Unsupported HLS KEYFORMAT",q);case 4:m=l.next();Q.jumpTo(3);break;case 2:B={};E=$jscomp.makeIterator(a);for(G=E.next();!G.done;G=E.next())H=G.value,F=H.getTagKey(!g.contentSteeringManager_),B[F]?B[F].push(H):B[F]=[H];D=[];for(I in B)J=B[I],M=J[0],K=M.getAttributeValue("FRAME-RATE"),L=Number(M.getAttributeValue("AVERAGE-BANDWIDTH"))||Number(M.getRequiredAttrValue("BANDWIDTH")),N=M.getAttributeValue("RESOLUTION"),
2305
- P=$jscomp.makeIterator(N?N.split("x"):[null,null]),O=P.next().value,T=P.next().value,R=M.getAttributeValue("VIDEO-RANGE"),(S=M.getAttributeValue("REQ-VIDEO-LAYOUT"))&&S.includes(",")&&(V=S.split(",").filter(function(W){return"CH-STEREO"==W||"CH-MONO"==W}),S=V[0]),S=S||"CH-MONO",U=g.createStreamInfosForVariantTags_(J,c,N,K),goog.asserts.assert(U.audio.length||U.video.length,"We should have created a stream!"),D.push.apply(D,$jscomp.arrayFromIterable(g.createVariants_(U.audio,U.video,L,O,T,K,R,S,h,
2306
- k,f)));return Q.return(D.filter(function(W){return null!=W}))}})};
2309
+ $jscomp.makeIterator(r.keyIds),C=z.next();!C.done;C=z.next())A=C.value,k.add(A);h.push(r)}else shaka.log.warning("Unsupported HLS KEYFORMAT",q);case 4:m=l.next();Q.jumpTo(3);break;case 2:B={};D=$jscomp.makeIterator(a);for(G=D.next();!G.done;G=D.next())J=G.value,F=J.getTagKey(!g.contentSteeringManager_),B[F]?B[F].push(J):B[F]=[J];E=[];for(M in B)I=B[M],H=I[0],K=H.getAttributeValue("FRAME-RATE"),L=Number(H.getAttributeValue("AVERAGE-BANDWIDTH"))||Number(H.getRequiredAttrValue("BANDWIDTH")),N=H.getAttributeValue("RESOLUTION"),
2310
+ P=$jscomp.makeIterator(N?N.split("x"):[null,null]),O=P.next().value,T=P.next().value,R=H.getAttributeValue("VIDEO-RANGE"),(S=H.getAttributeValue("REQ-VIDEO-LAYOUT"))&&S.includes(",")&&(V=S.split(",").filter(function(W){return"CH-STEREO"==W||"CH-MONO"==W}),S=V[0]),S=S||"CH-MONO",U=g.createStreamInfosForVariantTags_(I,c,N,K),goog.asserts.assert(U.audio.length||U.video.length,"We should have created a stream!"),E.push.apply(E,$jscomp.arrayFromIterable(g.createVariants_(U.audio,U.video,L,O,T,K,R,S,h,
2311
+ k,f)));return Q.return(E.filter(function(W){return null!=W}))}})};
2307
2312
  shaka.hls.HlsParser.prototype.createStreamInfosForVariantTags_=function(a,b,c,d){d=shaka.util.ManifestParserUtils.ContentType;c={audio:[],video:[]};for(var e=new Map,f=[],g=!1,h=!1,k=$jscomp.makeIterator(a),l=k.next();!l.done;l=k.next()){l=l.value;var m=l.getAttributeValue("AUDIO"),n=l.getAttributeValue("VIDEO");goog.asserts.assert(null==m||null==n,"Unexpected: both video and audio described by media tags!");var p=m||n;if(p){f.includes(p)||f.push(p);var q=l.getAttributeValue("PATHWAY-ID");q&&e.set(p,
2308
2313
  q);m?g=!0:n&&(h=!0);shaka.log.debug("Guessing stream type for",l.toString())}}f.length&&b.length&&(k=b.filter(function(t){return f.includes(t.getRequiredAttrValue("GROUP-ID"))}),this.createStreamInfosFromMediaTags_(k,e));k=(e=f.sort().join(","))&&this.groupIdToStreamInfosMap_.has(e)?this.groupIdToStreamInfosMap_.get(e):[];g?c.audio.push.apply(c.audio,$jscomp.arrayFromIterable(k)):h&&c.video.push.apply(c.video,$jscomp.arrayFromIterable(k));h=!1;var r=a.map(function(t){return t.getRequiredAttrValue("URI")});
2309
2314
  n=c.audio.find(function(t){return t&&t.getUris().find(function(u){return r.includes(u)})});g=this.getCodecsForVariantTag_(a[0]);l=shaka.util.ManifestParserUtils.guessCodecsSafe(d.VIDEO,g);(m=shaka.util.ManifestParserUtils.guessCodecsSafe(d.AUDIO,g))&&!l?(d=d.AUDIO,shaka.log.debug("Guessing audio-only."),h=0<c.audio.length):!c.audio.length&&!c.video.length&&m&&l?(shaka.log.debug("Guessing multiplexed audio+video."),d=d.VIDEO,g=[[l,m].join()]):c.audio.length&&n?(shaka.log.debug("Guessing audio-only."),
@@ -2330,9 +2335,9 @@ a.getAttributeValue("CHARACTERISTICS");b=this.createStreamInfo_(this.globalId_++
2330
2335
  shaka.hls.HlsParser.prototype.createStreamInfoFromVariantTags_=function(a,b,c,d,e,f,g,h,k){k=this.globalId_++;for(var l=[],m=$jscomp.makeIterator(a),n=m.next();!n.done;n=m.next()){var p=n.value;goog.asserts.assert("EXT-X-STREAM-INF"==p.name,"Should only be called on variant tags!");n=p.getRequiredAttrValue("URI");p=p.getAttributeValue("PATHWAY-ID");this.contentSteeringManager_&&p&&this.contentSteeringManager_.addLocation(k,p,n);l.push(n)}m=l.sort().join(",");if(this.uriToStreamInfosMap_.has(m))return this.uriToStreamInfosMap_.get(m);
2331
2336
  a=this.getClosedCaptions_(a[0],c);b=shaka.util.ManifestParserUtils.guessCodecs(c,b);c=this.createStreamInfo_(k,l,b,c,d,!1,e,f,a,g,!1,h,!1);this.uriToStreamInfosMap_.set(m,c);return c};
2332
2337
  shaka.hls.HlsParser.prototype.createStreamInfo_=function(a,b,c,d,e,f,g,h,k,l,m,n,p){var q=this,r=this.makeStreamObject_(a,c,d,e,f,g,h,k,l,m,n,p),t=[],u=function(){return q.contentSteeringManager_&&1<b.length?q.contentSteeringManager_.getLocations(a):t.concat(shaka.hls.Utils.constructUris([q.masterPlaylistUri_],b,q.globalVariables_))},v={stream:r,type:d,redirectUris:t,getUris:u,minTimestamp:0,maxTimestamp:0,mediaSequenceToStartTime:new Map,canSkipSegments:!1,canBlockReload:!1,hasEndList:!1,firstSequenceNumber:-1,
2333
- nextMediaSequence:-1,nextPart:-1,loadedOnce:!1},x=function(z){var C,A,B,E,G,H,F,D,I,J,M,K,L,N,P,O,T,R,S,V,U,Q,W;return $jscomp.asyncExecutePromiseGeneratorProgram(function(X){switch(X.nextAddress){case 1:return C=shaka.util.ManifestParserUtils.ContentType,X.setCatchFinallyBlocks(2),A=v.getUris(),X.yield(z.promise,4);case 4:B=X.yieldResult;if(z.aborted)return X.return();E=B.uri;E==B.originalUri||A.includes(E)||t.push(E);G=q.manifestTextParser_.parsePlaylist(B.data);if(G.type!=shaka.hls.PlaylistType.MEDIA)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2334
- shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_INVALID_PLAYLIST_HIERARCHY);H=shaka.hls.Utils.filterTagsByName(G.tags,"EXT-X-DEFINE");F=q.parseMediaVariables_(H,E);D=!1;(!q.codecInfoInManifest_&&q.config_.hls.disableCodecGuessing||q.needsClosedCaptionsDetection_&&d==C.VIDEO&&!q.config_.hls.disableClosedCaptionsDetection)&&0<G.segments.length&&(q.needsClosedCaptionsDetection_=!1,D=!0);I=!q.codecInfoInManifest_&&q.config_.hls.disableCodecGuessing;J=q.isLive_();return X.yield(q.convertParsedPlaylistIntoStreamInfo_(a,
2335
- F,G,u,E,c,d,e,f,g,h,k,l,m,n,p,void 0,D,I),5);case 5:M=X.yieldResult;if(z.aborted)return X.return();K=M.stream;q.determineStartTime_(G);q.isLive_()&&!J&&q.changePresentationTimelineToLive_(G);v.minTimestamp=M.minTimestamp;v.maxTimestamp=M.maxTimestamp;v.canSkipSegments=M.canSkipSegments;v.canBlockReload=M.canBlockReload;v.hasEndList=M.hasEndList;v.mediaSequenceToStartTime=M.mediaSequenceToStartTime;v.nextMediaSequence=M.nextMediaSequence;v.nextPart=M.nextPart;v.loadedOnce=!0;r.segmentIndex=K.segmentIndex;
2338
+ nextMediaSequence:-1,nextPart:-1,loadedOnce:!1},x=function(z){var C,A,B,D,G,J,F,E,M,I,H,K,L,N,P,O,T,R,S,V,U,Q,W;return $jscomp.asyncExecutePromiseGeneratorProgram(function(X){switch(X.nextAddress){case 1:return C=shaka.util.ManifestParserUtils.ContentType,X.setCatchFinallyBlocks(2),A=v.getUris(),X.yield(z.promise,4);case 4:B=X.yieldResult;if(z.aborted)return X.return();D=B.uri;D==B.originalUri||A.includes(D)||t.push(D);G=q.manifestTextParser_.parsePlaylist(B.data);if(G.type!=shaka.hls.PlaylistType.MEDIA)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2339
+ shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_INVALID_PLAYLIST_HIERARCHY);J=shaka.hls.Utils.filterTagsByName(G.tags,"EXT-X-DEFINE");F=q.parseMediaVariables_(J,D);E=!1;(!q.codecInfoInManifest_&&q.config_.hls.disableCodecGuessing||q.needsClosedCaptionsDetection_&&d==C.VIDEO&&!q.config_.hls.disableClosedCaptionsDetection)&&0<G.segments.length&&(q.needsClosedCaptionsDetection_=!1,E=!0);M=!q.codecInfoInManifest_&&q.config_.hls.disableCodecGuessing;I=q.isLive_();return X.yield(q.convertParsedPlaylistIntoStreamInfo_(a,
2340
+ F,G,u,D,c,d,e,f,g,h,k,l,m,n,p,void 0,E,M),5);case 5:H=X.yieldResult;if(z.aborted)return X.return();K=H.stream;q.determineStartTime_(G);q.isLive_()&&!I&&q.changePresentationTimelineToLive_(G);v.minTimestamp=H.minTimestamp;v.maxTimestamp=H.maxTimestamp;v.canSkipSegments=H.canSkipSegments;v.canBlockReload=H.canBlockReload;v.hasEndList=H.hasEndList;v.mediaSequenceToStartTime=H.mediaSequenceToStartTime;v.nextMediaSequence=H.nextMediaSequence;v.nextPart=H.nextPart;v.loadedOnce=!0;r.segmentIndex=K.segmentIndex;
2336
2341
  r.encrypted=K.encrypted;r.drmInfos=K.drmInfos;r.keyIds=K.keyIds;r.mimeType=K.mimeType;r.bandwidth=r.bandwidth||K.bandwidth;r.codecs=r.codecs||K.codecs;r.closedCaptions=r.closedCaptions||K.closedCaptions;r.width=r.width||K.width;r.height=r.height||K.height;r.hdr=r.hdr||K.hdr;r.colorGamut=r.colorGamut||K.colorGamut;r.frameRate=r.frameRate||K.frameRate;"und"==r.language&&"und"!=K.language&&(r.language=K.language);r.language=r.language||K.language;r.channelsCount=r.channelsCount||K.channelsCount;r.audioSamplingRate=
2337
2342
  r.audioSamplingRate||K.audioSamplingRate;q.setFullTypeForStream_(r);r.drmInfos.length&&q.playerInterface_.newDrmInfo(r);L=!1;if(!k&&r.closedCaptions||k&&r.closedCaptions&&k.size!=r.closedCaptions.size)L=!0;q.manifest_&&L&&q.playerInterface_.makeTextStreamsForClosedCaptions(q.manifest_);if(d==C.VIDEO||d==C.AUDIO)for(N=$jscomp.makeIterator(q.uriToStreamInfosMap_.values()),P=N.next();!P.done;P=N.next())O=P.value,O.loadedOnce||O.type!=d||(O.stream.mimeType=K.mimeType,q.setFullTypeForStream_(O.stream));
2338
2343
  d==C.TEXT&&(T=K.segmentIndex.earliestReference())&&T.initSegmentReference&&(r.mimeType="application/mp4",q.setFullTypeForStream_(r));R=shaka.media.QualityObserver.createQualityInfo(r);r.segmentIndex.forEachTopLevelReference(function(Y){Y.initSegmentReference&&(Y.initSegmentReference.mediaQuality=R)});q.hasEnoughInfoToFinalizeStreams_()&&(q.streamsFinalized_?q.finalizeStreams_([v]):(q.streamsFinalized_=!0,S=Array.from(q.uriToStreamInfosMap_.values()),V=S.filter(function(Y){return Y.stream.segmentIndex}),
@@ -2343,19 +2348,19 @@ shaka.hls.HlsParser.prototype.notifySegmentsForStreams_=function(a){var b=[];a=$
2343
2348
  shaka.hls.HlsParser.prototype.finalizeStreams_=function(a){if(!this.isLive_())for(var b=this.getMinDuration_(),c=$jscomp.makeIterator(a),d=c.next();!d.done;d=c.next())d.value.stream.segmentIndex.fit(0,b);this.notifySegmentsForStreams_(a.map(function(e){return e.stream}));b=this.isLive_()&&!this.usesProgramDateTime_;this.config_.hls.ignoreManifestProgramDateTime||b?this.syncStreamsWithSequenceNumber_(a,b):(this.syncStreamsWithProgramDateTime_(a),0<this.config_.hls.ignoreManifestProgramDateTimeForTypes.length&&
2344
2349
  this.syncStreamsWithSequenceNumber_(a))};shaka.hls.HlsParser.prototype.ignoreManifestProgramDateTimeFor_=function(a){return this.config_.hls.ignoreManifestProgramDateTime?!0:this.config_.hls.ignoreManifestProgramDateTimeForTypes.includes(a)};
2345
2350
  shaka.hls.HlsParser.prototype.hasEnoughInfoToFinalizeStreams_=function(){if(!this.manifest_)return!1;for(var a=[],b=[],c=$jscomp.makeIterator(this.manifest_.variants),d=c.next();!d.done;d=c.next())d=d.value,d.video&&a.push(d.video),d.audio&&b.push(d.audio);return 0<a.length&&!a.some(function(e){return e.segmentIndex})||0<b.length&&!b.some(function(e){return e.segmentIndex})?!1:!0};
2346
- shaka.hls.HlsParser.prototype.convertParsedPlaylistIntoStreamInfo_=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x){v=void 0===v?!0:v;x=void 0===x?!0:x;var y=this,w,z,C,A,B,E,G,H,F,D,I,J,M,K,L,N,P,O,T,R,S,V,U,Q,W,X,Y,ba,ca;return $jscomp.asyncExecutePromiseGeneratorProgram(function(Z){switch(Z.nextAddress){case 1:w=c.segments||[];z=w.every(function(da){return shaka.hls.Utils.getFirstTagWithName(da.tags,"EXT-X-GAP")?!0:!1});if(!w.length||z)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2347
- shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_EMPTY_MEDIA_PLAYLIST);y.determinePresentationType_(c);y.isLive_()&&y.determineLastTargetDuration_(c);C=y.isLive_()?y.mediaSequenceToStartTimeByType_.get(g):new Map;A=y.createSegments_(c,C,b,d,g);B=A.segments;E=A.bandwidth;I=D=F=H=G=null;if(!(0<B.length&&v)){Z.jumpTo(2);break}return Z.yield(y.getBasicInfoFromSegments_(B),3);case 3:J=Z.yieldResult,g=J.type,h=J.language,m=J.channelCount,r=J.sampleRate,y.config_.disableText||(n=J.closedCaptions),
2348
- H=J.height,G=J.width,F=J.videoRange,D=J.colorGamut,I=J.frameRate,x&&(u=J.mimeType,f=J.codecs);case 2:if(u){Z.jumpTo(4);break}return Z.yield(y.guessMimeType_(g,f,B),5);case 5:u=Z.yieldResult;case 4:return Z.yield(y.parseDrmInfo_(c,u,d,b),6);case 6:M=Z.yieldResult;K=M.drmInfos;L=M.keyIds;N=M.encrypted;P=M.aesEncrypted;if(N&&!K.length&&!P)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_KEYFORMATS_NOT_SUPPORTED);O=y.makeStreamObject_(a,
2349
- f,g,h,k,l,m,n,p,q,r,t);O.encrypted=N;O.drmInfos=K;O.keyIds=L;O.mimeType=u;E&&(O.bandwidth=E);y.setFullTypeForStream_(O);g==shaka.util.ManifestParserUtils.ContentType.VIDEO&&(G||H||F||D)&&y.addVideoAttributes_(O,G,H,I,F,null,D);y.isLive_()&&y.determineLastTargetDuration_(c);T=B[0].startTime;R=B[B.length-1];S=R.endTime;V=new shaka.media.SegmentIndex(B);O.segmentIndex=V;Q=(U=shaka.hls.Utils.getFirstTagWithName(c.tags,"EXT-X-SERVER-CONTROL"))?null!=U.getAttribute("CAN-SKIP-UNTIL"):!1;W=U?null!=U.getAttribute("CAN-BLOCK-RELOAD"):
2351
+ shaka.hls.HlsParser.prototype.convertParsedPlaylistIntoStreamInfo_=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x){v=void 0===v?!0:v;x=void 0===x?!0:x;var y=this,w,z,C,A,B,D,G,J,F,E,M,I,H,K,L,N,P,O,T,R,S,V,U,Q,W,X,Y,ba,ca;return $jscomp.asyncExecutePromiseGeneratorProgram(function(Z){switch(Z.nextAddress){case 1:w=c.segments||[];z=w.every(function(da){return shaka.hls.Utils.getFirstTagWithName(da.tags,"EXT-X-GAP")?!0:!1});if(!w.length||z)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2352
+ shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_EMPTY_MEDIA_PLAYLIST);y.determinePresentationType_(c);y.isLive_()&&y.determineLastTargetDuration_(c);C=y.isLive_()?y.mediaSequenceToStartTimeByType_.get(g):new Map;A=y.createSegments_(c,C,b,d,g);B=A.segments;D=A.bandwidth;M=E=F=J=G=null;if(!(0<B.length&&v)){Z.jumpTo(2);break}return Z.yield(y.getBasicInfoFromSegments_(B),3);case 3:I=Z.yieldResult,g=I.type,h=I.language,m=I.channelCount,r=I.sampleRate,y.config_.disableText||(n=I.closedCaptions),
2353
+ J=I.height,G=I.width,F=I.videoRange,E=I.colorGamut,M=I.frameRate,x&&(u=I.mimeType,f=I.codecs);case 2:if(u){Z.jumpTo(4);break}return Z.yield(y.guessMimeType_(g,f,B),5);case 5:u=Z.yieldResult;case 4:return Z.yield(y.parseDrmInfo_(c,u,d,b),6);case 6:H=Z.yieldResult;K=H.drmInfos;L=H.keyIds;N=H.encrypted;P=H.aesEncrypted;if(N&&!K.length&&!P)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_KEYFORMATS_NOT_SUPPORTED);O=y.makeStreamObject_(a,
2354
+ f,g,h,k,l,m,n,p,q,r,t);O.encrypted=N;O.drmInfos=K;O.keyIds=L;O.mimeType=u;D&&(O.bandwidth=D);y.setFullTypeForStream_(O);g==shaka.util.ManifestParserUtils.ContentType.VIDEO&&(G||J||F||E)&&y.addVideoAttributes_(O,G,J,M,F,null,E);y.isLive_()&&y.determineLastTargetDuration_(c);T=B[0].startTime;R=B[B.length-1];S=R.endTime;V=new shaka.media.SegmentIndex(B);O.segmentIndex=V;Q=(U=shaka.hls.Utils.getFirstTagWithName(c.tags,"EXT-X-SERVER-CONTROL"))?null!=U.getAttribute("CAN-SKIP-UNTIL"):!1;W=U?null!=U.getAttribute("CAN-BLOCK-RELOAD"):
2350
2355
  !1;X=shaka.hls.Utils.getFirstTagWithNameAsNumber(c.tags,"EXT-X-MEDIA-SEQUENCE",0);Y=y.getNextMediaSequenceAndPart_(X,B);ba=Y.nextMediaSequence;ca=Y.nextPart;return Z.return({stream:O,type:g,redirectUris:[],getUris:d,minTimestamp:T,maxTimestamp:S,canSkipSegments:Q,canBlockReload:W,hasEndList:!1,firstSequenceNumber:-1,nextMediaSequence:ba,nextPart:ca,mediaSequenceToStartTime:C,loadedOnce:!1})}})};
2351
2356
  shaka.hls.HlsParser.prototype.getNextMediaSequenceAndPart_=function(a,b){a=a+b.length-1;var c=-1;if(!b.length)return a++,{nextMediaSequence:a,nextPart:c};b=b[b.length-1];var d=b.partialReferences;if(!b.partialReferences.length)return a++,b.hasByterangeOptimization()&&(c=0),{nextMediaSequence:a,nextPart:c};c=d.length-1;d[d.length-1].isPreload()||(a++,c=0);return{nextMediaSequence:a,nextPart:c}};
2352
2357
  shaka.hls.HlsParser.prototype.makeStreamObject_=function(a,b,c,d,e,f,g,h,k,l,m,n){a=this.guessMimeTypeBeforeLoading_(c,b)||this.guessMimeTypeFallback_(c);var p=[];if(k){k=$jscomp.makeIterator(k.split(","));for(var q=k.next();!q.done;q=k.next())p.push(q.value)}k=void 0;q=null;c==shaka.util.ManifestParserUtils.ContentType.TEXT?k=p.includes("public.accessibility.transcribes-spoken-dialog")&&p.includes("public.accessibility.describes-music-and-sound")?shaka.util.ManifestParserUtils.TextStreamKind.CLOSED_CAPTION:
2353
2358
  shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE:p.includes("public.accessibility.describes-video")&&(q=shaka.media.ManifestParser.AccessibilityPurpose.VISUALLY_IMPAIRED);p.length||k!==shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE||p.push(shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE);b={id:this.globalId_++,originalId:f,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:null,mimeType:a,codecs:b,kind:c==shaka.util.ManifestParserUtils.ContentType.TEXT?
2354
2359
  shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE:void 0,encrypted:!1,drmInfos:[],keyIds:new Set,language:this.getLanguage_(d),originalLanguage:d,label:f,type:c,primary:e,trickModeVideo:null,emsgSchemeIdUris:null,frameRate:void 0,pixelAspectRatio:void 0,width:void 0,height:void 0,bandwidth:void 0,roles:p,forced:l,channelsCount:g,audioSamplingRate:m,spatialAudio:n,closedCaptions:h,hdr:void 0,colorGamut:void 0,videoLayout:void 0,tilesLayout:void 0,accessibilityPurpose:q,external:!1,fastSwitching:!1,
2355
2360
  fullMimeTypes:new Set};this.setFullTypeForStream_(b);return b};
2356
- shaka.hls.HlsParser.prototype.parseDrmInfo_=function(a,b,c,d){var e=this,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D,I,J,M;return $jscomp.asyncExecutePromiseGeneratorProgram(function(K){switch(K.nextAddress){case 1:f=new Map;if(a.segments)for(g=$jscomp.makeIterator(a.segments),h=g.next();!h.done;h=g.next())if(k=h.value,l=shaka.hls.Utils.filterTagsByName(k.tags,"EXT-X-KEY"),m=null,l.length)for(m=e.getInitSegmentReference_(a,k.tags,c,d),n=$jscomp.makeIterator(l),p=n.next();!p.done;p=n.next())q=
2357
- p.value,f.set(q,m);t=r=!1;u=[];v=new Set;x=$jscomp.makeIterator(f);y=x.next();case 2:if(y.done){K.jumpTo(4);break}w=y.value;z=$jscomp.makeIterator(w);C=z.next().value;A=z.next().value;B=C;E=A;G=B.getRequiredAttrValue("METHOD");if("NONE"==G){K.jumpTo(3);break}r=!0;H=B.getAttributeValue("KEYFORMAT")||"identity";F=null;if(e.isAesMethod_(G)){t=!0;K.jumpTo(3);break}if("identity"!=H){F=(D=shaka.hls.HlsParser.KEYFORMATS_TO_DRM_PARSERS_[H])?D(B,b):null;K.jumpTo(6);break}return K.yield(e.identityDrmParser_(B,
2358
- b,c,E,d),8);case 8:F=K.yieldResult;case 6:if(F){if(F.keyIds)for(I=$jscomp.makeIterator(F.keyIds),J=I.next();!J.done;J=I.next())M=J.value,v.add(M);u.push(F)}else shaka.log.warning("Unsupported HLS KEYFORMAT",H);case 3:y=x.next();K.jumpTo(2);break;case 4:return K.return({drmInfos:u,keyIds:v,encrypted:r,aesEncrypted:t})}})};
2361
+ shaka.hls.HlsParser.prototype.parseDrmInfo_=function(a,b,c,d){var e=this,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M,I,H;return $jscomp.asyncExecutePromiseGeneratorProgram(function(K){switch(K.nextAddress){case 1:f=new Map;if(a.segments)for(g=$jscomp.makeIterator(a.segments),h=g.next();!h.done;h=g.next())if(k=h.value,l=shaka.hls.Utils.filterTagsByName(k.tags,"EXT-X-KEY"),m=null,l.length)for(m=e.getInitSegmentReference_(a,k.tags,c,d),n=$jscomp.makeIterator(l),p=n.next();!p.done;p=n.next())q=
2362
+ p.value,f.set(q,m);t=r=!1;u=[];v=new Set;x=$jscomp.makeIterator(f);y=x.next();case 2:if(y.done){K.jumpTo(4);break}w=y.value;z=$jscomp.makeIterator(w);C=z.next().value;A=z.next().value;B=C;D=A;G=B.getRequiredAttrValue("METHOD");if("NONE"==G){K.jumpTo(3);break}r=!0;J=B.getAttributeValue("KEYFORMAT")||"identity";F=null;if(e.isAesMethod_(G)){t=!0;K.jumpTo(3);break}if("identity"!=J){F=(E=shaka.hls.HlsParser.KEYFORMATS_TO_DRM_PARSERS_[J])?E(B,b):null;K.jumpTo(6);break}return K.yield(e.identityDrmParser_(B,
2363
+ b,c,D,d),8);case 8:F=K.yieldResult;case 6:if(F){if(F.keyIds)for(M=$jscomp.makeIterator(F.keyIds),I=M.next();!I.done;I=M.next())H=I.value,v.add(H);u.push(F)}else shaka.log.warning("Unsupported HLS KEYFORMAT",J);case 3:y=x.next();K.jumpTo(2);break;case 4:return K.return({drmInfos:u,keyIds:v,encrypted:r,aesEncrypted:t})}})};
2359
2364
  shaka.hls.HlsParser.prototype.parseAESDrmTag_=function(a,b,c,d){var e=this;if(!window.crypto||!window.crypto.subtle)throw shaka.log.alwaysWarn("Web Crypto API is not available to decrypt AES. (Web Crypto only exists in secure origins like https)"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.NO_WEB_CRYPTO_API);var f=0,g=a.getAttributeValue("IV","");if(g){var h=shaka.util.Uint8ArrayUtils.fromHex(g.substr(2));if(16!=h.byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2360
2365
  shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.AES_128_INVALID_IV_LENGTH);}else f=shaka.hls.Utils.getFirstTagWithNameAsNumber(b.tags,"EXT-X-MEDIA-SEQUENCE",0);b=a.toString()+"-"+f;if(!this.aesKeyInfoMap_.has(b)){var k={bitsKey:128,blockCipherMode:"CBC",iv:h,firstMediaSequenceNumber:f};switch(a.getRequiredAttrValue("METHOD")){case "AES-256":k.bitsKey=256;break;case "AES-256-CTR":k.bitsKey=256,k.blockCipherMode="CTR"}k.fetchKey=function(){var l,m,n,p,q,r,t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){if(1==
2361
2366
  u.nextAddress)return l=shaka.hls.Utils.constructSegmentUris(c(),a.getRequiredAttrValue("URI"),d),m=l.sort().join(""),e.aesKeyMap_.has(m)||(n=shaka.net.NetworkingEngine.RequestType.KEY,p=shaka.net.NetworkingEngine.makeRequest(l,e.config_.retryParameters),q=e.makeNetworkRequest_(p,n).promise,e.aesKeyMap_.set(m,q)),u.yield(e.aesKeyMap_.get(m),2);if(3!=u.nextAddress){r=u.yieldResult;if(!r.data||r.data.byteLength!=k.bitsKey/8)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,
@@ -2371,10 +2376,10 @@ l.id<e.id&&(h=this.parseAESDrmTag_(l,a,c,d)):"EXT-X-BYTERANGE"==l.name&&l.id<e.i
2371
2376
  shaka.hls.HlsParser.prototype.createInitSegmentReference_=function(a,b,c,d){var e=0,f=null;b=b.getAttributeValue("BYTERANGE");!b&&c&&(b=c.value);b&&(e=b.split("@"),f=Number(e[0]),e=Number(e[1]),f=e+f-1,d&&(c=f+1-e,c%16&&(f+=16-c%16)));return new shaka.media.InitSegmentReference(function(){return a},e,f,null,null,null,d)};
2372
2377
  shaka.hls.HlsParser.prototype.createSegmentReference_=function(a,b,c,d,e,f,g,h,k){var l=shaka.hls.HlsParser;f=function(L){L=(new goog.Uri(L)).getPath().split(".").pop();var N=l.EXTENSION_MAP_BY_CONTENT_TYPE_[g][L];N||(N=l.RAW_FORMATS_TO_MIME_TYPES_[L]);return N};var m=c.tags,n=shaka.hls.Utils.getFirstTagWithName(m,"EXTINF"),p=0,q=0,r=null;c.partialSegments.length&&(this.manifest_.isLowLatency=!0);var t=null;if(!this.config_.hls.ignoreManifestProgramDateTime){var u=shaka.hls.Utils.getFirstTagWithName(m,
2373
2378
  "EXT-X-PROGRAM-DATE-TIME");u&&u.value&&(t=shaka.util.TXml.parseDate(u.value),goog.asserts.assert(null!=t,"EXT-X-PROGRAM-DATE-TIME format not valid"),this.usesProgramDateTime_=!0)}var v=shaka.media.SegmentReference.Status.AVAILABLE;shaka.hls.Utils.getFirstTagWithName(m,"EXT-X-GAP")&&(this.manifest_.gapCount++,v=shaka.media.SegmentReference.Status.MISSING);if(!n){if(0==c.partialSegments.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_REQUIRED_TAG_MISSING,
2374
- "EXTINF");if(!this.lowLatencyMode_)return null}var x=[];u=!1;var y=null,w=!1,z=!1;if(this.lowLatencyMode_&&c.partialSegments.length){p=a&&window.ReadableStream&&this.config_.hls.allowLowLatencyByteRangeOptimization;for(var C=t,A={},B=0;B<c.partialSegments.length;A={uris$jscomp$25:void 0,pUri:void 0},B++){var E=c.partialSegments[B],G=0==B?b:x[x.length-1],H=0==B?d:G.endTime,F=Number(E.getAttributeValue("DURATION"))||this.partialTargetDuration_;if(F){var D=H+F,I=0,J=null;"EXT-X-PRELOAD-HINT"==E.name?
2375
- (I=(I=E.getAttributeValue("BYTERANGE-START"))?Number(I):0,(G=E.getAttributeValue("BYTERANGE-LENGTH"))?J=I+Number(G)-1:I&&(J=Number.MAX_SAFE_INTEGER)):(I=E.getAttributeValue("BYTERANGE"),J=$jscomp.makeIterator(this.parseByteRange_(G,I)),I=J.next().value,J=J.next().value);A.pUri=E.getAttributeValue("URI");if(A.pUri){G=shaka.media.SegmentReference.Status.AVAILABLE;"YES"==E.getAttributeValue("GAP")&&(this.manifest_.gapCount++,G=shaka.media.SegmentReference.Status.MISSING,w=!0);A.uris$jscomp$25=null;var M=
2376
- function(L){return function(){null==L.uris$jscomp$25&&(goog.asserts.assert(L.pUri,"Partial uri should be defined!"),L.uris$jscomp$25=shaka.hls.Utils.constructSegmentUris(h(),L.pUri,e));return L.uris$jscomp$25}}(A);p&&0<=I&&null!=J&&(y=M,u=!0);H=new shaka.media.SegmentReference(H,D,M,I,J,a,0,0,Infinity,[],"",null,C,G,k);"EXT-X-PRELOAD-HINT"==E.name&&(H.markAsPreload(),z=!0);"YES"!=E.getAttributeValue("INDEPENDENT")&&0<B&&H.markAsNonIndependent();if(A=f(A.pUri))H.mimeType=A,l.MIME_TYPES_WITHOUT_INIT_SEGMENT_.has(A)&&
2377
- (H.initSegmentReference=null);x.push(H);C&&(C+=F)}}}}if(n){n=n.value.split(",");n=Number(n[0]);if(0==n)return null;p=d+n}else if(x.length)p=x[x.length-1].endTime;else return null;u&&(w||0!=x[0].startByte?(u=!1,y=null):x=[]);(w=shaka.hls.Utils.getFirstTagWithName(m,"EXT-X-BYTERANGE"))?(r=$jscomp.makeIterator(this.parseByteRange_(b,w.value)),q=r.next().value,r=r.next().value):x.length&&(q=x[0].startByte,r=x[x.length-1].endByte);b="";w=null;g==shaka.util.ManifestParserUtils.ContentType.IMAGE&&(b="1x1",
2379
+ "EXTINF");if(!this.lowLatencyMode_)return null}var x=[];u=!1;var y=null,w=!1,z=!1;if(this.lowLatencyMode_&&c.partialSegments.length){p=a&&window.ReadableStream&&this.config_.hls.allowLowLatencyByteRangeOptimization;for(var C=t,A={},B=0;B<c.partialSegments.length;A={uris$jscomp$25:void 0,pUri:void 0},B++){var D=c.partialSegments[B],G=0==B?b:x[x.length-1],J=0==B?d:G.endTime,F=Number(D.getAttributeValue("DURATION"))||this.partialTargetDuration_;if(F){var E=J+F,M=0,I=null;"EXT-X-PRELOAD-HINT"==D.name?
2380
+ (M=(M=D.getAttributeValue("BYTERANGE-START"))?Number(M):0,(G=D.getAttributeValue("BYTERANGE-LENGTH"))?I=M+Number(G)-1:M&&(I=Number.MAX_SAFE_INTEGER)):(M=D.getAttributeValue("BYTERANGE"),I=$jscomp.makeIterator(this.parseByteRange_(G,M)),M=I.next().value,I=I.next().value);A.pUri=D.getAttributeValue("URI");if(A.pUri){G=shaka.media.SegmentReference.Status.AVAILABLE;"YES"==D.getAttributeValue("GAP")&&(this.manifest_.gapCount++,G=shaka.media.SegmentReference.Status.MISSING,w=!0);A.uris$jscomp$25=null;var H=
2381
+ function(L){return function(){null==L.uris$jscomp$25&&(goog.asserts.assert(L.pUri,"Partial uri should be defined!"),L.uris$jscomp$25=shaka.hls.Utils.constructSegmentUris(h(),L.pUri,e));return L.uris$jscomp$25}}(A);p&&0<=M&&null!=I&&(y=H,u=!0);J=new shaka.media.SegmentReference(J,E,H,M,I,a,0,0,Infinity,[],"",null,C,G,k);"EXT-X-PRELOAD-HINT"==D.name&&(J.markAsPreload(),z=!0);"YES"!=D.getAttributeValue("INDEPENDENT")&&0<B&&J.markAsNonIndependent();if(A=f(A.pUri))J.mimeType=A,l.MIME_TYPES_WITHOUT_INIT_SEGMENT_.has(A)&&
2382
+ (J.initSegmentReference=null);x.push(J);C&&(C+=F)}}}}if(n){n=n.value.split(",");n=Number(n[0]);if(0==n)return null;p=d+n}else if(x.length)p=x[x.length-1].endTime;else return null;u&&(w||0!=x[0].startByte?(u=!1,y=null):x=[]);(w=shaka.hls.Utils.getFirstTagWithName(m,"EXT-X-BYTERANGE"))?(r=$jscomp.makeIterator(this.parseByteRange_(b,w.value)),q=r.next().value,r=r.next().value):x.length&&(q=x[0].startByte,r=x[x.length-1].endByte);b="";w=null;g==shaka.util.ManifestParserUtils.ContentType.IMAGE&&(b="1x1",
2378
2383
  m=shaka.hls.Utils.getFirstTagWithName(m,"EXT-X-TILES"))&&(b=m.getRequiredAttrValue("LAYOUT"),(m=m.getAttributeValue("DURATION"))&&(w=Number(m)));var K=null;a=new shaka.media.SegmentReference(d,p,function(){if(y)return y();null==K&&(K=shaka.hls.Utils.constructSegmentUris(h(),c.verbatimSegmentUri,e));return K||[]},q,r,a,0,0,Infinity,x,b,w,t,v,k,0<x.length&&!!c.verbatimSegmentUri);if(d=f(c.verbatimSegmentUri))a.mimeType=d,l.MIME_TYPES_WITHOUT_INIT_SEGMENT_.has(d)&&(a.initSegmentReference=null);u&&(this.lowLatencyByterangeOptimization_=
2379
2384
  !0,a.markAsByterangeOptimization(),z&&a.markAsPreload());return a};shaka.hls.HlsParser.prototype.parseByteRange_=function(a,b){var c=0,d=null;b&&(c=b.split("@"),b=Number(c[0]),c[1]?c=Number(c[1]):(goog.asserts.assert(a,"Cannot refer back to previous HLS segment!"),c=a.endByte+1),d=c+b-1);return[c,d]};
2380
2385
  shaka.hls.HlsParser.prototype.processDateRangeTags_=function(a,b,c,d){var e=shaka.util.ManifestParserUtils.ContentType;if(b==e.VIDEO||b==e.AUDIO){e=shaka.hls.Utils;var f=this.presentationTimeline_.getInitialProgramDateTime();if(f&&!this.ignoreManifestProgramDateTimeFor_(b))for(a=shaka.hls.Utils.filterTagsByName(a,"EXT-X-DATERANGE"),a=a.sort(function(t,u){t=t.getRequiredAttrValue("START-DATE");u=u.getRequiredAttrValue("START-DATE");return t<u?-1:t>u?1:0}),b=0;b<a.length;b++){var g=a[b],h=g.getRequiredAttrValue("ID");
@@ -2494,7 +2499,7 @@ c=new Uint8Array(2);c[0]=16|d>>1;c[1]=d<<7|b<<3;b=new Uint16Array(1);b[0]=(c[0]<
2494
2499
  shaka.mss.MssParser.prototype.createSegments_=function(a,b,c,d){var e=this,f=shaka.util.ManifestParserUtils;c=c.attributes.Url;goog.asserts.assert(c,"Missing URL for segments");var g=c.replace("{bitrate}",String(b.bandwidth));c=[];d=$jscomp.makeIterator(d);for(var h=d.next(),k={};!h.done;k={time$jscomp$40:void 0},h=d.next())k.time$jscomp$40=h.value,h=function(l){return function(){return f.resolveUris(e.manifestUris_,[g.replace("{start time}",String(l.time$jscomp$40.unscaledStart))])}}(k),c.push(new shaka.media.SegmentReference(k.time$jscomp$40.start,
2495
2500
  k.time$jscomp$40.end,h,0,null,a,0,0,b.mssPrivateData.duration));return c};
2496
2501
  shaka.mss.MssParser.prototype.createTimeline_=function(a,b,c){goog.asserts.assert(0<b&&Infinity>b,"timescale must be a positive, finite integer");goog.asserts.assert(0<c,"duration must be a positive integer");var d=shaka.util.TXml;a=d.findChildren(a,"c");for(var e=[],f=0,g=0;g<a.length;++g){var h=a[g],k=a[g+1],l=d.parseAttr(h,"t",d.parseNonNegativeInt),m=d.parseAttr(h,"d",d.parseNonNegativeInt),n=d.parseAttr(h,"r",d.parseInt);if(!m){shaka.log.warning('"c" element must have a duration:','ignoring the remaining "c" elements.',
2497
- h);break}l=null!=l?l:f;n=n||0;if(0>n)if(k){k=d.parseAttr(k,"t",d.parseNonNegativeInt);if(null==k){shaka.log.warning('An "c" element cannot have a negative repeat','if the next "c" element does not have a valid start time:','ignoring the remaining "c" elements.',h);break}else if(l>=k){shaka.log.warning('An "c" element cannot have a negative repeatif its start ','time exceeds the next "c" element\'s start time:','ignoring the remaining "c" elements.',h);break}n=Math.ceil((k-l)/m)-1}else{if(Infinity==
2502
+ h);break}l=null!=l?l:f;(n=n||0)&&n--;if(0>n)if(k){k=d.parseAttr(k,"t",d.parseNonNegativeInt);if(null==k){shaka.log.warning('An "c" element cannot have a negative repeat','if the next "c" element does not have a valid start time:','ignoring the remaining "c" elements.',h);break}else if(l>=k){shaka.log.warning('An "c" element cannot have a negative repeatif its start ','time exceeds the next "c" element\'s start time:','ignoring the remaining "c" elements.',h);break}n=Math.ceil((k-l)/m)-1}else{if(Infinity==
2498
2503
  c){shaka.log.warning('The last "c" element cannot have a negative repeat',"if the Period has an infinite duration:",'ignoring the last "c" element.',h);break}else if(l/b>=c){shaka.log.warning('The last "c" element cannot have a negative repeat',"if its start time exceeds the duration:",'igoring the last "c" element.',h);break}n=Math.ceil((c*b-l)/m)-1}for(h=0;h<=n;++h)f=l+m,e.push({start:l/b,end:f/b,unscaledStart:l}),l=f}return e};
2499
2504
  shaka.mss.MssParser.prototype.createVariant_=function(a,b){var c=shaka.util.ManifestParserUtils.ContentType;goog.asserts.assert(!a||a.type==c.AUDIO,"Audio parameter mismatch!");goog.asserts.assert(!b||b.type==c.VIDEO,"Video parameter mismatch!");c=0;a&&a.bandwidth&&0<a.bandwidth&&(c+=a.bandwidth);b&&b.bandwidth&&0<b.bandwidth&&(c+=b.bandwidth);return{id:this.globalId_++,language:a?a.language:"und",disabledUntilTime:0,primary:!!a&&a.primary||!!b&&b.primary,audio:a,video:b,bandwidth:c,allowedByApplication:!0,
2500
2505
  allowedByKeySystem:!0,decodingInfos:[]}};goog.exportSymbol("shaka.mss.MssParser",shaka.mss.MssParser);shaka.mss.MssParser.MIN_UPDATE_PERIOD_=3;shaka.mss.MssParser.DEFAULT_TIME_SCALE_=1E7;shaka.mss.MssParser.SUPPORTED_CODECS_="AAC AACL AACH AACP AVC1 H264 TTML DFXP".split(" ");shaka.mss.MssParser.ROLE_MAPPING_={CAPT:"main",SUBT:"alternate",DESC:"main"};shaka.media.ManifestParser.registerParserByMime("application/vnd.ms-sstr+xml",function(){return new shaka.mss.MssParser});shaka.net.HttpPluginUtils=function(){};
@@ -2502,8 +2507,8 @@ shaka.net.HttpPluginUtils.makeResponse=function(a,b,c,d,e,f){if(200<=c&&299>=c&&
2502
2507
  shaka.net.HttpFetchPlugin.parse=function(a,b,c,d,e,f){var g=new shaka.net.HttpFetchPlugin.Headers_;shaka.util.MapUtils.asMap(b.headers).forEach(function(m,n){g.append(n,m)});var h=new shaka.net.HttpFetchPlugin.AbortController_,k={canceled:!1,timedOut:!1};a=shaka.net.HttpFetchPlugin.request_(a,c,{body:b.body||void 0,headers:g,method:b.method,signal:h.signal,credentials:b.allowCrossSiteCredentials?"include":void 0},k,d,e,b.streamDataCallback,f.minBytesForProgressEvents||0);a=new shaka.util.AbortableOperation(a,
2503
2508
  function(){k.canceled=!0;h.abort();return Promise.resolve()});if(b=b.retryParameters.timeout){var l=new shaka.util.Timer(function(){k.timedOut=!0;h.abort()});l.tickAfter(b/1E3);a.finally(function(){l.stop()})}return a};
2504
2509
  shaka.net.HttpFetchPlugin.request_=function(a,b,c,d,e,f,g,h){var k,l,m,n,p,q,r,t,u,v,x,y,w;return $jscomp.asyncExecutePromiseGeneratorProgram(function(z){switch(z.nextAddress){case 1:return k=shaka.net.HttpFetchPlugin.fetch_,l=shaka.net.HttpFetchPlugin.ReadableStream_,q=p=0,r=Date.now(),z.setCatchFinallyBlocks(2),z.yield(k(a,c),4);case 4:m=z.yieldResult;f(shaka.net.HttpFetchPlugin.headersToGenericObject_(m.headers));if("HEAD"==c.method){z.jumpTo(5);break}goog.asserts.assert(m.body,"non-HEAD responses should have a body");
2505
- t=m.clone().body.getReader();v=(u=m.headers.get("Content-Length"))?parseInt(u,10):0;x=function(C){var A=function(){var B,E,G,H,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(D){switch(D.nextAddress){case 1:return D.setCatchFinallyBlocks(2),D.yield(t.read(),4);case 4:B=D.yieldResult;D.leaveTryBlock(3);break;case 2:return E=D.enterCatchBlock(),shaka.log.v1("error reading from stream",E.message),D.return();case 3:if(B.done){D.jumpTo(5);break}p+=B.value.byteLength;if(!g){D.jumpTo(5);break}return D.yield(g(B.value),
2506
- 5);case 5:G=Date.now();H=p-q;if(100<G-r&&H>=h||B.done)F=B.done?0:v-p,e(G-r,H,F),q=p,r=G;B.done?(goog.asserts.assert(!B.value,'readObj should be unset when "done" is true.'),C.close()):(C.enqueue(B.value),A());D.jumpToEnd()}})};A()};new l({start:x});return z.yield(m.arrayBuffer(),6);case 6:n=z.yieldResult;case 5:z.leaveTryBlock(3);break;case 2:y=z.enterCatchBlock();if(d.canceled)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.OPERATION_ABORTED,
2510
+ t=m.clone().body.getReader();v=(u=m.headers.get("Content-Length"))?parseInt(u,10):0;x=function(C){var A=function(){var B,D,G,J,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){switch(E.nextAddress){case 1:return E.setCatchFinallyBlocks(2),E.yield(t.read(),4);case 4:B=E.yieldResult;E.leaveTryBlock(3);break;case 2:return D=E.enterCatchBlock(),shaka.log.v1("error reading from stream",D.message),E.return();case 3:if(B.done){E.jumpTo(5);break}p+=B.value.byteLength;if(!g){E.jumpTo(5);break}return E.yield(g(B.value),
2511
+ 5);case 5:G=Date.now();J=p-q;if(100<G-r&&J>=h||B.done)F=B.done?0:v-p,e(G-r,J,F),q=p,r=G;B.done?(goog.asserts.assert(!B.value,'readObj should be unset when "done" is true.'),C.close()):(C.enqueue(B.value),A());E.jumpToEnd()}})};A()};new l({start:x});return z.yield(m.arrayBuffer(),6);case 6:n=z.yieldResult;case 5:z.leaveTryBlock(3);break;case 2:y=z.enterCatchBlock();if(d.canceled)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.OPERATION_ABORTED,
2507
2512
  a,b);if(d.timedOut)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.TIMEOUT,a,b);throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.HTTP_ERROR,a,y,b);case 3:return w=shaka.net.HttpFetchPlugin.headersToGenericObject_(m.headers),z.return(shaka.net.HttpPluginUtils.makeResponse(w,n,m.status,a,m.url,b))}})};
2508
2513
  shaka.net.HttpFetchPlugin.headersToGenericObject_=function(a){var b={};a.forEach(function(c,d){b[d.trim()]=c});return b};shaka.net.HttpFetchPlugin.isSupported=function(){if(window.ReadableStream)try{new ReadableStream({})}catch(a){return!1}else return!1;if(window.Response){if(!(new Response("")).body)return!1}else return!1;return!(!window.fetch||"polyfill"in window.fetch||!window.AbortController)};goog.exportSymbol("shaka.net.HttpFetchPlugin",shaka.net.HttpFetchPlugin);
2509
2514
  goog.exportProperty(shaka.net.HttpFetchPlugin,"isSupported",shaka.net.HttpFetchPlugin.isSupported);goog.exportProperty(shaka.net.HttpFetchPlugin,"parse",shaka.net.HttpFetchPlugin.parse);shaka.net.HttpFetchPlugin.fetch_=window.fetch;shaka.net.HttpFetchPlugin.AbortController_=window.AbortController;shaka.net.HttpFetchPlugin.ReadableStream_=window.ReadableStream;shaka.net.HttpFetchPlugin.Headers_=window.Headers;
@@ -2621,18 +2626,18 @@ shaka.offline.Storage.prototype.store_=function(a,b,c,d,e){var f=this,g,h,k,l,m,
2621
2626
  shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.CANNOT_STORE_LIVE_OFFLINE,a);return w.yield(f.createDrmEngine(p,function(z){n=n||z},d),7);case 7:h=w.yieldResult;f.ensureNotDestroyed_();if(n)throw n;return w.yield(f.filterManifest_(p,h,d),8);case 8:return w.yield(k.init(),9);case 9:return f.ensureNotDestroyed_(),w.yield(k.getActive(),10);case 10:return l=w.yieldResult,f.ensureNotDestroyed_(),goog.asserts.assert(h,"drmEngine should be non-null here."),r=f.makeManifestDB_(h,p,a,b,d,e),t=r.manifestDB,
2622
2627
  u=r.toDownload,w.yield(l.cell.addManifests([t]),11);case 11:v=w.yieldResult;f.ensureNotDestroyed_();m=v[0];goog.asserts.assert(h,"drmEngine should be non-null here.");f.ensureNotDestroyed_();if(n)throw n;return w.yield(f.downloadSegments_(u,m,t,e,d,l.cell,p,h),12);case 12:return f.ensureNotDestroyed_(),f.setManifestDrmFields_(p,t,h,d),w.yield(l.cell.updateManifest(m,t),13);case 13:return f.ensureNotDestroyed_(),x=shaka.offline.OfflineUri.manifest(l.path.mechanism,l.path.cell,m),w.return(shaka.offline.StoredContentUtils.fromManifestDB(x,
2623
2628
  t));case 3:return w.enterFinallyBlock(),w.yield(k.destroy(),14);case 14:if(!g){w.jumpTo(15);break}return w.yield(g.stop(),15);case 15:if(!h){w.jumpTo(17);break}return w.yield(h.destroy(),17);case 17:w.leaveFinallyBlock(0);break;case 2:y=w.enterCatchBlock();if(null==m){w.jumpTo(19);break}return w.yield(shaka.offline.Storage.cleanStoredManifest(m),19);case 19:throw n||y;}})};
2624
- shaka.offline.Storage.prototype.downloadSegments_=function(a,b,c,d,e,f,g,h){var k=this,l,m,n,p,q,r,t,u,v,x;return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){switch(y.nextAddress){case 1:l={};m=0;n=function(w,z){var C,A,B,E,G,H,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(D){if(1==D.nextAddress){C=$jscomp.makeIterator(w);A=C.next();for(B={};!A.done;B={download$jscomp$1:void 0},A=C.next())B.download$jscomp$1=A.value,E=B.download$jscomp$1.makeSegmentRequest(e),G=B.download$jscomp$1.estimateId,
2625
- H=B.download$jscomp$1.isInitSegment,F=function(I){return function(J){var M,K,L;return $jscomp.asyncExecutePromiseGeneratorProgram(function(N){if(1==N.nextAddress)return N.yield(f.addSegments([{data:J}]),2);M=N.yieldResult;k.ensureNotDestroyed_();K=I.download$jscomp$1.ref;L=shaka.offline.DownloadInfo.idForSegmentRef(K);l[L]=M[0];m+=J.byteLength;N.jumpToEnd()})}}(B),d.queue(B.download$jscomp$1.groupId,E,G,H,F);return D.yield(d.waitToFinish(),2)}if(!z)return D.jumpTo(0);k.ensureNotDestroyed_();k.setManifestDrmFields_(g,
2626
- c,h,e);return D.yield(f.updateManifest(b,c),0)})};p=!1;y.setCatchFinallyBlocks(2);if(!k.getManifestIsEncrypted_(g)||!p||k.getManifestIncludesInitData_(g)){y.jumpTo(4);break}return y.yield(n(a.filter(function(w){return w.isInitSegment}),!0),5);case 5:return k.ensureNotDestroyed_(),a=a.filter(function(w){return!w.isInitSegment}),q=l,r=m,l={},m=0,y.yield(shaka.offline.Storage.assignSegmentsToManifest(f,b,c,q,r,function(){return k.ensureNotDestroyed_()}),6);case 6:k.ensureNotDestroyed_();case 4:if(p){y.jumpTo(7);
2629
+ shaka.offline.Storage.prototype.downloadSegments_=function(a,b,c,d,e,f,g,h){var k=this,l,m,n,p,q,r,t,u,v,x;return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){switch(y.nextAddress){case 1:l={};m=0;n=function(w,z){var C,A,B,D,G,J,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){if(1==E.nextAddress){C=$jscomp.makeIterator(w);A=C.next();for(B={};!A.done;B={download$jscomp$1:void 0},A=C.next())B.download$jscomp$1=A.value,D=B.download$jscomp$1.makeSegmentRequest(e),G=B.download$jscomp$1.estimateId,
2630
+ J=B.download$jscomp$1.isInitSegment,F=function(M){return function(I){var H,K,L;return $jscomp.asyncExecutePromiseGeneratorProgram(function(N){if(1==N.nextAddress)return N.yield(f.addSegments([{data:I}]),2);H=N.yieldResult;k.ensureNotDestroyed_();K=M.download$jscomp$1.ref;L=shaka.offline.DownloadInfo.idForSegmentRef(K);l[L]=H[0];m+=I.byteLength;N.jumpToEnd()})}}(B),d.queue(B.download$jscomp$1.groupId,D,G,J,F);return E.yield(d.waitToFinish(),2)}if(!z)return E.jumpTo(0);k.ensureNotDestroyed_();k.setManifestDrmFields_(g,
2631
+ c,h,e);return E.yield(f.updateManifest(b,c),0)})};p=!1;y.setCatchFinallyBlocks(2);if(!k.getManifestIsEncrypted_(g)||!p||k.getManifestIncludesInitData_(g)){y.jumpTo(4);break}return y.yield(n(a.filter(function(w){return w.isInitSegment}),!0),5);case 5:return k.ensureNotDestroyed_(),a=a.filter(function(w){return!w.isInitSegment}),q=l,r=m,l={},m=0,y.yield(shaka.offline.Storage.assignSegmentsToManifest(f,b,c,q,r,function(){return k.ensureNotDestroyed_()}),6);case 6:k.ensureNotDestroyed_();case 4:if(p){y.jumpTo(7);
2627
2632
  break}return y.yield(n(a,!1),8);case 8:return k.ensureNotDestroyed_(),t=l,u=m,l={},m=0,y.yield(shaka.offline.Storage.assignSegmentsToManifest(f,b,c,t,u,function(){return k.ensureNotDestroyed_()}),9);case 9:k.ensureNotDestroyed_(),goog.asserts.assert(!c.isIncomplete,"The manifest should be complete by now");case 7:y.leaveTryBlock(0);break;case 2:return v=y.enterCatchBlock(),x=Object.values(l),y.yield(f.removeSegments(x,function(w){}),10);case 10:throw v;}})};
2628
2633
  shaka.offline.Storage.cleanStoredManifest=function(a){var b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){switch(f.nextAddress){case 1:return b=new shaka.offline.StorageMuxer,f.yield(b.init(),2);case 2:return f.yield(b.getActive(),3);case 3:return c=f.yieldResult,d=shaka.offline.OfflineUri.manifest(c.path.mechanism,c.path.cell,a),f.yield(b.destroy(),4);case 4:return e=new shaka.offline.Storage,f.yield(e.remove(d.toString()),0)}})};
2629
2634
  shaka.offline.Storage.assignSegmentsToManifest=function(a,b,c,d,e,f){var g,h,k,l,m,n,p,q,r,t,u;return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){switch(v.nextAddress){case 1:g=!1;v.setCatchFinallyBlocks(2);h=!0;k=$jscomp.makeIterator(c.streams);for(l=k.next();!l.done;l=k.next())for(m=l.value,n=$jscomp.makeIterator(m.segments),p=n.next();!p.done;p=n.next())q=p.value,r=q.pendingSegmentRefId?d[q.pendingSegmentRefId]:null,null!=r&&(q.dataKey=r,q.pendingSegmentRefId=void 0),r=q.pendingInitSegmentRefId?
2630
2635
  d[q.pendingInitSegmentRefId]:null,null!=r&&(q.initSegmentKey=r,q.pendingInitSegmentRefId=void 0),q.pendingSegmentRefId&&(h=!1),q.pendingInitSegmentRefId&&(h=!1);c.size+=e;h&&(c.isIncomplete=!1);return v.yield(a.updateManifest(b,c),4);case 4:g=!0;f();v.leaveTryBlock(0);break;case 2:return t=v.enterCatchBlock(),v.yield(shaka.offline.Storage.cleanStoredManifest(b),5);case 5:if(g){v.jumpTo(6);break}u=Object.values(d);return v.yield(a.removeSegments(u,function(x){}),6);case 6:throw t;}})};
2631
- shaka.offline.Storage.prototype.filterManifest_=function(a,b,c){var d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,E,G,H,F,D,I,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(M){switch(M.nextAddress){case 1:return d={width:Infinity,height:Infinity},shaka.util.StreamUtils.filterByRestrictions(a,c.restrictions,d),M.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(b,a,c.offline.usePersistentLicense,c.drm.preferredKeySystems),2);case 2:e=[];f=c.preferredDecodingAttributes;g=c.preferredVideoCodecs;
2636
+ shaka.offline.Storage.prototype.filterManifest_=function(a,b,c){var d,e,f,g,h,k,l,m,n,p,q,r,t,u,v,x,y,w,z,C,A,B,D,G,J,F,E,M,I;return $jscomp.asyncExecutePromiseGeneratorProgram(function(H){switch(H.nextAddress){case 1:return d={width:Infinity,height:Infinity},shaka.util.StreamUtils.filterByRestrictions(a,c.restrictions,d),H.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(b,a,c.offline.usePersistentLicense,c.drm.preferredKeySystems),2);case 2:e=[];f=c.preferredDecodingAttributes;g=c.preferredVideoCodecs;
2632
2637
  h=c.preferredAudioCodecs;shaka.util.StreamUtils.chooseCodecsAndFilterManifest(a,g,h,f);k=$jscomp.makeIterator(a.variants);for(l=k.next();!l.done;l=k.next())m=l.value,goog.asserts.assert(shaka.util.StreamUtils.isPlayable(m),'We should have already filtered by "is playable"'),e.push(shaka.util.StreamUtils.variantToTrack(m));n=$jscomp.makeIterator(a.textStreams);for(p=n.next();!p.done;p=n.next())q=p.value,e.push(shaka.util.StreamUtils.textStreamToTrack(q));r=$jscomp.makeIterator(a.imageStreams);for(t=
2633
- r.next();!t.done;t=r.next())u=t.value,e.push(shaka.util.StreamUtils.imageStreamToTrack(u));return M.yield(c.offline.trackSelectionCallback(e),3);case 3:v=M.yieldResult;x=a.presentationTimeline.getDuration();y=0;w=$jscomp.makeIterator(v);for(z=w.next();!z.done;z=w.next())C=z.value,A=C.bandwidth*x/8,y+=A;M.setCatchFinallyBlocks(4);return M.yield(c.offline.downloadSizeCallback(y),6);case 6:B=M.yieldResult;if(!B)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,
2634
- shaka.util.Error.Code.STORAGE_LIMIT_REACHED);M.leaveTryBlock(5);break;case 4:E=M.enterCatchBlock();if(E instanceof shaka.util.Error)throw E;shaka.log.warning("downloadSizeCallback has produced an unexpected error",E);throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.DOWNLOAD_SIZE_CALLBACK_ERROR);case 5:G=new Set;H=new Set;F=new Set;D=$jscomp.makeIterator(v);for(I=D.next();!I.done;I=D.next())J=I.value,"variant"==J.type&&G.add(J.id),
2635
- "text"==J.type&&H.add(J.id),"image"==J.type&&F.add(J.id);a.variants=a.variants.filter(function(K){return G.has(K.id)});a.textStreams=a.textStreams.filter(function(K){return H.has(K.id)});a.imageStreams=a.imageStreams.filter(function(K){return F.has(K.id)});shaka.offline.Storage.validateManifest_(a);M.jumpToEnd()}})};
2638
+ r.next();!t.done;t=r.next())u=t.value,e.push(shaka.util.StreamUtils.imageStreamToTrack(u));return H.yield(c.offline.trackSelectionCallback(e),3);case 3:v=H.yieldResult;x=a.presentationTimeline.getDuration();y=0;w=$jscomp.makeIterator(v);for(z=w.next();!z.done;z=w.next())C=z.value,A=C.bandwidth*x/8,y+=A;H.setCatchFinallyBlocks(4);return H.yield(c.offline.downloadSizeCallback(y),6);case 6:B=H.yieldResult;if(!B)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,
2639
+ shaka.util.Error.Code.STORAGE_LIMIT_REACHED);H.leaveTryBlock(5);break;case 4:D=H.enterCatchBlock();if(D instanceof shaka.util.Error)throw D;shaka.log.warning("downloadSizeCallback has produced an unexpected error",D);throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.DOWNLOAD_SIZE_CALLBACK_ERROR);case 5:G=new Set;J=new Set;F=new Set;E=$jscomp.makeIterator(v);for(M=E.next();!M.done;M=E.next())I=M.value,"variant"==I.type&&G.add(I.id),
2640
+ "text"==I.type&&J.add(I.id),"image"==I.type&&F.add(I.id);a.variants=a.variants.filter(function(K){return G.has(K.id)});a.textStreams=a.textStreams.filter(function(K){return J.has(K.id)});a.imageStreams=a.imageStreams.filter(function(K){return F.has(K.id)});shaka.offline.Storage.validateManifest_(a);H.jumpToEnd()}})};
2636
2641
  shaka.offline.Storage.prototype.makeManifestDB_=function(a,b,c,d,e,f){var g=shaka.offline.StoredContentUtils.fromManifest(c,b,0,d),h=e.offline.progressCallback;f.setCallbacks(function(q,r){g.size=r;h(g,q)},function(q,r){k&&e.offline.usePersistentLicense&&l==r&&a.newInitData("cenc",q)});var k=this.getManifestIsEncrypted_(b)&&!this.getManifestIncludesInitData_(b),l=null;if(k){var m=a.getDrmInfo();l=shaka.offline.Storage.defaultSystemIds_.get(m.keySystem)}m=new shaka.offline.StreamBandwidthEstimator;
2637
2642
  for(var n=$jscomp.makeIterator(b.textStreams),p=n.next();!p.done;p=n.next())m.addText(p.value);n=$jscomp.makeIterator(b.imageStreams);for(p=n.next();!p.done;p=n.next())m.addImage(p.value);n=$jscomp.makeIterator(b.variants);for(p=n.next();!p.done;p=n.next())m.addVariant(p.value);m=this.createStreams_(f,m,a,b,e);f=m.streams;m=m.toDownload;n=a.getDrmInfo();p=e.offline.usePersistentLicense;n&&p&&(n.initData=[]);return{manifestDB:{creationTime:Date.now(),originalManifestUri:c,duration:b.presentationTimeline.getDuration(),
2638
2643
  size:0,expiration:a.getExpiration(),streams:f,sessionIds:p?a.getSessionIds():[],drmInfo:n,appMetadata:d,isIncomplete:!0,sequenceMode:b.sequenceMode,type:b.type},toDownload:m}};shaka.offline.Storage.prototype.getManifestIsEncrypted_=function(a){return a.variants.some(function(b){var c=b.audio&&b.audio.encrypted;return b.video&&b.video.encrypted||c})};
@@ -2926,14 +2931,14 @@ generalProfileSpace:a.generalProfileSpace,generalTierFlag:a.generalTierFlag,gene
2926
2931
  generalConstraintIndicatorFlags3:a.generalConstraintIndicatorFlags3,generalConstraintIndicatorFlags4:a.generalConstraintIndicatorFlags4,generalConstraintIndicatorFlags5:a.generalConstraintIndicatorFlags5,generalConstraintIndicatorFlags6:a.generalConstraintIndicatorFlags6,constantFrameRate:a.constantFrameRate,minSpatialSegmentationIdc:a.minSpatialSegmentationIdc,chromaFormatIdc:a.chromaFormatIdc,bitDepthLumaMinus8:a.bitDepthLumaMinus8,bitDepthChromaMinus8:a.bitDepthChromaMinus8,parallelismType:g.parallelismType});
2927
2932
  return{height:a.height,width:a.width,videoConfig:c,hSpacing:a.sarWidth,vSpacing:a.sarHeight}};shaka.transmuxer.H265.parseVPS_=function(a){var b=new shaka.util.ExpGolomb(a,!0);b.readUnsignedByte();b.readUnsignedByte();b.readBits(4);b.readBits(2);b.readBits(6);a=b.readBits(3);b=b.readBoolean();return{numTemporalLayers:a+1,temporalIdNested:b}};
2928
2933
  shaka.transmuxer.H265.parseSPS_=function(a){a=new shaka.util.ExpGolomb(a,!0);a.readUnsignedByte();a.readUnsignedByte();var b=0,c=0,d=0,e=0;a.readBits(4);var f=a.readBits(3);a.readBoolean();for(var g=a.readBits(2),h=a.readBits(1),k=a.readBits(5),l=a.readUnsignedByte(),m=a.readUnsignedByte(),n=a.readUnsignedByte(),p=a.readUnsignedByte(),q=a.readUnsignedByte(),r=a.readUnsignedByte(),t=a.readUnsignedByte(),u=a.readUnsignedByte(),v=a.readUnsignedByte(),x=a.readUnsignedByte(),y=a.readUnsignedByte(),w=[],
2929
- z=[],C=0;C<f;C++)w.push(a.readBoolean()),z.push(a.readBoolean());if(0<f)for(C=f;8>C;C++)a.readBits(2);for(C=0;C<f;C++)w[C]&&a.readBits(88),z[C]&&a.readUnsignedByte();a.readUnsignedExpGolomb();w=a.readUnsignedExpGolomb();3==w&&a.readBits(1);z=a.readUnsignedExpGolomb();C=a.readUnsignedExpGolomb();a.readBoolean()&&(b+=a.readUnsignedExpGolomb(),c+=a.readUnsignedExpGolomb(),d+=a.readUnsignedExpGolomb(),e+=a.readUnsignedExpGolomb());var A=a.readUnsignedExpGolomb(),B=a.readUnsignedExpGolomb(),E=a.readUnsignedExpGolomb();
2930
- if(a.readBoolean())for(var G=0;G<=f;G++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();else a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();if(a.readBoolean()&&a.readBoolean())for(G=0;4>G;G++)for(var H=0;H<(3===G?2:6);H++)if(a.readBoolean()){var F=Math.min(64,1<<4+(G<<1));1<G&&a.readExpGolomb();
2931
- for(var D=0;D<F;D++)a.readExpGolomb()}else a.readUnsignedExpGolomb();a.readBoolean();a.readBoolean();a.readBoolean()&&(a.readUnsignedByte(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readBoolean());G=a.readUnsignedExpGolomb();for(F=H=0;F<G;F++)if(D=!1,0!==F&&(D=a.readBoolean()),D){F===G&&a.readUnsignedExpGolomb();a.readBoolean();a.readUnsignedExpGolomb();for(var I=D=0;I<=H;I++){var J=a.readBoolean(),M=!1;J||(M=a.readBoolean());(J||M)&&D++}H=D}else{I=a.readUnsignedExpGolomb();D=a.readUnsignedExpGolomb();
2932
- H=I+D;for(J=0;J<I;J++)a.readUnsignedExpGolomb(),a.readBoolean();for(I=0;I<D;I++)a.readUnsignedExpGolomb(),a.readBoolean()}if(a.readBoolean())for(G=a.readUnsignedExpGolomb(),H=0;H<G;H++){for(F=0;F<E+4;F++)a.readBits(1);a.readBits(1)}G=E=1;H=0;a.readBoolean();a.readBoolean();if(a.readBoolean()){a.readBoolean()&&(F=a.readUnsignedByte(),D=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],I=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1],0<F&&16>=F?(E=D[F-1],G=I[F-1]):255===F&&(E=a.readBits(16),G=a.readBits(16)));
2934
+ z=[],C=0;C<f;C++)w.push(a.readBoolean()),z.push(a.readBoolean());if(0<f)for(C=f;8>C;C++)a.readBits(2);for(C=0;C<f;C++)w[C]&&a.readBits(88),z[C]&&a.readUnsignedByte();a.readUnsignedExpGolomb();w=a.readUnsignedExpGolomb();3==w&&a.readBits(1);z=a.readUnsignedExpGolomb();C=a.readUnsignedExpGolomb();a.readBoolean()&&(b+=a.readUnsignedExpGolomb(),c+=a.readUnsignedExpGolomb(),d+=a.readUnsignedExpGolomb(),e+=a.readUnsignedExpGolomb());var A=a.readUnsignedExpGolomb(),B=a.readUnsignedExpGolomb(),D=a.readUnsignedExpGolomb();
2935
+ if(a.readBoolean())for(var G=0;G<=f;G++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();else a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();if(a.readBoolean()&&a.readBoolean())for(G=0;4>G;G++)for(var J=0;J<(3===G?2:6);J++)if(a.readBoolean()){var F=Math.min(64,1<<4+(G<<1));1<G&&a.readExpGolomb();
2936
+ for(var E=0;E<F;E++)a.readExpGolomb()}else a.readUnsignedExpGolomb();a.readBoolean();a.readBoolean();a.readBoolean()&&(a.readUnsignedByte(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readBoolean());G=a.readUnsignedExpGolomb();for(F=J=0;F<G;F++)if(E=!1,0!==F&&(E=a.readBoolean()),E){F===G&&a.readUnsignedExpGolomb();a.readBoolean();a.readUnsignedExpGolomb();for(var M=E=0;M<=J;M++){var I=a.readBoolean(),H=!1;I||(H=a.readBoolean());(I||H)&&E++}J=E}else{M=a.readUnsignedExpGolomb();E=a.readUnsignedExpGolomb();
2937
+ J=M+E;for(I=0;I<M;I++)a.readUnsignedExpGolomb(),a.readBoolean();for(M=0;M<E;M++)a.readUnsignedExpGolomb(),a.readBoolean()}if(a.readBoolean())for(G=a.readUnsignedExpGolomb(),J=0;J<G;J++){for(F=0;F<D+4;F++)a.readBits(1);a.readBits(1)}G=D=1;J=0;a.readBoolean();a.readBoolean();if(a.readBoolean()){a.readBoolean()&&(F=a.readUnsignedByte(),E=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],M=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1],0<F&&16>=F?(D=E[F-1],G=M[F-1]):255===F&&(D=a.readBits(16),G=a.readBits(16)));
2933
2938
  a.readBoolean()&&a.readBoolean();a.readBoolean()&&(a.readBits(3),a.readBoolean(),a.readBoolean()&&(a.readUnsignedByte(),a.readUnsignedByte(),a.readUnsignedByte()));a.readBoolean()&&(a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb());a.readBoolean();a.readBoolean();a.readBoolean();if(F=a.readBoolean())a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();if(a.readBoolean()&&(a.readBits(32),a.readBits(32),a.readBoolean()&&a.readUnsignedExpGolomb(),
2934
- a.readBoolean())){I=!1;F=a.readBoolean();D=a.readBoolean();if(F||D){if(I=a.readBoolean())a.readUnsignedByte(),a.readBits(5),a.readBoolean(),a.readBits(5);a.readBits(4);a.readBits(4);I&&a.readBits(4);a.readBits(5);a.readBits(5);a.readBits(5)}for(J=0;J<=f;J++){var K=!0;M=1;a.readBoolean()||(K=a.readBoolean());var L=!1;K?a.readUnsignedExpGolomb():L=a.readBoolean();L||(M=a.readUnsignedExpGolomb()+1);if(F){for(K=0;K<M;K++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),I&&(a.readUnsignedExpGolomb(),
2935
- a.readUnsignedExpGolomb());a.readBoolean()}if(D){for(K=0;K<M;K++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),I&&(a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb());a.readBoolean()}}}a.readBoolean()&&(a.readBoolean(),a.readBoolean(),a.readBoolean(),H=a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb())}return{generalLevelIdc:y,generalProfileSpace:g,generalTierFlag:h,generalProfileIdc:k,generalProfileCompatibilityFlags1:l,
2936
- generalProfileCompatibilityFlags2:m,generalProfileCompatibilityFlags3:n,generalProfileCompatibilityFlags4:p,generalConstraintIndicatorFlags1:q,generalConstraintIndicatorFlags2:r,generalConstraintIndicatorFlags3:t,generalConstraintIndicatorFlags4:u,generalConstraintIndicatorFlags5:v,generalConstraintIndicatorFlags6:x,minSpatialSegmentationIdc:H,constantFrameRate:0,chromaFormatIdc:w,bitDepthLumaMinus8:A,bitDepthChromaMinus8:B,width:z-(b+c)*(1===w||2===w?2:1),height:C-(d+e)*(1===w?2:1),sarWidth:E,sarHeight:G}};
2939
+ a.readBoolean())){M=!1;F=a.readBoolean();E=a.readBoolean();if(F||E){if(M=a.readBoolean())a.readUnsignedByte(),a.readBits(5),a.readBoolean(),a.readBits(5);a.readBits(4);a.readBits(4);M&&a.readBits(4);a.readBits(5);a.readBits(5);a.readBits(5)}for(I=0;I<=f;I++){var K=!0;H=1;a.readBoolean()||(K=a.readBoolean());var L=!1;K?a.readUnsignedExpGolomb():L=a.readBoolean();L||(H=a.readUnsignedExpGolomb()+1);if(F){for(K=0;K<H;K++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),M&&(a.readUnsignedExpGolomb(),
2940
+ a.readUnsignedExpGolomb());a.readBoolean()}if(E){for(K=0;K<H;K++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),M&&(a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb());a.readBoolean()}}}a.readBoolean()&&(a.readBoolean(),a.readBoolean(),a.readBoolean(),J=a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb())}return{generalLevelIdc:y,generalProfileSpace:g,generalTierFlag:h,generalProfileIdc:k,generalProfileCompatibilityFlags1:l,
2941
+ generalProfileCompatibilityFlags2:m,generalProfileCompatibilityFlags3:n,generalProfileCompatibilityFlags4:p,generalConstraintIndicatorFlags1:q,generalConstraintIndicatorFlags2:r,generalConstraintIndicatorFlags3:t,generalConstraintIndicatorFlags4:u,generalConstraintIndicatorFlags5:v,generalConstraintIndicatorFlags6:x,minSpatialSegmentationIdc:J,constantFrameRate:0,chromaFormatIdc:w,bitDepthLumaMinus8:A,bitDepthChromaMinus8:B,width:z-(b+c)*(1===w||2===w?2:1),height:C-(d+e)*(1===w?2:1),sarWidth:D,sarHeight:G}};
2937
2942
  shaka.transmuxer.H265.parsePPS_=function(a){var b=new shaka.util.ExpGolomb(a,!0);b.readUnsignedByte();b.readUnsignedByte();b.readUnsignedExpGolomb();b.readUnsignedExpGolomb();b.readBoolean();b.readBoolean();b.readBits(3);b.readBoolean();b.readBoolean();b.readUnsignedExpGolomb();b.readUnsignedExpGolomb();b.readExpGolomb();b.readBoolean();b.readBoolean();b.readBoolean()&&b.readUnsignedExpGolomb();b.readExpGolomb();b.readExpGolomb();b.readBoolean();b.readBoolean();b.readBoolean();b.readBoolean();a=b.readBoolean();
2938
2943
  b=b.readBoolean();var c=1;b&&a?c=0:b?c=3:a&&(c=2);return{parallelismType:c}};
2939
2944
  shaka.transmuxer.H265.getVideoConfiguration_=function(a,b,c,d){var e=shaka.transmuxer.H265,f=new Uint8Array(23+(5+a.byteLength)+(5+b.byteLength)+(5+c.byteLength));f[0]=1;f[1]=(d.generalProfileSpace&3)<<6|(d.generalTierFlag?1:0)<<5|d.generalProfileIdc&31;f[2]=d.generalProfileCompatibilityFlags1;f[3]=d.generalProfileCompatibilityFlags2;f[4]=d.generalProfileCompatibilityFlags3;f[5]=d.generalProfileCompatibilityFlags4;f[6]=d.generalConstraintIndicatorFlags1;f[7]=d.generalConstraintIndicatorFlags2;f[8]=