shaka-player 4.10.19 → 4.10.21
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/deps.js +1 -1
- package/dist/locales.js +37 -37
- package/dist/shaka-player.compiled.debug.js +45 -42
- package/dist/shaka-player.compiled.debug.map +3 -3
- package/dist/shaka-player.compiled.js +945 -942
- package/dist/shaka-player.compiled.map +3 -3
- package/dist/shaka-player.ui.debug.js +48 -45
- package/dist/shaka-player.ui.debug.map +3 -3
- package/dist/shaka-player.ui.js +1130 -1127
- package/dist/shaka-player.ui.map +3 -3
- package/lib/ads/interstitial_ad_manager.js +4 -0
- package/lib/media/preload_manager.js +20 -0
- package/lib/media/streaming_engine.js +43 -12
- package/lib/player.js +11 -11
- package/lib/polyfill/media_capabilities.js +8 -2
- package/lib/util/periods.js +3 -0
- package/package.json +1 -1
- package/ui/locales/zh-HK.json +30 -11
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ for the up-to-date list of maintained branches of Shaka Player.
|
|
|
41
41
|
|Edge Chromium |**Y** |**Y** |**Y** |untested⁵|**Native**|**Native** |**Native** | - | - |
|
|
42
42
|
|IE | N | - | - | - | - | - | - | - | - |
|
|
43
43
|
|Safari¹ | - |**Y** | - | - |**Native**|**Y** |**Y** | - | - |
|
|
44
|
-
|Opera¹ |untested
|
|
44
|
+
|Opera¹ |**Y** |**Y** |**Y** |untested⁵|**Native**| - | - | - | - |
|
|
45
45
|
|Chromecast². | - | - | - | - | - | - | - | - |**Y**|
|
|
46
46
|
|Tizen TV³ | - | - | - | - | - | - | - | - |**Y**|
|
|
47
47
|
|WebOS⁶ | - | - | - | - | - | - | - | - |**Y**|
|
|
@@ -186,7 +186,7 @@ MSS features **not** supported:
|
|
|
186
186
|
|Edge³ | - |**Y** | - | - |
|
|
187
187
|
|Edge Chromium |**Y** |**Y** | - |**Y** |
|
|
188
188
|
|Safari | - | - |**Y** | - |
|
|
189
|
-
|Opera |
|
|
189
|
+
|Opera |**Y** | - | - |**Y** |
|
|
190
190
|
|Chromecast |**Y** |**Y** | - |**Y** |
|
|
191
191
|
|Tizen TV |**Y** |**Y** | - |**Y** |
|
|
192
192
|
|WebOS⁷ |untested⁷ |untested⁷| - |untested⁷ |
|
|
@@ -204,8 +204,6 @@ NOTES:
|
|
|
204
204
|
- ²: DRM must be enabled by the user. The first time a Firefox user visits a
|
|
205
205
|
site with encrypted media, the user will be prompted to enable DRM.
|
|
206
206
|
- ³: PlayReady in Edge does not seem to work on a VM or over Remote Desktop.
|
|
207
|
-
- ⁵: These are expected to work, but are not actively tested by the Shaka
|
|
208
|
-
Player team.
|
|
209
207
|
- ⁶: ClearKey is a useful tool for debugging, and does not provide actual
|
|
210
208
|
content security.
|
|
211
209
|
- ⁷: These are expected to work, but are community-supported and untested by
|
package/dist/deps.js
CHANGED
|
@@ -131,7 +131,7 @@ goog.addDependency('../../../../lib/polyfill/all.js', ['shaka.polyfill'], ['shak
|
|
|
131
131
|
goog.addDependency('../../../../lib/polyfill/aria.js', ['shaka.polyfill.Aria'], ['shaka.log', 'shaka.polyfill'], {'lang': 'es6'});
|
|
132
132
|
goog.addDependency('../../../../lib/polyfill/encryption_scheme.js', ['shaka.polyfill.EncryptionScheme'], ['shaka.polyfill', 'shaka.util.Platform'], {'lang': 'es6'});
|
|
133
133
|
goog.addDependency('../../../../lib/polyfill/fullscreen.js', ['shaka.polyfill.Fullscreen'], ['shaka.polyfill'], {'lang': 'es6'});
|
|
134
|
-
goog.addDependency('../../../../lib/polyfill/media_capabilities.js', ['shaka.polyfill.MediaCapabilities'], ['shaka.log', 'shaka.media.Capabilities', 'shaka.polyfill', 'shaka.util.DrmUtils', 'shaka.util.Platform'], {'lang': 'es8'});
|
|
134
|
+
goog.addDependency('../../../../lib/polyfill/media_capabilities.js', ['shaka.polyfill.MediaCapabilities'], ['shaka.log', 'shaka.media.Capabilities', 'shaka.polyfill', 'shaka.util.DrmUtils', 'shaka.util.MimeUtils', 'shaka.util.Platform'], {'lang': 'es8'});
|
|
135
135
|
goog.addDependency('../../../../lib/polyfill/mediasource.js', ['shaka.polyfill.MediaSource'], ['shaka.log', 'shaka.polyfill', 'shaka.util.MimeUtils', 'shaka.util.Platform'], {'lang': 'es6'});
|
|
136
136
|
goog.addDependency('../../../../lib/polyfill/orientation.js', ['shaka.polyfill.Orientation'], ['shaka.log', 'shaka.polyfill', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget'], {'lang': 'es6'});
|
|
137
137
|
goog.addDependency('../../../../lib/polyfill/patchedmediakeys_apple.js', ['shaka.polyfill.PatchedMediaKeysApple'], ['goog.asserts', 'shaka.log', 'shaka.polyfill', 'shaka.util.BufferUtils', 'shaka.util.DrmUtils', 'shaka.util.EventManager', 'shaka.util.FakeEvent', 'shaka.util.FakeEventTarget', 'shaka.util.MediaReadyState', 'shaka.util.PublicPromise', 'shaka.util.StringUtils'], {'lang': 'es6'});
|
package/dist/locales.js
CHANGED
|
@@ -909,51 +909,51 @@ shaka.ui.Locales.addTo = function(localization) {
|
|
|
909
909
|
* @const
|
|
910
910
|
*/
|
|
911
911
|
shaka.ui.Locales.Ids = {
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
912
|
+
CHAPTERS: 'CHAPTERS',
|
|
913
|
+
AIRPLAY: 'AIRPLAY',
|
|
914
|
+
AD_STATISTICS: 'AD_STATISTICS',
|
|
915
|
+
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
916
|
+
ON: 'ON',
|
|
917
|
+
SUBTITLE_FORCED: 'SUBTITLE_FORCED',
|
|
918
918
|
EXIT_FULL_SCREEN: 'EXIT_FULL_SCREEN',
|
|
919
|
-
REWIND: 'REWIND',
|
|
920
|
-
TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
|
|
921
919
|
AD_DURATION: 'AD_DURATION',
|
|
922
|
-
|
|
923
|
-
|
|
920
|
+
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
921
|
+
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
922
|
+
ENTER_LOOP_MODE: 'ENTER_LOOP_MODE',
|
|
923
|
+
EXIT_LOOP_MODE: 'EXIT_LOOP_MODE',
|
|
924
|
+
PAUSE: 'PAUSE',
|
|
925
|
+
SEEK: 'SEEK',
|
|
924
926
|
LANGUAGE: 'LANGUAGE',
|
|
927
|
+
SKIP_AD: 'SKIP_AD',
|
|
925
928
|
PLAY: 'PLAY',
|
|
926
|
-
|
|
927
|
-
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
928
|
-
CAPTIONS: 'CAPTIONS',
|
|
929
|
-
PAUSE: 'PAUSE',
|
|
930
|
-
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
929
|
+
PLAYBACK_RATE: 'PLAYBACK_RATE',
|
|
931
930
|
FULL_SCREEN: 'FULL_SCREEN',
|
|
932
|
-
|
|
933
|
-
ENTER_PICTURE_IN_PICTURE: 'ENTER_PICTURE_IN_PICTURE',
|
|
934
|
-
STATISTICS: 'STATISTICS',
|
|
935
|
-
UNMUTE: 'UNMUTE',
|
|
936
|
-
ON: 'ON',
|
|
937
|
-
SEEK: 'SEEK',
|
|
938
|
-
UNRECOGNIZED_LANGUAGE: 'UNRECOGNIZED_LANGUAGE',
|
|
939
|
-
RECENTER_VR: 'RECENTER_VR',
|
|
940
|
-
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
941
|
-
AIRPLAY: 'AIRPLAY',
|
|
931
|
+
SKIP_TO_LIVE: 'SKIP_TO_LIVE',
|
|
942
932
|
MUTE: 'MUTE',
|
|
933
|
+
REWIND: 'REWIND',
|
|
934
|
+
UNDETERMINED_LANGUAGE: 'UNDETERMINED_LANGUAGE',
|
|
935
|
+
TOGGLE_STEREOSCOPIC: 'TOGGLE_STEREOSCOPIC',
|
|
936
|
+
NOT_APPLICABLE: 'NOT_APPLICABLE',
|
|
937
|
+
EXIT_PICTURE_IN_PICTURE: 'EXIT_PICTURE_IN_PICTURE',
|
|
938
|
+
LIVE: 'LIVE',
|
|
939
|
+
BACK: 'BACK',
|
|
940
|
+
LOOP: 'LOOP',
|
|
941
|
+
CAST: 'CAST',
|
|
943
942
|
PICTURE_IN_PICTURE: 'PICTURE_IN_PICTURE',
|
|
944
|
-
|
|
945
|
-
AUTO_QUALITY: 'AUTO_QUALITY',
|
|
943
|
+
QUALITY: 'QUALITY',
|
|
946
944
|
REPLAY: 'REPLAY',
|
|
947
|
-
|
|
945
|
+
AD_TIME: 'AD_TIME',
|
|
946
|
+
OFF: 'OFF',
|
|
947
|
+
CAPTIONS: 'CAPTIONS',
|
|
948
|
+
FAST_FORWARD: 'FAST_FORWARD',
|
|
949
|
+
SURROUND: 'SURROUND',
|
|
948
950
|
VOLUME: 'VOLUME',
|
|
949
|
-
DOWNLOAD_VIDEO_FRAME: 'DOWNLOAD_VIDEO_FRAME',
|
|
950
951
|
AD_PROGRESS: 'AD_PROGRESS',
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
AD_TIME: 'AD_TIME',
|
|
952
|
+
DOWNLOAD_VIDEO_FRAME: 'DOWNLOAD_VIDEO_FRAME',
|
|
953
|
+
UNMUTE: 'UNMUTE',
|
|
954
|
+
MORE_SETTINGS: 'MORE_SETTINGS',
|
|
955
|
+
MULTIPLE_LANGUAGES: 'MULTIPLE_LANGUAGES',
|
|
956
|
+
RESOLUTION: 'RESOLUTION',
|
|
957
|
+
RECENTER_VR: 'RECENTER_VR',
|
|
958
|
+
STATISTICS: 'STATISTICS',
|
|
959
959
|
};
|
|
@@ -960,8 +960,8 @@ shaka.media.SegmentUtils.filterDuplicateCodecs_=function(a){var b=new Set,c=[];a
|
|
|
960
960
|
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};
|
|
961
961
|
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};
|
|
962
962
|
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+
|
|
963
|
-
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.
|
|
964
|
-
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()};
|
|
963
|
+
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()/
|
|
964
|
+
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()};
|
|
965
965
|
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),
|
|
966
966
|
2)}a.mediaStates_.clear();a.audioPrefetchMap_.clear();a.playerInterface_=null;a.manifest_=null;a.config_=null;k.jumpToEnd()})};
|
|
967
967
|
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(),
|
|
@@ -972,10 +972,10 @@ shaka.media.StreamingEngine.prototype.start=function(a){var b=this;return $jscom
|
|
|
972
972
|
shaka.media.StreamingEngine.prototype.getCurrentTextStream=function(){return this.currentTextStream_};
|
|
973
973
|
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);
|
|
974
974
|
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()}})};
|
|
975
|
-
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};
|
|
975
|
+
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};
|
|
976
976
|
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",
|
|
977
977
|
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))};
|
|
978
|
-
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()})};
|
|
978
|
+
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()})};
|
|
979
979
|
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))}};
|
|
980
980
|
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"))),
|
|
981
981
|
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,
|
|
@@ -1005,8 +1005,8 @@ l.yield(b.handleStreamingError_(a,e),8);case 8:return l.return();case 6:if(d!=a.
|
|
|
1005
1005
|
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()}})};
|
|
1006
1006
|
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()&&
|
|
1007
1007
|
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_:",
|
|
1008
|
-
"presentationTime="+d,"bufferedAhead="+g);var h=Math.max(1,Math.max(this.manifest_.minBufferTime||0,this.config_.rebufferingGoal,this.config_.bufferingGoal)*this.
|
|
1009
|
-
|
|
1008
|
+
"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),
|
|
1009
|
+
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,
|
|
1010
1010
|
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};
|
|
1011
1011
|
shaka.media.StreamingEngine.prototype.getTimeNeeded_=function(a,b){return a.lastSegmentReference?a.lastSegmentReference.endTime:b};
|
|
1012
1012
|
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>
|
|
@@ -1019,12 +1019,13 @@ t=t.subarray(D);return K.yield(e.append_(a,b,k,c,H,!0,d),5);case 5:a.segmentPref
|
|
|
1019
1019
|
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:u=E.yieldResult;if(y)throw y;if(w){E.jumpTo(10);break}v=!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,
|
|
1020
1020
|
k,c,u,!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,
|
|
1021
1021
|
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,
|
|
1022
|
-
"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
|
|
1023
|
-
E.yield(e.handleStreamingError_(a,B),0)}})};
|
|
1022
|
+
"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;
|
|
1023
|
+
return E.yield(e.handleStreamingError_(a,B),0)}}})};
|
|
1024
1024
|
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..."),
|
|
1025
1025
|
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};
|
|
1026
|
-
shaka.media.StreamingEngine.prototype.handleQuotaExceeded_=function(a,b){var c=shaka.media.StreamingEngine.logPrefix_(a);
|
|
1027
|
-
.04;else
|
|
1026
|
+
shaka.media.StreamingEngine.prototype.handleQuotaExceeded_=function(a,b){var c=this,d,e,f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){if(1==n.nextAddress){d=shaka.media.StreamingEngine.logPrefix_(a);e=Array.from(c.mediaStates_.values());if(f=e.some(function(p){return p!=a&&p.recovering}))return shaka.log.debug(d,"MediaSource threw QuotaExceededError:","waiting for another stream to recover..."),n.jumpTo(2);(g=c.getDisabledTime_(b))&&shaka.log.debug(d,"Disabling stream due to quota",
|
|
1027
|
+
b);if(h=c.playerInterface_.disableStream(a.stream,g))return n.return();k=Math.round(100*c.bufferingScale_);if(20<k)c.bufferingScale_-=.2;else if(4<k)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),n.return();l=Math.round(100*c.bufferingScale_);shaka.log.warning(d,"MediaSource threw QuotaExceededError:","reducing buffering goals by "+(100-l)+"%");a.recovering=!0;m=c.playerInterface_.getPresentationTime();
|
|
1028
|
+
return n.yield(c.evict_(a,m),2)}c.scheduleUpdate_(a,4);n.jumpToEnd()})};
|
|
1028
1029
|
shaka.media.StreamingEngine.prototype.initSourceBuffer_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r,t,v,w,y,x,u,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,
|
|
1029
1030
|
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 "+
|
|
1030
1031
|
n);v=a.lastCodecs&&a.lastMimeType&&d.playerInterface_.mediaSourceEngine.isResetMediaSourceNecessary(a.type,a.stream,r,p);if(!v){A.jumpTo(3);break}w=null;a.type===e.VIDEO?w=d.mediaStates_.get(e.AUDIO):a.type===e.AUDIO&&(w=d.mediaStates_.get(e.VIDEO));if(!w){A.jumpTo(3);break}return A.yield(d.abortOperations_(w).catch(function(){}),5);case 5:w.lastInitSegmentReference=null,d.forceClearBuffer_(w);case 3:return A.yield(d.setProperties_(a,t,m,n,b,q,r),2);case 2:return shaka.media.InitSegmentReference.equal(b.initSegmentReference,
|
|
@@ -1045,9 +1046,10 @@ c.reader.getPosition());if(b&&b.includes(d)||this.config_.dispatchAllEmsgBoxes)i
|
|
|
1045
1046
|
d)&&(d=shaka.util.Id3Utils.getID3Frames(a),d.length))this.playerInterface_.onMetadata([{cueTime:l,data:a,frames:d,dts:l,pts:l}],0,b)};
|
|
1046
1047
|
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,
|
|
1047
1048
|
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()};
|
|
1048
|
-
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);
|
|
1049
|
-
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="+
|
|
1050
|
-
k);return l.yield(c.playerInterface_.mediaSourceEngine.remove(a.type,g,g+k),2)}c.destroyer_.ensureNotDestroyed()
|
|
1049
|
+
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);
|
|
1050
|
+
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="+
|
|
1051
|
+
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()})};
|
|
1052
|
+
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)};
|
|
1051
1053
|
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);
|
|
1052
1054
|
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){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)};
|
|
1053
1055
|
shaka.media.StreamingEngine.dispatchFetch=function(a,b,c,d,e){var f=shaka.net.NetworkingEngine.RequestType.SEGMENT,g=a instanceof shaka.media.SegmentReference?a:void 0,h=g?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(f,c,{type:h,stream:b,segment:g})};
|
|
@@ -1057,8 +1059,8 @@ a.segmentPrefetch&&!d.audioPrefetchMap_.has(a.stream)&&a.segmentPrefetch.clearAl
|
|
|
1057
1059
|
shaka.media.StreamingEngine.prototype.scheduleUpdate_=function(a,b){var c=this,d=shaka.media.StreamingEngine.logPrefix_(a),e=a.type;e!=shaka.util.ManifestParserUtils.ContentType.TEXT||this.mediaStates_.has(e)?(shaka.log.v2(d,"updating in "+b+" seconds"),goog.asserts.assert(null==a.updateTimer,d+" did not expect update to be scheduled"),a.updateTimer=(new shaka.util.DelayedTick(function(){var f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return g.setCatchFinallyBlocks(2),
|
|
1058
1060
|
g.yield(c.onUpdate_(a),4);if(2!=g.nextAddress)return g.leaveTryBlock(0);f=g.enterCatchBlock();if(c.playerInterface_)c.playerInterface_.onError(f);g.jumpToEnd()})})).tickAfter(b)):shaka.log.v1(d,"Text stream is unloaded. No update is needed.")};shaka.media.StreamingEngine.prototype.cancelUpdate_=function(a){null!=a.updateTimer&&(a.updateTimer.stop(),a.updateTimer=null)};
|
|
1059
1061
|
shaka.media.StreamingEngine.prototype.abortOperations_=function(a){return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){return a.operation?b.yield(a.operation.abort(),0):b.jumpTo(0)})};
|
|
1060
|
-
shaka.media.StreamingEngine.prototype.handleStreamingError_=function(a,b){var c=this,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(
|
|
1061
|
-
b.code!=shaka.util.Error.Code.SEGMENT_MISSING)c.playerInterface_.onError(b);b.handled||c.config_.failureCallback(b);
|
|
1062
|
+
shaka.media.StreamingEngine.prototype.handleStreamingError_=function(a,b){var c=this,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return d=shaka.media.StreamingEngine.logPrefix_(a),f.yield(c.failureCallbackBackoff_.attempt(),2);c.destroyer_.ensureNotDestroyed();if(b.category===shaka.util.Error.Category.NETWORK&&b.code!=shaka.util.Error.Code.TIMEOUT){if(a.restoreStreamAfterTrickPlay)return c.setTrickPlay(!1),f.return();(e=c.getDisabledTime_(b))&&shaka.log.debug(d,
|
|
1063
|
+
"Disabling stream due to error",b);b.handled=c.playerInterface_.disableStream(a.stream,e);b.handled&&(b.severity=shaka.util.Error.Severity.RECOVERABLE)}if(!b.handled||b.code!=shaka.util.Error.Code.SEGMENT_MISSING)c.playerInterface_.onError(b);b.handled||c.config_.failureCallback(b);f.jumpToEnd()})};shaka.media.StreamingEngine.prototype.getDisabledTime_=function(a){return 0===this.config_.maxDisabledTime&&a.code==shaka.util.Error.Code.SEGMENT_MISSING?1:this.config_.maxDisabledTime};
|
|
1062
1064
|
shaka.media.StreamingEngine.prototype.resetMediaSource=function(){var a=this,b,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress){b=Date.now()/1E3;c=a.config_.minTimeBetweenRecoveries;if(!a.config_.allowMediaSourceRecoveries||b-a.lastMediaSourceReset_<c)return h.return(!1);a.lastMediaSourceReset_=b;d=shaka.util.ManifestParserUtils.ContentType;if(e=a.mediaStates_.get(d.AUDIO))e.lastInitSegmentReference=null,a.forceClearBuffer_(e),a.abortOperations_(e).catch(function(){});
|
|
1063
1065
|
if(f=a.mediaStates_.get(d.VIDEO))f.lastInitSegmentReference=null,a.forceClearBuffer_(f),a.abortOperations_(f).catch(function(){});g=new Map;a.currentVariant_.audio&&g.set(d.AUDIO,a.currentVariant_.audio);a.currentVariant_.video&&g.set(d.VIDEO,a.currentVariant_.video);return h.yield(a.playerInterface_.mediaSourceEngine.reset(g),2)}return h.return(!0)})};
|
|
1064
1066
|
shaka.media.StreamingEngine.prototype.updateSpatialVideoInfo_=function(a){if(this.spatialVideoInfo_.projection!=a.projection||this.spatialVideoInfo_.hfov!=a.hfov){var b=shaka.util.FakeEvent.EventName;if(null!=a.projection||null!=a.hfov){b=b.SpatialVideoInfoEvent;var c=(new Map).set("detail",a);b=new shaka.util.FakeEvent(b,c)}else b=new shaka.util.FakeEvent(b.NoSpatialVideoInfoEvent);b.cancelable=!0;this.playerInterface_.onEvent(b);this.spatialVideoInfo_=a}};
|
|
@@ -1103,8 +1105,8 @@ shaka.util.PlayerConfiguration.defaultTrackSelect=function(a,b,c){var d=shaka.ut
|
|
|
1103
1105
|
(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/
|
|
1104
1106
|
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)};
|
|
1105
1107
|
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;
|
|
1106
|
-
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_=
|
|
1107
|
-
this.hasBeenAttached_=!1;this.queuedOperations_=[];this.latePhaseQueuedOperations_=[]};$jscomp.inherits(shaka.media.PreloadManager,shaka.util.FakeEventTarget);shaka.media.PreloadManager.prototype.addQueuedOperation=function(a,b){(a=a?this.latePhaseQueuedOperations_:this.queuedOperations_)?a.push(b):b()};
|
|
1108
|
+
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_=
|
|
1109
|
+
null;this.allowMakeAbrManager_=d.allowMakeAbrManager;this.hasBeenAttached_=!1;this.queuedOperations_=[];this.latePhaseQueuedOperations_=[]};$jscomp.inherits(shaka.media.PreloadManager,shaka.util.FakeEventTarget);shaka.media.PreloadManager.prototype.addQueuedOperation=function(a,b){(a=a?this.latePhaseQueuedOperations_:this.queuedOperations_)?a.push(b):b()};
|
|
1108
1110
|
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};
|
|
1109
1111
|
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_};
|
|
1110
1112
|
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_};
|
|
@@ -1117,8 +1119,9 @@ break;case 3:b=c.enterCatchBlock(),a.successPromise_.reject(b),c.jumpToEnd()}})}
|
|
|
1117
1119
|
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)};
|
|
1118
1120
|
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)))};
|
|
1119
1121
|
shaka.media.PreloadManager.prototype.makeEvent_=function(a,b){return new shaka.util.FakeEvent(a,b)};
|
|
1120
|
-
shaka.media.PreloadManager.prototype.parseManifestInner_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){
|
|
1121
|
-
a.manifest_
|
|
1122
|
+
shaka.media.PreloadManager.prototype.parseManifestInner_=function(){var a=this,b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){switch(f.nextAddress){case 1:a.makeStateChangeEvent_("manifest-parser");a.parser_||(a.parserFactory_=shaka.media.ManifestParser.getFactory(a.assetUri_,a.mimeType_),goog.asserts.assert(a.parserFactory_,"Must have manifest parser"),a.parser_=a.parserFactory_(),a.parser_.configure(a.config_.manifest));b=Date.now()/1E3;a.makeStateChangeEvent_("manifest");
|
|
1123
|
+
if(a.manifest_){f.jumpTo(2);break}return f.yield(a.parser_.start(a.assetUri_,a.manifestPlayerInterface_),3);case 3:a.manifest_=f.yieldResult;case 2:return a.manifestPromise_.resolve(),c=a.makeEvent_(shaka.util.FakeEvent.EventName.ManifestParsed),f.yield(Promise.resolve(),4);case 4:a.dispatchEvent(c);if(0==a.manifest_.variants.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.NO_VARIANTS);shaka.media.PreloadManager.filterForAVVariants_(a.manifest_);
|
|
1124
|
+
d=Date.now()/1E3;e=d-b;a.stats_.setManifestTime(e);f.jumpToEnd()}})};
|
|
1122
1125
|
shaka.media.PreloadManager.prototype.initializeDrmInner_=function(){var a=this,b,c,d,e,f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){switch(g.nextAddress){case 1:goog.asserts.assert(a.manifest_,"The manifest should already be parsed.");a.makeStateChangeEvent_("drm-engine");a.startTimeOfDrm_=Date.now()/1E3;a.drmEngine_=a.createDrmEngine_();a.manifestFilterer_.setDrmEngine(a.drmEngine_);a.drmEngine_.configure(a.config_.drm);b=a.manifestFilterer_.applyRestrictions(a.manifest_);if(!b){g.jumpTo(2);
|
|
1123
1126
|
break}c=a.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged);return g.yield(Promise.resolve(),3);case 3:a.throwIfDestroyed_(),a.dispatchEvent(c);case 2:return d=shaka.util.StreamUtils.getPlayableVariants(a.manifest_.variants),g.yield(a.drmEngine_.initForPlayback(d,a.manifest_.offlineSessionIds),4);case 4:return a.throwIfDestroyed_(),g.yield(a.manifestFilterer_.filterManifest(a.manifest_),5);case 5:e=g.yieldResult;if(!e){g.jumpTo(0);break}f=a.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged);
|
|
1124
1127
|
return g.yield(Promise.resolve(),7);case 7:a.dispatchEvent(f),g.jumpToEnd()}})};shaka.media.PreloadManager.prototype.reconfigure=function(a){this.config_=a};shaka.media.PreloadManager.prototype.configure=function(a,b){a=shaka.util.ConfigUtils.convertToConfigObject(a,b);shaka.util.PlayerConfiguration.mergeConfigObjects(this.config_,a)};shaka.media.PreloadManager.prototype.getConfiguration=function(){return shaka.util.ObjectUtils.cloneObject(this.config_)};
|
|
@@ -1126,7 +1129,7 @@ shaka.media.PreloadManager.prototype.chooseInitialVariantInner_=function(){goog.
|
|
|
1126
1129
|
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);
|
|
1127
1130
|
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)}};
|
|
1128
1131
|
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_)},!1),c.segmentPrefetchById_.set(a.id,e),k.yield(a.createSegmentIndex(),2);f=c.startTime_||0;(h=(g=
|
|
1129
|
-
a.segmentIndex.getIteratorForTime(f))?g.current():null)||(h=a.segmentIndex.get(0));h&&(b?h.initSegmentReference&&e.prefetchInitSegment(h.initSegmentReference):e.prefetchSegmentsByTime(h.startTime));k.jumpToEnd()})};shaka.media.PreloadManager.prototype.waitForFinish=function(){return this.successPromise_};
|
|
1132
|
+
a.segmentIndex.getIteratorForTime(f))?g.current():null)||(h=a.segmentIndex.get(0));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_])};
|
|
1130
1133
|
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);
|
|
1131
1134
|
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_};
|
|
1132
1135
|
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);
|
|
@@ -1253,21 +1256,21 @@ shaka.Player.prototype.unload=function(a,b){a=void 0===a?!0:a;b=void 0===b?!1:b;
|
|
|
1253
1256
|
(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_&&
|
|
1254
1257
|
(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_=
|
|
1255
1258
|
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_&&
|
|
1256
|
-
c.cmcdManager_.reset();c.cmsdManager_&&c.cmsdManager_.reset();c.video_&&shaka.util.Dom.removeAllChildren(c.video_);
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
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,v;return $jscomp.asyncExecutePromiseGeneratorProgram(function(w){switch(w.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 w.yield(d.mutex_.acquire("load"),2);case 2:d.mutex_.release();if(!d.video_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
|
|
1261
|
-
shaka.util.Error.
|
|
1262
|
-
|
|
1263
|
-
y.nextAddress)return y.yield(d.guessMimeType_(f),2);c=y.yieldResult;y.jumpToEnd()})},"guessMimeType_"),8);case 8:l=!!e;if(e){e.setEventHandoffTarget(d);d.stats_=e.getStats();w.jumpTo(11);break}return w.yield(d.preloadInner_(f,b,c,!0),12);case 12:(e=w.yieldResult)?(e.setEventHandoffTarget(d),d.stats_=e.getStats(),e.start(),e.waitForFinish().catch(function(){})):d.stats_=new shaka.util.Stats;case 11:m=!e
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
d.configure("manifest.disableVideo",!0));d.drmEngine_=e.receiveDrmEngine();return w.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){return y.yield(d.drmEngine_.attach(d.video_),0)})},"drmEngine_.attach"),
|
|
1267
|
-
|
|
1268
|
-
d.abrManager_.
|
|
1269
|
-
|
|
1270
|
-
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})};
|
|
1259
|
+
c.cmcdManager_.reset();c.cmsdManager_&&c.cmsdManager_.reset();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(16);break}return q.yield(c.drmEngine_.destroy(),17);case 17:c.drmEngine_=null;case 16:c.preloadNextUrl_&&c.assetUri_!=c.preloadNextUrl_.getAssetUri()&&(c.preloadNextUrl_.isDestroyed()||c.preloadNextUrl_.destroy(),c.preloadNextUrl_=null);c.assetUri_=null;c.mimeType_=null;c.bufferObserver_=
|
|
1260
|
+
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&&(shaka.util.StreamUtils.clearDecodingConfigCache(),shaka.util.DrmUtils.clearMediaKeySystemAccessMap());
|
|
1261
|
+
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_(),0);q.jumpTo(0)}})};
|
|
1262
|
+
shaka.Player.prototype.updateStartTime=function(a){this.startTime_=a};
|
|
1263
|
+
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,v;return $jscomp.asyncExecutePromiseGeneratorProgram(function(w){switch(w.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 w.yield(d.mutex_.acquire("load"),2);case 2:d.mutex_.release();if(!d.video_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,
|
|
1264
|
+
shaka.util.Error.Code.NO_VIDEO_ELEMENT);if(!d.assetUri_){w.jumpTo(3);break}d.assetUri_=f;return w.yield(d.unload(!1),3);case 3:g=++d.operationId_;h=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){if(1==y.nextAddress)return d.operationId_==g?y.jumpTo(0):e?y.yield(e.destroy(),3):y.jumpTo(3);throw d.createAbortLoadError_();})};k=function(y,x){return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:return u.setFinallyBlock(2),u.yield(d.mutex_.acquire(x),
|
|
1265
|
+
4);case 4:return u.yield(h(),5);case 5:return u.yield(y(),6);case 6:return u.yield(h(),7);case 7:e&&d.config_&&e.reconfigure(d.config_);case 2:u.enterFinallyBlock(),d.mutex_.release(),u.leaveFinallyBlock(0)}})};w.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();w.jumpTo(8);break}if(c){w.jumpTo(8);break}return w.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){if(1==
|
|
1266
|
+
y.nextAddress)return y.yield(d.guessMimeType_(f),2);c=y.yieldResult;y.jumpToEnd()})},"guessMimeType_"),8);case 8:l=!!e;if(e){e.setEventHandoffTarget(d);d.stats_=e.getStats();w.jumpTo(11);break}return w.yield(d.preloadInner_(f,b,c,!0),12);case 12:(e=w.yieldResult)?(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_=f,d.mimeType_=
|
|
1267
|
+
c||null,m?w.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){goog.asserts.assert(c,"We should know the mimeType by now!");return y.yield(d.initializeSrcEqualsDrmInner_(c),0)})},"initializeSrcEqualsDrmInner_"),21):w.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){if(1==y.nextAddress)return y.yield(e.waitForManifest(),2);d.parserFactory_=e.getParserFactory();d.parser_=e.receiveParser();d.manifest_=e.getManifest();y.jumpToEnd()})},"waitForFinish"),
|
|
1268
|
+
15);case 15:if(d.mediaSourceEngine_){w.jumpTo(16);break}return w.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){return y.yield(d.initializeMediaSourceEngineInner_(),0)})},"initializeMediaSourceEngineInner_"),16);case 16:return w.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){return y.yield(e.waitForFinish(),0)})},"waitForFinish"),18);case 18:d.config_=e.getConfiguration();d.manifestFilterer_=e.getManifestFilterer();d.parser_&&d.parser_.setMediaElement&&
|
|
1269
|
+
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 w.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){return y.yield(d.drmEngine_.attach(d.video_),0)})},"drmEngine_.attach"),
|
|
1270
|
+
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",
|
|
1271
|
+
"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(),w.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){return y.yield(d.loadInner_(n,
|
|
1272
|
+
t,r),0)})},"loadInner_"),20);case 20:e.stopQueuingLatePhaseQueuedOperations();w.jumpTo(14);break;case 21:return w.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(y){goog.asserts.assert(c,"We should know the mimeType by now!");return y.yield(d.srcEqualsInner_(n,c),0)})},"srcEqualsInner_"),14);case 14:d.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Loaded));case 6:w.enterFinallyBlock();if(!e){w.jumpTo(23);break}return w.yield(e.destroy(),23);case 23:d.preloadNextUrl_=
|
|
1273
|
+
null;w.leaveFinallyBlock(0);break;case 5:v=w.enterCatchBlock();if(!v||v.code==shaka.util.Error.Code.LOAD_INTERRUPTED){w.jumpTo(25);break}return w.yield(d.unload(!1),25);case 25:throw v;}})};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})};
|
|
1271
1274
|
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)})};
|
|
1272
1275
|
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)})};
|
|
1273
1276
|
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),
|
|
@@ -1501,7 +1504,7 @@ goog.exportProperty(shaka.Player.prototype,"getLoadMode",shaka.Player.prototype.
|
|
|
1501
1504
|
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);
|
|
1502
1505
|
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);
|
|
1503
1506
|
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);
|
|
1504
|
-
goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy);shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3};goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode);shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.10.
|
|
1507
|
+
goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy);shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3};goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode);shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.10.21-debug";goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;
|
|
1505
1508
|
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_++};
|
|
1506
1509
|
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};
|
|
1507
1510
|
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()};
|
|
@@ -1568,7 +1571,7 @@ l=k.next();case 3:if(l.done){t.jumpTo(5);break}m=l.value;n=m.endTime||m.startTim
|
|
|
1568
1571
|
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)};
|
|
1569
1572
|
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_))};
|
|
1570
1573
|
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.lastTime_=null};
|
|
1571
|
-
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()};
|
|
1574
|
+
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()};
|
|
1572
1575
|
shaka.ads.InterstitialAdManager.prototype.addMetadata=function(a){var b=this,c,d,e,f,g,h,k,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress){if(b.basePlayer_.getLoadMode()==shaka.Player.LoadMode.SRC_EQUALS&&b.usingBaseVideo_)return shaka.log.alwaysWarn("Unsupported interstitial when using single media element",a),m.return();b.updatePlayerConfig_();c=!1;return m.yield(b.getInterstitialsInfo_(a),2)}d=m.yieldResult;if(d.length)for(e=$jscomp.makeIterator(d),f=e.next();!f.done;f=
|
|
1573
1576
|
e.next())(g=f.value,h=JSON.stringify(g),b.interstitialIds_.has(h))||(c=!0,b.interstitialIds_.add(h),b.interstitials_.add(g),k=!1,a.pre&&null==b.lastTime_?k=!0:0!=g.startTime||g.canJump?null!=b.lastTime_&&(l=a.startTime-b.lastTime_,0<l&&10>=l&&(k=!0)):k=!0,k&&(b.preloadManagerInterstitials_.has(g)||b.preloadManagerInterstitials_.set(g,b.player_.preload(g.uri))));else shaka.log.alwaysWarn("Unsupported interstitial",a);c&&b.cuepointsChanged_();m.jumpToEnd()})};
|
|
1574
1577
|
shaka.ads.InterstitialAdManager.prototype.createMediaElement_=function(){var a=document.createElement(this.baseVideo_.tagName);a.autoplay=!0;a.style.position="absolute";a.style.top="0";a.style.left="0";a.style.width="100%";a.style.height="100%";a.style.backgroundColor="rgb(0, 0, 0)";a.setAttribute("playsinline","");return a};
|
|
@@ -2016,8 +2019,8 @@ shaka.util.ContentSteeringManager.prototype.clearPreviousLocations=function(){th
|
|
|
2016
2019
|
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"]);
|
|
2017
2020
|
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;
|
|
2018
2021
|
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};
|
|
2019
|
-
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_=[]
|
|
2020
|
-
shaka.util.PeriodCombiner.prototype.getImageStreams=function(){return this.imageStreams_};
|
|
2022
|
+
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_};
|
|
2023
|
+
shaka.util.PeriodCombiner.prototype.getTextStreams=function(){return this.textStreams_.slice()};shaka.util.PeriodCombiner.prototype.getImageStreams=function(){return this.imageStreams_};
|
|
2021
2024
|
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=
|
|
2022
2025
|
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)}};
|
|
2023
2026
|
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),
|
|
@@ -2635,9 +2638,9 @@ p.jumpTo(2);break}if(!shaka.util.Platform.supportsMediaSource())return p.return(
|
|
|
2635
2638
|
p.yieldResult)b.supported=!0,b.keySystemAccess=n;case 5:return p.return(b)}})};
|
|
2636
2639
|
shaka.polyfill.MediaCapabilities.checkVideoSupport_=function(a){var b,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?shaka.util.Platform.isChromecast()?d.yield(shaka.polyfill.MediaCapabilities.canCastDisplayType_(a),3):shaka.util.Platform.isTizen()?(b=a.contentType,a.width&&a.height&&(b+="; width="+a.width,b+="; height="+a.height),a.framerate&&(b+="; framerate="+a.framerate),a.bitrate&&(b+="; bitrate="+a.bitrate),d.return(shaka.media.Capabilities.isTypeSupported(b))):
|
|
2637
2640
|
d.jumpTo(2):2!=d.nextAddress?(c=d.yieldResult,d.return(c)):d.return(shaka.media.Capabilities.isTypeSupported(a.contentType))})};shaka.polyfill.MediaCapabilities.checkAudioSupport_=function(a){var b=a.contentType;shaka.util.Platform.isChromecast()&&a.spatialRendering&&(b+="; spatialRendering=true");return shaka.media.Capabilities.isTypeSupported(b)};
|
|
2638
|
-
shaka.polyfill.MediaCapabilities.checkDrmSupport_=function(a,b,c){var d,e,f,g,h,k,l,m,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(
|
|
2639
|
-
"",contentType:a.contentType},c.video.encryptionScheme&&(
|
|
2640
|
-
|
|
2641
|
+
shaka.polyfill.MediaCapabilities.checkDrmSupport_=function(a,b,c){var d,e,f,g,h,k,l,m,n,p,q,r;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){switch(t.nextAddress){case 1:d=shaka.util.MimeUtils;e=[];f=[];c.audio&&(g={robustness:c.audio.robustness||"",contentType:b.contentType},shaka.util.Platform.isTizen()&&b.contentType.includes('codecs="ac-3"')&&(g.contentType='audio/mp4; codecs="ec-3"'),c.audio.encryptionScheme&&(g.encryptionScheme=c.audio.encryptionScheme),e.push(g));c.video&&(h=
|
|
2642
|
+
{robustness:c.video.robustness||"",contentType:a.contentType},c.video.encryptionScheme&&(h.encryptionScheme=c.video.encryptionScheme),f.push(h));k={initDataTypes:[c.initDataType],distinctiveIdentifier:c.distinctiveIdentifier,persistentState:c.persistentState,sessionTypes:c.sessionTypes};e.length&&(k.audioCapabilities=e);f.length&&(k.videoCapabilities=f);l=a?a.contentType:"";m=b?b.contentType:"";n=d.getBasicType(l)+";"+d.getCodecBase(l);p=d.getBasicType(m)+";"+d.getCodecBase(m);q=c.keySystem;r=null;
|
|
2643
|
+
t.setCatchFinallyBlocks(2);if(shaka.util.DrmUtils.hasMediaKeySystemAccess(n,p,q)){r=shaka.util.DrmUtils.getMediaKeySystemAccess(n,p,q);t.jumpTo(4);break}return t.yield(navigator.requestMediaKeySystemAccess(c.keySystem,[k]),5);case 5:r=t.yieldResult,shaka.util.DrmUtils.setMediaKeySystemAccess(n,p,q,r);case 4:t.leaveTryBlock(3);break;case 2:t.enterCatchBlock(),shaka.log.info("navigator.requestMediaKeySystemAccess failed.");case 3:return t.return(r)}})};
|
|
2641
2644
|
shaka.polyfill.MediaCapabilities.canCastDisplayType_=function(a){var b,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress){if(!(window.cast&&cast.__platform__&&cast.__platform__.canDisplayType))return shaka.log.warning("Expected cast APIs to be available! Falling back to shaka.media.Capabilities.isTypeSupported() for type support."),d.return(shaka.media.Capabilities.isTypeSupported(a.contentType));b=a.contentType;a.width&&a.height&&(b+="; width="+a.width+"; height="+
|
|
2642
2645
|
a.height);a.framerate&&(b+="; framerate="+a.framerate);"pq"===a.transferFunction&&(b+="; eotf=smpte2084");c=!1;return b in shaka.polyfill.MediaCapabilities.memoizedCanDisplayTypeRequests_?(c=shaka.polyfill.MediaCapabilities.memoizedCanDisplayTypeRequests_[b],d.jumpTo(2)):d.yield(cast.__platform__.canDisplayType(b),3)}2!=d.nextAddress&&(c=d.yieldResult,shaka.polyfill.MediaCapabilities.memoizedCanDisplayTypeRequests_[b]=c);return d.return(c)})};
|
|
2643
2646
|
goog.exportProperty(shaka.polyfill,"MediaCapabilities",shaka.polyfill.MediaCapabilities);goog.exportProperty(shaka.polyfill.MediaCapabilities,"install",shaka.polyfill.MediaCapabilities.install);shaka.polyfill.MediaCapabilities.originalMcap=null;goog.exportProperty(shaka.polyfill.MediaCapabilities,"originalMcap",shaka.polyfill.MediaCapabilities.originalMcap);shaka.polyfill.MediaCapabilities.memoizedCanDisplayTypeRequests_={};
|