shaka-player 4.11.4 → 4.11.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -4
- package/dist/cast-boot.js +7 -0
- package/dist/deps.js +2 -2
- package/dist/locales.js +37 -37
- package/dist/shaka-player.compiled.debug.js +59 -55
- package/dist/shaka-player.compiled.debug.map +3 -3
- package/dist/shaka-player.compiled.js +445 -442
- package/dist/shaka-player.compiled.map +3 -3
- package/dist/shaka-player.ui.debug.js +69 -65
- package/dist/shaka-player.ui.debug.map +3 -3
- package/dist/shaka-player.ui.js +459 -456
- package/dist/shaka-player.ui.map +3 -3
- package/lib/ads/interstitial_ad_manager.js +4 -0
- package/lib/hls/hls_parser.js +18 -4
- package/lib/media/preload_manager.js +17 -0
- package/lib/media/presentation_timeline.js +7 -1
- package/lib/media/streaming_engine.js +27 -9
- package/lib/player.js +35 -32
- package/lib/polyfill/encryption_scheme.js +9 -0
- package/lib/util/periods.js +3 -0
- package/lib/util/platform.js +9 -1
- package/package.json +1 -1
- package/ui/controls.js +10 -3
- package/ui/locales/zh-HK.json +30 -11
- package/ui/resolution_selection.js +4 -1
|
@@ -191,12 +191,13 @@ shaka.util.Platform.isXboxOne=function(){return shaka.util.Platform.userAgentCon
|
|
|
191
191
|
shaka.util.Platform.isTizen4=function(){return shaka.util.Platform.userAgentContains_("Tizen 4")};shaka.util.Platform.isTizen3=function(){return shaka.util.Platform.userAgentContains_("Tizen 3")};shaka.util.Platform.isTizen2=function(){return shaka.util.Platform.userAgentContains_("Tizen 2")};shaka.util.Platform.isWebOS=function(){return shaka.util.Platform.userAgentContains_("Web0S")};shaka.util.Platform.isWebOS3=function(){return shaka.util.Platform.isWebOS()&&38===shaka.util.Platform.chromeVersion()};
|
|
192
192
|
shaka.util.Platform.isWebOS4=function(){return shaka.util.Platform.isWebOS()&&53===shaka.util.Platform.chromeVersion()};shaka.util.Platform.isWebOS5=function(){return shaka.util.Platform.isWebOS()&&68===shaka.util.Platform.chromeVersion()};shaka.util.Platform.isChromecast=function(){return shaka.util.Platform.userAgentContains_("CrKey")};shaka.util.Platform.isAndroidCastDevice=function(){var a=shaka.util.Platform;return a.isChromecast()&&a.isAndroid()};
|
|
193
193
|
shaka.util.Platform.isFuchsiaCastDevice=function(){var a=shaka.util.Platform;return a.isChromecast()&&a.isFuchsia()};shaka.util.Platform.chromeVersion=function(){if(!shaka.util.Platform.isChrome())return null;var a=navigator.userAgent.match(/Chrome\/(\d+)/);return a?parseInt(a[1],10):null};shaka.util.Platform.isChrome=function(){return shaka.util.Platform.userAgentContains_("Chrome")&&!shaka.util.Platform.isLegacyEdge()};shaka.util.Platform.isFirefox=function(){return shaka.util.Platform.userAgentContains_("Firefox")};
|
|
194
|
-
shaka.util.Platform.isApple=function(){return!!navigator.vendor&&navigator.vendor.includes("Apple")&&!shaka.util.Platform.isTizen()&&!shaka.util.Platform.isEOS()&&!shaka.util.Platform.isAPL()&&!shaka.util.Platform.isVirginMedia()&&!shaka.util.Platform.isOrange()&&!shaka.util.Platform.isPS4()&&!shaka.util.Platform.isAmazonFireTV()&&!shaka.util.Platform.isWPE()&&!shaka.util.Platform.isZenterio()};shaka.util.Platform.isPS5=function(){return shaka.util.Platform.userAgentContains_("PlayStation 5")};
|
|
195
|
-
shaka.util.Platform.isPS4=function(){return shaka.util.Platform.userAgentContains_("PlayStation 4")};shaka.util.Platform.isHisense=function(){return shaka.util.Platform.userAgentContains_("Hisense")||shaka.util.Platform.userAgentContains_("VIDAA")};shaka.util.Platform.isVirginMedia=function(){return shaka.util.Platform.userAgentContains_("VirginMedia")};shaka.util.Platform.isOrange=function(){return shaka.util.Platform.userAgentContains_("SOPOpenBrowser")};shaka.util.Platform.
|
|
196
|
-
shaka.util.Platform.
|
|
197
|
-
shaka.util.Platform.
|
|
198
|
-
shaka.util.Platform.
|
|
199
|
-
shaka.util.Platform.
|
|
194
|
+
shaka.util.Platform.isApple=function(){return!!navigator.vendor&&navigator.vendor.includes("Apple")&&!shaka.util.Platform.isTizen()&&!shaka.util.Platform.isEOS()&&!shaka.util.Platform.isAPL()&&!shaka.util.Platform.isVirginMedia()&&!shaka.util.Platform.isOrange()&&!shaka.util.Platform.isPS4()&&!shaka.util.Platform.isAmazonFireTV()&&!shaka.util.Platform.isWPE()&&!shaka.util.Platform.isZenterio()&&!shaka.util.Platform.isSkyQ()};shaka.util.Platform.isPS5=function(){return shaka.util.Platform.userAgentContains_("PlayStation 5")};
|
|
195
|
+
shaka.util.Platform.isPS4=function(){return shaka.util.Platform.userAgentContains_("PlayStation 4")};shaka.util.Platform.isHisense=function(){return shaka.util.Platform.userAgentContains_("Hisense")||shaka.util.Platform.userAgentContains_("VIDAA")};shaka.util.Platform.isVirginMedia=function(){return shaka.util.Platform.userAgentContains_("VirginMedia")};shaka.util.Platform.isOrange=function(){return shaka.util.Platform.userAgentContains_("SOPOpenBrowser")};shaka.util.Platform.isSkyQ=function(){return shaka.util.Platform.userAgentContains_("Sky_STB")};
|
|
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
|
+
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
|
+
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")};
|
|
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)};
|
|
200
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_};
|
|
201
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};
|
|
202
203
|
shaka.util.Platform.supportsSmoothCodecSwitching=function(){var a=shaka.util.Platform;return a.isTizen2()||a.isTizen3()||a.isTizen4()||a.isTizen5()||a.isTizen6()||a.isWebOS3()||a.isWebOS4()||a.isWebOS5()||a.isChromecast()&&!a.isAndroidCastDevice()&&!a.isFuchsiaCastDevice()||a.isWindows()&&a.isEdge()?!1:!0};shaka.util.Platform.isSeekingSlow=function(){var a=shaka.util.Platform;return a.isChromecast()&&!a.isAndroidCastDevice()?!0:!1};
|
|
@@ -824,16 +825,17 @@ w=g.getBasicType(n);if(h===y&&k===w)return e.transmuxers_[a]&&!l?(e.transmuxers_
|
|
|
824
825
|
n,l),3);l&&l.destroy();return C.yield(e.reset(d),3)}return C.return(!0)})};
|
|
825
826
|
shaka.media.MediaSourceEngine.prototype.isCodecSwitchNecessary_=function(a,b,c,d){if(a==shaka.util.ManifestParserUtils.ContentType.TEXT)return!1;var e=shaka.util.MimeUtils;b=e.getNormalizedCodec(e.getCodecs(this.sourceBufferTypes_[a]));var f=e.getBasicType(this.sourceBufferTypes_[a]),g=shaka.util.MimeUtils.getFullType(c,d),h=this.config_.forceTransmux;if(!shaka.media.Capabilities.isTypeSupported(g)||!this.sequenceMode_&&shaka.util.MimeUtils.RAW_FORMATS.includes(g))h=!0;c=shaka.util.MimeUtils.getFullTypeWithAllCodecs(c,
|
|
826
827
|
d);d=shaka.transmuxer.TransmuxerEngine;h&&(h=d.findTransmuxer(c))&&(h=h(),g=h.convertCodecs(a,c),h.destroy());a=e.getNormalizedCodec(e.getCodecs(g));e=e.getBasicType(g);return b!==a||f!==e};shaka.media.MediaSourceEngine.prototype.isResetMediaSourceNecessary=function(a,b,c,d){return this.isCodecSwitchNecessary_(a,b,c,d)?this.config_.codecSwitchingStrategy!==shaka.config.CodecSwitchingStrategy.SMOOTH||!shaka.media.Capabilities.isChangeTypeSupported()||this.needSplitMuxedContent_:!1};
|
|
827
|
-
shaka.media.MediaSourceEngine.prototype.updateLcevcDec=function(a){this.lcevcDec_=a};shaka.media.MediaSourceEngine.prototype.addExtraFeaturesToMimeType_=function(a){var b=this.config_.addExtraFeaturesToSourceBuffer(a);a+=b;shaka.log.debug("Using full mime type",a);return a};shaka.media.MediaSourceEngine.createObjectURL=window.URL.createObjectURL;shaka.media.MediaSourceEngine.SourceBufferMode_={SEQUENCE:"sequence",SEGMENTS:"segments"};shaka.media.PresentationTimeline=function(a,b,c){this.presentationStartTime_=a;this.presentationDelay_=b;this.segmentAvailabilityDuration_=this.duration_=Infinity;this.maxSegmentDuration_=1;this.maxSegmentEndTime_=this.minSegmentStartTime_=null;this.clockOffset_=0;this.static_=!0;this.userSeekStart_=0;this.autoCorrectDrift_=void 0===c?!0:c;this.availabilityTimeOffset_=0;this.startTimeLocked_=!1;this.initialProgramDateTime_=a};
|
|
828
|
-
shaka.media.PresentationTimeline.prototype.
|
|
829
|
-
shaka.media.PresentationTimeline.prototype.
|
|
830
|
-
shaka.media.PresentationTimeline.prototype.
|
|
828
|
+
shaka.media.MediaSourceEngine.prototype.updateLcevcDec=function(a){this.lcevcDec_=a};shaka.media.MediaSourceEngine.prototype.addExtraFeaturesToMimeType_=function(a){var b=this.config_.addExtraFeaturesToSourceBuffer(a);a+=b;shaka.log.debug("Using full mime type",a);return a};shaka.media.MediaSourceEngine.createObjectURL=window.URL.createObjectURL;shaka.media.MediaSourceEngine.SourceBufferMode_={SEQUENCE:"sequence",SEGMENTS:"segments"};shaka.media.PresentationTimeline=function(a,b,c){this.presentationStartTime_=a;this.presentationDelay_=b;this.segmentAvailabilityDuration_=this.duration_=Infinity;this.maxSegmentDuration_=1;this.maxSegmentEndTime_=this.minSegmentStartTime_=null;this.clockOffset_=0;this.static_=!0;this.isLive2VodTransition_=!1;this.userSeekStart_=0;this.autoCorrectDrift_=void 0===c?!0:c;this.availabilityTimeOffset_=0;this.startTimeLocked_=!1;this.initialProgramDateTime_=a};
|
|
829
|
+
shaka.media.PresentationTimeline.prototype.getDuration=function(){return this.duration_};shaka.media.PresentationTimeline.prototype.getMaxSegmentDuration=function(){return this.maxSegmentDuration_};shaka.media.PresentationTimeline.prototype.setPresentationStartTime=function(a){goog.asserts.assert(0<=a,"presentationStartTime must be >= 0");this.presentationStartTime_=a};
|
|
830
|
+
shaka.media.PresentationTimeline.prototype.setDuration=function(a){goog.asserts.assert(0<a,"duration must be > 0");this.duration_=a};shaka.media.PresentationTimeline.prototype.getPresentationStartTime=function(){return this.presentationStartTime_};shaka.media.PresentationTimeline.prototype.setClockOffset=function(a){this.clockOffset_=a};shaka.media.PresentationTimeline.prototype.setStatic=function(a){a&&!this.static_&&(this.isLive2VodTransition_=!0);this.static_=a};
|
|
831
|
+
shaka.media.PresentationTimeline.prototype.setSegmentAvailabilityDuration=function(a){goog.asserts.assert(0<=a,"segmentAvailabilityDuration must be >= 0");this.segmentAvailabilityDuration_=a};shaka.media.PresentationTimeline.prototype.getSegmentAvailabilityDuration=function(){return this.segmentAvailabilityDuration_};shaka.media.PresentationTimeline.prototype.setDelay=function(a){goog.asserts.assert(0<=a,"delay must be >= 0");this.presentationDelay_=a};
|
|
832
|
+
shaka.media.PresentationTimeline.prototype.getDelay=function(){return this.presentationDelay_};
|
|
831
833
|
shaka.media.PresentationTimeline.prototype.notifyTimeRange=function(a,b){if(0!=a.length){var c=(Date.now()+this.clockOffset_)/1E3;a=a.filter(function(e){return e.start+b<c});if(0!=a.length){var d=a[a.length-1].end+b;this.notifyMinSegmentStartTime(a[0].start+b);this.maxSegmentDuration_=a.reduce(function(e,f){return Math.max(e,f.end-f.start)},this.maxSegmentDuration_);this.maxSegmentEndTime_=Math.max(this.maxSegmentEndTime_,d);null!=this.presentationStartTime_&&this.autoCorrectDrift_&&!this.startTimeLocked_&&
|
|
832
834
|
(this.presentationStartTime_=c-this.maxSegmentEndTime_-this.maxSegmentDuration_);shaka.log.v1("notifySegments:","maxSegmentDuration="+this.maxSegmentDuration_)}}};
|
|
833
835
|
shaka.media.PresentationTimeline.prototype.notifySegments=function(a){if(0!=a.length){var b=a[0].startTime,c=a[0].endTime,d=(Date.now()+this.clockOffset_)/1E3;a=$jscomp.makeIterator(a);for(var e=a.next();!e.done;e=a.next())e=e.value,d<e.startTime||(b=Math.min(b,e.startTime),c=Math.max(c,e.endTime),this.maxSegmentDuration_=Math.max(this.maxSegmentDuration_,e.endTime-e.startTime));this.notifyMinSegmentStartTime(b);this.maxSegmentEndTime_=Math.max(this.maxSegmentEndTime_,c);null!=this.presentationStartTime_&&
|
|
834
836
|
this.autoCorrectDrift_&&!this.startTimeLocked_&&(this.presentationStartTime_=d-this.maxSegmentEndTime_-this.maxSegmentDuration_);shaka.log.v1("notifySegments:","maxSegmentDuration="+this.maxSegmentDuration_)}};shaka.media.PresentationTimeline.prototype.notifyPeriodDuration=function(a,b){this.notifyMinSegmentStartTime(a);Infinity==b||this.isLive()||(this.maxSegmentEndTime_=Math.max(this.maxSegmentEndTime_,b))};shaka.media.PresentationTimeline.prototype.getMaxSegmentEndTime=function(){return this.maxSegmentEndTime_};
|
|
835
837
|
shaka.media.PresentationTimeline.prototype.lockStartTime=function(){this.startTimeLocked_=!0};shaka.media.PresentationTimeline.prototype.isStartTimeLocked=function(){return this.startTimeLocked_};shaka.media.PresentationTimeline.prototype.setInitialProgramDateTime=function(a){this.initialProgramDateTime_=a};shaka.media.PresentationTimeline.prototype.getInitialProgramDateTime=function(){return this.initialProgramDateTime_};
|
|
836
|
-
shaka.media.PresentationTimeline.prototype.notifyMinSegmentStartTime=function(a){this.minSegmentStartTime_
|
|
838
|
+
shaka.media.PresentationTimeline.prototype.notifyMinSegmentStartTime=function(a){null==this.minSegmentStartTime_?this.minSegmentStartTime_=a:this.isLive2VodTransition_||(this.minSegmentStartTime_=Math.min(this.minSegmentStartTime_,a))};shaka.media.PresentationTimeline.prototype.notifyMaxSegmentDuration=function(a){this.maxSegmentDuration_=Math.max(this.maxSegmentDuration_,a);shaka.log.v1("notifyNewSegmentDuration:","maxSegmentDuration="+this.maxSegmentDuration_)};
|
|
837
839
|
shaka.media.PresentationTimeline.prototype.offset=function(a){null!=this.minSegmentStartTime_&&(this.minSegmentStartTime_+=a);null!=this.maxSegmentEndTime_&&(this.maxSegmentEndTime_+=a)};shaka.media.PresentationTimeline.prototype.isLive=function(){return Infinity==this.duration_&&!this.static_};shaka.media.PresentationTimeline.prototype.isInProgress=function(){return Infinity!=this.duration_&&!this.static_};
|
|
838
840
|
shaka.media.PresentationTimeline.prototype.getSegmentAvailabilityStart=function(){goog.asserts.assert(0<=this.segmentAvailabilityDuration_,"The availability duration should be positive");var a=this.getSegmentAvailabilityEnd()-this.segmentAvailabilityDuration_;return Math.max(this.userSeekStart_,a)};shaka.media.PresentationTimeline.prototype.setUserSeekStart=function(a){this.userSeekStart_=a};
|
|
839
841
|
shaka.media.PresentationTimeline.prototype.getSegmentAvailabilityEnd=function(){return this.isLive()||this.isInProgress()?Math.min(this.getLiveEdge_()+this.availabilityTimeOffset_,this.duration_):this.maxSegmentEndTime_?Math.min(this.maxSegmentEndTime_,this.duration_):this.duration_};
|
|
@@ -976,8 +978,8 @@ shaka.media.SegmentUtils.filterDuplicateCodecs_=function(a){var b=new Set,c=[];a
|
|
|
976
978
|
shaka.media.SegmentUtils.chooseBetterCodecs_=function(a){if(1>=a.length)return a;var b=a.find(function(c){return c.startsWith("dvav.")||c.startsWith("dva1.")||c.startsWith("dvh1.")||c.startsWith("dvhe.")||c.startsWith("dav1.")||c.startsWith("dvc1.")||c.startsWith("dvi1.")});return b?shaka.media.Capabilities.isTypeSupported('video/mp4; codecs="'+b+'"')?[b]:a.filter(function(c){return c!=b}):a};
|
|
977
979
|
shaka.media.SegmentUtils.getDefaultKID=function(a){var b=shaka.util.Mp4Parser,c=null;(new b).box("moov",b.children).box("trak",b.children).box("mdia",b.children).box("minf",b.children).box("stbl",b.children).fullBox("stsd",b.sampleDescription).box("encv",b.visualSampleEntry).box("enca",b.audioSampleEntry).box("sinf",b.children).box("schi",b.children).fullBox("tenc",function(d){c=shaka.util.Mp4BoxParsers.parseTENC(d.reader).defaultKID}).parse(a,!0);return c};
|
|
978
980
|
shaka.media.SegmentUtils.aesDecrypt=function(a,b,c){var d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){if(1==k.nextAddress){d=b;if(d.cryptoKey)return k.jumpTo(2);goog.asserts.assert(d.fetchKey,"If AES cryptoKey was not preloaded, fetchKey function should be provided");return k.yield(d.fetchKey(),3)}2!=k.nextAddress&&goog.asserts.assert(d.cryptoKey,"AES cryptoKey should now be set");e=d.iv;if(!e)for(e=shaka.util.BufferUtils.toUint8(new ArrayBuffer(16)),f=d.firstMediaSequenceNumber+
|
|
979
|
-
c,g=e.byteLength-1;0<=g;g--)e[g]=f&255,f>>=8;h="CBC"==b.blockCipherMode?{name:"AES-CBC",iv:e}:{name:"AES-CTR",counter:e,length:64};return k.return(window.crypto.subtle.decrypt(h,d.cryptoKey,a))})};shaka.util.Networking=function(){};shaka.util.Networking.createSegmentRequest=function(a,b,c,d,e){a=shaka.net.NetworkingEngine.makeRequest(a,d,e);if(0!=b||null!=c)a.headers.Range=c?"bytes="+b+"-"+c:"bytes="+b+"-";return a};shaka.media.StreamingEngine=function(a,b){var c=this;this.playerInterface_=b;this.manifest_=a;this.config_=null;this.deferredCloseSegmentIndex_=new Map;this.
|
|
980
|
-
1E3;this.audioPrefetchMap_=new Map;this.spatialVideoInfo_={projection:null,hfov:null};this.playRangeStart_=0;this.playRangeEnd_=Infinity};shaka.media.StreamingEngine.prototype.destroy=function(){return this.destroyer_.destroy()};
|
|
981
|
+
c,g=e.byteLength-1;0<=g;g--)e[g]=f&255,f>>=8;h="CBC"==b.blockCipherMode?{name:"AES-CBC",iv:e}:{name:"AES-CTR",counter:e,length:64};return k.return(window.crypto.subtle.decrypt(h,d.cryptoKey,a))})};shaka.util.Networking=function(){};shaka.util.Networking.createSegmentRequest=function(a,b,c,d,e){a=shaka.net.NetworkingEngine.makeRequest(a,d,e);if(0!=b||null!=c)a.headers.Range=c?"bytes="+b+"-"+c:"bytes="+b+"-";return a};shaka.media.StreamingEngine=function(a,b){var c=this;this.playerInterface_=b;this.manifest_=a;this.config_=null;this.deferredCloseSegmentIndex_=new Map;this.bufferingScale_=1;this.currentTextStream_=this.currentVariant_=null;this.textStreamSequenceId_=0;this.parsedPrftEventRaised_=!1;this.mediaStates_=new Map;this.startupComplete_=!1;this.failureCallbackBackoff_=null;this.fatalError_=!1;this.destroyer_=new shaka.util.Destroyer(function(){return c.doDestroy_()});this.lastMediaSourceReset_=Date.now()/
|
|
982
|
+
1E3;this.audioPrefetchMap_=new Map;this.spatialVideoInfo_={projection:null,hfov:null};this.playRangeStart_=0;this.playRangeEnd_=Infinity;this.lastTextMediaStateBeforeUnload_=null};shaka.media.StreamingEngine.prototype.destroy=function(){return this.destroyer_.destroy()};
|
|
981
983
|
shaka.media.StreamingEngine.prototype.doDestroy_=function(){var a=this,b,c,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){if(1==k.nextAddress){b=[];c=$jscomp.makeIterator(a.mediaStates_.values());for(d=c.next();!d.done;d=c.next())e=d.value,a.cancelUpdate_(e),b.push(a.abortOperations_(e)),e.segmentPrefetch&&(e.segmentPrefetch.clearAll(),e.segmentPrefetch=null);f=$jscomp.makeIterator(a.audioPrefetchMap_.values());for(g=f.next();!g.done;g=f.next())h=g.value,h.clearAll();return k.yield(Promise.all(b),
|
|
982
984
|
2)}a.mediaStates_.clear();a.audioPrefetchMap_.clear();a.playerInterface_=null;a.manifest_=null;a.config_=null;k.jumpToEnd()})};
|
|
983
985
|
shaka.media.StreamingEngine.prototype.configure=function(a){this.config_=a;this.failureCallbackBackoff_=new shaka.net.Backoff({maxAttempts:Math.max(a.retryParameters.maxAttempts,2),baseDelay:a.retryParameters.baseDelay,backoffFactor:a.retryParameters.backoffFactor,fuzzFactor:a.retryParameters.fuzzFactor,timeout:0,stallTimeout:0,connectionTimeout:0},!0);var b=shaka.util.ManifestParserUtils.ContentType;if(a.disableAudioPrefetch){var c=this.mediaStates_.get(b.AUDIO);c&&c.segmentPrefetch&&(c.segmentPrefetch.clearAll(),
|
|
@@ -988,10 +990,10 @@ shaka.media.StreamingEngine.prototype.start=function(a){var b=this;return $jscom
|
|
|
988
990
|
shaka.media.StreamingEngine.prototype.getCurrentTextStream=function(){return this.currentTextStream_};
|
|
989
991
|
shaka.media.StreamingEngine.prototype.loadNewTextStream_=function(a){var b=this,c,d,e,f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){switch(l.nextAddress){case 1:return c=shaka.util.ManifestParserUtils.ContentType,goog.asserts.assert(!b.mediaStates_.has(c.TEXT),"Should not call loadNewTextStream_ while streaming text!"),b.textStreamSequenceId_++,d=b.textStreamSequenceId_,l.setCatchFinallyBlocks(2),l.yield(b.playerInterface_.mediaSourceEngine.clear(c.TEXT),4);case 4:l.leaveTryBlock(3);
|
|
990
992
|
break;case 2:if(e=l.enterCatchBlock(),b.playerInterface_)b.playerInterface_.onError(e);case 3:f=shaka.util.MimeUtils.getFullType(a.mimeType,a.codecs),b.playerInterface_.mediaSourceEngine.reinitText(f,b.manifest_.sequenceMode,a.external),g=b.playerInterface_.mediaSourceEngine.getTextDisplayer(),(h=g.isTextVisible()||b.config_.alwaysStreamText)&&b.textStreamSequenceId_==d&&(k=b.createMediaState_(a),b.mediaStates_.set(c.TEXT,k),b.scheduleUpdate_(k,0)),l.jumpToEnd()}})};
|
|
991
|
-
shaka.media.StreamingEngine.prototype.unloadTextStream=function(){var a=shaka.util.ManifestParserUtils.ContentType,b=this.mediaStates_.get(a.TEXT);b&&(this.cancelUpdate_(b),this.abortOperations_(b).catch(function(){}),this.mediaStates_.delete(a.TEXT));this.currentTextStream_=null};
|
|
993
|
+
shaka.media.StreamingEngine.prototype.unloadTextStream=function(){var a=shaka.util.ManifestParserUtils.ContentType,b=this.mediaStates_.get(a.TEXT);b&&(this.cancelUpdate_(b),this.abortOperations_(b).catch(function(){}),this.lastTextMediaStateBeforeUnload_=this.mediaStates_.get(a.TEXT),this.mediaStates_.delete(a.TEXT));this.currentTextStream_=null};
|
|
992
994
|
shaka.media.StreamingEngine.prototype.setTrickPlay=function(a){var b=shaka.util.ManifestParserUtils.ContentType;this.updateSegmentIteratorReverse_();if(b=this.mediaStates_.get(b.VIDEO)){var c=b.stream;if(c)if(shaka.log.debug("setTrickPlay",a),a)(a=c.trickModeVideo)&&!b.restoreStreamAfterTrickPlay&&(shaka.log.debug("Engaging trick mode stream",a),this.switchInternal_(a,!1,0,!1),b.restoreStreamAfterTrickPlay=c);else if(a=b.restoreStreamAfterTrickPlay)shaka.log.debug("Restoring non-trick-mode stream",
|
|
993
995
|
a),b.restoreStreamAfterTrickPlay=null,this.switchInternal_(a,!0,0,!1)}};shaka.media.StreamingEngine.prototype.switchVariant=function(a,b,c,d,e){b=void 0===b?!1:b;c=void 0===c?0:c;d=void 0===d?!1:d;e=void 0===e?!1:e;this.currentVariant_=a;this.startupComplete_&&(a.video&&this.switchInternal_(a.video,b,c,d,e),a.audio&&this.switchInternal_(a.audio,b,c,d,e))};
|
|
994
|
-
shaka.media.StreamingEngine.prototype.switchTextStream=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress){b.currentTextStream_=a;if(!b.startupComplete_)return d.return();c=shaka.util.ManifestParserUtils.ContentType;goog.asserts.assert(a&&a.type==c.TEXT,"Wrong stream type passed to switchTextStream!");return a.segmentIndex?d.jumpTo(2):d.yield(a.createSegmentIndex(),2)}b.switchInternal_(a,!0,0,!1);d.jumpToEnd()})};
|
|
996
|
+
shaka.media.StreamingEngine.prototype.switchTextStream=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress){b.lastTextMediaStateBeforeUnload_=null;b.currentTextStream_=a;if(!b.startupComplete_)return d.return();c=shaka.util.ManifestParserUtils.ContentType;goog.asserts.assert(a&&a.type==c.TEXT,"Wrong stream type passed to switchTextStream!");return a.segmentIndex?d.jumpTo(2):d.yield(a.createSegmentIndex(),2)}b.switchInternal_(a,!0,0,!1);d.jumpToEnd()})};
|
|
995
997
|
shaka.media.StreamingEngine.prototype.reloadTextStream=function(){var a=this.mediaStates_.get(shaka.util.ManifestParserUtils.ContentType.TEXT);a&&this.switchInternal_(a.stream,!0,0,!0)};shaka.media.StreamingEngine.prototype.handleDeferredCloseSegmentIndexes_=function(a){for(var b=$jscomp.makeIterator(this.deferredCloseSegmentIndex_.entries()),c=b.next();!c.done;c=b.next()){var d=$jscomp.makeIterator(c.value);c=d.next().value;d=d.next().value;c.includes(a.type)&&(d(),this.deferredCloseSegmentIndex_.delete(c))}};
|
|
996
998
|
shaka.media.StreamingEngine.prototype.switchInternal_=function(a,b,c,d,e){var f=this,g=shaka.util.ManifestParserUtils.ContentType,h=this.mediaStates_.get(a.type);h||a.type!=g.TEXT?(goog.asserts.assert(h,"switch: expected mediaState to exist"),h&&(h.restoreStreamAfterTrickPlay&&(shaka.log.debug("switch during trick play mode",a),a.trickModeVideo?(h.restoreStreamAfterTrickPlay=a,a=a.trickModeVideo,shaka.log.debug("switch found trick play stream",a)):(h.restoreStreamAfterTrickPlay=null,shaka.log.debug("switch found no special trick play stream"))),
|
|
997
999
|
h.stream!=a||d?(this.audioPrefetchMap_.has(a)?h.segmentPrefetch=this.audioPrefetchMap_.get(a):h.segmentPrefetch&&h.segmentPrefetch.switchStream(a),a.type==g.TEXT&&(d=shaka.util.MimeUtils.getFullType(a.mimeType,a.codecs),this.playerInterface_.mediaSourceEngine.reinitText(d,this.manifest_.sequenceMode,a.external)),!this.audioPrefetchMap_.has(h.stream)&&h.stream.closeSegmentIndex&&(h.performingUpdate?(d=shaka.media.StreamingEngine.logPrefix_(h),this.deferredCloseSegmentIndex_.has(d)||this.deferredCloseSegmentIndex_.set(d,
|
|
@@ -1021,8 +1023,8 @@ l.yield(b.handleStreamingError_(a,e),8);case 8:return l.return();case 6:if(d!=a.
|
|
|
1021
1023
|
11);case 11:return l.return();case 10:h=Array.from(b.mediaStates_.values());if(!b.startupComplete_||!h.every(function(m){return m.endOfStream})){l.jumpTo(0);break}shaka.log.v1(c,"calling endOfStream()...");return l.yield(b.playerInterface_.mediaSourceEngine.endOfStream(),13);case 13:b.destroyer_.ensureNotDestroyed(),k=b.playerInterface_.mediaSourceEngine.getDuration(),0!=k&&k<b.manifest_.presentationTimeline.getDuration()&&b.manifest_.presentationTimeline.setDuration(k),l.jumpToEnd()}})};
|
|
1022
1024
|
shaka.media.StreamingEngine.prototype.update_=function(a){goog.asserts.assert(this.manifest_,"manifest_ should not be null");goog.asserts.assert(this.config_,"config_ should not be null");var b=shaka.util.ManifestParserUtils.ContentType;if(shaka.media.StreamingEngine.isEmbeddedText_(a))return this.playerInterface_.mediaSourceEngine.setSelectedClosedCaptionId(a.stream.originalId||""),null;a.type==b.TEXT&&this.playerInterface_.mediaSourceEngine.clearSelectedClosedCaptionId();if(!this.playerInterface_.mediaSourceEngine.isStreamingAllowed()&&
|
|
1023
1025
|
a.type!=b.TEXT)return this.config_.updateIntervalSeconds/2;var c=shaka.media.StreamingEngine.logPrefix_(a),d=this.playerInterface_.getPresentationTime();if(a.type===b.AUDIO)for(var e=$jscomp.makeIterator(this.audioPrefetchMap_.keys()),f=e.next();!f.done;f=e.next())f=this.audioPrefetchMap_.get(f.value),f.evict(d,!0),f.prefetchSegmentsByTime(d);e=this.getTimeNeeded_(a,d);shaka.log.v2(c,"timeNeeded="+e);var g=this.playerInterface_.mediaSourceEngine.bufferedAheadOf(a.type,d);shaka.log.v2(c,"update_:",
|
|
1024
|
-
"presentationTime="+d,"bufferedAhead="+g);var h=Math.max(1,Math.max(this.manifest_.minBufferTime||0,this.config_.rebufferingGoal,this.config_.bufferingGoal)*this.
|
|
1025
|
-
|
|
1026
|
+
"presentationTime="+d,"bufferedAhead="+g);var h=Math.max(1,Math.max(this.manifest_.minBufferTime||0,this.config_.rebufferingGoal,this.config_.bufferingGoal)*this.bufferingScale_),k=this.manifest_.presentationTimeline.getDuration()-e;f=this.playerInterface_.mediaSourceEngine.bufferEnd(a.type);if(1E-6>k&&f)return shaka.log.debug(c,"buffered to end of presentation"),a.endOfStream=!0,a.type==b.VIDEO&&(a=this.mediaStates_.get(b.TEXT))&&shaka.media.StreamingEngine.isEmbeddedText_(a)&&(a.endOfStream=!0),
|
|
1027
|
+
null;a.endOfStream=!1;if(g>=h)return shaka.log.v2(c,"buffering goal met"),this.config_.updateIntervalSeconds/2;g=!a.segmentIterator;b=this.getSegmentReferenceNeeded_(a,d,f);if(!b)return this.config_.updateIntervalSeconds;f=!1;g&&a.adaptation&&(f=!0,a.adaptation=!1);g=Infinity;h=Array.from(this.mediaStates_.values());h=$jscomp.makeIterator(h);for(k=h.next();!k.done;k=h.next())k=k.value,shaka.media.StreamingEngine.isEmbeddedText_(k)||k.segmentIterator&&!k.segmentIterator.current()||(k=this.getTimeNeeded_(k,
|
|
1026
1028
|
d),g=Math.min(g,k));h=this.manifest_.presentationTimeline.getMaxSegmentDuration()*shaka.media.StreamingEngine.MAX_RUN_AHEAD_SEGMENTS_;if(e>=g+h)return shaka.log.v2(c,"waiting for other streams to buffer"),this.config_.updateIntervalSeconds;a.segmentPrefetch&&a.segmentIterator&&!this.audioPrefetchMap_.has(a.stream)&&(a.segmentPrefetch.evict(b.startTime),a.segmentPrefetch.prefetchSegmentsByTime(b.startTime));this.fetchAndAppend_(a,d,b,f).catch(function(){});return null};
|
|
1027
1029
|
shaka.media.StreamingEngine.prototype.getTimeNeeded_=function(a,b){return a.lastSegmentReference?a.lastSegmentReference.endTime:b};
|
|
1028
1030
|
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>
|
|
@@ -1035,12 +1037,13 @@ t=t.subarray(F);return J.yield(e.append_(a,b,k,c,D,!0,d),5);case 5:a.segmentPref
|
|
|
1035
1037
|
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,
|
|
1036
1038
|
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,
|
|
1037
1039
|
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,
|
|
1038
|
-
"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
|
|
1039
|
-
E.yield(e.handleStreamingError_(a,B),0)}})};
|
|
1040
|
+
"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;
|
|
1041
|
+
return E.yield(e.handleStreamingError_(a,B),0)}}})};
|
|
1040
1042
|
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..."),
|
|
1041
1043
|
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};
|
|
1042
|
-
shaka.media.StreamingEngine.prototype.handleQuotaExceeded_=function(a,b){var c=shaka.media.StreamingEngine.logPrefix_(a);
|
|
1043
|
-
.04;else
|
|
1044
|
+
shaka.media.StreamingEngine.prototype.handleQuotaExceeded_=function(a,b){var c=this,d,e,f,g,h,k,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress){d=shaka.media.StreamingEngine.logPrefix_(a);e=Array.from(c.mediaStates_.values());if(f=e.some(function(n){return n!=a&&n.recovering}))return shaka.log.debug(d,"MediaSource threw QuotaExceededError:","waiting for another stream to recover..."),m.jumpTo(2);if(g=c.playerInterface_.disableStream(a.stream,c.config_.maxDisabledTime))return m.return();
|
|
1045
|
+
h=Math.round(100*c.bufferingScale_);if(20<h)c.bufferingScale_-=.2;else if(4<h)c.bufferingScale_-=.04;else return shaka.log.error(d,"MediaSource threw QuotaExceededError too many times"),a.hasError=!0,c.fatalError_=!0,c.playerInterface_.onError(b),m.return();k=Math.round(100*c.bufferingScale_);shaka.log.warning(d,"MediaSource threw QuotaExceededError:","reducing buffering goals by "+(100-k)+"%");a.recovering=!0;l=c.playerInterface_.getPresentationTime();return m.yield(c.evict_(a,l),2)}c.scheduleUpdate_(a,
|
|
1046
|
+
4);m.jumpToEnd()})};
|
|
1044
1047
|
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
1048
|
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
1049
|
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,
|
|
@@ -1061,9 +1064,10 @@ c.reader.getPosition());if(b&&b.includes(d)||this.config_.dispatchAllEmsgBoxes)i
|
|
|
1061
1064
|
d)&&(d=shaka.util.Id3Utils.getID3Frames(a),d.length))this.playerInterface_.onMetadata([{cueTime:l,data:a,frames:d,dts:l,pts:l}],0,b)};
|
|
1062
1065
|
shaka.media.StreamingEngine.prototype.parsePrft_=function(a,b){if(!this.parsedPrftEventRaised_&&a.initSegmentReference.timescale){goog.asserts.assert(0==b.version||1==b.version,"PRFT version can only be 0 or 1");b=shaka.util.Mp4BoxParsers.parsePRFTInaccurate(b.reader,b.version);a=a.initSegmentReference.timescale;var c=this.convertNtp(b.ntpTimestamp);a={wallClockTime:c,programStartDate:new Date(c-b.mediaTime/a*1E3)};b=shaka.util.FakeEvent.EventName.Prft;a=(new Map).set("detail",a);b=new shaka.util.FakeEvent(b,
|
|
1063
1066
|
a);this.playerInterface_.onEvent(b);this.parsedPrftEventRaised_=!0}};shaka.media.StreamingEngine.prototype.convertNtp=function(a){var b=new Date(Date.UTC(1900,0,1,0,0,0));return(new Date(b.getTime()+a)).getTime()};
|
|
1064
|
-
shaka.media.StreamingEngine.prototype.evict_=function(a,b){var c=this,d,e,f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress){d=a.stream.segmentIndex;d instanceof shaka.media.MetaSegmentIndex&&d.evict(c.manifest_.presentationTimeline.getSeekRangeStart());e=shaka.media.StreamingEngine.logPrefix_(a);shaka.log.v2(e,"checking buffer length");f=Math.max(c.config_.bufferBehind,c.manifest_.presentationTimeline.getMaxSegmentDuration());g=c.playerInterface_.mediaSourceEngine.bufferStart(a.type);
|
|
1065
|
-
if(null==g)return shaka.log.v2(e,"buffer behind okay because nothing buffered:","presentationTime="+b,"bufferBehind="+f),l.return();h=b-g;k=h-f;if(k<=c.config_.evictionGoal)return shaka.log.v2(e,"buffer behind okay:","presentationTime="+b,"bufferedBehind="+h,"bufferBehind="+f,"evictionGoal="+c.config_.evictionGoal,"underflow="+Math.abs(k)),l.return();shaka.log.v1(e,"buffer behind too large:","presentationTime="+b,"bufferedBehind="+
|
|
1066
|
-
k);return l.yield(c.playerInterface_.mediaSourceEngine.remove(a.type,g,g+k),2)}c.destroyer_.ensureNotDestroyed()
|
|
1067
|
+
shaka.media.StreamingEngine.prototype.evict_=function(a,b){var c=this,d,e,f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress){d=a.stream.segmentIndex;d instanceof shaka.media.MetaSegmentIndex&&d.evict(c.manifest_.presentationTimeline.getSeekRangeStart());e=shaka.media.StreamingEngine.logPrefix_(a);shaka.log.v2(e,"checking buffer length");f=Math.max(c.config_.bufferBehind*c.bufferingScale_,c.manifest_.presentationTimeline.getMaxSegmentDuration());g=c.playerInterface_.mediaSourceEngine.bufferStart(a.type);
|
|
1068
|
+
if(null==g)return c.lastTextMediaStateBeforeUnload_==a&&(c.lastTextMediaStateBeforeUnload_=null),shaka.log.v2(e,"buffer behind okay because nothing buffered:","presentationTime="+b,"bufferBehind="+f),l.return();h=b-g;k=h-f;if(k<=c.config_.evictionGoal)return shaka.log.v2(e,"buffer behind okay:","presentationTime="+b,"bufferedBehind="+h,"bufferBehind="+f,"evictionGoal="+c.config_.evictionGoal,"underflow="+Math.abs(k)),l.return();shaka.log.v1(e,"buffer behind too large:","presentationTime="+b,"bufferedBehind="+
|
|
1069
|
+
h,"bufferBehind="+f,"evictionGoal="+c.config_.evictionGoal,"overflow="+k);return l.yield(c.playerInterface_.mediaSourceEngine.remove(a.type,g,g+k),2)}if(4!=l.nextAddress)return c.destroyer_.ensureNotDestroyed(),shaka.log.v1(e,"evicted "+k+" seconds"),c.lastTextMediaStateBeforeUnload_?l.yield(c.evict_(c.lastTextMediaStateBeforeUnload_,b),4):l.jumpTo(0);c.destroyer_.ensureNotDestroyed();l.jumpToEnd()})};
|
|
1070
|
+
shaka.media.StreamingEngine.isEmbeddedText_=function(a){var b=shaka.util.MimeUtils,c=b.CEA608_CLOSED_CAPTION_MIMETYPE;b=b.CEA708_CLOSED_CAPTION_MIMETYPE;return a&&a.type==shaka.util.ManifestParserUtils.ContentType.TEXT&&(a.stream.mimeType==c||a.stream.mimeType==b)};
|
|
1067
1071
|
shaka.media.StreamingEngine.prototype.fetch_=function(a,b,c){var d=this,e,f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){switch(l.nextAddress){case 1:if(e=b.getSegmentData())return l.return(e);f=null;a.segmentPrefetch&&(f=a.segmentPrefetch.getPrefetchedSegment(b,c));f||(f=d.dispatchFetch_(b,a.stream,c));g=0;a.segmentIterator&&(g=a.segmentIterator.currentPosition());a.operation=f;return l.yield(f.promise,2);case 2:h=l.yieldResult;a.operation=null;k=h.data;if(!b.aesKey){l.jumpTo(3);
|
|
1068
1072
|
break}return l.yield(shaka.media.SegmentUtils.aesDecrypt(k,b.aesKey,g),4);case 4:k=l.yieldResult;case 3:return l.return(k)}})};shaka.media.StreamingEngine.prototype.dispatchFetch_=function(a,b,c,d){goog.asserts.assert(this.playerInterface_.netEngine,"Must have net engine");return shaka.media.StreamingEngine.dispatchFetch(a,b,c||null,this.config_.retryParameters,this.playerInterface_.netEngine)};
|
|
1069
1073
|
shaka.media.StreamingEngine.dispatchFetch=function(a,b,c,d,e,f){f=void 0===f?!1:f;var g=shaka.net.NetworkingEngine.RequestType.SEGMENT,h=a instanceof shaka.media.SegmentReference?a:void 0,k=h?shaka.net.NetworkingEngine.AdvancedRequestType.MEDIA_SEGMENT:shaka.net.NetworkingEngine.AdvancedRequestType.INIT_SEGMENT;c=shaka.util.Networking.createSegmentRequest(a.getUris(),a.startByte,a.endByte,d,c);c.contentType=b.type;shaka.log.v2("fetching: reference=",a);return e.request(g,c,{type:k,stream:b,segment:h,
|
|
@@ -1120,8 +1124,8 @@ shaka.util.PlayerConfiguration.defaultTrackSelect=function(a,b,c){var d=shaka.ut
|
|
|
1120
1124
|
(1<(new Set(g.map(function(l){return l.language}))).size&&shaka.log.warning("Could not choose a good audio track based on language preferences or primary tracks. An arbitrary language will be stored!"),c=g);var k=c.filter(function(l){return l.height&&480>=l.height});k.length&&(k.sort(function(l,m){goog.asserts.assert(null!=l.height,"Null height");goog.asserts.assert(null!=m.height,"Null height");return m.height-l.height}),c=k.filter(function(l){return l.height==k[0].height}));b=[];c.length&&(g=Math.floor(c.length/
|
|
1121
1125
|
2),c.sort(function(l,m){return l.bandwidth-m.bandwidth}),b.push(c[g]));a=$jscomp.makeIterator(a);for(c=a.next();!c.done;c=a.next())c=c.value,c.type!=d.TEXT&&c.type!=d.IMAGE||b.push(c);return b};shaka.util.PlayerConfiguration.defaultManifestPreprocessor=function(a){return shaka.util.ConfigUtils.referenceParametersAndReturn([a],a)};shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml=function(a){return shaka.util.ConfigUtils.referenceParametersAndReturn([a],a)};
|
|
1122
1126
|
goog.exportSymbol("shaka.util.PlayerConfiguration",shaka.util.PlayerConfiguration);goog.exportProperty(shaka.util.PlayerConfiguration,"mergeConfigObjects",shaka.util.PlayerConfiguration.mergeConfigObjects);goog.exportProperty(shaka.util.PlayerConfiguration,"createDefault",shaka.util.PlayerConfiguration.createDefault);shaka.media.PreloadManager=function(a,b,c,d){shaka.util.FakeEventTarget.call(this);this.assetUri_=a;this.mimeType_=b;this.networkingEngine_=d.networkingEngine;this.startTime_=c;this.currentAdaptationSetCriteria_=null;this.startTimeOfDrm_=0;this.createDrmEngine_=d.createDrmEngine;this.manifestFilterer_=d.manifestFilterer;this.manifestPlayerInterface_=d.manifestPlayerInterface;this.config_=d.config;this.parser_=this.parserFactory_=this.manifest_=null;this.parserEntrusted_=!1;this.regionTimeline_=d.regionTimeline;
|
|
1123
|
-
this.regionTimelineEntrusted_=!1;this.drmEngine_=null;this.drmEngineEntrusted_=!1;this.abrManager_=this.abrManagerFactory_=null;this.abrManagerEntrusted_=!1;this.segmentPrefetchById_=new Map;this.segmentPrefetchEntrusted_=!1;this.qualityObserver_=d.qualityObserver;this.stats_=new shaka.util.Stats;this.successPromise_=new shaka.util.PublicPromise;this.eventHandoffTarget_=null;this.destroyed_=!1;this.allowPrefetch_=d.allowPrefetch;this.prefetchedVariant_=
|
|
1124
|
-
this.hasBeenAttached_=!1;this.queuedOperations_=[];this.latePhaseQueuedOperations_=[];this.isPreload_=!0};$jscomp.inherits(shaka.media.PreloadManager,shaka.util.FakeEventTarget);shaka.media.PreloadManager.prototype.markIsLoad=function(){this.isPreload_=!1};shaka.media.PreloadManager.prototype.addQueuedOperation=function(a,b){(a=a?this.latePhaseQueuedOperations_:this.queuedOperations_)?a.push(b):b()};
|
|
1127
|
+
this.regionTimelineEntrusted_=!1;this.drmEngine_=null;this.drmEngineEntrusted_=!1;this.abrManager_=this.abrManagerFactory_=null;this.abrManagerEntrusted_=!1;this.segmentPrefetchById_=new Map;this.segmentPrefetchEntrusted_=!1;this.qualityObserver_=d.qualityObserver;this.stats_=new shaka.util.Stats;this.manifestPromise_=new shaka.util.PublicPromise;this.successPromise_=new shaka.util.PublicPromise;this.eventHandoffTarget_=null;this.destroyed_=!1;this.allowPrefetch_=d.allowPrefetch;this.prefetchedVariant_=
|
|
1128
|
+
null;this.allowMakeAbrManager_=d.allowMakeAbrManager;this.hasBeenAttached_=!1;this.queuedOperations_=[];this.latePhaseQueuedOperations_=[];this.isPreload_=!0};$jscomp.inherits(shaka.media.PreloadManager,shaka.util.FakeEventTarget);shaka.media.PreloadManager.prototype.markIsLoad=function(){this.isPreload_=!1};shaka.media.PreloadManager.prototype.addQueuedOperation=function(a,b){(a=a?this.latePhaseQueuedOperations_:this.queuedOperations_)?a.push(b):b()};
|
|
1125
1129
|
shaka.media.PreloadManager.prototype.stopQueuingLatePhaseQueuedOperations=function(){if(this.latePhaseQueuedOperations_)for(var a=$jscomp.makeIterator(this.latePhaseQueuedOperations_),b=a.next();!b.done;b=a.next())b=b.value,b();this.latePhaseQueuedOperations_=null};
|
|
1126
1130
|
shaka.media.PreloadManager.prototype.setEventHandoffTarget=function(a){this.eventHandoffTarget_=a;this.hasBeenAttached_=!0;if(this.queuedOperations_){a=$jscomp.makeIterator(this.queuedOperations_);for(var b=a.next();!b.done;b=a.next())b=b.value,b()}this.queuedOperations_=null};shaka.media.PreloadManager.prototype.setOffsetToStartTime=function(a){this.startTime_&&a&&(this.startTime_+=a)};shaka.media.PreloadManager.prototype.getStartTime=function(){return this.startTime_};
|
|
1127
1131
|
shaka.media.PreloadManager.prototype.getStartTimeOfDRM=function(){return this.startTimeOfDrm_};shaka.media.PreloadManager.prototype.getMimeType=function(){return this.mimeType_};shaka.media.PreloadManager.prototype.getAssetUri=function(){return this.assetUri_};shaka.media.PreloadManager.prototype.getManifest=function(){return this.manifest_};shaka.media.PreloadManager.prototype.getParserFactory=function(){return this.parserFactory_};
|
|
@@ -1129,8 +1133,8 @@ shaka.media.PreloadManager.prototype.getCurrentAdaptationSetCriteria=function(){
|
|
|
1129
1133
|
shaka.media.PreloadManager.prototype.receiveParser=function(){this.parserEntrusted_=!0;return this.parser_};shaka.media.PreloadManager.prototype.getParser=function(){return this.parser_};shaka.media.PreloadManager.prototype.receiveRegionTimeline=function(){this.regionTimelineEntrusted_=!0;return this.regionTimeline_};shaka.media.PreloadManager.prototype.getRegionTimeline=function(){return this.regionTimeline_};shaka.media.PreloadManager.prototype.getQualityObserver=function(){return this.qualityObserver_};
|
|
1130
1134
|
shaka.media.PreloadManager.prototype.getStats=function(){return this.stats_};shaka.media.PreloadManager.prototype.getManifestFilterer=function(){return this.manifestFilterer_};shaka.media.PreloadManager.prototype.receiveDrmEngine=function(){this.drmEngineEntrusted_=!0;return this.drmEngine_};shaka.media.PreloadManager.prototype.getDrmEngine=function(){return this.drmEngine_};shaka.media.PreloadManager.prototype.getPrefetchedVariant=function(){return this.prefetchedVariant_};
|
|
1131
1135
|
shaka.media.PreloadManager.prototype.receiveSegmentPrefetchesById=function(){this.segmentPrefetchEntrusted_=!0;return this.segmentPrefetchById_};shaka.media.PreloadManager.prototype.attachAbrManager=function(a,b){this.abrManager_=a;this.abrManagerFactory_=b};shaka.media.PreloadManager.prototype.attachAdaptationSetCriteria=function(a){this.currentAdaptationSetCriteria_=a};shaka.media.PreloadManager.prototype.attachManifest=function(a,b,c){this.manifest_=a;this.parser_=b;this.parserFactory_=c};
|
|
1132
|
-
shaka.media.PreloadManager.prototype.start=function(){var a=this;(function(){var b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){switch(c.nextAddress){case 1:return c.yield(Promise.resolve(),2);case 2:return c.setCatchFinallyBlocks(3),c.yield(a.parseManifestInner_(),5);case 5:return a.throwIfDestroyed_(),c.yield(a.initializeDrmInner_(),6);case 6:return a.throwIfDestroyed_(),c.yield(a.chooseInitialVariantInner_(),7);case 7:a.throwIfDestroyed_();a.successPromise_.resolve();
|
|
1133
|
-
break;case 3:b=c.enterCatchBlock(),a.successPromise_.reject(b),c.jumpToEnd()}})})()};shaka.media.PreloadManager.prototype.dispatchEvent=function(a){return this.eventHandoffTarget_?this.eventHandoffTarget_.dispatchEvent(a):shaka.util.FakeEventTarget.prototype.dispatchEvent.call(this,a)};
|
|
1136
|
+
shaka.media.PreloadManager.prototype.start=function(){var a=this;(function(){var b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){switch(c.nextAddress){case 1:return c.yield(Promise.resolve(),2);case 2:return c.setCatchFinallyBlocks(3),c.yield(a.parseManifestInner_(),5);case 5:return a.throwIfDestroyed_(),a.manifestPromise_.resolve(),c.yield(a.initializeDrmInner_(),6);case 6:return a.throwIfDestroyed_(),c.yield(a.chooseInitialVariantInner_(),7);case 7:a.throwIfDestroyed_();a.successPromise_.resolve();
|
|
1137
|
+
c.leaveTryBlock(0);break;case 3:b=c.enterCatchBlock(),a.successPromise_.reject(b),c.jumpToEnd()}})})()};shaka.media.PreloadManager.prototype.dispatchEvent=function(a){return this.eventHandoffTarget_?this.eventHandoffTarget_.dispatchEvent(a):shaka.util.FakeEventTarget.prototype.dispatchEvent.call(this,a)};
|
|
1134
1138
|
shaka.media.PreloadManager.prototype.onError=function(a){a.severity===shaka.util.Error.Severity.CRITICAL&&(this.successPromise_.reject(a),this.destroy());var b=this.makeEvent_(shaka.util.FakeEvent.EventName.Error,(new Map).set("detail",a));this.dispatchEvent(b);b.defaultPrevented&&(a.handled=!0)};
|
|
1135
1139
|
shaka.media.PreloadManager.prototype.throwIfDestroyed_=function(){if(this.isDestroyed())throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OBJECT_DESTROYED);};shaka.media.PreloadManager.prototype.makeStateChangeEvent_=function(a){this.dispatchEvent(new shaka.util.FakeEvent(shaka.util.FakeEvent.EventName.OnStateChange,(new Map).set("state",a)))};
|
|
1136
1140
|
shaka.media.PreloadManager.prototype.makeEvent_=function(a,b){return new shaka.util.FakeEvent(a,b)};
|
|
@@ -1143,7 +1147,7 @@ shaka.media.PreloadManager.prototype.chooseInitialVariantInner_=function(){goog.
|
|
|
1143
1147
|
this.config_.preferredVideoLabel,this.config_.mediaSource.codecSwitchingStrategy,this.config_.manifest.dash.enableAudioGroups));if(this.allowMakeAbrManager_){var a=this.config_.abrFactory;this.abrManagerFactory_=a;this.abrManager_=a();this.abrManager_.configure(this.config_.abr)}if(this.allowPrefetch_){a=this.manifest_.presentationTimeline.isLive();var b=shaka.util.StreamUtils.getPlayableVariants(this.manifest_.variants);b=this.currentAdaptationSetCriteria_.create(b);this.abrManager_.configure(this.config_.abr);
|
|
1144
1148
|
this.abrManager_.setVariants(Array.from(b.values()));if(b=this.abrManager_.chooseVariant())this.prefetchedVariant_=b,b.video&&this.makePrefetchForStream_(b.video,a),b.audio&&this.makePrefetchForStream_(b.audio,a)}};
|
|
1145
1149
|
shaka.media.PreloadManager.prototype.makePrefetchForStream_=function(a,b){var c=this,d,e,f,g,h;return $jscomp.asyncExecutePromiseGeneratorProgram(function(k){if(1==k.nextAddress)return d=c.config_.streaming.segmentPrefetchLimit||2,e=new shaka.media.SegmentPrefetch(d,a,function(l,m,n){return shaka.media.StreamingEngine.dispatchFetch(l,m,n||null,c.config_.streaming.retryParameters,c.networkingEngine_,c.isPreload_)},!1),c.segmentPrefetchById_.set(a.id,e),k.yield(a.createSegmentIndex(),2);f=c.startTime_||
|
|
1146
|
-
0;(h=(g=a.segmentIndex.getIteratorForTime(f))?g.current():null)||(h=a.segmentIndex.earliestReference());h&&(b?h.initSegmentReference&&e.prefetchInitSegment(h.initSegmentReference):e.prefetchSegmentsByTime(h.startTime));k.jumpToEnd()})};shaka.media.PreloadManager.prototype.waitForFinish=function(){return this.successPromise_};
|
|
1150
|
+
0;(h=(g=a.segmentIndex.getIteratorForTime(f))?g.current():null)||(h=a.segmentIndex.earliestReference());h&&(b?h.initSegmentReference&&e.prefetchInitSegment(h.initSegmentReference):e.prefetchSegmentsByTime(h.startTime));k.jumpToEnd()})};shaka.media.PreloadManager.prototype.waitForFinish=function(){return this.successPromise_};shaka.media.PreloadManager.prototype.waitForManifest=function(){return Promise.race([this.manifestPromise_,this.successPromise_])};
|
|
1147
1151
|
shaka.media.PreloadManager.prototype.destroy=function(){var a=this,b,c,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){switch(e.nextAddress){case 1:a.destroyed_=!0;if(!a.parser_||a.parserEntrusted_){e.jumpTo(2);break}return e.yield(a.parser_.stop(),2);case 2:if(!a.abrManager_||a.abrManagerEntrusted_){e.jumpTo(4);break}return e.yield(a.abrManager_.stop(),4);case 4:a.regionTimeline_&&!a.regionTimelineEntrusted_&&a.regionTimeline_.release();if(!a.drmEngine_||a.drmEngineEntrusted_){e.jumpTo(6);
|
|
1148
1152
|
break}return e.yield(a.drmEngine_.destroy(),6);case 6:if(0<a.segmentPrefetchById_.size&&!a.segmentPrefetchEntrusted_)for(b=$jscomp.makeIterator(a.segmentPrefetchById_.values()),c=b.next();!c.done;c=b.next())d=c.value,d.clearAll();e.jumpToEnd()}})};shaka.media.PreloadManager.prototype.isDestroyed=function(){return this.destroyed_};shaka.media.PreloadManager.prototype.hasBeenAttached=function(){return this.hasBeenAttached_};
|
|
1149
1153
|
shaka.media.PreloadManager.filterForAVVariants_=function(a){var b=function(c){return c.video&&c.audio||c.video&&c.video.codecs.includes(",")};a.variants.some(b)&&(shaka.log.debug("Found variant with audio and video content, so filtering out audio-only content."),a.variants=a.variants.filter(b))};goog.exportSymbol("shaka.media.PreloadManager",shaka.media.PreloadManager);goog.exportProperty(shaka.media.PreloadManager.prototype,"destroy",shaka.media.PreloadManager.prototype.destroy);
|
|
@@ -1271,21 +1275,21 @@ shaka.Player.prototype.unload=function(a,b){a=void 0===a?!0:a;b=void 0===b?!1:b;
|
|
|
1271
1275
|
(a=!1);c.closeLcevcDec_();d=c.cleanupOnUnload_.map(function(r){return r()});c.cleanupOnUnload_=[];return q.yield(Promise.all(d),5);case 5:c.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Unloading));c.regionTimeline_&&(c.regionTimeline_.release(),c.regionTimeline_=null);c.video_&&(c.loadEventManager_.removeAll(),c.trickPlayEventManager_.removeAll());c.checkVariantsTimer_.stop();c.playheadObservers_&&(c.playheadObservers_.release(),c.playheadObservers_=null);c.bufferPoller_&&
|
|
1272
1276
|
(c.bufferPoller_.stop(),c.bufferPoller_=null);if(!c.parser_){q.jumpTo(6);break}return q.yield(c.parser_.stop(),7);case 7:c.parser_=null,c.parserFactory_=null;case 6:if(!c.abrManager_){q.jumpTo(8);break}return q.yield(c.abrManager_.stop(),8);case 8:if(!c.streamingEngine_){q.jumpTo(10);break}return q.yield(c.streamingEngine_.destroy(),11);case 11:c.streamingEngine_=null;case 10:c.playRateController_&&(c.playRateController_.release(),c.playRateController_=null);c.playhead_&&(c.playhead_.release(),c.playhead_=
|
|
1273
1277
|
null);if(!shaka.util.Platform.isMediaKeysPolyfilled("webkit")||!c.drmEngine_){q.jumpTo(12);break}return q.yield(c.drmEngine_.destroy(),13);case 13:c.drmEngine_=null;case 12:if(!c.mediaSourceEngine_){q.jumpTo(14);break}return q.yield(c.mediaSourceEngine_.destroy(),15);case 15:c.mediaSourceEngine_=null;case 14:if(c.adManager_&&!b)c.adManager_.onAssetUnload();c.preloadDueAdManager_&&!b&&(c.preloadDueAdManager_.destroy(),c.preloadDueAdManager_=null);b||c.preloadDueAdManagerTimer_.stop();c.cmcdManager_&&
|
|
1274
|
-
c.cmcdManager_.reset();c.cmsdManager_&&c.cmsdManager_.reset();if(!c.textDisplayer_){q.jumpTo(16);break}return q.yield(c.textDisplayer_.destroy(),17);case 17:c.textDisplayer_=null;case 16:c.video_&&shaka.util.Dom.removeAllChildren(c.video_);
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
+
c.cmcdManager_.reset();c.cmsdManager_&&c.cmsdManager_.reset();if(!c.textDisplayer_){q.jumpTo(16);break}return q.yield(c.textDisplayer_.destroy(),17);case 17:c.textDisplayer_=null;case 16:c.video_&&shaka.util.Dom.removeAllChildren(c.video_);c.video_&&c.video_.src&&(c.video_.removeAttribute("src"),c.video_.load());if(!c.drmEngine_){q.jumpTo(18);break}return q.yield(c.drmEngine_.destroy(),19);case 19:c.drmEngine_=null;case 18:c.preloadNextUrl_&&c.assetUri_!=c.preloadNextUrl_.getAssetUri()&&(c.preloadNextUrl_.isDestroyed()||
|
|
1279
|
+
c.preloadNextUrl_.destroy(),c.preloadNextUrl_=null);c.assetUri_=null;c.mimeType_=null;c.bufferObserver_=null;if(c.manifest_){e=$jscomp.makeIterator(c.manifest_.variants);for(f=e.next();!f.done;f=e.next())for(g=f.value,h=$jscomp.makeIterator([g.audio,g.video]),k=h.next();!k.done;k=h.next())(l=k.value)&&l.segmentIndex&&l.segmentIndex.release();m=$jscomp.makeIterator(c.manifest_.textStreams);for(n=m.next();!n.done;n=m.next())p=n.value,p.segmentIndex&&p.segmentIndex.release()}c.config_.streaming.clearDecodingCache&&
|
|
1280
|
+
(shaka.util.StreamUtils.clearDecodingConfigCache(),shaka.util.DrmUtils.clearMediaKeySystemAccessMap());c.manifest_=null;c.stats_=new shaka.util.Stats;c.lastTextFactory_=null;c.targetLatencyReached_=null;c.currentTargetLatency_=null;c.rebufferingCount_=-1;c.externalSrcEqualsThumbnailsStreams_=[];c.completionPercent_=NaN;c.updateBufferState_();case 3:q.enterFinallyBlock();c.mutex_.release();q.leaveFinallyBlock(4);break;case 4:if(a&&shaka.util.Platform.supportsMediaSource()&&!c.mediaSourceEngine_&&c.video_)return q.yield(c.initializeMediaSourceEngineInner_(),
|
|
1281
|
+
0);q.jumpTo(0)}})};shaka.Player.prototype.updateStartTime=function(a){this.startTime_=a};
|
|
1278
1282
|
shaka.Player.prototype.load=function(a,b,c){b=void 0===b?null:b;var d=this,e,f,g,h,k,l,m,n,p,q,r,t,u;return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){switch(v.nextAddress){case 1:if(d.loadMode_==shaka.Player.LoadMode.DESTROYED)throw d.createAbortLoadError_();e=null;f="";a instanceof shaka.media.PreloadManager?(e=a,f=e.getAssetUri()||""):f=a||"";return v.yield(d.mutex_.acquire("load"),2);case 2:d.mutex_.release();if(!d.video_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
|
|
1279
1283
|
shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.NO_VIDEO_ELEMENT);if(!d.assetUri_){v.jumpTo(3);break}d.assetUri_=f;return v.yield(d.unload(!1),3);case 3:g=++d.operationId_;h=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){if(1==x.nextAddress)return d.operationId_==g?x.jumpTo(0):e?x.yield(e.destroy(),3):x.jumpTo(3);throw d.createAbortLoadError_();})};k=function(x,y){return $jscomp.asyncExecutePromiseGeneratorProgram(function(w){switch(w.nextAddress){case 1:return w.setFinallyBlock(2),
|
|
1280
1284
|
w.yield(d.mutex_.acquire(y),4);case 4:return w.yield(h(),5);case 5:return w.yield(x(),6);case 6:return w.yield(h(),7);case 7:e&&d.config_&&e.reconfigure(d.config_);case 2:w.enterFinallyBlock(),d.mutex_.release(),w.leaveFinallyBlock(0)}})};v.setCatchFinallyBlocks(5,6);null==b&&e&&(b=e.getStartTime());d.startTime_=b;d.fullyLoaded_=!1;d.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Loading));if(e){c=e.getMimeType();v.jumpTo(8);break}if(c){v.jumpTo(8);break}return v.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){if(1==
|
|
1281
|
-
x.nextAddress)return x.yield(d.guessMimeType_(f),2);c=x.yieldResult;x.jumpToEnd()})},"guessMimeType_"),8);case 8:l=!!e;if(e){e.setEventHandoffTarget(d);d.stats_=e.getStats();v.jumpTo(11);break}return v.yield(d.preloadInner_(f,b,c,!0),12);case 12:(e=v.yieldResult)?(e.markIsLoad(),e.setEventHandoffTarget(d),d.stats_=e.getStats(),e.start(),e.waitForFinish().catch(function(){})):d.stats_=new shaka.util.Stats;case 11:m=!e
|
|
1282
|
-
c||null
|
|
1283
|
-
0)})},"
|
|
1284
|
-
d.configure("manifest.disableVideo",!0));d.drmEngine_=e.receiveDrmEngine();return v.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){return x.yield(d.drmEngine_.attach(d.video_),0)})},"drmEngine_.attach"),
|
|
1285
|
-
|
|
1286
|
-
d.abrManager_.
|
|
1287
|
-
|
|
1288
|
-
shaka.Player.prototype.makeManifestAudioOnly_=function(){for(var a=$jscomp.makeIterator(this.manifest_.variants),b=a.next();!b.done;b=a.next())b=b.value,b.video&&(b.video.closeSegmentIndex(),b.video=null),b.bandwidth=b.audio&&b.audio.bandwidth?b.audio.bandwidth:0;this.manifest_.variants=this.manifest_.variants.filter(function(c){return c.audio})};
|
|
1285
|
+
x.nextAddress)return x.yield(d.guessMimeType_(f),2);c=x.yieldResult;x.jumpToEnd()})},"guessMimeType_"),8);case 8:l=!!e;if(e){e.setEventHandoffTarget(d);d.stats_=e.getStats();v.jumpTo(11);break}return v.yield(d.preloadInner_(f,b,c,!0),12);case 12:(e=v.yieldResult)?(e.markIsLoad(),e.setEventHandoffTarget(d),d.stats_=e.getStats(),e.start(),e.waitForFinish().catch(function(){})):d.stats_=new shaka.util.Stats;case 11:return m=!e,n=Date.now()/1E3,d.stats_=e?e.getStats():new shaka.util.Stats,d.assetUri_=
|
|
1286
|
+
f,d.mimeType_=c||null,m?v.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){goog.asserts.assert(c,"We should know the mimeType by now!");return x.yield(d.initializeSrcEqualsDrmInner_(c),0)})},"initializeSrcEqualsDrmInner_"),21):v.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){return x.yield(e.waitForManifest(),0)})},"waitForFinish"),15);case 15:d.parserFactory_=e.getParserFactory();d.parser_=e.receiveParser();d.manifest_=e.getManifest();
|
|
1287
|
+
if(d.mediaSourceEngine_){v.jumpTo(16);break}return v.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){return x.yield(d.initializeMediaSourceEngineInner_(),0)})},"initializeMediaSourceEngineInner_"),16);case 16:return v.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){return x.yield(e.waitForFinish(),0)})},"waitForFinish"),18);case 18:d.config_=e.getConfiguration();d.manifestFilterer_=e.getManifestFilterer();d.parser_&&d.parser_.setMediaElement&&
|
|
1288
|
+
d.video_&&d.parser_.setMediaElement(d.video_);d.regionTimeline_=e.receiveRegionTimeline();d.qualityObserver_=e.getQualityObserver();if(p=e.getCurrentAdaptationSetCriteria())d.currentAdaptationSetCriteria_=p;l&&d.video_&&"AUDIO"===d.video_.nodeName&&(d.makeManifestAudioOnly_(),d.configure("manifest.disableVideo",!0));d.drmEngine_=e.receiveDrmEngine();return v.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){return x.yield(d.drmEngine_.attach(d.video_),0)})},"drmEngine_.attach"),
|
|
1289
|
+
19);case 19:return!(q=e.getAbrManagerFactory())||d.abrManagerFactory_&&d.abrManagerFactory_==q||(d.abrManager_=e.receiveAbrManager(),d.abrManagerFactory_=e.getAbrManagerFactory(),"function"!=typeof d.abrManager_.setMediaElement&&(shaka.Deprecate.deprecateFeature(5,"AbrManager w/o setMediaElement","Please use an AbrManager with setMediaElement function."),d.abrManager_.setMediaElement=function(){}),"function"!=typeof d.abrManager_.setCmsdManager&&(shaka.Deprecate.deprecateFeature(5,"AbrManager w/o setCmsdManager",
|
|
1290
|
+
"Please use an AbrManager with setCmsdManager function."),d.abrManager_.setCmsdManager=function(){}),"function"!=typeof d.abrManager_.trySuggestStreams&&(shaka.Deprecate.deprecateFeature(5,"AbrManager w/o trySuggestStreams","Please use an AbrManager with trySuggestStreams function."),d.abrManager_.trySuggestStreams=function(){})),r=e.receiveSegmentPrefetchesById(),t=e.getPrefetchedVariant(),v.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){return x.yield(d.loadInner_(n,
|
|
1291
|
+
t,r),0)})},"loadInner_"),20);case 20:e.stopQueuingLatePhaseQueuedOperations();v.jumpTo(14);break;case 21:return v.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){goog.asserts.assert(c,"We should know the mimeType by now!");return x.yield(d.srcEqualsInner_(n,c),0)})},"srcEqualsInner_"),14);case 14:d.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Loaded));case 6:v.enterFinallyBlock();if(!e){v.jumpTo(23);break}return v.yield(e.destroy(),23);case 23:d.preloadNextUrl_=
|
|
1292
|
+
null;v.leaveFinallyBlock(0);break;case 5:u=v.enterCatchBlock();if(!u||u.code==shaka.util.Error.Code.LOAD_INTERRUPTED){v.jumpTo(25);break}return v.yield(d.unload(!1),25);case 25:throw u;}})};shaka.Player.prototype.makeManifestAudioOnly_=function(){for(var a=$jscomp.makeIterator(this.manifest_.variants),b=a.next();!b.done;b=a.next())b=b.value,b.video&&(b.video.closeSegmentIndex(),b.video=null),b.bandwidth=b.audio&&b.audio.bandwidth?b.audio.bandwidth:0;this.manifest_.variants=this.manifest_.variants.filter(function(c){return c.audio})};
|
|
1289
1293
|
shaka.Player.prototype.unloadAndSavePreload=function(a,b){a=void 0===a?!0:a;b=void 0===b?!1:b;var c=this,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return 1==e.nextAddress?e.yield(c.savePreload_(),2):3!=e.nextAddress?(d=e.yieldResult,e.yield(c.unload(a,b),3)):e.return(d)})};
|
|
1290
1294
|
shaka.Player.prototype.detachAndSavePreload=function(a,b){a=void 0===a?!1:a;b=void 0===b?!1:b;var c=this,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){return 1==e.nextAddress?e.yield(c.savePreload_(b),2):3!=e.nextAddress?(d=e.yieldResult,e.yield(c.detach(a),3)):e.return(d)})};
|
|
1291
1295
|
shaka.Player.prototype.savePreload_=function(a){a=void 0===a?!1:a;var b=this,c,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress){c=null;if(!(b.manifest_&&b.parser_&&b.parserFactory_&&b.assetUri_))return e.jumpTo(2);d=b.video_.currentTime;b.isLive()&&!a&&(d=null);return e.yield(b.makePreloadManager_(b.assetUri_,d,b.mimeType_,!0,!1,!1),3)}2!=e.nextAddress&&(c=e.yieldResult,b.createdPreloadManagers_.push(c),b.parser_&&b.parser_.setMediaElement&&b.parser_.setMediaElement(null),
|
|
@@ -1477,12 +1481,12 @@ shaka.Player.prototype.chooseVariant_=function(){return this.updateAbrManagerVar
|
|
|
1477
1481
|
shaka.Player.prototype.checkVariants_=function(){goog.asserts.assert(this.manifest_,"Should have manifest!");for(var a=Date.now()/1E3,b=!1,c=!0,d=$jscomp.makeIterator(this.manifest_.variants),e=d.next();!e.done;e=d.next()){e=e.value;if(0<e.disabledUntilTime&&e.disabledUntilTime<=a){e.disabledUntilTime=0;b=!0;var f=shaka.log,g=f.v2,h="";e.video&&(h+="video:"+e.video.id);e.audio&&(h=h+(h?"&":"")+("audio:"+e.audio.id));g.call(f,"Re-enabled variant with "+h)}0<e.disabledUntilTime&&(c=!1)}c&&this.checkVariantsTimer_.stop();
|
|
1478
1482
|
b&&this.chooseVariantAndSwitch_(!1,void 0,!1,!1)};shaka.Player.prototype.chooseTextStream_=function(){return shaka.util.StreamUtils.filterStreamsByLanguageAndRole(this.manifest_.textStreams,this.currentTextLanguage_,this.currentTextRole_,this.currentTextForced_)[0]||null};
|
|
1479
1483
|
shaka.Player.prototype.chooseVariantAndSwitch_=function(a,b,c,d){a=void 0===a?!0:a;b=void 0===b?0:b;c=void 0===c?!1:c;d=void 0===d?!0:d;goog.asserts.assert(this.config_,"Must not be destroyed");var e=this.chooseVariant_();e&&this.switchVariant_(e,d,a,b,c)};
|
|
1480
|
-
shaka.Player.prototype.switchVariant_=function(a,b,c,d,e){e=void 0===e?!1:e;var f=this.streamingEngine_.getCurrentVariant();if(a==f)shaka.log.debug("Variant already selected."),c&&this.streamingEngine_.switchVariant(a,c,d,!0);else if(this.addVariantToSwitchHistory_(a,b),this.streamingEngine_.switchVariant(a,c,d,e,b),c=null,f&&(c=shaka.util.StreamUtils.variantToTrack(f)),a=shaka.util.StreamUtils.variantToTrack(a),b)this.onAdaptation_(c,a);else this.onVariantChanged_(c,a)};
|
|
1484
|
+
shaka.Player.prototype.switchVariant_=function(a,b,c,d,e){e=void 0===e?!1:e;var f=this.streamingEngine_.getCurrentVariant();if(a==f)shaka.log.debug("Variant already selected."),c&&this.streamingEngine_.switchVariant(a,c,d,!0);else if(this.addVariantToSwitchHistory_(a,b),this.streamingEngine_.switchVariant(a,c,d,e,b),c=null,f&&(c=shaka.util.StreamUtils.variantToTrack(f)),a=shaka.util.StreamUtils.variantToTrack(a),a.active=!0,b)this.onAdaptation_(c,a);else this.onVariantChanged_(c,a)};
|
|
1481
1485
|
shaka.Player.prototype.switchHtml5Track_=function(a){goog.asserts.assert(this.video_&&this.video_.audioTracks,"Video and video.audioTracks should not be null!");var b=Array.from(this.video_.audioTracks).find(function(c){return c.enabled});a.enabled=!0;b&&(a.id!==b.id&&(b.enabled=!1),b=shaka.util.StreamUtils.html5AudioTrackToTrack(b),a=shaka.util.StreamUtils.html5AudioTrackToTrack(a),this.onVariantChanged_(b,a))};
|
|
1482
1486
|
shaka.Player.prototype.setInitialTextState_=function(a,b){b?(this.shouldInitiallyShowText_(a.audio,b)&&(this.isTextVisible_=!0),this.isTextVisible_&&(this.textDisplayer_.setTextVisibility(!0),goog.asserts.assert(this.shouldStreamText_(),"Should be streaming text")),this.onTextTrackVisibility_()):this.isTextVisible_=!1};
|
|
1483
1487
|
shaka.Player.prototype.shouldInitiallyShowText_=function(a,b){var c=shaka.config.AutoShowText;if(this.config_.autoShowText==c.NEVER)return!1;if(this.config_.autoShowText==c.ALWAYS)return!0;var d=shaka.util.LanguageUtils,e=d.normalize(this.config_.preferredTextLanguage);b=d.normalize(b.language);if(this.config_.autoShowText==c.IF_PREFERRED_TEXT_LANGUAGE)return d.areLanguageCompatible(b,e);if(this.config_.autoShowText==c.IF_SUBTITLES_MAY_BE_NEEDED){if(!a)return!1;a=d.normalize(a.language);return d.areLanguageCompatible(b,
|
|
1484
1488
|
e)&&!d.areLanguageCompatible(a,b)}shaka.log.alwaysWarn("Invalid autoShowText setting!");return!1};shaka.Player.prototype.onManifestUpdate_=function(){this.parser_&&this.parser_.update&&this.parser_.update()};
|
|
1485
|
-
shaka.Player.prototype.onSegmentAppended_=function(a,b,c,d){if(this.playhead_){this.playhead_.notifyOfBufferingChange();var e=this.mediaSourceEngine_.bufferStart(c)
|
|
1489
|
+
shaka.Player.prototype.onSegmentAppended_=function(a,b,c,d){if(c!=shaka.util.ManifestParserUtils.ContentType.TEXT){if(this.playhead_){this.playhead_.notifyOfBufferingChange();var e=this.mediaSourceEngine_.bufferStart(c);!this.isLive()&&this.video_.paused&&null!=e&&0<e&&this.playhead_.getTime()<e&&this.playhead_.setStartTime(e)}this.pollBufferState_()}a=(new Map).set("start",a).set("end",b).set("contentType",c).set("isMuxed",d);this.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.SegmentAppended,
|
|
1486
1490
|
a))};shaka.Player.prototype.switch_=function(a,b,c){b=void 0===b?!1:b;c=void 0===c?0:c;shaka.log.debug("switch_");goog.asserts.assert(this.config_.abr.enabled,"AbrManager should not call switch while disabled!");this.manifest_&&this.streamingEngine_&&a!=this.streamingEngine_.getCurrentVariant()&&this.switchVariant_(a,!0,b,c)};
|
|
1487
1491
|
shaka.Player.prototype.onAdaptation_=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.Adaptation,a);this.delayDispatchEvent_(b)};shaka.Player.prototype.onTracksChanged_=function(){var a=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged);this.delayDispatchEvent_(a)};
|
|
1488
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)};
|
|
@@ -1524,7 +1528,7 @@ goog.exportProperty(shaka.Player.prototype,"getLoadMode",shaka.Player.prototype.
|
|
|
1524
1528
|
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);
|
|
1525
1529
|
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);
|
|
1526
1530
|
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);
|
|
1527
|
-
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.
|
|
1531
|
+
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.6-debug";goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;
|
|
1528
1532
|
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_++};
|
|
1529
1533
|
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};
|
|
1530
1534
|
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()};
|
|
@@ -1595,7 +1599,7 @@ e.playingAd_||null==e.lastTime_){t.jumpTo(0);break}f=!1;g=Array.from(e.interstit
|
|
|
1595
1599
|
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)};
|
|
1596
1600
|
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_))};
|
|
1597
1601
|
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};
|
|
1598
|
-
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.player_.destroy()};
|
|
1602
|
+
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()};
|
|
1599
1603
|
shaka.ads.InterstitialAdManager.prototype.addMetadata=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress){if(b.basePlayer_.getLoadMode()==shaka.Player.LoadMode.SRC_EQUALS&&b.usingBaseVideo_)return shaka.log.alwaysWarn("Unsupported HLS interstitial when using single media element",a),d.return();b.updatePlayerConfig_();return d.yield(b.getInterstitialsInfo_(a),2)}c=d.yieldResult;c.length?b.addInterstitials(c):shaka.log.alwaysWarn("Unsupported HLS interstitial",
|
|
1600
1604
|
a);d.jumpToEnd()})};
|
|
1601
1605
|
shaka.ads.InterstitialAdManager.prototype.addRegion=function(a){for(var b,c,d=$jscomp.makeIterator(a.eventNode.children),e=d.next();!e.done;e=d.next()){var f=e.value;if("AlternativeMPD"==f.tagName&&(e=f.attributes.uri,f=f.attributes.mode,e)){b=e;c=f;break}}b?(d="replace"==c,c="insert"==c,d||c?this.addInterstitials([{id:null,startTime:a.startTime,endTime:d?a.endTime:null,uri:b,isSkippable:!1,skipOffset:null,canJump:!0,resumeOffset:c?0:null,playoutLimit:null,once:!1,pre:!1,post:!1,timelineRange:d&&
|
|
@@ -2058,8 +2062,8 @@ shaka.util.ContentSteeringManager.prototype.clearPreviousLocations=function(){th
|
|
|
2058
2062
|
shaka.util.ContentSteeringManager.prototype.getLocations=function(a,b){var c=this;b=void 0===b?!1:b;a=this.locations_.get(a)||new Map;for(var d=[],e=$jscomp.makeIterator(this.pathwayPriority_),f=e.next(),g={};!f.done;g={pathwayId$jscomp$1:void 0},f=e.next())if(g.pathwayId$jscomp$1=f.value,f=a.get(g.pathwayId$jscomp$1))d.push({pathwayId:g.pathwayId$jscomp$1,location:f});else if(f=this.pathwayClones_.find(function(k){return function(l){return l.ID==k.pathwayId$jscomp$1}}(g))){var h=a.get(f["BASE-ID"]);
|
|
2059
2063
|
h&&(f["URI-REPLACEMENT"].HOST?(h=new goog.Uri(h),h.setDomain(f["URI-REPLACEMENT"].HOST),d.push({pathwayId:g.pathwayId$jscomp$1,location:h.toString()})):d.push({pathwayId:g.pathwayId$jscomp$1,location:h}))}e=Date.now();g=$jscomp.makeIterator(this.bannedLocations_.keys());for(f=g.next();!f.done;f=g.next())f=f.value,h=this.bannedLocations_.get(f),e>h&&this.bannedLocations_.delete(f);d=d.filter(function(k){for(var l=$jscomp.makeIterator(c.bannedLocations_.keys()),m=l.next();!m.done;m=l.next())if(m.value.includes((new goog.Uri(k.location)).getDomain()))return!1;
|
|
2060
2064
|
return!0});d.length&&(this.lastPathwayUsed_=d[0].pathwayId);d=d.map(function(k){return k.location});if(!d.length&&this.defaultPathwayId_)for(e=$jscomp.makeIterator(this.defaultPathwayId_.split(",")),g=e.next();!g.done;g=e.next())if(g=a.get(g.value))this.lastPathwayUsed_=this.defaultPathwayId_,d.push(g);if(!d.length)for(a=$jscomp.makeIterator(a.values()),e=a.next();!e.done;e=a.next())d.push(e.value);return b?d:shaka.util.ManifestParserUtils.resolveUris(this.baseUris_,d)};shaka.util.PeriodCombiner=function(){this.variants_=[];this.audioStreams_=[];this.videoStreams_=[];this.textStreams_=[];this.imageStreams_=[];this.useStreamOnce_=this.multiTypeVariantsAllowed_=!1;this.usedPeriodIds_=new Set};
|
|
2061
|
-
shaka.util.PeriodCombiner.prototype.release=function(){var a=this.audioStreams_.concat(this.videoStreams_,this.textStreams_,this.imageStreams_);a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())b=b.value,b.segmentIndex&&b.segmentIndex.release();this.audioStreams_=[];this.videoStreams_=[];this.textStreams_=[];this.imageStreams_=[];this.variants_=[]
|
|
2062
|
-
shaka.util.PeriodCombiner.prototype.getImageStreams=function(){return this.imageStreams_};
|
|
2065
|
+
shaka.util.PeriodCombiner.prototype.release=function(){var a=this.audioStreams_.concat(this.videoStreams_,this.textStreams_,this.imageStreams_);a=$jscomp.makeIterator(a);for(var b=a.next();!b.done;b=a.next())b=b.value,b.segmentIndex&&b.segmentIndex.release();this.audioStreams_=[];this.videoStreams_=[];this.textStreams_=[];this.imageStreams_=[];this.variants_=[];this.useStreamOnce_=this.multiTypeVariantsAllowed_=!1;this.usedPeriodIds_.clear()};shaka.util.PeriodCombiner.prototype.getVariants=function(){return this.variants_};
|
|
2066
|
+
shaka.util.PeriodCombiner.prototype.getTextStreams=function(){return this.textStreams_.slice()};shaka.util.PeriodCombiner.prototype.getImageStreams=function(){return this.imageStreams_};
|
|
2063
2067
|
shaka.util.PeriodCombiner.prototype.deleteStream=function(a,b){if(a){var c=shaka.util.ManifestParserUtils.ContentType;if(a.type==c.AUDIO){c=$jscomp.makeIterator(this.audioStreams_);for(var 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.VIDEO)for(c=$jscomp.makeIterator(this.videoStreams_),d=c.next();!d.done;d=c.next())d=d.value,d.matchedStreams=d.matchedStreams.filter(function(e){return e!==a}),d.trickModeVideo&&(d.trickModeVideo.matchedStreams=
|
|
2064
2068
|
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)}};
|
|
2065
2069
|
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),
|
|
@@ -2245,7 +2249,7 @@ shaka.hls.ManifestTextParser.parseTag=function(a,b){var c=b.match(/^#(EXT[^:]*)(
|
|
|
2245
2249
|
b,c,e)};shaka.hls.ManifestTextParser.MEDIA_PLAYLIST_TAGS="EXT-X-TARGETDURATION EXT-X-MEDIA-SEQUENCE EXT-X-DISCONTINUITY-SEQUENCE EXT-X-PLAYLIST-TYPE EXT-X-I-FRAMES-ONLY EXT-X-ENDLIST EXT-X-SERVER-CONTROL EXT-X-SKIP EXT-X-PART-INF EXT-X-DATERANGE".split(" ");shaka.hls.ManifestTextParser.SEGMENT_TAGS="EXTINF EXT-X-BYTERANGE EXT-X-DISCONTINUITY EXT-X-PROGRAM-DATE-TIME EXT-X-KEY EXT-X-DATERANGE EXT-X-MAP EXT-X-GAP".split(" ");shaka.net.DataUriPlugin=function(){};shaka.net.DataUriPlugin.parse=function(a,b,c,d){try{var e=shaka.net.DataUriPlugin.parseRaw(a);return shaka.util.AbortableOperation.completed({uri:a,originalUri:a,data:e.data,headers:{"content-type":e.contentType}})}catch(f){return shaka.util.AbortableOperation.failed(f)}};
|
|
2246
2250
|
shaka.net.DataUriPlugin.parseRaw=function(a){var b=a.split(":");if(2>b.length||"data"!=b[0])throw shaka.log.error("Bad data URI, failed to parse scheme"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.MALFORMED_DATA_URI,a);b=b.slice(1).join(":").split(",");if(2>b.length)throw shaka.log.error("Bad data URI, failed to extract encoding and MIME type"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.NETWORK,
|
|
2247
2251
|
shaka.util.Error.Code.MALFORMED_DATA_URI,a);var c=b[0];a=window.decodeURIComponent(b.slice(1).join(","));b=c.split(";");c=b[0];var d=!1;1<b.length&&"base64"==b[b.length-1]&&(d=!0,b.pop());return{data:d?shaka.util.Uint8ArrayUtils.fromBase64(a):shaka.util.StringUtils.toUTF8(a),contentType:c}};goog.exportSymbol("shaka.net.DataUriPlugin",shaka.net.DataUriPlugin);goog.exportProperty(shaka.net.DataUriPlugin,"parse",shaka.net.DataUriPlugin.parse);shaka.net.NetworkingEngine.registerScheme("data",shaka.net.DataUriPlugin.parse);shaka.hls.HlsParser=function(){var a=this;this.config_=this.playerInterface_=null;this.globalId_=1;this.globalVariables_=new Map;this.groupIdToStreamInfosMap_=new Map;this.mediaSequenceToStartTimeByType_=new Map;var b=shaka.util.ManifestParserUtils.ContentType;this.mediaSequenceToStartTimeByType_.set(b.VIDEO,new Map);this.mediaSequenceToStartTimeByType_.set(b.AUDIO,new Map);this.mediaSequenceToStartTimeByType_.set(b.TEXT,new Map);this.mediaSequenceToStartTimeByType_.set(b.IMAGE,new Map);this.variantUriSet_=
|
|
2248
|
-
new Set;this.uriToStreamInfosMap_=new Map;this.presentationTimeline_=null;this.masterPlaylistUri_="";this.manifestTextParser_=new shaka.hls.ManifestTextParser;this.minSequenceNumber_=-1;this.lowestSyncTime_=Infinity;this.codecInfoInManifest_=this.streamsFinalized_=!1;this.updatePlaylistTimer_=new shaka.util.Timer(function(){if(a.mediaElement_&&!a.config_.continueLoadingWhenPaused&&(a.eventManager_.unlisten(a.mediaElement_,"timeupdate"),a.mediaElement_.paused)){a.eventManager_.listenOnce(a.mediaElement_,
|
|
2252
|
+
new Set;this.uriToStreamInfosMap_=new Map;this.presentationTimeline_=null;this.masterPlaylistUri_="";this.manifestTextParser_=new shaka.hls.ManifestTextParser;this.minSequenceNumber_=-1;this.lowestSyncTime_=Infinity;this.codecInfoInManifest_=this.streamsFinalized_=this.usesProgramDateTime_=!1;this.updatePlaylistTimer_=new shaka.util.Timer(function(){if(a.mediaElement_&&!a.config_.continueLoadingWhenPaused&&(a.eventManager_.unlisten(a.mediaElement_,"timeupdate"),a.mediaElement_.paused)){a.eventManager_.listenOnce(a.mediaElement_,
|
|
2249
2253
|
"timeupdate",function(){return a.onUpdate_()});return}a.onUpdate_()});this.presentationType_=shaka.hls.HlsParser.PresentationType_.VOD;this.manifest_=null;this.maxTargetDuration_=0;this.lastTargetDuration_=Infinity;this.lowLatencyPresentationDelay_=this.presentationDelay_=this.partialTargetDuration_=0;this.operationManager_=new shaka.util.OperationManager;this.groupIdToClosedCaptionsMap_=new Map;this.groupIdToCodecsMap_=new Map;this.mapTagToInitSegmentRefMap_=new Map;this.aesKeyInfoMap_=new Map;this.aesKeyMap_=
|
|
2250
2254
|
new Map;this.identityKeyMap_=new Map;this.identityKidMap_=new Map;this.lowLatencyByterangeOptimization_=this.lowLatencyMode_=!1;this.averageUpdateDuration_=new shaka.abr.Ewma(5);this.contentSteeringManager_=null;this.needsClosedCaptionsDetection_=!0;this.dateRangeIdsEmitted_=new Set;this.eventManager_=new shaka.util.EventManager;this.startTime_=this.mediaElement_=null;this.isPreloadFn_=function(){return!1}};
|
|
2251
2255
|
shaka.hls.HlsParser.prototype.configure=function(a,b){this.config_=a;b&&(this.isPreloadFn_=b);this.contentSteeringManager_&&this.contentSteeringManager_.configure(this.config_)};
|
|
@@ -2262,9 +2266,9 @@ shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_INVALID_PLAYLIST_HI
|
|
|
2262
2266
|
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",
|
|
2263
2267
|
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);
|
|
2264
2268
|
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};
|
|
2265
|
-
shaka.hls.HlsParser.prototype.syncStreamsWithSequenceNumber_=function(a){for(var
|
|
2266
|
-
|
|
2267
|
-
0<
|
|
2269
|
+
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);
|
|
2270
|
+
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=
|
|
2271
|
+
this.minSequenceNumber_-c.firstSequenceNumber,0<e&&(d.dropFirstReferences(e),d=d.earliestReference()))d=-d.startTime,c.stream.segmentIndex.offset(d),this.offsetStreamInfo_(c,d)};
|
|
2268
2272
|
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());
|
|
2269
2273
|
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)}}}};
|
|
2270
2274
|
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())};
|
|
@@ -2338,8 +2342,8 @@ q.finalizeStreams_(V),q.determineDuration_(),U=q.getUpdatePlaylistDelay_(),0<U&&
|
|
|
2338
2342
|
!0);return y=new Promise(function(z){z(x(w))})};r.closeSegmentIndex=function(){y&&!r.segmentIndex&&w.abort();r.segmentIndex&&(r.segmentIndex.release(),r.segmentIndex=null);y=null};return v};shaka.hls.HlsParser.prototype.getMinDuration_=function(){for(var a=Infinity,b=$jscomp.makeIterator(this.uriToStreamInfosMap_.values()),c=b.next();!c.done;c=b.next())c=c.value,c.stream.segmentIndex&&"text"!=c.stream.type&&(a=Math.min(a,c.maxTimestamp));return a};
|
|
2339
2343
|
shaka.hls.HlsParser.prototype.getLiveDuration_=function(){for(var a=Infinity,b=Infinity,c=$jscomp.makeIterator(this.uriToStreamInfosMap_.values()),d=c.next();!d.done;d=c.next())d=d.value,d.stream.segmentIndex&&"text"!=d.stream.type&&(a=Math.min(a,d.maxTimestamp),b=Math.min(b,d.minTimestamp));return a-b};
|
|
2340
2344
|
shaka.hls.HlsParser.prototype.notifySegmentsForStreams_=function(a){var b=[];a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next())c=c.value,c.segmentIndex&&c.segmentIndex.forEachTopLevelReference(function(d){b.push(d)});this.presentationTimeline_.notifySegments(b)};
|
|
2341
|
-
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}));this.config_.hls.ignoreManifestProgramDateTime?this.syncStreamsWithSequenceNumber_(a):(this.syncStreamsWithProgramDateTime_(a),0<this.config_.hls.ignoreManifestProgramDateTimeForTypes.length&&
|
|
2342
|
-
shaka.hls.HlsParser.prototype.ignoreManifestProgramDateTimeFor_=function(a){return this.config_.hls.ignoreManifestProgramDateTime?!0:this.config_.hls.ignoreManifestProgramDateTimeForTypes.includes(a)};
|
|
2345
|
+
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&&
|
|
2346
|
+
this.syncStreamsWithSequenceNumber_(a))};shaka.hls.HlsParser.prototype.ignoreManifestProgramDateTimeFor_=function(a){return this.config_.hls.ignoreManifestProgramDateTime?!0:this.config_.hls.ignoreManifestProgramDateTimeForTypes.includes(a)};
|
|
2343
2347
|
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};
|
|
2344
2348
|
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,
|
|
2345
2349
|
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),
|
|
@@ -2368,7 +2372,7 @@ shaka.hls.HlsParser.prototype.getInitSegmentReference_=function(a,b,c,d){var e=s
|
|
|
2368
2372
|
l.id<e.id&&(h=this.parseAESDrmTag_(l,a,c,d)):"EXT-X-BYTERANGE"==l.name&&l.id<e.id&&(k=l);a=this.createInitSegmentReference_(g,e,k,h);this.mapTagToInitSegmentRefMap_.set(f,a)}return this.mapTagToInitSegmentRefMap_.get(f)};
|
|
2369
2373
|
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)};
|
|
2370
2374
|
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,
|
|
2371
|
-
"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"))}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,
|
|
2375
|
+
"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,
|
|
2372
2376
|
"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?
|
|
2373
2377
|
(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=
|
|
2374
2378
|
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)&&
|
|
@@ -2669,7 +2673,7 @@ goog.exportProperty(shaka.offline.Storage.prototype,"getConfiguration",shaka.off
|
|
|
2669
2673
|
shaka.offline.Storage.defaultSystemIds_=(new Map).set("org.w3.clearkey","1077efecc0b24d02ace33c1e52e2fb4b").set("com.widevine.alpha","edef8ba979d64acea3c827dcd51d21ed").set("com.microsoft.playready","9a04f07998404286ab92e65be0885f95").set("com.microsoft.playready.recommendation","9a04f07998404286ab92e65be0885f95").set("com.microsoft.playready.software","9a04f07998404286ab92e65be0885f95").set("com.microsoft.playready.hardware","9a04f07998404286ab92e65be0885f95");
|
|
2670
2674
|
shaka.Player.registerSupportPlugin("offline",shaka.offline.Storage.support);shaka.polyfill=function(){};shaka.polyfill.installAll=function(){for(var a=$jscomp.makeIterator(shaka.polyfill.polyfills_),b=a.next();!b.done;b=a.next()){b=b.value;try{b.callback()}catch(c){shaka.log.alwaysWarn("Error installing polyfill!",c)}}};shaka.polyfill.register=function(a,b){a={priority:b||0,callback:a};for(b=0;b<shaka.polyfill.polyfills_.length;b++)if(shaka.polyfill.polyfills_[b].priority<a.priority){shaka.polyfill.polyfills_.splice(b,0,a);return}shaka.polyfill.polyfills_.push(a)};
|
|
2671
2675
|
goog.exportSymbol("shaka.polyfill",shaka.polyfill);goog.exportProperty(shaka.polyfill,"register",shaka.polyfill.register);goog.exportProperty(shaka.polyfill,"installAll",shaka.polyfill.installAll);shaka.polyfill.polyfills_=[];shaka.polyfill.Aria=function(){};shaka.polyfill.Aria.install=function(){if(Object.getOwnPropertyDescriptor(Element.prototype,"ariaHidden"))shaka.log.info("Using native ARIAMixin interface.");else{shaka.log.info("ARIAMixin interface not detected. Installing polyfill.");for(var a=$jscomp.makeIterator(["ariaHidden","ariaLabel","ariaPressed","ariaSelected"]),b=a.next();!b.done;b=a.next())shaka.polyfill.Aria.addARIAMixinAttribute_(b.value)}};
|
|
2672
|
-
shaka.polyfill.Aria.addARIAMixinAttribute_=function(a){var b="aria-"+a.toLowerCase().replace(/^aria/,"");Object.defineProperty(Element.prototype,a,{get:function(){return this.getAttribute(b)},set:function(c){null==c||void 0==c?this.removeAttribute(b):this.setAttribute(b,c)}})};goog.exportProperty(shaka.polyfill,"Aria",shaka.polyfill.Aria);goog.exportProperty(shaka.polyfill.Aria,"install",shaka.polyfill.Aria.install);shaka.polyfill.register(shaka.polyfill.Aria.install);shaka.polyfill.EncryptionScheme=function(){};shaka.polyfill.EncryptionScheme.install=function(){EncryptionSchemePolyfills.install()};goog.exportProperty(shaka.polyfill,"EncryptionScheme",shaka.polyfill.EncryptionScheme);goog.exportProperty(shaka.polyfill.EncryptionScheme,"install",shaka.polyfill.EncryptionScheme.install);shaka.polyfill.register(shaka.polyfill.EncryptionScheme.install,-2);shaka.polyfill.Fullscreen=function(){};
|
|
2676
|
+
shaka.polyfill.Aria.addARIAMixinAttribute_=function(a){var b="aria-"+a.toLowerCase().replace(/^aria/,"");Object.defineProperty(Element.prototype,a,{get:function(){return this.getAttribute(b)},set:function(c){null==c||void 0==c?this.removeAttribute(b):this.setAttribute(b,c)}})};goog.exportProperty(shaka.polyfill,"Aria",shaka.polyfill.Aria);goog.exportProperty(shaka.polyfill.Aria,"install",shaka.polyfill.Aria.install);shaka.polyfill.register(shaka.polyfill.Aria.install);shaka.polyfill.EncryptionScheme=function(){};shaka.polyfill.EncryptionScheme.install=function(){shaka.util.Platform.isPS4()||shaka.util.Platform.isSkyQ()||EncryptionSchemePolyfills.install()};goog.exportProperty(shaka.polyfill,"EncryptionScheme",shaka.polyfill.EncryptionScheme);goog.exportProperty(shaka.polyfill.EncryptionScheme,"install",shaka.polyfill.EncryptionScheme.install);shaka.polyfill.register(shaka.polyfill.EncryptionScheme.install,-2);shaka.polyfill.Fullscreen=function(){};
|
|
2673
2677
|
shaka.polyfill.Fullscreen.install=function(){if(window.Document){var a=Element.prototype;a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||a.webkitRequestFullscreen;a=Document.prototype;a.exitFullscreen=a.exitFullscreen||a.mozCancelFullScreen||a.msExitFullscreen||a.webkitCancelFullScreen;"fullscreenElement"in document||(Object.defineProperty(document,"fullscreenElement",{get:function(){return document.mozFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement||
|
|
2674
2678
|
document.webkitFullscreenElement}}),Object.defineProperty(document,"fullscreenEnabled",{get:function(){return document.mozFullScreenEnabled||document.msFullscreenEnabled||document.webkitFullscreenEnabled}}));a=shaka.polyfill.Fullscreen.proxyEvent_;document.addEventListener("webkitfullscreenchange",a);document.addEventListener("webkitfullscreenerror",a);document.addEventListener("mozfullscreenchange",a);document.addEventListener("mozfullscreenerror",a);document.addEventListener("MSFullscreenChange",
|
|
2675
2679
|
a);document.addEventListener("MSFullscreenError",a)}};shaka.polyfill.Fullscreen.proxyEvent_=function(a){var b=a.type.replace(/^(webkit|moz|MS)/,"").toLowerCase(),c=document.createEvent("Event");c.initEvent(b,a.bubbles,a.cancelable);a.target.dispatchEvent(c)};goog.exportProperty(shaka.polyfill,"Fullscreen",shaka.polyfill.Fullscreen);goog.exportProperty(shaka.polyfill.Fullscreen,"install",shaka.polyfill.Fullscreen.install);shaka.polyfill.register(shaka.polyfill.Fullscreen.install);shaka.polyfill.MediaCapabilities=function(){};
|