shaka-player 4.9.0 → 4.9.2

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.
Files changed (40) hide show
  1. package/dist/deps.js +1 -1
  2. package/dist/locales.js +33 -33
  3. package/dist/shaka-player.compiled.d.ts +0 -1
  4. package/dist/shaka-player.compiled.debug.d.ts +0 -1
  5. package/dist/shaka-player.compiled.debug.externs.js +0 -1
  6. package/dist/shaka-player.compiled.debug.js +222 -219
  7. package/dist/shaka-player.compiled.debug.map +3 -3
  8. package/dist/shaka-player.compiled.externs.js +0 -1
  9. package/dist/shaka-player.compiled.js +961 -961
  10. package/dist/shaka-player.compiled.map +2 -2
  11. package/dist/shaka-player.ui.d.ts +0 -1
  12. package/dist/shaka-player.ui.debug.d.ts +0 -1
  13. package/dist/shaka-player.ui.debug.externs.js +0 -1
  14. package/dist/shaka-player.ui.debug.js +140 -135
  15. package/dist/shaka-player.ui.debug.map +3 -3
  16. package/dist/shaka-player.ui.externs.js +0 -1
  17. package/dist/shaka-player.ui.js +1229 -1228
  18. package/dist/shaka-player.ui.map +3 -3
  19. package/lib/media/content_workarounds.js +4 -2
  20. package/lib/media/drm_engine.js +1 -1
  21. package/lib/media/media_source_engine.js +66 -31
  22. package/lib/media/preload_manager.js +42 -62
  23. package/lib/player.js +25 -17
  24. package/lib/polyfill/mediasource.js +12 -0
  25. package/lib/transmuxer/aac_transmuxer.js +4 -2
  26. package/lib/transmuxer/ac3_transmuxer.js +2 -1
  27. package/lib/transmuxer/ec3_transmuxer.js +2 -1
  28. package/lib/transmuxer/mp3_transmuxer.js +4 -2
  29. package/lib/transmuxer/mpeg_ts_transmuxer.js +2 -1
  30. package/lib/transmuxer/mss_transmuxer.js +4 -2
  31. package/lib/transmuxer/ts_transmuxer.js +44 -24
  32. package/lib/util/config_utils.js +2 -0
  33. package/lib/util/error.js +10 -8
  34. package/lib/util/object_utils.js +1 -2
  35. package/lib/util/platform.js +11 -2
  36. package/package.json +1 -1
  37. package/ui/audio_language_selection.js +4 -0
  38. package/ui/presentation_time.js +15 -0
  39. package/ui/resolution_selection.js +7 -0
  40. package/ui/text_selection.js +4 -0
@@ -213,25 +213,25 @@ goog.Uri.QueryData.prototype.clone=function(){var a=new goog.Uri.QueryData;a.enc
213
213
  goog.exportProperty(shaka.util.Error,"Category",shaka.util.Error.Category);
214
214
  shaka.util.Error.Code={UNSUPPORTED_SCHEME:1E3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,REQUEST_FILTER_ERROR:1006,RESPONSE_FILTER_ERROR:1007,MALFORMED_TEST_URI:1008,UNEXPECTED_TEST_REQUEST:1009,ATTEMPTS_EXHAUSTED:1010,SEGMENT_MISSING:1011,INVALID_TEXT_HEADER:2E3,INVALID_TEXT_CUE:2001,UNABLE_TO_DETECT_ENCODING:2003,BAD_ENCODING:2004,INVALID_XML:2005,INVALID_MP4_TTML:2007,INVALID_MP4_VTT:2008,UNABLE_TO_EXTRACT_CUE_START_TIME:2009,INVALID_MP4_CEA:2010,TEXT_COULD_NOT_GUESS_MIME_TYPE:2011,
215
215
  CANNOT_ADD_EXTERNAL_TEXT_TO_SRC_EQUALS:2012,TEXT_ONLY_WEBVTT_SRC_EQUALS:2013,MISSING_TEXT_PLUGIN:2014,CHAPTERS_TRACK_FAILED:2015,UNSUPPORTED_EXTERNAL_THUMBNAILS_URI:2017,BUFFER_READ_OUT_OF_BOUNDS:3E3,JS_INTEGER_OVERFLOW:3001,EBML_OVERFLOW:3002,EBML_BAD_FLOATING_POINT_SIZE:3003,MP4_SIDX_WRONG_BOX_TYPE:3004,MP4_SIDX_INVALID_TIMESCALE:3005,MP4_SIDX_TYPE_NOT_SUPPORTED:3006,WEBM_CUES_ELEMENT_MISSING:3007,WEBM_EBML_HEADER_ELEMENT_MISSING:3008,WEBM_SEGMENT_ELEMENT_MISSING:3009,WEBM_INFO_ELEMENT_MISSING:3010,
216
- WEBM_DURATION_ELEMENT_MISSING:3011,WEBM_CUE_TRACK_POSITIONS_ELEMENT_MISSING:3012,WEBM_CUE_TIME_ELEMENT_MISSING:3013,MEDIA_SOURCE_OPERATION_FAILED:3014,MEDIA_SOURCE_OPERATION_THREW:3015,VIDEO_ERROR:3016,QUOTA_EXCEEDED_ERROR:3017,TRANSMUXING_FAILED:3018,CONTENT_TRANSFORMATION_FAILED:3019,MSS_MISSING_DATA_FOR_TRANSMUXING:3020,MSS_TRANSMUXING_CODEC_UNKNOWN:3021,MSS_TRANSMUXING_FAILED:3022,TRANSMUXING_NO_VIDEO_DATA:3023,UNABLE_TO_GUESS_MANIFEST_TYPE:4E3,DASH_INVALID_XML:4001,DASH_NO_SEGMENT_INFO:4002,
217
- DASH_EMPTY_ADAPTATION_SET:4003,DASH_EMPTY_PERIOD:4004,DASH_WEBM_MISSING_INIT:4005,DASH_UNSUPPORTED_CONTAINER:4006,DASH_PSSH_BAD_ENCODING:4007,DASH_NO_COMMON_KEY_SYSTEM:4008,DASH_MULTIPLE_KEY_IDS_NOT_SUPPORTED:4009,DASH_CONFLICTING_KEY_IDS:4010,RESTRICTIONS_CANNOT_BE_MET:4012,HLS_PLAYLIST_HEADER_MISSING:4015,INVALID_HLS_TAG:4016,HLS_INVALID_PLAYLIST_HIERARCHY:4017,DASH_DUPLICATE_REPRESENTATION_ID:4018,HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND:4020,HLS_REQUIRED_ATTRIBUTE_MISSING:4023,HLS_REQUIRED_TAG_MISSING:4024,
218
- HLS_COULD_NOT_GUESS_CODECS:4025,HLS_KEYFORMATS_NOT_SUPPORTED:4026,DASH_UNSUPPORTED_XLINK_ACTUATE:4027,DASH_XLINK_DEPTH_LIMIT:4028,CONTENT_UNSUPPORTED_BY_BROWSER:4032,CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM:4033,NO_VARIANTS:4036,PERIOD_FLATTENING_FAILED:4037,INCONSISTENT_DRM_ACROSS_PERIODS:4038,HLS_VARIABLE_NOT_FOUND:4039,HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED:4040,HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED:4041,NO_WEB_CRYPTO_API:4042,CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM:4045,MSS_INVALID_XML:4046,
219
- MSS_LIVE_CONTENT_NOT_SUPPORTED:4047,AES_128_INVALID_IV_LENGTH:4048,AES_128_INVALID_KEY_LENGTH:4049,DASH_CONFLICTING_AES_128:4050,DASH_UNSUPPORTED_AES_128:4051,DASH_INVALID_PATCH:4052,STREAMING_ENGINE_STARTUP_INVALID_STATE:5006,NO_RECOGNIZED_KEY_SYSTEMS:6E3,REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE:6001,FAILED_TO_CREATE_CDM:6002,FAILED_TO_ATTACH_TO_VIDEO:6003,INVALID_SERVER_CERTIFICATE:6004,FAILED_TO_CREATE_SESSION:6005,FAILED_TO_GENERATE_LICENSE_REQUEST:6006,LICENSE_REQUEST_FAILED:6007,LICENSE_RESPONSE_REJECTED:6008,
220
- ENCRYPTED_CONTENT_WITHOUT_DRM_INFO:6010,NO_LICENSE_SERVER_GIVEN:6012,OFFLINE_SESSION_REMOVED:6013,EXPIRED:6014,SERVER_CERTIFICATE_REQUIRED:6015,INIT_DATA_TRANSFORM_ERROR:6016,SERVER_CERTIFICATE_REQUEST_FAILED:6017,MIN_HDCP_VERSION_NOT_MATCH:6018,ERROR_CHECKING_HDCP_VERSION:6019,LOAD_INTERRUPTED:7E3,OPERATION_ABORTED:7001,NO_VIDEO_ELEMENT:7002,OBJECT_DESTROYED:7003,CONTENT_NOT_LOADED:7004,SRC_EQUALS_PRELOAD_NOT_SUPPORTED:7005,CAST_API_UNAVAILABLE:8E3,NO_CAST_RECEIVERS:8001,ALREADY_CASTING:8002,UNEXPECTED_CAST_ERROR:8003,
221
- CAST_CANCELED_BY_USER:8004,CAST_CONNECTION_TIMED_OUT:8005,CAST_RECEIVER_APP_UNAVAILABLE:8006,STORAGE_NOT_SUPPORTED:9E3,INDEXED_DB_ERROR:9001,DEPRECATED_OPERATION_ABORTED:9002,REQUESTED_ITEM_NOT_FOUND:9003,MALFORMED_OFFLINE_URI:9004,CANNOT_STORE_LIVE_OFFLINE:9005,NO_INIT_DATA_FOR_OFFLINE:9007,LOCAL_PLAYER_INSTANCE_REQUIRED:9008,NEW_KEY_OPERATION_NOT_SUPPORTED:9011,KEY_NOT_FOUND:9012,MISSING_STORAGE_CELL:9013,STORAGE_LIMIT_REACHED:9014,DOWNLOAD_SIZE_CALLBACK_ERROR:9015,MODIFY_OPERATION_NOT_SUPPORTED:9016,
222
- INDEXED_DB_INIT_TIMED_OUT:9017,CS_IMA_SDK_MISSING:1E4,CS_AD_MANAGER_NOT_INITIALIZED:10001,SS_IMA_SDK_MISSING:10002,SS_AD_MANAGER_NOT_INITIALIZED:10003,CURRENT_DAI_REQUEST_NOT_FINISHED:10004,MT_AD_MANAGER_NOT_INITIALIZED:10005};goog.exportProperty(shaka.util.Error,"Code",shaka.util.Error.Code);shaka.util.Lazy=function(a){this.gen_=a;this.value_=void 0};shaka.util.Lazy.prototype.value=function(){void 0==this.value_&&(this.value_=this.gen_(),goog.asserts.assert(void 0!=this.value_,"Unable to create lazy value"));return this.value_};shaka.util.Lazy.prototype.reset=function(){this.value_=void 0};shaka.util.DelayedTick=function(a){this.onTick_=a;this.cancelPending_=null};shaka.util.DelayedTick.prototype.tickAfter=function(a){var b=this;this.stop();var c=!0,d=null;this.cancelPending_=function(){window.clearTimeout(d);c=!1};d=window.setTimeout(function(){if(c)b.onTick_()},1E3*a);return this};shaka.util.DelayedTick.prototype.stop=function(){this.cancelPending_&&(this.cancelPending_(),this.cancelPending_=null)};shaka.util.Timer=function(a){this.onTick_=a;this.ticker_=null};shaka.util.Timer.prototype.tickNow=function(){this.stop();this.onTick_();return this};shaka.util.Timer.prototype.tickAfter=function(a){var b=this;this.stop();this.ticker_=(new shaka.util.DelayedTick(function(){b.onTick_()})).tickAfter(a);return this};
216
+ WEBM_DURATION_ELEMENT_MISSING:3011,WEBM_CUE_TRACK_POSITIONS_ELEMENT_MISSING:3012,WEBM_CUE_TIME_ELEMENT_MISSING:3013,MEDIA_SOURCE_OPERATION_FAILED:3014,MEDIA_SOURCE_OPERATION_THREW:3015,VIDEO_ERROR:3016,QUOTA_EXCEEDED_ERROR:3017,TRANSMUXING_FAILED:3018,CONTENT_TRANSFORMATION_FAILED:3019,MSS_MISSING_DATA_FOR_TRANSMUXING:3020,MSS_TRANSMUXING_FAILED:3022,TRANSMUXING_NO_VIDEO_DATA:3023,UNABLE_TO_GUESS_MANIFEST_TYPE:4E3,DASH_INVALID_XML:4001,DASH_NO_SEGMENT_INFO:4002,DASH_EMPTY_ADAPTATION_SET:4003,DASH_EMPTY_PERIOD:4004,
217
+ DASH_WEBM_MISSING_INIT:4005,DASH_UNSUPPORTED_CONTAINER:4006,DASH_PSSH_BAD_ENCODING:4007,DASH_NO_COMMON_KEY_SYSTEM:4008,DASH_MULTIPLE_KEY_IDS_NOT_SUPPORTED:4009,DASH_CONFLICTING_KEY_IDS:4010,RESTRICTIONS_CANNOT_BE_MET:4012,HLS_PLAYLIST_HEADER_MISSING:4015,INVALID_HLS_TAG:4016,HLS_INVALID_PLAYLIST_HIERARCHY:4017,DASH_DUPLICATE_REPRESENTATION_ID:4018,HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND:4020,HLS_REQUIRED_ATTRIBUTE_MISSING:4023,HLS_REQUIRED_TAG_MISSING:4024,HLS_COULD_NOT_GUESS_CODECS:4025,HLS_KEYFORMATS_NOT_SUPPORTED:4026,
218
+ DASH_UNSUPPORTED_XLINK_ACTUATE:4027,DASH_XLINK_DEPTH_LIMIT:4028,CONTENT_UNSUPPORTED_BY_BROWSER:4032,CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM:4033,NO_VARIANTS:4036,PERIOD_FLATTENING_FAILED:4037,INCONSISTENT_DRM_ACROSS_PERIODS:4038,HLS_VARIABLE_NOT_FOUND:4039,HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED:4040,HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED:4041,NO_WEB_CRYPTO_API:4042,CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM:4045,MSS_INVALID_XML:4046,MSS_LIVE_CONTENT_NOT_SUPPORTED:4047,AES_128_INVALID_IV_LENGTH:4048,
219
+ AES_128_INVALID_KEY_LENGTH:4049,DASH_CONFLICTING_AES_128:4050,DASH_UNSUPPORTED_AES_128:4051,DASH_INVALID_PATCH:4052,STREAMING_ENGINE_STARTUP_INVALID_STATE:5006,NO_RECOGNIZED_KEY_SYSTEMS:6E3,REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE:6001,FAILED_TO_CREATE_CDM:6002,FAILED_TO_ATTACH_TO_VIDEO:6003,INVALID_SERVER_CERTIFICATE:6004,FAILED_TO_CREATE_SESSION:6005,FAILED_TO_GENERATE_LICENSE_REQUEST:6006,LICENSE_REQUEST_FAILED:6007,LICENSE_RESPONSE_REJECTED:6008,ENCRYPTED_CONTENT_WITHOUT_DRM_INFO:6010,NO_LICENSE_SERVER_GIVEN:6012,
220
+ OFFLINE_SESSION_REMOVED:6013,EXPIRED:6014,SERVER_CERTIFICATE_REQUIRED:6015,INIT_DATA_TRANSFORM_ERROR:6016,SERVER_CERTIFICATE_REQUEST_FAILED:6017,MIN_HDCP_VERSION_NOT_MATCH:6018,ERROR_CHECKING_HDCP_VERSION:6019,LOAD_INTERRUPTED:7E3,OPERATION_ABORTED:7001,NO_VIDEO_ELEMENT:7002,OBJECT_DESTROYED:7003,CONTENT_NOT_LOADED:7004,SRC_EQUALS_PRELOAD_NOT_SUPPORTED:7005,CAST_API_UNAVAILABLE:8E3,NO_CAST_RECEIVERS:8001,ALREADY_CASTING:8002,UNEXPECTED_CAST_ERROR:8003,CAST_CANCELED_BY_USER:8004,CAST_CONNECTION_TIMED_OUT:8005,
221
+ CAST_RECEIVER_APP_UNAVAILABLE:8006,STORAGE_NOT_SUPPORTED:9E3,INDEXED_DB_ERROR:9001,DEPRECATED_OPERATION_ABORTED:9002,REQUESTED_ITEM_NOT_FOUND:9003,MALFORMED_OFFLINE_URI:9004,CANNOT_STORE_LIVE_OFFLINE:9005,NO_INIT_DATA_FOR_OFFLINE:9007,LOCAL_PLAYER_INSTANCE_REQUIRED:9008,NEW_KEY_OPERATION_NOT_SUPPORTED:9011,KEY_NOT_FOUND:9012,MISSING_STORAGE_CELL:9013,STORAGE_LIMIT_REACHED:9014,DOWNLOAD_SIZE_CALLBACK_ERROR:9015,MODIFY_OPERATION_NOT_SUPPORTED:9016,INDEXED_DB_INIT_TIMED_OUT:9017,CS_IMA_SDK_MISSING:1E4,
222
+ CS_AD_MANAGER_NOT_INITIALIZED:10001,SS_IMA_SDK_MISSING:10002,SS_AD_MANAGER_NOT_INITIALIZED:10003,CURRENT_DAI_REQUEST_NOT_FINISHED:10004,MT_AD_MANAGER_NOT_INITIALIZED:10005};goog.exportProperty(shaka.util.Error,"Code",shaka.util.Error.Code);shaka.util.Lazy=function(a){this.gen_=a;this.value_=void 0};shaka.util.Lazy.prototype.value=function(){void 0==this.value_&&(this.value_=this.gen_(),goog.asserts.assert(void 0!=this.value_,"Unable to create lazy value"));return this.value_};shaka.util.Lazy.prototype.reset=function(){this.value_=void 0};shaka.util.DelayedTick=function(a){this.onTick_=a;this.cancelPending_=null};shaka.util.DelayedTick.prototype.tickAfter=function(a){var b=this;this.stop();var c=!0,d=null;this.cancelPending_=function(){window.clearTimeout(d);c=!1};d=window.setTimeout(function(){if(c)b.onTick_()},1E3*a);return this};shaka.util.DelayedTick.prototype.stop=function(){this.cancelPending_&&(this.cancelPending_(),this.cancelPending_=null)};shaka.util.Timer=function(a){this.onTick_=a;this.ticker_=null};shaka.util.Timer.prototype.tickNow=function(){this.stop();this.onTick_();return this};shaka.util.Timer.prototype.tickAfter=function(a){var b=this;this.stop();this.ticker_=(new shaka.util.DelayedTick(function(){b.onTick_()})).tickAfter(a);return this};
223
223
  shaka.util.Timer.prototype.tickEvery=function(a){var b=this;this.stop();goog.DEBUG&&shaka.util.Timer.activeTimers.set(this,Error("Timer created").stack);this.ticker_=(new shaka.util.DelayedTick(function(){b.ticker_.tickAfter(a);b.onTick_()})).tickAfter(a);return this};shaka.util.Timer.prototype.stop=function(){this.ticker_&&(this.ticker_.stop(),this.ticker_=null);goog.DEBUG&&shaka.util.Timer.activeTimers.delete(this)};goog.exportSymbol("shaka.util.Timer",shaka.util.Timer);
224
224
  goog.exportProperty(shaka.util.Timer.prototype,"stop",shaka.util.Timer.prototype.stop);goog.exportProperty(shaka.util.Timer.prototype,"tickEvery",shaka.util.Timer.prototype.tickEvery);goog.exportProperty(shaka.util.Timer.prototype,"tickAfter",shaka.util.Timer.prototype.tickAfter);goog.exportProperty(shaka.util.Timer.prototype,"tickNow",shaka.util.Timer.prototype.tickNow);goog.DEBUG&&(shaka.util.Timer.activeTimers=new Map);shaka.util.Platform=function(){};shaka.util.Platform.supportsMediaSource=function(){var a=window.ManagedMediaSource||window.MediaSource;return a&&a.isTypeSupported?!0:!1};shaka.util.Platform.supportsMediaType=function(a){return""!=shaka.util.Platform.anyMediaElement().canPlayType(a)};shaka.util.Platform.isEdge=function(){return navigator.userAgent.match(/Edge?\//)?!0:!1};shaka.util.Platform.isLegacyEdge=function(){return navigator.userAgent.match(/Edge\//)?!0:!1};shaka.util.Platform.isIE=function(){return shaka.util.Platform.userAgentContains_("Trident/")};
225
225
  shaka.util.Platform.isXboxOne=function(){return shaka.util.Platform.userAgentContains_("Xbox One")};shaka.util.Platform.isTizen=function(){return shaka.util.Platform.userAgentContains_("Tizen")};shaka.util.Platform.isTizen6=function(){return shaka.util.Platform.userAgentContains_("Tizen 6")};shaka.util.Platform.isTizen5_0=function(){return shaka.util.Platform.userAgentContains_("Tizen 5.0")};shaka.util.Platform.isTizen5=function(){return shaka.util.Platform.userAgentContains_("Tizen 5")};
226
226
  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()};
227
227
  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()};
228
228
  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")};
229
- shaka.util.Platform.isApple=function(){return!!navigator.vendor&&navigator.vendor.includes("Apple")&&!shaka.util.Platform.isTizen()&&!shaka.util.Platform.isEOS()&&!shaka.util.Platform.isAPL()&&!shaka.util.Platform.isVirginMedia()&&!shaka.util.Platform.isOrange()&&!shaka.util.Platform.isPS4()&&!shaka.util.Platform.isAmazonFireTV()&&!shaka.util.Platform.isWPE()};shaka.util.Platform.isPS5=function(){return shaka.util.Platform.userAgentContains_("PlayStation 5")};shaka.util.Platform.isPS4=function(){return shaka.util.Platform.userAgentContains_("PlayStation 4")};
230
- shaka.util.Platform.isHisense=function(){return shaka.util.Platform.userAgentContains_("Hisense")||shaka.util.Platform.userAgentContains_("VIDAA")};shaka.util.Platform.isVirginMedia=function(){return shaka.util.Platform.userAgentContains_("VirginMedia")};shaka.util.Platform.isOrange=function(){return shaka.util.Platform.userAgentContains_("SOPOpenBrowser")};shaka.util.Platform.isAmazonFireTV=function(){return shaka.util.Platform.userAgentContains_("AFT")};shaka.util.Platform.isWPE=function(){return shaka.util.Platform.userAgentContains_("WPE")};
231
- 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")};
232
- 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};
233
- 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")};
234
- 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()?!0:!1};shaka.util.Platform.userAgentContains_=function(a){return(navigator.userAgent||"").includes(a)};
229
+ 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")};
230
+ 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.isAmazonFireTV=function(){return shaka.util.Platform.userAgentContains_("AFT")};
231
+ shaka.util.Platform.isWPE=function(){return shaka.util.Platform.userAgentContains_("WPE")};shaka.util.Platform.isZenterio=function(){return shaka.util.Platform.userAgentContains_("DT_STB_BCM")};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()};
232
+ shaka.util.Platform.isEOS=function(){return shaka.util.Platform.userAgentContains_("PC=EOS")};shaka.util.Platform.isAPL=function(){return shaka.util.Platform.userAgentContains_("PC=APL")};shaka.util.Platform.isMobile=function(){return/(?:iPhone|iPad|iPod|Android)/.test(navigator.userAgent)?!0:shaka.util.Platform.isApple()&&1<navigator.maxTouchPoints};
233
+ shaka.util.Platform.isMac=function(){return navigator.userAgentData&&navigator.userAgentData.platform?"macos"==navigator.userAgentData.platform.toLowerCase():navigator.platform?navigator.platform.toLowerCase().includes("mac"):!1};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")};
234
+ shaka.util.Platform.isFuchsia=function(){return shaka.util.Platform.userAgentContains_("Fuchsia")};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)};
235
235
  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_};
236
236
  shaka.util.Platform.requiresEncryptionInfoInAllInitSegments=function(){var a=shaka.util.Platform;return a.isTizen()||a.isXboxOne()||a.isOrange()};shaka.util.Platform.supportsSequenceMode=function(){var a=shaka.util.Platform;return a.isTizen3()||a.isTizen2()||a.isWebOS3()||a.isPS4()?!1:!0};
237
237
  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.isMediaKeysPolyfilled=function(){return window.shakaMediaKeysPolyfill?!0:!1};
@@ -301,7 +301,7 @@ shaka.util.LanguageUtils.isoMap_=new Map([["aar","aa"],["abk","ab"],["afr","af"]
301
301
  "hy"],["ibo","ig"],["ice","is"],["ido","io"],["iii","ii"],["iku","iu"],["ile","ie"],["ina","ia"],["ind","id"],["ipk","ik"],["isl","is"],["ita","it"],["jav","jv"],["jpn","ja"],["kal","kl"],["kan","kn"],["kas","ks"],["kat","ka"],["kau","kr"],["kaz","kk"],["khm","km"],["kik","ki"],["kin","rw"],["kir","ky"],["kom","kv"],["kon","kg"],["kor","ko"],["kua","kj"],["kur","ku"],["lao","lo"],["lat","la"],["lav","lv"],["lim","li"],["lin","ln"],["lit","lt"],["ltz","lb"],["lub","lu"],["lug","lg"],["mac","mk"],["mah",
302
302
  "mh"],["mal","ml"],["mao","mi"],["mar","mr"],["may","ms"],["mkd","mk"],["mlg","mg"],["mlt","mt"],["mon","mn"],["mri","mi"],["msa","ms"],["mya","my"],["nau","na"],["nav","nv"],["nbl","nr"],["nde","nd"],["ndo","ng"],["nep","ne"],["nld","nl"],["nno","nn"],["nob","nb"],["nor","no"],["nya","ny"],["oci","oc"],["oji","oj"],["ori","or"],["orm","om"],["oss","os"],["pan","pa"],["per","fa"],["pli","pi"],["pol","pl"],["por","pt"],["pus","ps"],["que","qu"],["roh","rm"],["ron","ro"],["rum","ro"],["run","rn"],["rus",
303
303
  "ru"],["sag","sg"],["san","sa"],["sin","si"],["slk","sk"],["slo","sk"],["slv","sl"],["sme","se"],["smo","sm"],["sna","sn"],["snd","sd"],["som","so"],["sot","st"],["spa","es"],["sqi","sq"],["srd","sc"],["srp","sr"],["ssw","ss"],["sun","su"],["swa","sw"],["swe","sv"],["tah","ty"],["tam","ta"],["tat","tt"],["tel","te"],["tgk","tg"],["tgl","tl"],["tha","th"],["tib","bo"],["tir","ti"],["ton","to"],["tsn","tn"],["tso","ts"],["tuk","tk"],["tur","tr"],["twi","tw"],["uig","ug"],["ukr","uk"],["urd","ur"],["uzb",
304
- "uz"],["ven","ve"],["vie","vi"],["vol","vo"],["wel","cy"],["wln","wa"],["wol","wo"],["xho","xh"],["yid","yi"],["yor","yo"],["zha","za"],["zho","zh"],["zul","zu"]]);shaka.util.ObjectUtils=function(){};shaka.util.ObjectUtils.cloneObject=function(a){var b=new WeakSet,c=function(d){switch(typeof d){case "undefined":case "boolean":case "number":case "string":case "symbol":case "function":return d;default:if(!d||d.buffer&&d.buffer.constructor==ArrayBuffer)return d;if(b.has(d))return null;var e=d.constructor==Array;if(d.constructor!=Object&&!e)return null;b.add(d);var f=e?[]:{},g;for(g in d)f[g]=c(d[g]);e&&(f.length=d.length);return f}};return c(a)};
304
+ "uz"],["ven","ve"],["vie","vi"],["vol","vo"],["wel","cy"],["wln","wa"],["wol","wo"],["xho","xh"],["yid","yi"],["yor","yo"],["zha","za"],["zho","zh"],["zul","zu"]]);shaka.util.ObjectUtils=function(){};shaka.util.ObjectUtils.cloneObject=function(a){var b=new WeakSet,c=function(d){switch(typeof d){case "undefined":case "boolean":case "number":case "string":case "symbol":case "function":return d;default:if(!d||d.buffer instanceof ArrayBuffer)return d;if(b.has(d))return null;var e=d.constructor==Array;if(d.constructor!=Object&&!e)return null;b.add(d);var f=e?[]:{},g;for(g in d)f[g]=c(d[g]);e&&(f.length=d.length);return f}};return c(a)};
305
305
  shaka.util.ObjectUtils.shallowCloneObject=function(a){var b={},c;for(c in a)b[c]=a[c];return b};shaka.util.StreamUtils=function(){};
306
306
  shaka.util.StreamUtils.chooseCodecsAndFilterManifest=function(a,b,c,d){var e=shaka.util.StreamUtils,f=shaka.util.MimeUtils,g=a.variants;if(b.length||c.length)g=e.choosePreferredCodecs(g,b,c);if(d.length){b=new shaka.util.MultiMap;c=$jscomp.makeIterator(g);for(g=c.next();!g.done;g=c.next())g=g.value,b.push(String(g.video.width||0),g);var h=[];b.forEach(function(t,w){t=0;var u=[],v={};w=$jscomp.makeIterator(w);for(var x=w.next();!x.done;v={$jscomp$loop$prop$variant$565$885:v.$jscomp$loop$prop$variant$565$885},x=
307
307
  w.next())v.$jscomp$loop$prop$variant$565$885=x.value,x=d.filter(function(z){return function(y){return z.$jscomp$loop$prop$variant$565$885.decodingInfos[0][y]}}(v)).length,x>t?(t=x,u=[v.$jscomp$loop$prop$variant$565$885]):x==t&&u.push(v.$jscomp$loop$prop$variant$565$885);h.push.apply(h,$jscomp.arrayFromIterable(u))});g=h}c=new Set;b=new Set;e=$jscomp.makeIterator(g);for(g=e.next();!g.done;g=e.next())g=g.value,g.audio&&c.add(g.audio),g.video&&b.add(g.video);c=Array.from(c).sort(function(t,w){return t.bandwidth-
@@ -429,7 +429,7 @@ shaka.net.NetworkingEngine.prototype.filterRequest_=function(a,b,c){var d=shaka.
429
429
  shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.REQUEST_FILTER_ERROR,h);})};shaka.net.NetworkingEngine.prototype.makeRequestWithRetry_=function(a,b,c,d){var e=new shaka.net.Backoff(b.retryParameters,!1);return this.send_(a,b,c,e,0,null,d)};
430
430
  shaka.net.NetworkingEngine.prototype.send_=function(a,b,c,d,e,f,g){var h=this;this.forceHTTP_&&(b.uris[e]=b.uris[e].replace("https://","http://"));this.forceHTTPS_&&(b.uris[e]=b.uris[e].replace("http://","https://"));if(0<e&&this.onRetry_)this.onRetry_(a,c,b.uris[e],b.uris[e-1]);var k=new goog.Uri(b.uris[e]),l=k.getScheme(),m=!1;l||(l=shaka.net.NetworkingEngine.getLocationProtocol_(),goog.asserts.assert(":"==l[l.length-1],"location.protocol expected to end with a colon!"),l=l.slice(0,-1),k.setScheme(l),
431
431
  b.uris[e]=k.toString());l=l.toLowerCase();var n=(l=shaka.net.NetworkingEngine.schemes_[l])?l.plugin:null;if(!n)return shaka.util.AbortableOperation.failed(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.UNSUPPORTED_SCHEME,k));var p=l.progressSupport,q=null,r=null,t=!1,w=!1,u;return shaka.util.AbortableOperation.notAbortable(d.attempt()).chain(function(){if(h.destroyed_)return shaka.util.AbortableOperation.aborted();u=Date.now();var v=
432
- shaka.net.NetworkingEngine.RequestType.SEGMENT,x=0;b.requestStartTime=Date.now();var z=n(b.uris[e],b,a,function(B,D,C){q&&q.stop();r&&r.tickAfter(A/1E3);if(h.onProgressUpdated_&&a==v){x++;b.packetNumber=x;var F=h.allowSwitch_(c);h.onProgressUpdated_(B,D,F,b);m=!0;g.setBytes(C)}},function(B){if(h.onHeadersReceived_)h.onHeadersReceived_(B,b,a);w=!0;b.timeToFirstByte=Date.now()-b.requestStartTime});if(!p)return z;var y=b.retryParameters.connectionTimeout;y&&(q=new shaka.util.Timer(function(){t=!0;z.abort()}),
432
+ shaka.net.NetworkingEngine.RequestType.SEGMENT,x=0;b.requestStartTime=Date.now();var z=n(b.uris[e],b,a,function(B,E,C){q&&q.stop();r&&r.tickAfter(A/1E3);if(h.onProgressUpdated_&&a==v){x++;b.packetNumber=x;var F=h.allowSwitch_(c);h.onProgressUpdated_(B,E,F,b);m=!0;g.setBytes(C)}},function(B){if(h.onHeadersReceived_)h.onHeadersReceived_(B,b,a);w=!0;b.timeToFirstByte=Date.now()-b.requestStartTime});if(!p)return z;var y=b.retryParameters.connectionTimeout;y&&(q=new shaka.util.Timer(function(){t=!0;z.abort()}),
433
433
  q.tickAfter(y/1E3));var A=b.retryParameters.stallTimeout;A&&(r=new shaka.util.Timer(function(){t=!0;z.abort()}));return z}).chain(function(v){q&&q.stop();r&&r.stop();void 0==v.timeMs&&(v.timeMs=Date.now()-u);var x={response:v,gotProgress:m};if(!w&&h.onHeadersReceived_)h.onHeadersReceived_(v.headers,b,a);return x},function(v){q&&q.stop();r&&r.stop();if(h.onDownloadFailed_){var x=null,z=0;v instanceof shaka.util.Error&&(x=v,v.code==shaka.util.Error.Code.BAD_HTTP_STATUS&&(z=v.data[1]));h.onDownloadFailed_(b,
434
434
  x,z,t)}if(h.destroyed_)return shaka.util.AbortableOperation.aborted();t&&(v=new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.TIMEOUT,b.uris[e],a));if(v instanceof shaka.util.Error){if(v.code==shaka.util.Error.Code.OPERATION_ABORTED)throw v;if(v.code==shaka.util.Error.Code.ATTEMPTS_EXHAUSTED)throw goog.asserts.assert(f,"Should have last error"),f;if(v.severity==shaka.util.Error.Severity.RECOVERABLE)return x=(new Map).set("error",v),
435
435
  x=new shaka.util.FakeEvent("retry",x),h.dispatchEvent(x),e=(e+1)%b.uris.length,h.send_(a,b,c,d,e,v,g)}throw v;})};
@@ -507,7 +507,7 @@ return this.init_(a)};
507
507
  shaka.media.DrmEngine.prototype.initForRemoval=function(a,b,c,d,e){var f=new Map;d={audioCapabilities:d,videoCapabilities:e,distinctiveIdentifier:"optional",persistentState:"required",sessionTypes:["persistent-license"],label:a};d.drmInfos=[{keySystem:a,licenseServerUri:b,distinctiveIdentifierRequired:!1,persistentStateRequired:!0,audioRobustness:"",videoRobustness:"",serverCertificate:c,serverCertificateUri:"",initData:null,keyIds:null}];f.set(a,d);return this.queryMediaKeys_(f,[])};
508
508
  shaka.media.DrmEngine.prototype.init_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v;return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){if(1==x.nextAddress){goog.asserts.assert(b.config_,"DrmEngine configure() must be called before init()!");if(c=b.configureClearKey_())for(d=$jscomp.makeIterator(a),e=d.next();!e.done;e=d.next())f=e.value,f.video&&(f.video.drmInfos=[c]),f.audio&&(f.audio.drmInfos=[c]);g=a.some(function(z){return z.video&&z.video.drmInfos.length||z.audio&&z.audio.drmInfos.length?
509
509
  !0:!1});g||(h=shaka.util.MapUtils.asMap(b.config_.servers),shaka.media.DrmEngine.replaceDrmInfo_(a,h));k=new Set;l=$jscomp.makeIterator(a);for(e=l.next();!e.done;e=l.next())for(m=e.value,n=b.getVariantDrmInfos_(m),p=$jscomp.makeIterator(n),q=p.next();!q.done;q=p.next())r=q.value,k.add(r);t=$jscomp.makeIterator(k);for(q=t.next();!q.done;q=t.next())w=q.value,shaka.media.DrmEngine.fillInDrmInfoDefaults_(w,shaka.util.MapUtils.asMap(b.config_.servers),shaka.util.MapUtils.asMap(b.config_.advanced||{}),
510
- b.config_.keySystemsMapping);return x.yield(shaka.util.StreamUtils.getDecodingInfosForVariants(a,b.usePersistentLicenses_,b.srcEquals_,b.config_.preferredKeySystems),2)}u=g||Object.keys(b.config_.servers).length;if(!u)return b.initialized_=!0,x.return(Promise.resolve());v=b.queryMediaKeys_(void 0,a);return x.return(g?v:v.catch(function(){}))})};
510
+ b.config_.keySystemsMapping);return x.yield(shaka.util.StreamUtils.getDecodingInfosForVariants(a,b.usePersistentLicenses_,b.srcEquals_,b.config_.preferredKeySystems),2)}b.destroyer_.ensureNotDestroyed();u=g||Object.keys(b.config_.servers).length;if(!u)return b.initialized_=!0,x.return(Promise.resolve());v=b.queryMediaKeys_(void 0,a);return x.return(g?v:v.catch(function(){}))})};
511
511
  shaka.media.DrmEngine.prototype.attachMediaKeys_=function(){var a=this,b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){switch(c.nextAddress){case 1:if(a.video_.mediaKeys)return c.return();if(!a.mediaKeysAttached_){c.jumpTo(2);break}return c.yield(a.mediaKeysAttached_,3);case 3:return a.destroyer_.ensureNotDestroyed(),c.return();case 2:return c.setCatchFinallyBlocks(4),a.mediaKeysAttached_=a.video_.setMediaKeys(a.mediaKeys_),c.yield(a.mediaKeysAttached_,6);case 6:c.leaveTryBlock(5);
512
512
  break;case 4:b=c.enterCatchBlock(),goog.asserts.assert(b instanceof Error,"Wrong error type!"),a.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.FAILED_TO_ATTACH_TO_VIDEO,b.message));case 5:a.destroyer_.ensureNotDestroyed(),c.jumpToEnd()}})};
513
513
  shaka.media.DrmEngine.prototype.onEncryptedEvent_=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return c.yield(b.attachMediaKeys_(),2);b.newInitData(a.initDataType,shaka.util.BufferUtils.toUint8(a.initData));c.jumpToEnd()})};
@@ -563,14 +563,14 @@ shaka.media.DrmEngine.prototype.onKeyStatusesChange_=function(a){var b=this;a=a.
563
563
  !0);h.setUint32(0,k,!1);h.setUint16(4,l,!1);h.setUint16(6,m,!1)}"status-pending"!=f&&(c.loaded=!0);c||goog.asserts.assert("usable"!=f,"Usable keys found in closed session");"expired"==f&&(d=!0);g=shaka.util.Uint8ArrayUtils.toHex(g).slice(0,32);b.keyStatusByKeyId_.set(g,f)});var e=a.expiration-Date.now();(0>e||d&&1E3>e)&&c&&!c.updatePromise&&(shaka.log.debug("Session has expired",a.sessionId),this.activeSessions_.delete(a),a.close().catch(function(){}));this.areAllSessionsLoaded_()&&(this.allSessionsLoaded_.resolve(),
564
564
  this.keyStatusTimer_.tickAfter(shaka.media.DrmEngine.KEY_STATUS_BATCH_TIME))};shaka.media.DrmEngine.prototype.processKeyStatusChanges_=function(){var a=this.keyStatusByKeyId_,b=this.announcedKeyStatusByKeyId_;b.clear();a.forEach(function(c,d){return b.set(d,c)});a=Array.from(b.values());if(a.length&&a.every(function(c){return"expired"==c}))this.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.EXPIRED));this.playerInterface_.onKeyStatus(shaka.util.MapUtils.asObject(b))};
565
565
  shaka.media.DrmEngine.isBrowserSupported=function(){return!!window.MediaKeys&&!!window.navigator&&!!window.navigator.requestMediaKeySystemAccess&&!!window.MediaKeySystemAccess&&!!window.MediaKeySystemAccess.prototype.getConfiguration};
566
- shaka.media.DrmEngine.probeSupport=function(){var a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){if(1==F.nextAddress){goog.asserts.assert(shaka.media.DrmEngine.isBrowserSupported(),"Must have basic EME support");a="org.w3.clearkey com.widevine.alpha com.microsoft.playready com.microsoft.playready.recommendation com.chromecast.playready com.apple.fps.1_0 com.apple.fps".split(" ");b=["SW_SECURE_CRYPTO","SW_SECURE_DECODE","HW_SECURE_CRYPTO",
566
+ shaka.media.DrmEngine.probeSupport=function(){var a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){if(1==F.nextAddress){goog.asserts.assert(shaka.media.DrmEngine.isBrowserSupported(),"Must have basic EME support");a="org.w3.clearkey com.widevine.alpha com.microsoft.playready com.microsoft.playready.recommendation com.chromecast.playready com.apple.fps.1_0 com.apple.fps".split(" ");b=["SW_SECURE_CRYPTO","SW_SECURE_DECODE","HW_SECURE_CRYPTO",
567
567
  "HW_SECURE_DECODE","HW_SECURE_ALL"];c=["150","2000","3000"];d={"com.widevine.alpha":b,"com.microsoft.playready":c,"com.microsoft.playready.recommendation":c,"com.chromecast.playready":c};e=[{contentType:'video/mp4; codecs="avc1.42E01E"'},{contentType:'video/webm; codecs="vp8"'}];f=[{contentType:'audio/mp4; codecs="mp4a.40.2"'},{contentType:'audio/webm; codecs="opus"'}];g={videoCapabilities:e,audioCapabilities:f,initDataTypes:["cenc","sinf","skd","keyids"]};h=[null,"cenc","cbcs","cbcs-1-9"];k=new Map;
568
- l=function(I,E){var G,H,J,K,M,L,O,P;return $jscomp.asyncExecutePromiseGeneratorProgram(function(N){switch(N.nextAddress){case 1:return N.setCatchFinallyBlocks(2),N.yield(E.createMediaKeys(),4);case 4:N.leaveTryBlock(3);break;case 2:return N.enterCatchBlock(),N.return();case 3:H=(G=E.getConfiguration().sessionTypes)?G.includes("persistent-license"):!1,shaka.util.Platform.isTizen3()&&(H=!1),J=E.getConfiguration().videoCapabilities,K=E.getConfiguration().audioCapabilities,M={persistentState:H,encryptionSchemes:[],
569
- videoRobustnessLevels:[],audioRobustnessLevels:[]},k.has(I)&&k.get(I)?M=k.get(I):k.set(I,M),(L=J[0].encryptionScheme)&&!M.encryptionSchemes.includes(L)&&M.encryptionSchemes.push(L),(O=J[0].robustness)&&!M.videoRobustnessLevels.includes(O)&&M.videoRobustnessLevels.push(O),(P=K[0].robustness)&&!M.audioRobustnessLevels.includes(P)&&M.audioRobustnessLevels.push(P),N.jumpToEnd()}})};m=function(I,E,G,H){var J,K,M,L,O,P,N,U,R;return $jscomp.asyncExecutePromiseGeneratorProgram(function(T){switch(T.nextAddress){case 1:T.setCatchFinallyBlocks(2);
570
- J=shaka.util.ObjectUtils.cloneObject(g);K=$jscomp.makeIterator(J.videoCapabilities);for(M=K.next();!M.done;M=K.next())L=M.value,L.encryptionScheme=E,L.robustness=G;O=$jscomp.makeIterator(J.audioCapabilities);for(M=O.next();!M.done;M=O.next())P=M.value,P.encryptionScheme=E,P.robustness=H;N=shaka.util.ObjectUtils.cloneObject(J);N.persistentState="required";N.sessionTypes=["persistent-license"];U=[N,J];return T.yield(navigator.requestMediaKeySystemAccess(I,U),4);case 4:return R=T.yieldResult,T.yield(l(I,
571
- R),5);case 5:T.leaveTryBlock(0);break;case 2:T.enterCatchBlock(),T.jumpToEnd()}})};n=function(I,E,G,H){var J,K,M;return $jscomp.asyncExecutePromiseGeneratorProgram(function(L){switch(L.nextAddress){case 1:return L.setCatchFinallyBlocks(2),J={type:"media-source",video:{contentType:e[0].contentType,width:640,height:480,bitrate:1,framerate:1},audio:{contentType:f[0].contentType,channels:2,bitrate:1,samplerate:1},keySystemConfiguration:{keySystem:I,video:{encryptionScheme:E,robustness:G},audio:{encryptionScheme:E,
568
+ l=function(I,D){var G,H,J,K,M,L,O,P;return $jscomp.asyncExecutePromiseGeneratorProgram(function(N){switch(N.nextAddress){case 1:return N.setCatchFinallyBlocks(2),N.yield(D.createMediaKeys(),4);case 4:N.leaveTryBlock(3);break;case 2:return N.enterCatchBlock(),N.return();case 3:H=(G=D.getConfiguration().sessionTypes)?G.includes("persistent-license"):!1,shaka.util.Platform.isTizen3()&&(H=!1),J=D.getConfiguration().videoCapabilities,K=D.getConfiguration().audioCapabilities,M={persistentState:H,encryptionSchemes:[],
569
+ videoRobustnessLevels:[],audioRobustnessLevels:[]},k.has(I)&&k.get(I)?M=k.get(I):k.set(I,M),(L=J[0].encryptionScheme)&&!M.encryptionSchemes.includes(L)&&M.encryptionSchemes.push(L),(O=J[0].robustness)&&!M.videoRobustnessLevels.includes(O)&&M.videoRobustnessLevels.push(O),(P=K[0].robustness)&&!M.audioRobustnessLevels.includes(P)&&M.audioRobustnessLevels.push(P),N.jumpToEnd()}})};m=function(I,D,G,H){var J,K,M,L,O,P,N,U,R;return $jscomp.asyncExecutePromiseGeneratorProgram(function(T){switch(T.nextAddress){case 1:T.setCatchFinallyBlocks(2);
570
+ J=shaka.util.ObjectUtils.cloneObject(g);K=$jscomp.makeIterator(J.videoCapabilities);for(M=K.next();!M.done;M=K.next())L=M.value,L.encryptionScheme=D,L.robustness=G;O=$jscomp.makeIterator(J.audioCapabilities);for(M=O.next();!M.done;M=O.next())P=M.value,P.encryptionScheme=D,P.robustness=H;N=shaka.util.ObjectUtils.cloneObject(J);N.persistentState="required";N.sessionTypes=["persistent-license"];U=[N,J];return T.yield(navigator.requestMediaKeySystemAccess(I,U),4);case 4:return R=T.yieldResult,T.yield(l(I,
571
+ R),5);case 5:T.leaveTryBlock(0);break;case 2:T.enterCatchBlock(),T.jumpToEnd()}})};n=function(I,D,G,H){var J,K,M;return $jscomp.asyncExecutePromiseGeneratorProgram(function(L){switch(L.nextAddress){case 1:return L.setCatchFinallyBlocks(2),J={type:"media-source",video:{contentType:e[0].contentType,width:640,height:480,bitrate:1,framerate:1},audio:{contentType:f[0].contentType,channels:2,bitrate:1,samplerate:1},keySystemConfiguration:{keySystem:I,video:{encryptionScheme:D,robustness:G},audio:{encryptionScheme:D,
572
572
  robustness:H}}},L.yield(navigator.mediaCapabilities.decodingInfo(J),4);case 4:return K=L.yieldResult,M=K.keySystemAccess,L.yield(l(I,M),5);case 5:L.leaveTryBlock(0);break;case 2:L.enterCatchBlock(),L.jumpToEnd()}})};p=$jscomp.makeIterator(a);for(q=p.next();!q.done;q=p.next())r=q.value,k.set(r,null);t=[];w=$jscomp.makeIterator(h);for(u=w.next();!u.done;u=w.next())for(v=u.value,x=$jscomp.makeIterator(a),q=x.next();!q.done;q=x.next())z=q.value,"org.w3.clearkey"===z&&shaka.util.Platform.isSafari()||(t.push(m(z,
573
- v,"","")),t.push(n(z,v,"","")));y=$jscomp.makeIterator(a);for(q=y.next();!q.done;q=y.next())for(A=q.value,B=$jscomp.makeIterator(d[A]||[]),D=B.next();!D.done;D=B.next())C=D.value,t.push(m(A,null,C,"")),t.push(m(A,null,"",C)),t.push(n(A,null,C,"")),t.push(n(A,null,"",C));return F.yield(Promise.all(t),2)}return F.return(shaka.util.MapUtils.asObject(k))})};
573
+ v,"","")),t.push(n(z,v,"","")));y=$jscomp.makeIterator(a);for(q=y.next();!q.done;q=y.next())for(A=q.value,B=$jscomp.makeIterator(d[A]||[]),E=B.next();!E.done;E=B.next())C=E.value,t.push(m(A,null,C,"")),t.push(m(A,null,"",C)),t.push(n(A,null,C,"")),t.push(n(A,null,"",C));return F.yield(Promise.all(t),2)}return F.return(shaka.util.MapUtils.asObject(k))})};
574
574
  shaka.media.DrmEngine.prototype.onPlay_=function(){for(var a=$jscomp.makeIterator(this.mediaKeyMessageEvents_),b=a.next();!b.done;b=a.next())this.sendLicenseRequest_(b.value);this.initialRequestsSent_=!0;this.mediaKeyMessageEvents_=[]};
575
575
  shaka.media.DrmEngine.prototype.closeSession_=function(a){var b,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){if(1==d.nextAddress)return b=shaka.media.DrmEngine,c=new Promise(function(e,f){(new shaka.util.Timer(f)).tickAfter(b.CLOSE_TIMEOUT_)}),d.setCatchFinallyBlocks(2),d.yield(Promise.race([Promise.all([a.close(),a.closed]),c]),4);if(2!=d.nextAddress)return d.leaveTryBlock(0);d.enterCatchBlock();shaka.log.warning("Timeout waiting for session close");d.jumpToEnd()})};
576
576
  shaka.media.DrmEngine.prototype.closeOpenSessions_=function(){var a=this,b;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){b=Array.from(a.activeSessions_.entries());a.activeSessions_.clear();return c.yield(Promise.all(b.map(function(d){d=$jscomp.makeIterator(d);var e=d.next().value,f=d.next().value,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress){h.setCatchFinallyBlocks(2);if(!a.initializedForStorage_&&!a.storedPersistentSessions_.has(e.sessionId)&&
@@ -616,10 +616,10 @@ shaka.media.ManifestParser.getFactory=function(a,b){var c=shaka.media.ManifestPa
616
616
  shaka.media.ManifestParser.isSupported=function(a){return shaka.util.Platform.supportsMediaSource()?a in shaka.media.ManifestParser.parsersByMime?!0:!1:!1};goog.exportSymbol("shaka.media.ManifestParser",shaka.media.ManifestParser);goog.exportProperty(shaka.media.ManifestParser,"unregisterParserByMime",shaka.media.ManifestParser.unregisterParserByMime);goog.exportProperty(shaka.media.ManifestParser,"registerParserByMime",shaka.media.ManifestParser.registerParserByMime);
617
617
  goog.exportProperty(shaka.media.ManifestParser,"registerParserByExtension",shaka.media.ManifestParser.registerParserByExtension);shaka.media.ManifestParser.HLS="HLS";shaka.media.ManifestParser.DASH="DASH";shaka.media.ManifestParser.MSS="MSS";shaka.media.ManifestParser.UNKNOWN="UNKNOWN";shaka.media.ManifestParser.AccessibilityPurpose={VISUALLY_IMPAIRED:"visually impaired",HARD_OF_HEARING:"hard of hearing"};goog.exportProperty(shaka.media.ManifestParser,"AccessibilityPurpose",shaka.media.ManifestParser.AccessibilityPurpose);
618
618
  shaka.media.ManifestParser.parsersByMime={};shaka.media.ContentWorkarounds=function(){};
619
- shaka.media.ContentWorkarounds.fakeEncryption=function(a){var b=shaka.media.ContentWorkarounds;a=shaka.util.BufferUtils.toUint8(a);var c=!1,d,e=[],f=function(l){e.push(l);shaka.util.Mp4Parser.children(l)},g=function(l){c=!0},h=[];(new shaka.util.Mp4Parser).box("moov",f).box("trak",f).box("mdia",f).box("minf",f).box("stbl",f).fullBox("stsd",function(l){d=l;e.push(l);shaka.util.Mp4Parser.sampleDescription(l)}).fullBox("encv",g).fullBox("enca",g).fullBox("dvav",function(l){h.push({box:l,newType:b.BOX_TYPE_ENCV_})}).fullBox("dva1",
620
- function(l){h.push({box:l,newType:b.BOX_TYPE_ENCV_})}).fullBox("dvh1",function(l){h.push({box:l,newType:b.BOX_TYPE_ENCV_})}).fullBox("dvhe",function(l){h.push({box:l,newType:b.BOX_TYPE_ENCV_})}).fullBox("hev1",function(l){h.push({box:l,newType:b.BOX_TYPE_ENCV_})}).fullBox("hvc1",function(l){h.push({box:l,newType:b.BOX_TYPE_ENCV_})}).fullBox("avc1",function(l){h.push({box:l,newType:b.BOX_TYPE_ENCV_})}).fullBox("avc3",function(l){h.push({box:l,newType:b.BOX_TYPE_ENCV_})}).fullBox("ac-3",function(l){h.push({box:l,
621
- newType:b.BOX_TYPE_ENCA_})}).fullBox("ec-3",function(l){h.push({box:l,newType:b.BOX_TYPE_ENCA_})}).fullBox("ac-4",function(l){h.push({box:l,newType:b.BOX_TYPE_ENCA_})}).fullBox("mp4a",function(l){h.push({box:l,newType:b.BOX_TYPE_ENCA_})}).parse(a);if(c)return shaka.log.debug("Init segment already indicates encryption."),a;if(0==h.length||!d)throw shaka.log.error("Failed to find boxes needed to fake encryption!"),shaka.log.v2("Failed init segment (hex):",shaka.util.Uint8ArrayUtils.toHex(a)),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
622
- shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.CONTENT_TRANSFORMATION_FAILED);h.reverse();f=$jscomp.makeIterator(h);for(g=f.next();!g.done;g=f.next()){g=g.value;var k=shaka.util.Mp4Parser.typeToString(g.newType);shaka.log.debug('Inserting "'+k+'" box into init segment.');a=b.insertEncryptionMetadata_(a,d,g.box,e,g.newType)}return a};
619
+ shaka.media.ContentWorkarounds.fakeEncryption=function(a,b){var c=shaka.media.ContentWorkarounds;a=shaka.util.BufferUtils.toUint8(a);var d=!1,e,f=[],g=function(l){f.push(l);shaka.util.Mp4Parser.children(l)},h=function(l){d=!0},k=[];(new shaka.util.Mp4Parser).box("moov",g).box("trak",g).box("mdia",g).box("minf",g).box("stbl",g).fullBox("stsd",function(l){e=l;f.push(l);shaka.util.Mp4Parser.sampleDescription(l)}).fullBox("encv",h).fullBox("enca",h).fullBox("dvav",function(l){k.push({box:l,newType:c.BOX_TYPE_ENCV_})}).fullBox("dva1",
620
+ function(l){k.push({box:l,newType:c.BOX_TYPE_ENCV_})}).fullBox("dvh1",function(l){k.push({box:l,newType:c.BOX_TYPE_ENCV_})}).fullBox("dvhe",function(l){k.push({box:l,newType:c.BOX_TYPE_ENCV_})}).fullBox("hev1",function(l){k.push({box:l,newType:c.BOX_TYPE_ENCV_})}).fullBox("hvc1",function(l){k.push({box:l,newType:c.BOX_TYPE_ENCV_})}).fullBox("avc1",function(l){k.push({box:l,newType:c.BOX_TYPE_ENCV_})}).fullBox("avc3",function(l){k.push({box:l,newType:c.BOX_TYPE_ENCV_})}).fullBox("ac-3",function(l){k.push({box:l,
621
+ newType:c.BOX_TYPE_ENCA_})}).fullBox("ec-3",function(l){k.push({box:l,newType:c.BOX_TYPE_ENCA_})}).fullBox("ac-4",function(l){k.push({box:l,newType:c.BOX_TYPE_ENCA_})}).fullBox("mp4a",function(l){k.push({box:l,newType:c.BOX_TYPE_ENCA_})}).parse(a);if(d)return shaka.log.debug("Init segment already indicates encryption."),a;if(0==k.length||!e)throw shaka.log.error("Failed to find boxes needed to fake encryption!"),shaka.log.v2("Failed init segment (hex):",shaka.util.Uint8ArrayUtils.toHex(a)),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
622
+ shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.CONTENT_TRANSFORMATION_FAILED,b);k.reverse();b=$jscomp.makeIterator(k);for(g=b.next();!g.done;g=b.next())g=g.value,h=shaka.util.Mp4Parser.typeToString(g.newType),shaka.log.debug('Inserting "'+h+'" box into init segment.'),a=c.insertEncryptionMetadata_(a,e,g.box,f,g.newType);return a};
623
623
  shaka.media.ContentWorkarounds.insertEncryptionMetadata_=function(a,b,c,d,e){var f=shaka.media.ContentWorkarounds,g=f.createEncryptionMetadata_(a,c,e);e=new Uint8Array(a.byteLength+g.byteLength);c=shaka.util.Platform.isXboxOne()?c.start:c.start+c.size;var h=a.subarray(0,c);a=a.subarray(c);e.set(h);e.set(g,c);e.set(a,c+g.byteLength);d=$jscomp.makeIterator(d);for(a=d.next();!a.done;a=d.next())a=a.value,goog.asserts.assert(a.start<c,"Ancestor MP4 box found in the wrong location! Modified init segment will not make sense!"),
624
624
  f.updateBoxSize_(e,a.start,a.size+g.byteLength);f=shaka.util.BufferUtils.toDataView(e,b.start);b=shaka.util.Mp4Parser.headerSize(b);g=f.getUint32(b);f.setUint32(b,g+1);return e};
625
625
  shaka.media.ContentWorkarounds.createEncryptionMetadata_=function(a,b,c){var d=shaka.media.ContentWorkarounds,e=d.CANNED_SINF_BOX_.value(),f=a.subarray(b.start,b.start+b.size),g=shaka.util.BufferUtils.toDataView(f);a=new Uint8Array(b.size+e.byteLength);a.set(f,0);f=shaka.util.BufferUtils.toDataView(a);f.setUint32(d.BOX_TYPE_OFFSET_,c);a.set(e,b.size);c=g.getUint32(d.BOX_TYPE_OFFSET_);f.setUint32(b.size+d.CANNED_SINF_BOX_FORMAT_OFFSET_,c);d.updateBoxSize_(a,0,a.byteLength);return a};
@@ -748,7 +748,7 @@ shaka.media.ManifestParser.HLS&&!e.ignoreManifestTimestampsInSegmentsMode_,e.tsP
748
748
  shaka.media.MediaSourceEngine.prototype.initSourceBuffer_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r,t;return $jscomp.asyncExecutePromiseGeneratorProgram(function(w){switch(w.nextAddress){case 1:return e=shaka.util.ManifestParserUtils.ContentType,f=goog.asserts,g=f.assert,w.yield(shaka.media.MediaSourceEngine.isStreamSupported(b,a),2);case 2:g.call(f,w.yieldResult,"Type negotiation should happen before MediaSourceEngine.init!");h=shaka.util.MimeUtils.getFullType(b.mimeType,c);if(a==e.TEXT){d.reinitText(h,
749
749
  d.sequenceMode_,b.external);w.jumpTo(0);break}k=d.config_.forceTransmux;if(!shaka.media.Capabilities.isTypeSupported(h)||!d.sequenceMode_&&shaka.util.MimeUtils.RAW_FORMATS.includes(h))k=!0;l=shaka.util.MimeUtils.getFullTypeWithAllCodecs(b.mimeType,c);if(!k){w.jumpTo(4);break}m=shaka.util.ManifestParserUtils.guessCodecsSafe(e.AUDIO,(c||"").split(","));n=shaka.util.ManifestParserUtils.guessCodecsSafe(e.VIDEO,(c||"").split(","));if(!m||!n){w.jumpTo(5);break}d.needSplitMuxedContent_=!0;return w.yield(d.initSourceBuffer_(e.AUDIO,
750
750
  b,m),6);case 6:return w.yield(d.initSourceBuffer_(e.VIDEO,b,n),7);case 7:return w.return();case 5:if(p=shaka.transmuxer.TransmuxerEngine.findTransmuxer(l))q=p(),d.transmuxers_[a]=q,h=q.convertCodecs(a,l);case 4:r=d.addExtraFeaturesToMimeType_(h);d.destroyer_.ensureNotDestroyed();try{t=d.mediaSource_.addSourceBuffer(r)}catch(u){throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW,u,"The mediaSource_ status was "+
751
- d.mediaSource_.readyState+" expected 'open'");}d.sequenceMode_&&(t.mode=shaka.media.MediaSourceEngine.SourceBufferMode_.SEQUENCE);d.eventManager_.listen(t,"error",function(){return d.onError_(a)});d.eventManager_.listen(t,"updateend",function(){return d.onUpdateEnd_(a)});d.sourceBuffers_[a]=t;d.sourceBufferTypes_[a]=h;d.expectedEncryption_[a]=!!b.drmInfos.length;w.jumpToEnd()}})};shaka.media.MediaSourceEngine.prototype.configure=function(a){this.config_=a;this.textEngine_&&this.textEngine_.setModifyCueCallback(a.modifyCueCallback)};
751
+ d.mediaSource_.readyState+" expected 'open'",null);}d.sequenceMode_&&(t.mode=shaka.media.MediaSourceEngine.SourceBufferMode_.SEQUENCE);d.eventManager_.listen(t,"error",function(){return d.onError_(a)});d.eventManager_.listen(t,"updateend",function(){return d.onUpdateEnd_(a)});d.sourceBuffers_[a]=t;d.sourceBufferTypes_[a]=h;d.expectedEncryption_[a]=!!b.drmInfos.length;w.jumpToEnd()}})};shaka.media.MediaSourceEngine.prototype.configure=function(a){this.config_=a;this.textEngine_&&this.textEngine_.setModifyCueCallback(a.modifyCueCallback)};
752
752
  shaka.media.MediaSourceEngine.prototype.isStreamingAllowed=function(){return this.streamingAllowed_};shaka.media.MediaSourceEngine.prototype.reinitText=function(a,b,c){this.textEngine_||(this.textEngine_=new shaka.text.TextEngine(this.textDisplayer_),this.textEngine_.setModifyCueCallback(this.config_.modifyCueCallback));this.textEngine_.initParser(a,b,c||this.segmentRelativeVttTiming_,this.manifestType_)};
753
753
  shaka.media.MediaSourceEngine.prototype.ended=function(){return this.reloadingMediaSource_?!1:this.mediaSource_?"ended"==this.mediaSource_.readyState:!0};shaka.media.MediaSourceEngine.prototype.bufferStart=function(a){return this.reloadingMediaSource_||!Object.keys(this.sourceBuffers_).length?null:a==shaka.util.ManifestParserUtils.ContentType.TEXT?this.textEngine_.bufferStart():shaka.media.TimeRangesUtils.bufferStart(this.getBuffered_(a))};
754
754
  shaka.media.MediaSourceEngine.prototype.bufferEnd=function(a){return this.reloadingMediaSource_?null:a==shaka.util.ManifestParserUtils.ContentType.TEXT?this.textEngine_.bufferEnd():shaka.media.TimeRangesUtils.bufferEnd(this.getBuffered_(a))};
@@ -759,42 +759,43 @@ c&&a.text.push({start:b,end:c})}return a};shaka.media.MediaSourceEngine.prototyp
759
759
  shaka.media.MediaSourceEngine.prototype.getTimestampAndDispatchMetadata_=function(a,b,c,d,e){var f=null,g=shaka.util.BufferUtils.toUint8(b);if(shaka.util.MimeUtils.RAW_FORMATS.includes(d))e=shaka.util.Id3Utils.getID3Frames(g),e.length&&c&&((a=e.find(function(m){return"com.apple.streaming.transportStreamTimestamp"===m.description}))&&a.data&&(f=Math.round(a.data)/1E3),this.onMetadata_([{cueTime:c.startTime,data:g,frames:e,dts:c.startTime,pts:c.startTime}],0,c.endTime));else if(d.includes("/mp4")&&
760
760
  c&&0==c.timestampOffset&&c.initSegmentReference&&c.initSegmentReference.timescale){var h=c.initSegmentReference.timescale;if(!isNaN(h)){c=shaka.util.Mp4Parser;var k=0,l=!1;(new c).box("moof",c.children).box("traf",c.children).fullBox("tfdt",function(m){goog.asserts.assert(0==m.version||1==m.version,"TFDT version can only be 0 or 1");k=shaka.util.Mp4BoxParsers.parseTFDTInaccurate(m.reader,m.version).baseMediaDecodeTime/h;l=!0;m.parser.stop()}).parse(b,!0);l&&(f=k)}}else if(!d.includes("/mp4")&&!d.includes("/webm")&&
761
761
  shaka.util.TsParser.probe(g)&&(this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser,g=this.tsParser_.parse(g),a=g.getStartTime(a),null!=a&&(f=a),g=g.getMetadata(),g.length))this.onMetadata_(g,e,c?c.endTime:null);return f};
762
- shaka.media.MediaSourceEngine.prototype.appendBuffer=function(a,b,c,d,e,f,g,h,k){f=void 0===f?!1:f;g=void 0===g?!1:g;h=void 0===h?!1:h;k=void 0===k?!1:k;var l=this,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){switch(F.nextAddress){case 1:m=shaka.util.ManifestParserUtils.ContentType;if(a!=m.TEXT){F.jumpTo(2);break}if(!l.sequenceMode_){F.jumpTo(3);break}return F.yield(l.textSequenceModeOffset_,4);case 4:n=F.yieldResult,l.textEngine_.setTimestampOffset(n);
762
+ shaka.media.MediaSourceEngine.prototype.appendBuffer=function(a,b,c,d,e,f,g,h,k){f=void 0===f?!1:f;g=void 0===g?!1:g;h=void 0===h?!1:h;k=void 0===k?!1:k;var l=this,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C;return $jscomp.asyncExecutePromiseGeneratorProgram(function(F){switch(F.nextAddress){case 1:m=shaka.util.ManifestParserUtils.ContentType;if(a!=m.TEXT){F.jumpTo(2);break}if(!l.sequenceMode_){F.jumpTo(3);break}return F.yield(l.textSequenceModeOffset_,4);case 4:n=F.yieldResult,l.textEngine_.setTimestampOffset(n);
763
763
  case 3:return F.yield(l.textEngine_.appendBuffer(b,c?c.startTime:null,c?c.endTime:null,c?c.getUris()[0]:null),5);case 5:return F.return();case 2:if(k||!l.needSplitMuxedContent_){F.jumpTo(6);break}return F.yield(l.appendBuffer(m.AUDIO,b,c,d,e,f,g,h,!0),7);case 7:return F.yield(l.appendBuffer(m.VIDEO,b,c,d,e,f,g,h,!0),8);case 8:return F.return();case 6:if(!l.sourceBuffers_[a])return shaka.log.warning("Attempted to restore a non-existent source buffer"),F.return();p=l.sourceBuffers_[a].timestampOffset;
764
- q=l.sourceBufferTypes_[a];l.transmuxers_[a]&&(q=l.transmuxers_[a].getOriginalMimeType());c&&(r=l.getTimestampAndDispatchMetadata_(a,b,c,q,p),null!=r&&(t=c.startTime-r,w=Math.abs(p-t),(.001<=w||f||g)&&(!h||0<t||!p)&&(p=t,l.attemptTimestampOffsetCalculation_&&(l.enqueueOperation_(a,function(){return l.abort_(a)}),l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,p)}))),u=a==m.VIDEO||!(m.VIDEO in l.sourceBuffers_),l.sequenceMode_&&u&&l.textSequenceModeOffset_.resolve(p)));e&&a==m.VIDEO&&
765
- (l.textEngine_||l.reinitText(shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE,l.sequenceMode_,!1),l.captionParser_||(v=q.split(";",1)[0],l.captionParser_=l.getCaptionParser(v)),c?(x=l.captionParser_.parseFrom(b),x.length&&l.textEngine_.storeAndAppendClosedCaptions(x,c.startTime,c.endTime,p)):l.captionParser_.init(b,g));if(!l.transmuxers_[a]){F.jumpTo(9);break}return F.yield(l.transmuxers_[a].transmux(b,d,c,l.mediaSource_.duration,a),10);case 10:b=F.yieldResult;case 9:return b=l.workAroundBrokenPlatforms_(b,
766
- c?c.startTime:null,a),c&&l.sequenceMode_&&a!=m.TEXT&&(f||g)&&(z=c.startTime,l.enqueueOperation_(a,function(){return l.abort_(a)}),l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,z)})),y=null,F.yield(l.enqueueOperation_(a,function(){goog.DEBUG&&c&&!c.isPreload()&&!h&&(y=l.getBuffered_(a));l.append_(a,b,p)}),11);case 11:goog.DEBUG&&c&&!c.isPreload()&&!h&&(A=l.getBuffered_(a),B=shaka.media.TimeRangesUtils.computeAddedRange(y,A))&&(D=c.endTime-c.startTime,C=Math.abs(B.end-c.endTime),.1<
767
- D&&C>D/2&&shaka.log.error("Possible encoding problem detected!","Unexpected buffered range for reference",c,"from URIs",c.getUris(),"should be",{start:c.startTime,end:c.endTime},"but got",B)),F.jumpToEnd()}})};shaka.media.MediaSourceEngine.prototype.setSelectedClosedCaptionId=function(a){var b=this.bufferEnd(shaka.util.ManifestParserUtils.ContentType.VIDEO)||0;this.textEngine_.setSelectedClosedCaptionId(a,b)};
764
+ q=l.sourceBufferTypes_[a];l.transmuxers_[a]&&(q=l.transmuxers_[a].getOriginalMimeType());c&&(r=l.getTimestampAndDispatchMetadata_(a,b,c,q,p),null!=r&&(t=c.startTime-r,w=Math.abs(p-t),(.001<=w||f||g)&&(!h||0<t||!p)&&(p=t,l.attemptTimestampOffsetCalculation_&&(l.enqueueOperation_(a,function(){return l.abort_(a)},null),l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,p)},null))),u=a==m.VIDEO||!(m.VIDEO in l.sourceBuffers_),l.sequenceMode_&&u&&l.textSequenceModeOffset_.resolve(p)));e&&
765
+ a==m.VIDEO&&(l.textEngine_||l.reinitText(shaka.util.MimeUtils.CEA608_CLOSED_CAPTION_MIMETYPE,l.sequenceMode_,!1),l.captionParser_||(v=q.split(";",1)[0],l.captionParser_=l.getCaptionParser(v)),c?(x=l.captionParser_.parseFrom(b),x.length&&l.textEngine_.storeAndAppendClosedCaptions(x,c.startTime,c.endTime,p)):l.captionParser_.init(b,g));if(!l.transmuxers_[a]){F.jumpTo(9);break}return F.yield(l.transmuxers_[a].transmux(b,d,c,l.mediaSource_.duration,a),10);case 10:b=F.yieldResult;case 9:return b=l.workAroundBrokenPlatforms_(b,
766
+ c?c.startTime:null,a,c?c.getUris()[0]:null),c&&l.sequenceMode_&&a!=m.TEXT&&(f||g)&&(z=c.startTime,l.enqueueOperation_(a,function(){return l.abort_(a)},null),l.enqueueOperation_(a,function(){return l.setTimestampOffset_(a,z)},null)),y=null,F.yield(l.enqueueOperation_(a,function(){goog.DEBUG&&c&&!c.isPreload()&&!h&&(y=l.getBuffered_(a));l.append_(a,b,p)},c?c.getUris()[0]:null),11);case 11:goog.DEBUG&&c&&!c.isPreload()&&!h&&(A=l.getBuffered_(a),B=shaka.media.TimeRangesUtils.computeAddedRange(y,A))&&
767
+ (E=c.endTime-c.startTime,C=Math.abs(B.end-c.endTime),.1<E&&C>E/2&&shaka.log.error("Possible encoding problem detected!","Unexpected buffered range for reference",c,"from URIs",c.getUris(),"should be",{start:c.startTime,end:c.endTime},"but got",B)),F.jumpToEnd()}})};shaka.media.MediaSourceEngine.prototype.setSelectedClosedCaptionId=function(a){var b=this.bufferEnd(shaka.util.ManifestParserUtils.ContentType.VIDEO)||0;this.textEngine_.setSelectedClosedCaptionId(a,b)};
768
768
  shaka.media.MediaSourceEngine.prototype.clearSelectedClosedCaptionId=function(){this.textEngine_&&this.textEngine_.setSelectedClosedCaptionId("",0)};
769
- shaka.media.MediaSourceEngine.prototype.remove=function(a,b,c){var d=this,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){return 1==f.nextAddress?(e=shaka.util.ManifestParserUtils.ContentType,a==e.TEXT?f.yield(d.textEngine_.remove(b,c),0):f.yield(d.enqueueOperation_(a,function(){return d.remove_(a,b,c)}),4)):d.needSplitMuxedContent_?f.yield(d.enqueueOperation_(e.AUDIO,function(){return d.remove_(e.AUDIO,b,c)}),0):f.jumpTo(0)})};
770
- shaka.media.MediaSourceEngine.prototype.clear=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?(c=shaka.util.ManifestParserUtils.ContentType,a==c.TEXT?b.textEngine_?d.yield(b.textEngine_.remove(0,Infinity),0):d.return():d.yield(b.enqueueOperation_(a,function(){return b.remove_(a,0,b.mediaSource_.duration)}),4)):b.needSplitMuxedContent_?d.yield(b.enqueueOperation_(c.AUDIO,function(){return b.remove_(c.AUDIO,0,b.mediaSource_.duration)}),
771
- 0):d.jumpTo(0)})};shaka.media.MediaSourceEngine.prototype.resetCaptionParser=function(){this.captionParser_&&this.captionParser_.reset()};
772
- shaka.media.MediaSourceEngine.prototype.flush=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?(c=shaka.util.ManifestParserUtils.ContentType,a==c.TEXT?d.return():d.yield(b.enqueueOperation_(a,function(){return b.flush_(a)}),2)):b.needSplitMuxedContent_?d.yield(b.enqueueOperation_(c.AUDIO,function(){return b.flush_(c.AUDIO)}),0):d.jumpTo(0)})};
773
- shaka.media.MediaSourceEngine.prototype.setStreamProperties=function(a,b,c,d,e,f,g,h){var k=this,l,m,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){if(1==p.nextAddress){l=shaka.util.ManifestParserUtils.ContentType;if(a==l.TEXT)return e||k.textEngine_.setTimestampOffset(b),k.textEngine_.setAppendWindow(c,d),p.return();m=[];return p.yield(k.codecSwitchIfNecessary_(a,f,g,h),2)}n=p.yieldResult;n||(m.push(k.enqueueOperation_(a,function(){return k.abort_(a)})),k.needSplitMuxedContent_&&
774
- m.push(k.enqueueOperation_(l.AUDIO,function(){return k.abort_(l.AUDIO)})));e||(m.push(k.enqueueOperation_(a,function(){return k.setTimestampOffset_(a,b)})),k.needSplitMuxedContent_&&m.push(k.enqueueOperation_(l.AUDIO,function(){return k.setTimestampOffset_(l.AUDIO,b)})));m.push(k.enqueueOperation_(a,function(){return k.setAppendWindow_(a,c,d)}));k.needSplitMuxedContent_&&m.push(k.enqueueOperation_(l.AUDIO,function(){return k.setAppendWindow_(l.AUDIO,c,d)}));return p.yield(Promise.all(m),0)})};
775
- shaka.media.MediaSourceEngine.prototype.resync=function(a,b){var c=this,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress){d=shaka.util.ManifestParserUtils.ContentType;if(a==d.TEXT)return e.return();a==d.VIDEO&&(c.textSequenceModeOffset_=new shaka.util.PublicPromise);c.enqueueOperation_(a,function(){return c.abort_(a)});c.needSplitMuxedContent_&&c.enqueueOperation_(d.AUDIO,function(){return c.abort_(d.AUDIO)});return e.yield(c.enqueueOperation_(a,function(){return c.setTimestampOffset_(a,
776
- b)}),2)}return c.needSplitMuxedContent_?e.yield(c.enqueueOperation_(d.AUDIO,function(){return c.setTimestampOffset_(d.AUDIO,b)}),0):e.jumpTo(0)})};shaka.media.MediaSourceEngine.prototype.endOfStream=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){return c.yield(b.enqueueBlockingOperation_(function(){b.ended()||"closed"===b.mediaSource_.readyState||(a?b.mediaSource_.endOfStream(a):b.mediaSource_.endOfStream())}),0)})};
777
- shaka.media.MediaSourceEngine.prototype.setDuration=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){return c.yield(b.enqueueBlockingOperation_(function(){if(a<b.mediaSource_.duration)for(var d in b.sourceBuffers_){var e={start:function(){},p:new shaka.util.PublicPromise};b.queues_[d].unshift(e)}b.mediaSource_.duration=a;b.lastDuration_=a}),0)})};shaka.media.MediaSourceEngine.prototype.getDuration=function(){return this.mediaSource_.duration};
769
+ shaka.media.MediaSourceEngine.prototype.remove=function(a,b,c){var d=this,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){return 1==f.nextAddress?(e=shaka.util.ManifestParserUtils.ContentType,a==e.TEXT?f.yield(d.textEngine_.remove(b,c),0):f.yield(d.enqueueOperation_(a,function(){return d.remove_(a,b,c)},null),4)):d.needSplitMuxedContent_?f.yield(d.enqueueOperation_(e.AUDIO,function(){return d.remove_(e.AUDIO,b,c)},null),0):f.jumpTo(0)})};
770
+ shaka.media.MediaSourceEngine.prototype.clear=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?(c=shaka.util.ManifestParserUtils.ContentType,a==c.TEXT?b.textEngine_?d.yield(b.textEngine_.remove(0,Infinity),0):d.return():d.yield(b.enqueueOperation_(a,function(){return b.remove_(a,0,b.mediaSource_.duration)},null),4)):b.needSplitMuxedContent_?d.yield(b.enqueueOperation_(c.AUDIO,function(){return b.remove_(c.AUDIO,0,b.mediaSource_.duration)},
771
+ null),0):d.jumpTo(0)})};shaka.media.MediaSourceEngine.prototype.resetCaptionParser=function(){this.captionParser_&&this.captionParser_.reset()};
772
+ shaka.media.MediaSourceEngine.prototype.flush=function(a){var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?(c=shaka.util.ManifestParserUtils.ContentType,a==c.TEXT?d.return():d.yield(b.enqueueOperation_(a,function(){return b.flush_(a)},null),2)):b.needSplitMuxedContent_?d.yield(b.enqueueOperation_(c.AUDIO,function(){return b.flush_(c.AUDIO)},null),0):d.jumpTo(0)})};
773
+ shaka.media.MediaSourceEngine.prototype.setStreamProperties=function(a,b,c,d,e,f,g,h){var k=this,l,m,n;return $jscomp.asyncExecutePromiseGeneratorProgram(function(p){if(1==p.nextAddress){l=shaka.util.ManifestParserUtils.ContentType;if(a==l.TEXT)return e||k.textEngine_.setTimestampOffset(b),k.textEngine_.setAppendWindow(c,d),p.return();m=[];return p.yield(k.codecSwitchIfNecessary_(a,f,g,h),2)}n=p.yieldResult;n||(m.push(k.enqueueOperation_(a,function(){return k.abort_(a)},null)),k.needSplitMuxedContent_&&
774
+ m.push(k.enqueueOperation_(l.AUDIO,function(){return k.abort_(l.AUDIO)},null)));e||(m.push(k.enqueueOperation_(a,function(){return k.setTimestampOffset_(a,b)},null)),k.needSplitMuxedContent_&&m.push(k.enqueueOperation_(l.AUDIO,function(){return k.setTimestampOffset_(l.AUDIO,b)},null)));m.push(k.enqueueOperation_(a,function(){return k.setAppendWindow_(a,c,d)},null));k.needSplitMuxedContent_&&m.push(k.enqueueOperation_(l.AUDIO,function(){return k.setAppendWindow_(l.AUDIO,c,d)},null));return p.yield(Promise.all(m),
775
+ 0)})};
776
+ shaka.media.MediaSourceEngine.prototype.resync=function(a,b){var c=this,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress){d=shaka.util.ManifestParserUtils.ContentType;if(a==d.TEXT)return e.return();a==d.VIDEO&&(c.textSequenceModeOffset_=new shaka.util.PublicPromise);c.enqueueOperation_(a,function(){return c.abort_(a)},null);c.needSplitMuxedContent_&&c.enqueueOperation_(d.AUDIO,function(){return c.abort_(d.AUDIO)},null);return e.yield(c.enqueueOperation_(a,function(){return c.setTimestampOffset_(a,
777
+ b)},null),2)}return c.needSplitMuxedContent_?e.yield(c.enqueueOperation_(d.AUDIO,function(){return c.setTimestampOffset_(d.AUDIO,b)},null),0):e.jumpTo(0)})};shaka.media.MediaSourceEngine.prototype.endOfStream=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){return c.yield(b.enqueueBlockingOperation_(function(){b.ended()||"closed"===b.mediaSource_.readyState||(a?b.mediaSource_.endOfStream(a):b.mediaSource_.endOfStream())}),0)})};
778
+ shaka.media.MediaSourceEngine.prototype.setDuration=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){return c.yield(b.enqueueBlockingOperation_(function(){if(a<b.mediaSource_.duration)for(var d in b.sourceBuffers_){var e={start:function(){},p:new shaka.util.PublicPromise,uri:null};b.queues_[d].unshift(e)}b.mediaSource_.duration=a;b.lastDuration_=a}),0)})};shaka.media.MediaSourceEngine.prototype.getDuration=function(){return this.mediaSource_.duration};
778
779
  shaka.media.MediaSourceEngine.prototype.append_=function(a,b,c){a==shaka.util.ManifestParserUtils.ContentType.VIDEO&&this.lcevcDec_&&this.lcevcDec_.appendBuffer(b,c);this.sourceBuffers_[a].appendBuffer(b)};shaka.media.MediaSourceEngine.prototype.remove_=function(a,b,c){if(c<=b)this.onUpdateEnd_(a);else this.sourceBuffers_[a].remove(b,c)};
779
780
  shaka.media.MediaSourceEngine.prototype.abort_=function(a){var b=this.sourceBuffers_[a].appendWindowStart,c=this.sourceBuffers_[a].appendWindowEnd;this.sourceBuffers_[a].abort();this.sourceBuffers_[a].appendWindowStart=b;this.sourceBuffers_[a].appendWindowEnd=c;this.onUpdateEnd_(a)};shaka.media.MediaSourceEngine.prototype.flush_=function(a){goog.asserts.assert(0==this.video_.buffered.length,"MediaSourceEngine.flush_ should only be used after clearing all data!");this.video_.currentTime-=.001;this.onUpdateEnd_(a)};
780
781
  shaka.media.MediaSourceEngine.prototype.setTimestampOffset_=function(a,b){0>b&&(b+=.001);this.sourceBuffers_[a].timestampOffset=b;this.onUpdateEnd_(a)};shaka.media.MediaSourceEngine.prototype.setAppendWindow_=function(a,b,c){this.sourceBuffers_[a].appendWindowStart=0;this.sourceBuffers_[a].appendWindowEnd=c;this.sourceBuffers_[a].appendWindowStart=b;this.onUpdateEnd_(a)};
781
- shaka.media.MediaSourceEngine.prototype.onError_=function(a){var b=this.queues_[a][0];goog.asserts.assert(b,"Spurious error event!");goog.asserts.assert(!this.sourceBuffers_[a].updating,"SourceBuffer should not be updating on error!");b.p.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_FAILED,this.video_.error?this.video_.error.code:0))};
782
+ shaka.media.MediaSourceEngine.prototype.onError_=function(a){var b=this.queues_[a][0];goog.asserts.assert(b,"Spurious error event!");goog.asserts.assert(!this.sourceBuffers_[a].updating,"SourceBuffer should not be updating on error!");b.p.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_FAILED,this.video_.error?this.video_.error.code:0,b.uri))};
782
783
  shaka.media.MediaSourceEngine.prototype.onUpdateEnd_=function(a){if(!this.reloadingMediaSource_){var b=this.queues_[a][0];goog.asserts.assert(b,"Spurious updateend event!");b&&(goog.asserts.assert(!this.sourceBuffers_[a].updating,"SourceBuffer should not be updating on updateend!"),b.p.resolve(),this.popFromQueue_(a))}};
783
- shaka.media.MediaSourceEngine.prototype.enqueueOperation_=function(a,b){this.destroyer_.ensureNotDestroyed();b={start:b,p:new shaka.util.PublicPromise};this.queues_[a].push(b);1==this.queues_[a].length&&this.startOperation_(a);return b.p};
784
- shaka.media.MediaSourceEngine.prototype.enqueueBlockingOperation_=function(a){var b=this,c,d,e,f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){switch(n.nextAddress){case 1:b.destroyer_.ensureNotDestroyed();c=[];d={};for(e in b.sourceBuffers_)d.$jscomp$loop$prop$ready$908=new shaka.util.PublicPromise,f={start:function(p){return function(){return p.$jscomp$loop$prop$ready$908.resolve()}}(d),p:d.$jscomp$loop$prop$ready$908},b.queues_[e].push(f),c.push(d.$jscomp$loop$prop$ready$908),
784
+ shaka.media.MediaSourceEngine.prototype.enqueueOperation_=function(a,b,c){this.destroyer_.ensureNotDestroyed();b={start:b,p:new shaka.util.PublicPromise,uri:c};this.queues_[a].push(b);1==this.queues_[a].length&&this.startOperation_(a);return b.p};
785
+ shaka.media.MediaSourceEngine.prototype.enqueueBlockingOperation_=function(a){var b=this,c,d,e,f,g,h,k,l,m;return $jscomp.asyncExecutePromiseGeneratorProgram(function(n){switch(n.nextAddress){case 1:b.destroyer_.ensureNotDestroyed();c=[];d={};for(e in b.sourceBuffers_)d.$jscomp$loop$prop$ready$908=new shaka.util.PublicPromise,f={start:function(p){return function(){return p.$jscomp$loop$prop$ready$908.resolve()}}(d),p:d.$jscomp$loop$prop$ready$908,uri:null},b.queues_[e].push(f),c.push(d.$jscomp$loop$prop$ready$908),
785
786
  1==b.queues_[e].length&&f.start(),d={$jscomp$loop$prop$ready$908:d.$jscomp$loop$prop$ready$908};n.setCatchFinallyBlocks(2);return n.yield(Promise.all(c),4);case 4:n.leaveTryBlock(3);break;case 2:g=n.enterCatchBlock();goog.asserts.assert(b.destroyer_.destroyed(),"Should be destroyed by now");if(goog.DEBUG)for(h in b.sourceBuffers_)b.queues_[h].length&&(goog.asserts.assert(1==b.queues_[h].length,"Should be at most one item in queue!"),goog.asserts.assert(c.includes(b.queues_[h][0].p),"The item in queue should be one of our waiters!"),
786
787
  b.queues_[h].shift());throw g;case 3:if(goog.DEBUG)for(k in b.sourceBuffers_)goog.asserts.assert(0==b.sourceBuffers_[k].updating,"SourceBuffers should not be updating after a blocking op!");n.setCatchFinallyBlocks(5,6);return n.yield(a(),6);case 6:n.enterFinallyBlock();for(l in b.sourceBuffers_)b.popFromQueue_(l);n.leaveFinallyBlock(0);break;case 5:throw m=n.enterCatchBlock(),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW,
787
- m,b.video_.error||"No error in the media element");}})};shaka.media.MediaSourceEngine.prototype.popFromQueue_=function(a){this.queues_[a].shift();this.startOperation_(a)};
788
- shaka.media.MediaSourceEngine.prototype.startOperation_=function(a){var b=this.queues_[a][0];if(b)try{b.start()}catch(c){"QuotaExceededError"==c.name?b.p.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.QUOTA_EXCEEDED_ERROR,a)):b.p.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW,c,this.video_.error||"No error in the media element")),
788
+ m,b.video_.error||"No error in the media element",null);}})};shaka.media.MediaSourceEngine.prototype.popFromQueue_=function(a){this.queues_[a].shift();this.startOperation_(a)};
789
+ shaka.media.MediaSourceEngine.prototype.startOperation_=function(a){var b=this.queues_[a][0];if(b)try{b.start()}catch(c){"QuotaExceededError"==c.name?b.p.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.QUOTA_EXCEEDED_ERROR,a)):b.p.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MEDIA_SOURCE_OPERATION_THREW,c,this.video_.error||"No error in the media element",b.uri)),
789
790
  this.popFromQueue_(a)}};shaka.media.MediaSourceEngine.prototype.getTextDisplayer=function(){goog.asserts.assert(this.textDisplayer_,"TextDisplayer should only be null when this is destroyed");return this.textDisplayer_};shaka.media.MediaSourceEngine.prototype.setTextDisplayer=function(a){var b=this.textDisplayer_;this.textDisplayer_=a;b&&(a.setTextVisibility(b.isTextVisible()),b.destroy());this.textEngine_&&this.textEngine_.setDisplayer(a)};
790
791
  shaka.media.MediaSourceEngine.prototype.setSegmentRelativeVttTiming=function(a){this.segmentRelativeVttTiming_=a};
791
- shaka.media.MediaSourceEngine.prototype.workAroundBrokenPlatforms_=function(a,b,c){var d=this.expectedEncryption_[c];this.config_.insertFakeEncryptionInInit&&null==b&&d&&shaka.util.Platform.requiresEncryptionInfoInAllInitSegments()&&"mp4"==shaka.util.MimeUtils.getContainerType(this.sourceBufferTypes_[c])&&(shaka.log.debug("Forcing fake encryption information in init segment."),a=shaka.media.ContentWorkarounds.fakeEncryption(a));return a};
792
+ shaka.media.MediaSourceEngine.prototype.workAroundBrokenPlatforms_=function(a,b,c,d){var e=this.expectedEncryption_[c];this.config_.insertFakeEncryptionInInit&&null==b&&e&&shaka.util.Platform.requiresEncryptionInfoInAllInitSegments()&&"mp4"==shaka.util.MimeUtils.getContainerType(this.sourceBufferTypes_[c])&&(shaka.log.debug("Forcing fake encryption information in init segment."),a=shaka.media.ContentWorkarounds.fakeEncryption(a,d));return a};
792
793
  shaka.media.MediaSourceEngine.prototype.change_=function(a,b,c){a===shaka.util.ManifestParserUtils.ContentType.TEXT?shaka.log.debug("Change not supported for "+a):(shaka.log.debug("Change Type: "+this.sourceBufferTypes_[a]+" -> "+b),shaka.media.Capabilities.isChangeTypeSupported()?(this.transmuxers_[a]&&(this.transmuxers_[a].destroy(),delete this.transmuxers_[a]),c&&(this.transmuxers_[a]=c),c=this.addExtraFeaturesToMimeType_(b),this.sourceBuffers_[a].changeType(c),this.sourceBufferTypes_[a]=b):shaka.log.debug("Change Type not supported"),
793
- this.onUpdateEnd_(a))};shaka.media.MediaSourceEngine.prototype.changeType=function(a,b,c){var d=this;return this.enqueueOperation_(a,function(){return d.change_(a,b,c)})};
794
- shaka.media.MediaSourceEngine.prototype.reset_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){switch(I.nextAddress){case 1:c=shaka.util.Functional;d=shaka.util.ManifestParserUtils.ContentType;b.reloadingMediaSource_=!0;b.needSplitMuxedContent_=!1;e=b.video_.currentTime;f=b.video_.autoplay;g=b.video_.paused;b.playbackHasBegun_&&(b.video_.autoplay=!1);I.setFinallyBlock(2);b.eventManager_.removeAll();h=[];for(k in b.transmuxers_)h.push(b.transmuxers_[k].destroy());
795
- for(l in b.queues_)for(m=b.queues_[l],n=m[0],b.queues_[l]=m.slice(0,1),n&&h.push(n.p.catch(c.noop)),p=$jscomp.makeIterator(m.slice(1)),q=p.next();!q.done;q=p.next())r=q.value,r.p.reject(shaka.util.Destroyer.destroyedError());for(t in b.sourceBuffers_){w=b.sourceBuffers_[t];try{b.mediaSource_.removeSourceBuffer(w)}catch(E){}}return I.yield(Promise.all(h),4);case 4:return b.transmuxers_={},b.sourceBuffers_={},u=b.mediaSource_.duration,b.mediaSourceOpen_=new shaka.util.PublicPromise,b.mediaSource_=b.createMediaSource(b.mediaSourceOpen_),
796
- I.yield(b.mediaSourceOpen_,5);case 5:!isNaN(u)&&u?b.mediaSource_.duration=u:!isNaN(b.lastDuration_)&&b.lastDuration_&&(b.mediaSource_.duration=b.lastDuration_),v=new shaka.util.PublicPromise,x=b.mediaSource_.sourceBuffers,z=a.size,y=0,A=function(){y++;y===z&&(v.resolve(),b.eventManager_.unlisten(x,"addsourcebuffer",A))},b.eventManager_.listen(x,"addsourcebuffer",A),B=$jscomp.makeIterator(a.keys()),D=B.next();case 6:if(D.done)return b.video_.currentTime=e,I.yield(v,2);C=D.value;F=a.get(C);return I.yield(b.initSourceBuffer_(C,
797
- F,F.codecs),9);case 9:b.needSplitMuxedContent_?(b.queues_[d.AUDIO]=[],b.queues_[d.VIDEO]=[]):b.queues_[C]=[];D=B.next();I.jumpTo(6);break;case 2:I.enterFinallyBlock(),b.reloadingMediaSource_=!1,b.destroyer_.ensureNotDestroyed(),b.eventManager_.listenOnce(b.video_,"canplaythrough",function(){b.destroyer_.destroyed()||(b.video_.autoplay=f,g||b.video_.play())}),I.leaveFinallyBlock(0)}})};shaka.media.MediaSourceEngine.prototype.reset=function(a){var b=this;return this.enqueueBlockingOperation_(function(){return b.reset_(a)})};
794
+ this.onUpdateEnd_(a))};shaka.media.MediaSourceEngine.prototype.changeType=function(a,b,c){var d=this;return this.enqueueOperation_(a,function(){return d.change_(a,b,c)},null)};
795
+ shaka.media.MediaSourceEngine.prototype.reset_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){switch(I.nextAddress){case 1:c=shaka.util.Functional;d=shaka.util.ManifestParserUtils.ContentType;b.reloadingMediaSource_=!0;b.needSplitMuxedContent_=!1;e=b.video_.currentTime;f=b.video_.autoplay;g=b.video_.paused;b.playbackHasBegun_&&(b.video_.autoplay=!1);I.setFinallyBlock(2);b.eventManager_.removeAll();h=[];for(k in b.transmuxers_)h.push(b.transmuxers_[k].destroy());
796
+ for(l in b.queues_)for(m=b.queues_[l],n=m[0],b.queues_[l]=m.slice(0,1),n&&h.push(n.p.catch(c.noop)),p=$jscomp.makeIterator(m.slice(1)),q=p.next();!q.done;q=p.next())r=q.value,r.p.reject(shaka.util.Destroyer.destroyedError());for(t in b.sourceBuffers_){w=b.sourceBuffers_[t];try{b.mediaSource_.removeSourceBuffer(w)}catch(D){}}return I.yield(Promise.all(h),4);case 4:return b.transmuxers_={},b.sourceBuffers_={},u=b.mediaSource_.duration,b.mediaSourceOpen_=new shaka.util.PublicPromise,b.mediaSource_=b.createMediaSource(b.mediaSourceOpen_),
797
+ I.yield(b.mediaSourceOpen_,5);case 5:!isNaN(u)&&u?b.mediaSource_.duration=u:!isNaN(b.lastDuration_)&&b.lastDuration_&&(b.mediaSource_.duration=b.lastDuration_),v=new shaka.util.PublicPromise,x=b.mediaSource_.sourceBuffers,z=a.size,y=0,A=function(){y++;y===z&&(v.resolve(),b.eventManager_.unlisten(x,"addsourcebuffer",A))},b.eventManager_.listen(x,"addsourcebuffer",A),B=$jscomp.makeIterator(a.keys()),E=B.next();case 6:if(E.done)return b.video_.currentTime=e,I.yield(v,2);C=E.value;F=a.get(C);return I.yield(b.initSourceBuffer_(C,
798
+ F,F.codecs),9);case 9:b.needSplitMuxedContent_?(b.queues_[d.AUDIO]=[],b.queues_[d.VIDEO]=[]):b.queues_[C]=[];E=B.next();I.jumpTo(6);break;case 2:I.enterFinallyBlock(),b.reloadingMediaSource_=!1,b.destroyer_.ensureNotDestroyed(),b.eventManager_.listenOnce(b.video_,"canplaythrough",function(){b.destroyer_.destroyed()||(b.video_.autoplay=f,g||b.video_.play())}),I.leaveFinallyBlock(0)}})};shaka.media.MediaSourceEngine.prototype.reset=function(a){var b=this;return this.enqueueBlockingOperation_(function(){return b.reset_(a)})};
798
799
  shaka.media.MediaSourceEngine.prototype.codecSwitchIfNecessary_=function(a,b,c,d){var e=this,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y;return $jscomp.asyncExecutePromiseGeneratorProgram(function(A){if(1==A.nextAddress){f=shaka.util.ManifestParserUtils.ContentType;if(a==f.TEXT)return A.return(!1);g=shaka.util.MimeUtils;h=g.getCodecBase(g.getCodecs(e.sourceBufferTypes_[a]));k=g.getBasicType(e.sourceBufferTypes_[a]);m=!1;n=shaka.util.MimeUtils.getFullType(b,c);p=e.config_.forceTransmux;if(!shaka.media.Capabilities.isTypeSupported(n)||
799
800
  !e.sequenceMode_&&shaka.util.MimeUtils.RAW_FORMATS.includes(n))p=!0;q=shaka.transmuxer.TransmuxerEngine;p&&(r=shaka.util.MimeUtils.getFullTypeWithAllCodecs(b,c),t=q.findTransmuxer(r))&&(l=t(),w=shaka.util.ManifestParserUtils.guessCodecsSafe(f.AUDIO,(c||"").split(",")),u=shaka.util.ManifestParserUtils.guessCodecsSafe(f.VIDEO,(c||"").split(",")),w&&u?(m=!0,v=u,a==f.AUDIO&&(v=w),n=l.convertCodecs(a,shaka.util.MimeUtils.getFullTypeWithAllCodecs(b,v))):n=l.convertCodecs(a,r));x=g.getCodecBase(g.getCodecs(n));
800
801
  z=g.getBasicType(n);if(h===x&&k===z)return A.return(!1);y=!0;if(e.needSplitMuxedContent_||m&&l&&!e.transmuxers_[a])y=!1;if(y&&e.config_.codecSwitchingStrategy===shaka.config.CodecSwitchingStrategy.SMOOTH&&shaka.media.Capabilities.isChangeTypeSupported())return A.yield(e.changeType(a,n,l),3);l&&l.destroy();return A.yield(e.reset(d),3)}return A.return(!0)})};
@@ -982,8 +983,8 @@ this.playerInterface_.getPlaybackRate(),a.segmentIterator=a.stream.segmentIndex.
982
983
  a.segmentIterator.next().value);g||(a.segmentIterator=a.stream.segmentIndex.getIteratorForTime(b,!1,f),g=a.segmentIterator&&a.segmentIterator.next().value);null==g&&shaka.log.warning(d,"cannot find segment","lookupTime:",e,"presentationTime:",b);return g};
983
984
  shaka.media.StreamingEngine.prototype.fetchAndAppend_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A;return $jscomp.asyncExecutePromiseGeneratorProgram(function(B){switch(B.nextAddress){case 1:e=shaka.util.ManifestParserUtils.ContentType;f=shaka.media.StreamingEngine;g=f.logPrefix_(a);shaka.log.v1(g,"fetchAndAppend_:","presentationTime="+b,"reference.startTime="+c.startTime,"reference.endTime="+c.endTime);h=a.stream;k=a.segmentIterator;a.performingUpdate=!0;B.setCatchFinallyBlocks(2);
984
985
  if(c.getStatus()==shaka.media.SegmentReference.Status.MISSING)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.SEGMENT_MISSING);return B.yield(d.initSourceBuffer_(a,c),4);case 4:d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return B.return();shaka.log.v2(g,"fetching segment");l="video/mp4"==h.mimeType||"audio/mp4"==h.mimeType;m=window.ReadableStream;if(d.config_.lowLatencyMode&&m&&l&&(d.manifest_.type!=shaka.media.ManifestParser.HLS||
985
- c.hasByterangeOptimization()))return q=new Uint8Array(0),t=r=!1,u=function(D){var C,F,I,E;return $jscomp.asyncExecutePromiseGeneratorProgram(function(G){switch(G.nextAddress){case 1:if(r)return G.return();t=!0;d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return G.return();G.setCatchFinallyBlocks(2);q=d.concatArray_(q,D);C=!1;F=0;(new shaka.util.Mp4Parser).box("mdat",function(H){F=H.size+H.start;C=!0}).parse(q,!1,!0);if(!C){G.jumpTo(4);break}I=q.subarray(0,F);q=q.subarray(F);return G.yield(d.append_(a,
986
- b,h,c,I,!0),5);case 5:a.segmentPrefetch&&a.segmentIterator&&a.segmentPrefetch.prefetchSegmentsByTime(c.startTime,!0);case 4:G.leaveTryBlock(0);break;case 2:w=E=G.enterCatchBlock(),G.jumpToEnd()}})},B.yield(d.fetch_(a,c,u),9);d.config_.lowLatencyMode&&!m&&shaka.log.warning("Low latency streaming mode is enabled, but ReadableStream is not supported by the browser.");n=d.fetch_(a,c);return B.yield(n,7);case 7:p=B.yieldResult;d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return B.return();d.destroyer_.ensureNotDestroyed();
986
+ c.hasByterangeOptimization()))return q=new Uint8Array(0),t=r=!1,u=function(E){var C,F,I,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(G){switch(G.nextAddress){case 1:if(r)return G.return();t=!0;d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return G.return();G.setCatchFinallyBlocks(2);q=d.concatArray_(q,E);C=!1;F=0;(new shaka.util.Mp4Parser).box("mdat",function(H){F=H.size+H.start;C=!0}).parse(q,!1,!0);if(!C){G.jumpTo(4);break}I=q.subarray(0,F);q=q.subarray(F);return G.yield(d.append_(a,
987
+ b,h,c,I,!0),5);case 5:a.segmentPrefetch&&a.segmentIterator&&a.segmentPrefetch.prefetchSegmentsByTime(c.startTime,!0);case 4:G.leaveTryBlock(0);break;case 2:w=D=G.enterCatchBlock(),G.jumpToEnd()}})},B.yield(d.fetch_(a,c,u),9);d.config_.lowLatencyMode&&!m&&shaka.log.warning("Low latency streaming mode is enabled, but ReadableStream is not supported by the browser.");n=d.fetch_(a,c);return B.yield(n,7);case 7:p=B.yieldResult;d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return B.return();d.destroyer_.ensureNotDestroyed();
987
988
  return a.waitingToClearBuffer?(shaka.log.info(g,"waitingToClearBuffer, skip append"),a.performingUpdate=!1,d.scheduleUpdate_(a,0),B.return()):B.yield(d.append_(a,b,h,c,p),6);case 9:v=B.yieldResult;if(w)throw w;if(t){B.jumpTo(10);break}r=!0;d.destroyer_.ensureNotDestroyed();return d.fatalError_?B.return():a.waitingToClearBuffer?(shaka.log.info(g,"waitingToClearBuffer, skip append"),a.performingUpdate=!1,d.scheduleUpdate_(a,0),B.return()):B.yield(d.append_(a,b,h,c,v),10);case 10:a.segmentPrefetch&&
988
989
  a.segmentIterator&&a.segmentPrefetch.prefetchSegmentsByTime(c.startTime,!0);case 6:d.destroyer_.ensureNotDestroyed();if(d.fatalError_)return B.return();a.lastSegmentReference=c;x=k.next().value;shaka.log.v2(g,"advancing to next segment",x);a.performingUpdate=!1;a.recovering=!1;z=d.playerInterface_.mediaSourceEngine.getBufferedInfo();y=z[a.type];shaka.log.v1(g,"finished fetch and append",JSON.stringify(y));if(!a.waitingToClearBuffer)d.playerInterface_.onSegmentAppended(c,a.stream);d.scheduleUpdate_(a,
989
990
  0);B.leaveTryBlock(0);break;case 2:A=B.enterCatchBlock();d.destroyer_.ensureNotDestroyed(A);if(d.fatalError_)return B.return();goog.asserts.assert(A instanceof shaka.util.Error,"Should only receive a Shaka error");a.performingUpdate=!1;if(A.code==shaka.util.Error.Code.OPERATION_ABORTED)a.performingUpdate=!1,d.cancelUpdate_(a),d.scheduleUpdate_(a,0),B.jumpTo(0);else if(a.type==e.TEXT&&d.config_.ignoreTextStreamFailures)A.code==shaka.util.Error.Code.BAD_HTTP_STATUS?shaka.log.warning(g,"Text stream failed to download. Proceeding without it."):
@@ -998,11 +999,11 @@ shaka.media.StreamingEngine.prototype.initSourceBuffer_=function(a,b){var c=this
998
999
  m=e.getCodecBase(a.stream.codecs);n=e.getBasicType(a.stream.mimeType);p=b.timestampOffset;if(p==a.lastTimestampOffset&&k==a.lastAppendWindowStart&&l==a.lastAppendWindowEnd&&m==a.lastCodecs&&n==a.lastMimeType){x.jumpTo(2);break}shaka.log.v1(g,"setting timestamp offset to "+p);shaka.log.v1(g,"setting append window start to "+k);shaka.log.v1(g,"setting append window end to "+l);q=a.lastCodecs&&a.lastMimeType&&c.playerInterface_.mediaSourceEngine.isResetMediaSourceNecessary(a.type,a.stream,n,m);if(!q){x.jumpTo(3);
999
1000
  break}r=null;a.type===d.VIDEO?r=c.mediaStates_.get(d.AUDIO):a.type===d.AUDIO&&(r=c.mediaStates_.get(d.VIDEO));if(!r){x.jumpTo(3);break}return x.yield(c.abortOperations_(r).catch(function(){}),5);case 5:r.lastInitSegmentReference=null,c.forceClearBuffer_(r);case 3:return t=function(){var z,y,A;return $jscomp.asyncExecutePromiseGeneratorProgram(function(B){if(1==B.nextAddress)return z=new Map,c.currentVariant_.audio&&z.set(d.AUDIO,c.currentVariant_.audio),c.currentVariant_.video&&z.set(d.VIDEO,c.currentVariant_.video),
1000
1001
  B.setCatchFinallyBlocks(2),a.lastAppendWindowStart=k,a.lastAppendWindowEnd=l,a.lastCodecs=m,a.lastMimeType=n,a.lastTimestampOffset=p,y=c.manifest_.sequenceMode||c.manifest_.type==shaka.media.ManifestParser.HLS,B.yield(c.playerInterface_.mediaSourceEngine.setStreamProperties(a.type,p,k,l,y,b.mimeType||a.stream.mimeType,b.codecs||a.stream.codecs,z),4);if(2!=B.nextAddress)return B.leaveTryBlock(0);A=B.enterCatchBlock();a.lastAppendWindowStart=null;a.lastAppendWindowEnd=null;a.lastCodecs=null;a.lastTimestampOffset=
1001
- null;throw A;})},x.yield(t(),2);case 2:return shaka.media.InitSegmentReference.equal(b.initSegmentReference,a.lastInitSegmentReference)||(a.lastInitSegmentReference=b.initSegmentReference,b.isIndependent()&&b.initSegmentReference&&(shaka.log.v1(g,"fetching init segment"),w=c.fetch_(a,b.initSegmentReference),u=function(){var z,y,A,B,D,C,F,I,E;return $jscomp.asyncExecutePromiseGeneratorProgram(function(G){switch(G.nextAddress){case 1:return G.setCatchFinallyBlocks(2),G.yield(w,4);case 4:return z=G.yieldResult,
1002
- c.destroyer_.ensureNotDestroyed(),y=null,A=new Map,B={projection:null,hfov:null},D=new shaka.util.Mp4Parser,C=shaka.util.Mp4Parser,F=shaka.util.Mp4BoxParsers,D.box("moov",C.children).box("trak",C.children).box("mdia",C.children).fullBox("mdhd",function(H){goog.asserts.assert(null!=H.version,"MDHD is a full box and should have a valid version.");y=F.parseMDHD(H.reader,H.version).timescale}).box("hdlr",function(H){switch(F.parseHDLR(H.reader).handlerType){case "soun":A.set(d.AUDIO,y);break;case "vide":A.set(d.VIDEO,
1002
+ null;throw A;})},x.yield(t(),2);case 2:return shaka.media.InitSegmentReference.equal(b.initSegmentReference,a.lastInitSegmentReference)||(a.lastInitSegmentReference=b.initSegmentReference,b.isIndependent()&&b.initSegmentReference&&(shaka.log.v1(g,"fetching init segment"),w=c.fetch_(a,b.initSegmentReference),u=function(){var z,y,A,B,E,C,F,I,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(G){switch(G.nextAddress){case 1:return G.setCatchFinallyBlocks(2),G.yield(w,4);case 4:return z=G.yieldResult,
1003
+ c.destroyer_.ensureNotDestroyed(),y=null,A=new Map,B={projection:null,hfov:null},E=new shaka.util.Mp4Parser,C=shaka.util.Mp4Parser,F=shaka.util.Mp4BoxParsers,E.box("moov",C.children).box("trak",C.children).box("mdia",C.children).fullBox("mdhd",function(H){goog.asserts.assert(null!=H.version,"MDHD is a full box and should have a valid version.");y=F.parseMDHD(H.reader,H.version).timescale}).box("hdlr",function(H){switch(F.parseHDLR(H.reader).handlerType){case "soun":A.set(d.AUDIO,y);break;case "vide":A.set(d.VIDEO,
1003
1004
  y)}y=null}).box("minf",C.children).box("stbl",C.children).fullBox("stsd",C.sampleDescription).box("encv",C.visualSampleEntry).box("avc1",C.visualSampleEntry).box("avc3",C.visualSampleEntry).box("hev1",C.visualSampleEntry).box("hvc1",C.visualSampleEntry).box("dvav",C.visualSampleEntry).box("dva1",C.visualSampleEntry).box("dvh1",C.visualSampleEntry).box("dvhe",C.visualSampleEntry).box("vexu",C.children).box("proj",C.children).fullBox("prji",function(H){H=F.parsePRJI(H.reader);B.projection=H.projection}).box("hfov",
1004
- function(H){H=F.parseHFOV(H.reader);B.hfov=H.hfov}).parse(z),c.updateSpatialVideoInfo_(B),A.has(a.type)?b.initSegmentReference.timescale=A.get(a.type):null!=y&&(b.initSegmentReference.timescale=y),shaka.log.v1(g,"appending init segment"),I=a.stream.closedCaptions&&0<a.stream.closedCaptions.size,G.yield(c.playerInterface_.beforeAppendSegment(a.type,z),5);case 5:return G.yield(c.playerInterface_.mediaSourceEngine.appendBuffer(a.type,z,null,a.stream,I),6);case 6:G.leaveTryBlock(0);break;case 2:throw E=
1005
- G.enterCatchBlock(),a.lastInitSegmentReference=null,E;}})},c.playerInterface_.onInitSegmentAppended(b.startTime,b.initSegmentReference),h.push(u()))),c.manifest_.sequenceMode&&(v=a.lastSegmentReference?a.lastSegmentReference.discontinuitySequence:null,b.discontinuitySequence!=v&&h.push(c.playerInterface_.mediaSourceEngine.resync(a.type,b.startTime))),x.yield(Promise.all(h),0)}})};
1005
+ function(H){H=F.parseHFOV(H.reader);B.hfov=H.hfov}).parse(z),c.updateSpatialVideoInfo_(B),A.has(a.type)?b.initSegmentReference.timescale=A.get(a.type):null!=y&&(b.initSegmentReference.timescale=y),shaka.log.v1(g,"appending init segment"),I=a.stream.closedCaptions&&0<a.stream.closedCaptions.size,G.yield(c.playerInterface_.beforeAppendSegment(a.type,z),5);case 5:return G.yield(c.playerInterface_.mediaSourceEngine.appendBuffer(a.type,z,null,a.stream,I),6);case 6:G.leaveTryBlock(0);break;case 2:throw D=
1006
+ G.enterCatchBlock(),a.lastInitSegmentReference=null,D;}})},c.playerInterface_.onInitSegmentAppended(b.startTime,b.initSegmentReference),h.push(u()))),c.manifest_.sequenceMode&&(v=a.lastSegmentReference?a.lastSegmentReference.discontinuitySequence:null,b.discontinuitySequence!=v&&h.push(c.playerInterface_.mediaSourceEngine.resync(a.type,b.startTime))),x.yield(Promise.all(h),0)}})};
1006
1007
  shaka.media.StreamingEngine.prototype.append_=function(a,b,c,d,e,f){f=void 0===f?!1:f;var g=this,h,k,l,m,n,p,q;return $jscomp.asyncExecutePromiseGeneratorProgram(function(r){switch(r.nextAddress){case 1:h=shaka.media.StreamingEngine.logPrefix_(a);k=c.closedCaptions&&0<c.closedCaptions.size;m=null!=c.emsgSchemeIdUris&&0<c.emsgSchemeIdUris.length||g.config_.dispatchAllEmsgBoxes;n=g.config_.parsePrftBox&&!g.parsedPrftEventRaised_;if(m||n)l=new shaka.util.Mp4Parser;m&&l.fullBox("emsg",function(t){return g.parseEMSG_(d,
1007
1008
  c.emsgSchemeIdUris,t)});n&&l.fullBox("prft",function(t){return g.parsePrft_(d,t)});(m||n)&&l.parse(e);return r.yield(g.evict_(a,b),2);case 2:return g.destroyer_.ensureNotDestroyed(),p=a.seeked,a.seeked=!1,q=a.adaptation,a.adaptation=!1,r.yield(g.playerInterface_.beforeAppendSegment(a.type,e),3);case 3:return r.yield(g.playerInterface_.mediaSourceEngine.appendBuffer(a.type,e,d,c,k,p,q,f),4);case 4:g.destroyer_.ensureNotDestroyed(),shaka.log.v2(h,"appended media segment"),r.jumpToEnd()}})};
1008
1009
  shaka.media.StreamingEngine.prototype.parseEMSG_=function(a,b,c){if(0===c.version){var d=c.reader.readTerminatedString();var e=c.reader.readTerminatedString();var f=c.reader.readUint32();var g=c.reader.readUint32();var h=c.reader.readUint32();var k=c.reader.readUint32();var l=a.startTime+g/f}else f=c.reader.readUint32(),l=c.reader.readUint64()/f+a.timestampOffset,g=l-a.startTime,h=c.reader.readUint32(),k=c.reader.readUint32(),d=c.reader.readTerminatedString(),e=c.reader.readTerminatedString();c=c.reader.readBytes(c.reader.getLength()-
@@ -1033,7 +1034,8 @@ shaka.util.ConfigUtils.mergeConfigObjects=function(a,b,c,d,e){goog.asserts.asser
1033
1034
  m=shaka.util.ConfigUtils.mergeConfigObjects(a[l],b[l],n,d,m),k=k&&m):typeof b[l]!=typeof n||null==b[l]||"function"!=typeof b[l]&&b[l].constructor!=n.constructor?(shaka.log.alwaysError("Invalid config, wrong type for "+m),k=!1):("function"==typeof c[l]&&c[l].length!=b[l].length&&shaka.log.alwaysWarn("Unexpected number of arguments for "+m),a[l]=b[l]):(shaka.log.alwaysError("Invalid config, unrecognized key "+m),k=!1)}return k};
1034
1035
  shaka.util.ConfigUtils.convertToConfigObject=function(a,b){for(var c={},d=c,e=0,f=0;;){e=a.indexOf(".",e);if(0>e)break;if(0==e||"\\"!=a[e-1])f=a.substring(f,e).replace(/\\\./g,"."),d[f]={},d=d[f],f=e+1;e+=1}d[a.substring(f).replace(/\\\./g,".")]=b;return c};shaka.util.ConfigUtils.referenceParametersAndReturn=function(a,b){return a&&b};
1035
1036
  shaka.util.ConfigUtils.getDifferenceFromConfigObjects=function(a,b){var c=function(g){return g&&"object"===typeof g&&!Array.isArray(g)},d=function(g){return Array.isArray(g)&&0===g.length},e=function(g,h){return Object.keys(g).reduce(function(k,l){var m=g[l];if(h.hasOwnProperty(l))if(c(m)&&c(h[l])){if(m=e(m,h[l]),0<Object.keys(m).length||!c(m))k[l]=m}else d(m)&&d(h[l])||m!==h[l]&&(k[l]=m);else k[l]=m;return k},{})};a=e(a,b);var f=function(g){for(var h=$jscomp.makeIterator(Object.keys(g)),k=h.next();!k.done;k=
1036
- h.next())k=k.value,c(g[k])&&0===Object.keys(g[k]).length?delete g[k]:d(g[k])?delete g[k]:c(g[k])&&f(g[k])};f(a);return a};goog.exportSymbol("shaka.util.ConfigUtils",shaka.util.ConfigUtils);goog.exportProperty(shaka.util.ConfigUtils,"getDifferenceFromConfigObjects",shaka.util.ConfigUtils.getDifferenceFromConfigObjects);goog.exportProperty(shaka.util.ConfigUtils,"convertToConfigObject",shaka.util.ConfigUtils.convertToConfigObject);goog.exportProperty(shaka.util.ConfigUtils,"mergeConfigObjects",shaka.util.ConfigUtils.mergeConfigObjects);shaka.util.FairPlayUtils=function(){};shaka.util.FairPlayUtils.isFairPlaySupported=function(){var a;return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){if(1==b.nextAddress)return a={initDataTypes:["cenc","sinf","skd"],videoCapabilities:[{contentType:'video/mp4; codecs="avc1.42E01E"'}]},b.setCatchFinallyBlocks(2),b.yield(navigator.requestMediaKeySystemAccess("com.apple.fps",[a]),4);if(2!=b.nextAddress)return b.return(!0);b.enterCatchBlock();return b.return(!1)})};
1037
+ h.next())k=k.value,c(g[k])&&0===Object.keys(g[k]).length?delete g[k]:d(g[k])?delete g[k]:"function"==typeof g[k]?delete g[k]:c(g[k])&&f(g[k])};f(a);return a};goog.exportSymbol("shaka.util.ConfigUtils",shaka.util.ConfigUtils);goog.exportProperty(shaka.util.ConfigUtils,"getDifferenceFromConfigObjects",shaka.util.ConfigUtils.getDifferenceFromConfigObjects);goog.exportProperty(shaka.util.ConfigUtils,"convertToConfigObject",shaka.util.ConfigUtils.convertToConfigObject);
1038
+ goog.exportProperty(shaka.util.ConfigUtils,"mergeConfigObjects",shaka.util.ConfigUtils.mergeConfigObjects);shaka.util.FairPlayUtils=function(){};shaka.util.FairPlayUtils.isFairPlaySupported=function(){var a;return $jscomp.asyncExecutePromiseGeneratorProgram(function(b){if(1==b.nextAddress)return a={initDataTypes:["cenc","sinf","skd"],videoCapabilities:[{contentType:'video/mp4; codecs="avc1.42E01E"'}]},b.setCatchFinallyBlocks(2),b.yield(navigator.requestMediaKeySystemAccess("com.apple.fps",[a]),4);if(2!=b.nextAddress)return b.return(!0);b.enterCatchBlock();return b.return(!1)})};
1037
1039
  shaka.util.FairPlayUtils.defaultGetContentId=function(a){a=shaka.util.StringUtils.fromBytesAutoDetect(a);return(new goog.Uri(a)).getDomain()};
1038
1040
  shaka.util.FairPlayUtils.initDataTransform=function(a,b,c){if(!c||!c.byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.DRM,shaka.util.Error.Code.SERVER_CERTIFICATE_REQUIRED);b="string"==typeof b?shaka.util.StringUtils.toUTF16(b,!0):b;a=shaka.util.StringUtils.fromBytesAutoDetect(a);a=shaka.util.StringUtils.toUTF16(a,!0);var d=new Uint8Array(12+a.byteLength+b.byteLength+c.byteLength),e=0,f=function(g){shaka.util.BufferUtils.toDataView(d).setUint32(e,
1039
1041
  g.byteLength,!0);e+=4;d.set(shaka.util.BufferUtils.toUint8(g),e);e+=g.byteLength};f(a);f(b);f(c);goog.asserts.assert(e==d.length,"Inconsistent init data length");return d};shaka.util.FairPlayUtils.basicInitDataTransform_=function(a,b,c){if("skd"!==b)return a;b=shaka.util.FairPlayUtils;c=c.serverCertificate;var d=shaka.util.StringUtils.fromBytesAutoDetect(a).split("skd://").pop();return b.initDataTransform(a,d,c)};
@@ -1066,30 +1068,30 @@ shaka.util.PlayerConfiguration.defaultTrackSelect=function(a,b,c){var d=shaka.ut
1066
1068
  (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/
1067
1069
  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)};
1068
1070
  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,e){shaka.util.FakeEventTarget.call(this);this.assetUri_=a;this.mimeType_=b;this.networkingEngine_=e.networkingEngine;this.startTime_=d;this.currentAdaptationSetCriteria_=null;this.startTimeOfLoad_=c;this.startTimeOfDrm_=0;this.createDrmEngine_=e.createDrmEngine;this.manifestFilterer_=e.manifestFilterer;this.manifestPlayerInterface_=e.manifestPlayerInterface;this.config_=e.config;this.parser_=this.parserFactory_=this.manifest_=null;this.parserEntrusted_=
1069
- !1;this.regionTimeline_=e.regionTimeline;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_=e.qualityObserver;this.stats_=new shaka.util.Stats;this.manifestPromise_=new shaka.util.PublicPromise;this.drmPromise_=new shaka.util.PublicPromise;this.chooseInitialVariantPromise_=new shaka.util.PublicPromise;this.destroyPromise_=
1070
- new shaka.util.PublicPromise;this.destroyPromise_.catch(function(f){});this.eventHandoffTarget_=null;this.destroyed_=!1;this.allowPrefetch_=e.allowPrefetch;this.prefetchedVariant_=null;this.allowMakeAbrManager_=e.allowMakeAbrManager;this.hasBeenAttached_=!1;this.queuedOperations_=[];this.latePhaseQueuedOperations_=[]};$jscomp.inherits(shaka.media.PreloadManager,shaka.util.FakeEventTarget);
1071
- shaka.media.PreloadManager.prototype.addQueuedOperation=function(a,b){(a=a?this.latePhaseQueuedOperations_:this.queuedOperations_)?a.push(b):b()};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};
1071
+ !1;this.regionTimeline_=e.regionTimeline;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_=e.qualityObserver;this.stats_=new shaka.util.Stats;this.successPromise_=new shaka.util.PublicPromise;this.eventHandoffTarget_=null;this.destroyed_=!1;this.allowPrefetch_=e.allowPrefetch;this.prefetchedVariant_=null;
1072
+ this.allowMakeAbrManager_=e.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()};
1073
+ 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};
1072
1074
  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.getStartTime=function(){return this.startTime_};shaka.media.PreloadManager.prototype.getStartTimeOfLoad=function(){return this.startTimeOfLoad_};
1073
1075
  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_};
1074
1076
  shaka.media.PreloadManager.prototype.getCurrentAdaptationSetCriteria=function(){return this.currentAdaptationSetCriteria_};shaka.media.PreloadManager.prototype.getAbrManagerFactory=function(){return this.abrManagerFactory_};shaka.media.PreloadManager.prototype.receiveAbrManager=function(){this.abrManagerEntrusted_=!0;return this.abrManager_};shaka.media.PreloadManager.prototype.getAbrManager=function(){return this.abrManager_};
1075
1077
  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_};
1076
1078
  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_};
1077
- shaka.media.PreloadManager.prototype.receiveSegmentPrefetchesById=function(){this.segmentPrefetchEntrusted_=!0;return this.segmentPrefetchById_};shaka.media.PreloadManager.prototype.waitForManifest=function(){return this.manifestPromise_};shaka.media.PreloadManager.prototype.waitForDrm=function(){return this.drmPromise_};shaka.media.PreloadManager.prototype.waitForChooseInitialVariant=function(){return this.chooseInitialVariantPromise_};
1078
- 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};
1079
- shaka.media.PreloadManager.prototype.start=function(){var a=this,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:if(a.isDestroyed())return c.return();a.manifestPromise_.resolve();return c.yield(a.initializeDrmInner_(),6);case 6:if(a.isDestroyed())return c.return();a.drmPromise_.resolve();return c.yield(a.chooseInitialVariantInner_(),7);
1080
- case 7:if(a.isDestroyed())return c.return();a.chooseInitialVariantPromise_.resolve();c.leaveTryBlock(0);break;case 3:throw b=c.enterCatchBlock(),a.destroyPromise_.reject(b),b;}})};shaka.media.PreloadManager.prototype.dispatchEvent=function(a){return this.eventHandoffTarget_?this.eventHandoffTarget_.dispatchEvent(a):shaka.util.FakeEventTarget.prototype.dispatchEvent.call(this,a)};
1081
- shaka.media.PreloadManager.prototype.onError=function(a){a.severity===shaka.util.Error.Severity.CRITICAL&&(this.destroyPromise_.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)};shaka.media.PreloadManager.prototype.makeStateChangeEvent_=function(a){this.dispatchEvent(new shaka.util.FakeEvent(shaka.util.FakeEvent.EventName.OnStateChange,(new Map).set("state",a)))};
1079
+ 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};
1080
+ 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();c.leaveTryBlock(0);
1081
+ 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)};
1082
+ 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)};
1083
+ 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)))};
1082
1084
  shaka.media.PreloadManager.prototype.makeEvent_=function(a,b){return new shaka.util.FakeEvent(a,b)};
1083
1085
  shaka.media.PreloadManager.prototype.parseManifestInner_=function(){var a=this,b,c,d,e,f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress){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");if(a.manifest_)return g.jumpTo(2);
1084
1086
  c=a;return g.yield(a.parser_.start(a.assetUri_,a.manifestPlayerInterface_),3)}2!=g.nextAddress&&(c.manifest_=g.yieldResult);d=a.makeEvent_(shaka.util.FakeEvent.EventName.ManifestParsed);a.dispatchEvent(d);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_);e=Date.now()/1E3;f=e-b;a.stats_.setManifestTime(f);g.jumpToEnd()})};
1085
- shaka.media.PreloadManager.prototype.initializeDrmInner_=function(){var a=this,b,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){switch(h.nextAddress){case 1:return 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_),
1086
- h.yield(a.manifestFilterer_.filterManifest(a.manifest_),2);case 2:c=h.yieldResult;if(!b&&!c){h.jumpTo(3);break}d=a.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged);return h.yield(Promise.resolve(),4);case 4:a.dispatchEvent(d);case 3:return e=shaka.util.StreamUtils.getPlayableVariants(a.manifest_.variants),h.yield(a.drmEngine_.initForPlayback(e,a.manifest_.offlineSessionIds),5);case 5:return h.yield(a.manifestFilterer_.filterManifest(a.manifest_),6);case 6:f=h.yieldResult;if(!f){h.jumpTo(0);
1087
- break}g=a.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged);return h.yield(Promise.resolve(),8);case 8:a.dispatchEvent(g),h.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_)};
1087
+ 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);
1088
+ 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);
1089
+ 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_)};
1088
1090
  shaka.media.PreloadManager.prototype.chooseInitialVariantInner_=function(){goog.asserts.assert(this.manifest_,"The manifest should already be parsed.");this.currentAdaptationSetCriteria_||(this.currentAdaptationSetCriteria_=new shaka.media.PreferenceBasedCriteria(this.config_.preferredAudioLanguage,this.config_.preferredVariantRole,this.config_.preferredAudioChannelCount,this.config_.preferredVideoHdrLevel,this.config_.preferSpatialAudio,this.config_.preferredVideoLayout,this.config_.preferredAudioLabel,
1089
1091
  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);
1090
1092
  this.abrManager_.setVariants(Array.from(b.values()));if(b=this.abrManager_.chooseVariant(!0))this.prefetchedVariant_=b,b.video&&this.makePrefetchForStream_(b.video,a),b.audio&&this.makePrefetchForStream_(b.audio,a)}};
1091
1093
  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.segmentPrefetchById_.set(a.id,e),k.yield(a.createSegmentIndex(),2);f=c.startTime_||0;(h=(g=a.segmentIndex.getIteratorForTime(f))?
1092
- 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 Promise.race([this.chooseInitialVariantPromise_,this.destroyPromise_])};
1094
+ 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_};
1093
1095
  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);
1094
1096
  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_};
1095
1097
  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);
@@ -1214,28 +1216,28 @@ NaN;c.updateBufferState_();case 3:p.enterFinallyBlock();c.mutex_.release();p.lea
1214
1216
  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,w;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.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 u.yield(d.mutex_.acquire("load"),2);case 2:d.mutex_.release();if(!d.video_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
1215
1217
  shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.NO_VIDEO_ELEMENT);if(!d.assetUri_){u.jumpTo(3);break}d.assetUri_=f;return u.yield(d.unload(!1),3);case 3:g=++d.operationId_;h=function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){if(1==v.nextAddress)return d.operationId_==g?v.jumpTo(0):e?v.yield(e.destroy(),3):v.jumpTo(3);throw d.createAbortLoadError_();})};k=function(v,x){return $jscomp.asyncExecutePromiseGeneratorProgram(function(z){switch(z.nextAddress){case 1:return z.setFinallyBlock(2),
1216
1218
  z.yield(d.mutex_.acquire(x),4);case 4:return z.yield(h(),5);case 5:return z.yield(v(),6);case 6:return z.yield(h(),7);case 7:e&&d.config_&&e.reconfigure(d.config_);case 2:z.enterFinallyBlock(),d.mutex_.release(),z.leaveFinallyBlock(0)}})};u.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();u.jumpTo(8);break}if(c){u.jumpTo(8);break}return u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){if(1==
1217
- v.nextAddress)return v.yield(d.guessMimeType_(f),2);c=v.yieldResult;v.jumpToEnd()})},"guessMimeType_"),8);case 8:l=!!e;if(e){e.setEventHandoffTarget(d);d.stats_=e.getStats();u.jumpTo(11);break}return u.yield(d.preloadInner_(f,b,c,!0),12);case 12:e=u.yieldResult;if(!e){d.stats_=new shaka.util.Stats;u.jumpTo(11);break}e.setEventHandoffTarget(d);d.stats_=e.getStats();return u.yield(k(function(){return e.start()},"preload"),11);case 11:m=!e;n=e?e.getStartTimeOfLoad():Date.now()/1E3;d.stats_=e?e.getStats():
1218
- new shaka.util.Stats;d.assetUri_=f;d.mimeType_=c||null;if(m)return u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){goog.asserts.assert(c,"We should know the mimeType by now!");return v.yield(d.initializeSrcEqualsDrmInner_(c),0)})},"initializeSrcEqualsDrmInner_"),24);if(d.mediaSourceEngine_){u.jumpTo(17);break}return u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){return v.yield(d.initializeMediaSourceEngineInner_(),0)})},"initializeMediaSourceEngineInner_"),
1219
- 17);case 17:return u.yield(k(function(){return e.waitForManifest()},"waitForManifest"),19);case 19:d.config_=e.getConfiguration();d.manifestFilterer_=e.getManifestFilterer();d.parserFactory_=e.getParserFactory();d.parser_=e.receiveParser();d.regionTimeline_=e.receiveRegionTimeline();d.qualityObserver_=e.getQualityObserver();d.manifest_=e.getManifest();if(p=e.getCurrentAdaptationSetCriteria())d.currentAdaptationSetCriteria_=p;l&&d.video_&&"AUDIO"===d.video_.nodeName&&(d.makeManifestAudioOnly_(),d.configure("manifest.disableVideo",
1220
- !0));return u.yield(k(function(){return e.waitForDrm()},"waitForDrm"),20);case 20:return d.drmEngine_=e.receiveDrmEngine(),u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){return v.yield(d.drmEngine_.attach(d.video_),0)})},"drmEngine_.attach"),21);case 21:return u.yield(k(function(){return e.waitForChooseInitialVariant()},"waitForChooseInitialVariant"),22);case 22:return!(q=e.getAbrManagerFactory())||d.abrManagerFactory_&&d.abrManagerFactory_==q||(d.abrManager_=
1221
- 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","Please use an AbrManager with setCmsdManager function."),d.abrManager_.setCmsdManager=function(){}),
1222
- "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(),u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){return v.yield(d.loadInner_(n,t,r),0)})},"loadInner_"),23);case 23:e.stopQueuingLatePhaseQueuedOperations();u.jumpTo(16);break;
1223
- case 24:return u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){goog.asserts.assert(c,"We should know the mimeType by now!");return v.yield(d.srcEqualsInner_(n,c),0)})},"srcEqualsInner_"),16);case 16:d.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Loaded));case 6:u.enterFinallyBlock();if(!e){u.jumpTo(26);break}return u.yield(e.destroy(),26);case 26:d.preloadNextUrl_=null;u.leaveFinallyBlock(0);break;case 5:w=u.enterCatchBlock();if(w.code==
1224
- shaka.util.Error.Code.LOAD_INTERRUPTED){u.jumpTo(28);break}return u.yield(d.unload(!1),28);case 28:throw w;}})};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})};
1219
+ v.nextAddress)return v.yield(d.guessMimeType_(f),2);c=v.yieldResult;v.jumpToEnd()})},"guessMimeType_"),8);case 8:l=!!e;if(e){e.setEventHandoffTarget(d);d.stats_=e.getStats();u.jumpTo(11);break}return u.yield(d.preloadInner_(f,b,c,!0),12);case 12:(e=u.yieldResult)?(e.setEventHandoffTarget(d),d.stats_=e.getStats(),e.start(),e.waitForFinish().catch(function(){})):d.stats_=new shaka.util.Stats;case 11:m=!e;n=e?e.getStartTimeOfLoad():Date.now()/1E3;d.stats_=e?e.getStats():new shaka.util.Stats;d.assetUri_=
1220
+ f;d.mimeType_=c||null;if(m)return u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){goog.asserts.assert(c,"We should know the mimeType by now!");return v.yield(d.initializeSrcEqualsDrmInner_(c),0)})},"initializeSrcEqualsDrmInner_"),20);if(d.mediaSourceEngine_){u.jumpTo(15);break}return u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){return v.yield(d.initializeMediaSourceEngineInner_(),0)})},"initializeMediaSourceEngineInner_"),
1221
+ 15);case 15:return u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){return v.yield(e.waitForFinish(),0)})},"waitForFinish"),17);case 17:d.config_=e.getConfiguration();d.manifestFilterer_=e.getManifestFilterer();d.parserFactory_=e.getParserFactory();d.parser_=e.receiveParser();d.regionTimeline_=e.receiveRegionTimeline();d.qualityObserver_=e.getQualityObserver();d.manifest_=e.getManifest();if(p=e.getCurrentAdaptationSetCriteria())d.currentAdaptationSetCriteria_=p;
1222
+ l&&d.video_&&"AUDIO"===d.video_.nodeName&&(d.makeManifestAudioOnly_(),d.configure("manifest.disableVideo",!0));d.drmEngine_=e.receiveDrmEngine();return u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){return v.yield(d.drmEngine_.attach(d.video_),0)})},"drmEngine_.attach"),18);case 18:return!(q=e.getAbrManagerFactory())||d.abrManagerFactory_&&d.abrManagerFactory_==q||(d.abrManager_=e.receiveAbrManager(),d.abrManagerFactory_=e.getAbrManagerFactory(),"function"!=typeof d.abrManager_.setMediaElement&&
1223
+ (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","Please use an AbrManager with setCmsdManager function."),d.abrManager_.setCmsdManager=function(){}),"function"!=typeof d.abrManager_.trySuggestStreams&&(shaka.Deprecate.deprecateFeature(5,"AbrManager w/o trySuggestStreams",
1224
+ "Please use an AbrManager with trySuggestStreams function."),d.abrManager_.trySuggestStreams=function(){})),r=e.receiveSegmentPrefetchesById(),t=e.getPrefetchedVariant(),u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){return v.yield(d.loadInner_(n,t,r),0)})},"loadInner_"),19);case 19:e.stopQueuingLatePhaseQueuedOperations();u.jumpTo(14);break;case 20:return u.yield(k(function(){return $jscomp.asyncExecutePromiseGeneratorProgram(function(v){goog.asserts.assert(c,
1225
+ "We should know the mimeType by now!");return v.yield(d.srcEqualsInner_(n,c),0)})},"srcEqualsInner_"),14);case 14:d.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Loaded));case 6:u.enterFinallyBlock();if(!e){u.jumpTo(22);break}return u.yield(e.destroy(),22);case 22:d.preloadNextUrl_=null;u.leaveFinallyBlock(0);break;case 5:w=u.enterCatchBlock();if(w.code==shaka.util.Error.Code.LOAD_INTERRUPTED){u.jumpTo(24);break}return u.yield(d.unload(!1),24);case 24:throw w;}})};
1226
+ 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})};
1225
1227
  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)})};
1226
1228
  shaka.Player.prototype.detachAndSavePreload=function(a){a=void 0===a?!1:a;var b=this,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){return 1==d.nextAddress?d.yield(b.savePreload_(),2):3!=d.nextAddress?(c=d.yieldResult,d.yield(b.detach(a),3)):d.return(c)})};
1227
1229
  shaka.Player.prototype.savePreload_=function(){var a=this,b,c,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress){b=null;if(!(a.manifest_&&a.parser_&&a.parserFactory_&&a.assetUri_))return e.jumpTo(2);c=a.video_.currentTime;a.isLive()&&(c=null);d=Date.now()/1E3;return e.yield(a.makePreloadManager_(a.assetUri_,c,a.mimeType_,d,!0,!1,!1),3)}2!=e.nextAddress&&(b=e.yieldResult,b.attachManifest(a.manifest_,a.parser_,a.parserFactory_),b.attachAbrManager(a.abrManager_,a.abrManagerFactory_),
1228
1230
  b.attachAdaptationSetCriteria(a.currentAdaptationSetCriteria_),b.start(),a.manifest_=null,a.parser_=null,a.parserFactory_=null,a.abrManager_=null,a.abrManagerFactory_=null);return e.return(b)})};
1229
- shaka.Player.prototype.preload=function(a,b,c){b=void 0===b?null:b;var d=this,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return f.yield(d.preloadInner_(a,b,c),2);if(e=f.yieldResult)e.start().catch(function(g){});else d.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.SRC_EQUALS_PRELOAD_NOT_SUPPORTED));return f.return(e)})};
1231
+ shaka.Player.prototype.preload=function(a,b,c){b=void 0===b?null:b;var d=this,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return f.yield(d.preloadInner_(a,b,c),2);if(e=f.yieldResult)e.start();else d.onError_(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.SRC_EQUALS_PRELOAD_NOT_SUPPORTED));return f.return(e)})};
1230
1232
  shaka.Player.prototype.preloadInner_=function(a,b,c,d){d=void 0===d?!1:d;var e=this,f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress)return goog.asserts.assert(e.networkingEngine_,"Should have a net engine!"),goog.asserts.assert(e.config_,"Config must not be null!"),f=Date.now()/1E3,c?l.jumpTo(2):l.yield(e.guessMimeType_(a),3);2!=l.nextAddress&&(c=l.yieldResult);if(g=e.shouldUseSrcEquals_(a,c))return l.return(null);h=!1;k=!0;d&&(e.abrManager_&&e.abrManagerFactory_==
1231
1233
  e.config_.abrFactory&&(k=!1),e.video_&&"AUDIO"===e.video_.nodeName&&(h=!0));return l.return(e.makePreloadManager_(a,b,c||null,f,!d,h,k))})};
1232
1234
  shaka.Player.prototype.makePreloadManager_=function(a,b,c,d,e,f,g){e=void 0===e?!0:e;f=void 0===f?!1:f;g=void 0===g?!0:g;var h=this,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A;return $jscomp.asyncExecutePromiseGeneratorProgram(function(B){if(1==B.nextAddress)return goog.asserts.assert(h.networkingEngine_,"Must have net engine"),k=null,l=shaka.util.ObjectUtils.cloneObject(h.config_),f&&(l.manifest.disableVideo=!0),m=function(){goog.asserts.assert(k,"Must have preload manager");return k.hasBeenAttached()&&k.isDestroyed()?
1233
- null:k},n=function(){return m()?m().getConfiguration():h.config_},p=function(D,C){m()?k.configure(D,C):h.configure(D,C)},Infinity!=h.maxHwRes_.width||Infinity!=h.maxHwRes_.height?B.jumpTo(2):B.yield(shaka.util.Platform.detectMaxHardwareResolution(),3);2!=B.nextAddress&&(q=B.yieldResult,h.maxHwRes_.width=q.width,h.maxHwRes_.height=q.height);r=new shaka.media.ManifestFilterer(l,h.maxHwRes_,null);t={networkingEngine:h.networkingEngine_,filter:function(D){var C,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){if(1==
1234
- I.nextAddress)return I.yield(r.filterManifest(D),2);if(4!=I.nextAddress){C=I.yieldResult;if(!C)return I.jumpTo(0);F=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged);return I.yield(Promise.resolve(),4)}k.dispatchEvent(F);I.jumpToEnd()})},makeTextStreamsForClosedCaptions:function(D){return h.makeTextStreamsForClosedCaptions_(D)},onTimelineRegionAdded:function(D){k.getRegionTimeline().addRegion(D)},onEvent:function(D){return k.dispatchEvent(D)},onError:function(D){return k.onError(D)},
1235
- isLowLatencyMode:function(){return n().streaming.lowLatencyMode},isAutoLowLatencyMode:function(){return n().streaming.autoLowLatencyMode},enableLowLatencyMode:function(){p("streaming.lowLatencyMode",!0)},updateDuration:function(){h.streamingEngine_&&k.hasBeenAttached()&&h.streamingEngine_.updateDuration()},newDrmInfo:function(D){var C=k.getDrmEngine(),F=C?C.getDrmInfo():null;F&&C.getMediaKeys()&&r.processDrmInfos(F.keySystem,D)},onManifestUpdated:function(){var D=shaka.util.FakeEvent.EventName.ManifestUpdated,
1236
- C=(new Map).set("isLive",h.isLive());k.dispatchEvent(shaka.Player.makeEvent_(D,C));k.addQueuedOperation(!1,function(){if(h.adManager_)h.adManager_.onManifestUpdated(h.isLive())})},getBandwidthEstimate:function(){return h.abrManager_.getBandwidthEstimate()}};w=new shaka.media.RegionTimeline(function(){return h.seekRange()});w.addEventListener("regionadd",function(D){var C=D.region;h.onRegionEvent_(shaka.util.FakeEvent.EventName.TimelineRegionAdded,C,k);k.addQueuedOperation(!1,function(){if(h.adManager_)h.adManager_.onDashTimedMetadata(C)})});
1237
- u=null;l.streaming.observeQualityChanges&&(u=new shaka.media.QualityObserver(function(){return h.getBufferedInfo()}),u.addEventListener("qualitychange",function(D){h.onMediaQualityChange_(D.quality,D.position)}));v=!0;x={netEngine:h.networkingEngine_,onError:function(D){return k.onError(D)},onKeyStatus:function(D){k.addQueuedOperation(!0,function(){h.onKeyStatus_(D)})},onExpirationUpdated:function(D,C){var F=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ExpirationUpdated);k.dispatchEvent(F);
1238
- if((F=k.getParser())&&F.onExpirationUpdated)F.onExpirationUpdated(D,C)},onEvent:function(D){k.dispatchEvent(D);D.type==shaka.util.FakeEvent.EventName.DrmSessionUpdate&&v&&(v=!1,D=Date.now()/1E3-k.getStartTimeOfDRM(),(h.stats_||k.getStats()).setDrmTime(D),h.lcevcDec_&&h.lcevcDec_.hideCanvas())}};z=h.createNetworkingEngine(m);h.networkingEngine_.copyFiltersInto(z);y=function(){return h.createDrmEngine(x)};A={config:l,manifestPlayerInterface:t,regionTimeline:w,qualityObserver:u,createDrmEngine:y,manifestFilterer:r,
1235
+ null:k},n=function(){return m()?m().getConfiguration():h.config_},p=function(E,C){m()?k.configure(E,C):h.configure(E,C)},Infinity!=h.maxHwRes_.width||Infinity!=h.maxHwRes_.height?B.jumpTo(2):B.yield(shaka.util.Platform.detectMaxHardwareResolution(),3);2!=B.nextAddress&&(q=B.yieldResult,h.maxHwRes_.width=q.width,h.maxHwRes_.height=q.height);r=new shaka.media.ManifestFilterer(l,h.maxHwRes_,null);t={networkingEngine:h.networkingEngine_,filter:function(E){var C,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){if(1==
1236
+ I.nextAddress)return I.yield(r.filterManifest(E),2);if(4!=I.nextAddress){C=I.yieldResult;if(!C)return I.jumpTo(0);F=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.TracksChanged);return I.yield(Promise.resolve(),4)}k.dispatchEvent(F);I.jumpToEnd()})},makeTextStreamsForClosedCaptions:function(E){return h.makeTextStreamsForClosedCaptions_(E)},onTimelineRegionAdded:function(E){k.getRegionTimeline().addRegion(E)},onEvent:function(E){return k.dispatchEvent(E)},onError:function(E){return k.onError(E)},
1237
+ isLowLatencyMode:function(){return n().streaming.lowLatencyMode},isAutoLowLatencyMode:function(){return n().streaming.autoLowLatencyMode},enableLowLatencyMode:function(){p("streaming.lowLatencyMode",!0)},updateDuration:function(){h.streamingEngine_&&k.hasBeenAttached()&&h.streamingEngine_.updateDuration()},newDrmInfo:function(E){var C=k.getDrmEngine(),F=C?C.getDrmInfo():null;F&&C.getMediaKeys()&&r.processDrmInfos(F.keySystem,E)},onManifestUpdated:function(){var E=shaka.util.FakeEvent.EventName.ManifestUpdated,
1238
+ C=(new Map).set("isLive",h.isLive());k.dispatchEvent(shaka.Player.makeEvent_(E,C));k.addQueuedOperation(!1,function(){if(h.adManager_)h.adManager_.onManifestUpdated(h.isLive())})},getBandwidthEstimate:function(){return h.abrManager_.getBandwidthEstimate()}};w=new shaka.media.RegionTimeline(function(){return h.seekRange()});w.addEventListener("regionadd",function(E){var C=E.region;h.onRegionEvent_(shaka.util.FakeEvent.EventName.TimelineRegionAdded,C,k);k.addQueuedOperation(!1,function(){if(h.adManager_)h.adManager_.onDashTimedMetadata(C)})});
1239
+ u=null;l.streaming.observeQualityChanges&&(u=new shaka.media.QualityObserver(function(){return h.getBufferedInfo()}),u.addEventListener("qualitychange",function(E){h.onMediaQualityChange_(E.quality,E.position)}));v=!0;x={netEngine:h.networkingEngine_,onError:function(E){return k.onError(E)},onKeyStatus:function(E){k.addQueuedOperation(!0,function(){h.onKeyStatus_(E)})},onExpirationUpdated:function(E,C){var F=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ExpirationUpdated);k.dispatchEvent(F);
1240
+ if((F=k.getParser())&&F.onExpirationUpdated)F.onExpirationUpdated(E,C)},onEvent:function(E){k.dispatchEvent(E);E.type==shaka.util.FakeEvent.EventName.DrmSessionUpdate&&v&&(v=!1,E=Date.now()/1E3-k.getStartTimeOfDRM(),(h.stats_||k.getStats()).setDrmTime(E),h.lcevcDec_&&h.lcevcDec_.hideCanvas())}};z=h.createNetworkingEngine(m);h.networkingEngine_.copyFiltersInto(z);y=function(){return h.createDrmEngine(x)};A={config:l,manifestPlayerInterface:t,regionTimeline:w,qualityObserver:u,createDrmEngine:y,manifestFilterer:r,
1239
1241
  networkingEngine:z,allowPrefetch:e,allowMakeAbrManager:g};k=new shaka.media.PreloadManager(a,c,d,b,A);h.createdPreloadManagers_.push(k);return B.return(k)})};
1240
1242
  shaka.Player.prototype.guessMimeType_=function(a){var b=this,c,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return goog.asserts.assert(b.networkingEngine_,"Should have a net engine!"),c=b.config_.manifest.retryParameters,e.yield(shaka.net.NetworkingUtils.getMimeType(a,b.networkingEngine_,c),2);d=e.yieldResult;"application/x-mpegurl"==d&&shaka.util.Platform.isApple()&&(d="application/vnd.apple.mpegurl");return e.return(d)})};
1241
1243
  shaka.Player.prototype.shouldUseSrcEquals_=function(a,b){a=shaka.util.Platform;var c=shaka.util.MimeUtils;if(!a.supportsMediaSource())return!0;if(b){var d=""!=(this.video_||a.anyMediaElement()).canPlayType(b);if(!d)return!1;var e=shaka.media.ManifestParser.isSupported(b);if(!e)return!0;goog.asserts.assert(d&&e,"Both native and MSE playback should be possible!");if(c.isHlsType(b)){if(this.config_.streaming.preferNativeHls)return!0;if(a.isApple()&&(this.config_.drm.servers["com.apple.fps"]||this.config_.drm.servers["com.apple.fps.1_0"]))return this.config_.streaming.useNativeHlsForFairPlay;
@@ -1243,16 +1245,16 @@ if(a.isApple())return this.config_.streaming.useNativeHlsOnSafari}}return!1};
1243
1245
  shaka.Player.prototype.initializeMediaSourceEngineInner_=function(){var a=this,b,c,d,e,f;return $jscomp.asyncExecutePromiseGeneratorProgram(function(g){if(1==g.nextAddress)return goog.asserts.assert(shaka.util.Platform.supportsMediaSource(),"We should not be initializing media source on a platform that does not support media source."),goog.asserts.assert(a.video_,"We should have a media element when initializing media source."),goog.asserts.assert(null==a.mediaSourceEngine_,"We should not have a media source engine yet."),
1244
1246
  a.makeStateChangeEvent_("media-source"),b=a.config_.textDisplayFactory,c=b(),c.configure?c.configure(a.config_.textDisplayer):shaka.Deprecate.deprecateFeature(5,"Text displayer w/ configure",'Text displayer should have a "configure" method!'),a.lastTextFactory_=b,d=a.createMediaSourceEngine(a.video_,c,function(h,k,l){a.processTimedMetadataMediaSrc_(h,k,l)},a.lcevcDec_),d.configure(a.config_.mediaSource),e=a.config_.manifest,f=e.segmentRelativeVttTiming,d.setSegmentRelativeVttTiming(f),g.yield(d.open(),
1245
1247
  2);a.mediaSourceEngine_=d;g.jumpToEnd()})};
1246
- shaka.Player.prototype.loadInner_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){switch(I.nextAddress){case 1:goog.asserts.assert(d.video_,"We should have a media element by now.");goog.asserts.assert(d.manifest_,"The manifest should already be parsed.");goog.asserts.assert(d.assetUri_,"We should have an asset uri by now.");goog.asserts.assert(d.abrManager_,"We should have an abr manager by now.");d.makeStateChangeEvent_("load");
1247
- e=d.video_;d.playRateController_=new shaka.media.PlayRateController({getRate:function(){return e.playbackRate},getDefaultRate:function(){return e.defaultPlaybackRate},setRate:function(E){e.playbackRate=E},movePlayhead:function(E){e.currentTime+=E}});f=function(){return d.updateStateHistory_()};g=function(){return d.onRateChange_()};d.loadEventManager_.listen(e,"playing",f);d.loadEventManager_.listen(e,"pause",f);d.loadEventManager_.listen(e,"ended",f);d.loadEventManager_.listen(e,"ratechange",g);
1248
- d.setupLcevc_(d.config_);d.currentTextLanguage_=d.config_.preferredTextLanguage;d.currentTextRole_=d.config_.preferredTextRole;d.currentTextForced_=d.config_.preferForcedSubs;shaka.Player.applyPlayRange_(d.manifest_.presentationTimeline,d.config_.playRangeStart,d.config_.playRangeEnd);d.abrManager_.init(function(E,G,H){return d.switch_(E,G,H)});d.abrManager_.setMediaElement(e);d.abrManager_.setCmsdManager(d.cmsdManager_);d.streamingEngine_=d.createStreamingEngine();d.streamingEngine_.configure(d.config_.streaming);
1249
- d.loadMode_=shaka.Player.LoadMode.MEDIA_SOURCE;e.textTracks&&d.loadEventManager_.listen(e.textTracks,"addtrack",function(E){if(E.track)switch(E=E.track,goog.asserts.assert(E instanceof TextTrack,"Wrong track type!"),E.kind){case "chapters":d.activateChaptersTrack_(E)}});d.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Streaming));h=b;k=d.streamingEngine_.getCurrentVariant();k||h||(h=d.chooseVariant_(!0),goog.asserts.assert(h,"Must choose an initial variant!"));l=[];m=k||h;n=
1250
- $jscomp.makeIterator([m.video,m.audio]);for(p=n.next();!p.done;p=n.next())(q=p.value)&&!q.segmentIndex&&l.push(q.createSegmentIndex());if(!(0<l.length)){I.jumpTo(2);break}return I.yield(Promise.all(l),2);case 2:if(d.parser_&&d.parser_.onInitialVariantChosen)d.parser_.onInitialVariantChosen(m);shaka.Player.applyPlayRange_(d.manifest_.presentationTimeline,d.config_.playRangeStart,d.config_.playRangeEnd);r=function(E){d.playhead_=d.createPlayhead(E);d.playheadObservers_=d.createPlayheadObserversForMSE_(a);
1248
+ shaka.Player.prototype.loadInner_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){switch(I.nextAddress){case 1:goog.asserts.assert(d.video_,"We should have a media element by now.");goog.asserts.assert(d.manifest_,"The manifest should already be parsed.");goog.asserts.assert(d.assetUri_,"We should have an asset uri by now.");goog.asserts.assert(d.abrManager_,"We should have an abr manager by now.");d.makeStateChangeEvent_("load");
1249
+ e=d.video_;d.playRateController_=new shaka.media.PlayRateController({getRate:function(){return e.playbackRate},getDefaultRate:function(){return e.defaultPlaybackRate},setRate:function(D){e.playbackRate=D},movePlayhead:function(D){e.currentTime+=D}});f=function(){return d.updateStateHistory_()};g=function(){return d.onRateChange_()};d.loadEventManager_.listen(e,"playing",f);d.loadEventManager_.listen(e,"pause",f);d.loadEventManager_.listen(e,"ended",f);d.loadEventManager_.listen(e,"ratechange",g);
1250
+ d.setupLcevc_(d.config_);d.currentTextLanguage_=d.config_.preferredTextLanguage;d.currentTextRole_=d.config_.preferredTextRole;d.currentTextForced_=d.config_.preferForcedSubs;shaka.Player.applyPlayRange_(d.manifest_.presentationTimeline,d.config_.playRangeStart,d.config_.playRangeEnd);d.abrManager_.init(function(D,G,H){return d.switch_(D,G,H)});d.abrManager_.setMediaElement(e);d.abrManager_.setCmsdManager(d.cmsdManager_);d.streamingEngine_=d.createStreamingEngine();d.streamingEngine_.configure(d.config_.streaming);
1251
+ d.loadMode_=shaka.Player.LoadMode.MEDIA_SOURCE;e.textTracks&&d.loadEventManager_.listen(e.textTracks,"addtrack",function(D){if(D.track)switch(D=D.track,goog.asserts.assert(D instanceof TextTrack,"Wrong track type!"),D.kind){case "chapters":d.activateChaptersTrack_(D)}});d.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.Streaming));h=b;k=d.streamingEngine_.getCurrentVariant();k||h||(h=d.chooseVariant_(!0),goog.asserts.assert(h,"Must choose an initial variant!"));l=[];m=k||h;n=
1252
+ $jscomp.makeIterator([m.video,m.audio]);for(p=n.next();!p.done;p=n.next())(q=p.value)&&!q.segmentIndex&&l.push(q.createSegmentIndex());if(!(0<l.length)){I.jumpTo(2);break}return I.yield(Promise.all(l),2);case 2:if(d.parser_&&d.parser_.onInitialVariantChosen)d.parser_.onInitialVariantChosen(m);shaka.Player.applyPlayRange_(d.manifest_.presentationTimeline,d.config_.playRangeStart,d.config_.playRangeEnd);r=function(D){d.playhead_=d.createPlayhead(D);d.playheadObservers_=d.createPlayheadObserversForMSE_(D);
1251
1253
  d.startBufferManagement_(e,Math.max(d.manifest_.minBufferTime,d.config_.streaming.rebufferingGoal))};d.config_.streaming.startAtSegmentBoundary||r(d.startTime_);if(k){I.jumpTo(4);break}goog.asserts.assert(h,"Must have choosen an initial variant!");if(!d.config_.streaming.startAtSegmentBoundary){I.jumpTo(5);break}t=d.manifest_.presentationTimeline;w=d.startTime_||d.video_.currentTime;u=t.getSeekRangeStart();v=t.getSeekRangeEnd();w<u?w=u:w>v&&(w=v);return I.yield(d.adjustStartTime_(h,w),6);case 6:x=
1252
- I.yieldResult,r(x);case 5:d.switchVariant_(h,!0,!1,0);case 4:return d.playhead_.ready(),z=d.getTextTracks().find(function(E){return E.active}),z||((y=d.chooseTextStream_())&&d.addTextStreamToSwitchHistory_(y,!0),h&&d.setInitialTextState_(h,y),y&&d.shouldStreamText_()&&d.streamingEngine_.switchTextStream(y)),I.yield(d.streamingEngine_.start(c),7);case 7:d.config_.abr.enabled&&(d.abrManager_.enable(),d.onAbrStatusChanged_());d.onTracksChanged_();d.updateAbrManagerVariants_();A=d.manifest_.variants.some(function(E){return E.primary});
1253
- d.config_.preferredAudioLanguage||A||shaka.log.warning("No preferred audio language set. We have chosen an arbitrary language initially");if((B=d.isLive())&&(d.config_.streaming.liveSync||d.manifest_.serviceDescription||d.config_.streaming.liveSyncPanicMode)||d.config_.streaming.vodDynamicPlaybackRate)D=function(){return d.onTimeUpdate_()},d.loadEventManager_.listen(e,"timeupdate",D);B||(C=function(){return d.onVideoProgress_()},d.loadEventManager_.listen(e,"timeupdate",C),d.onVideoProgress_(),d.manifest_.nextUrl&&
1254
- (0<d.config_.streaming.preloadNextUrlWindow&&(F=function(){var E,G;return $jscomp.asyncExecutePromiseGeneratorProgram(function(H){if(1==H.nextAddress){E=d.video_.duration-d.video_.currentTime;if(isNaN(E)||!(E<=d.config_.streaming.preloadNextUrlWindow))return H.jumpTo(0);d.loadEventManager_.unlisten(e,"timeupdate",F);goog.asserts.assert(d.manifest_.nextUrl,"this.manifest_.nextUrl should be valid.");G=d;return H.yield(d.preload(d.manifest_.nextUrl),4)}G.preloadNextUrl_=H.yieldResult;H.jumpToEnd()})},
1255
- d.loadEventManager_.listen(e,"timeupdate",F)),d.loadEventManager_.listen(e,"ended",function(){d.load(d.preloadNextUrl_||d.manifest_.nextUrl)})));if(d.adManager_)d.adManager_.onManifestUpdated(B);d.fullyLoaded_=!0;d.loadEventManager_.listenOnce(e,"loadedmetadata",function(){var E=Date.now()/1E3-a;d.stats_.setLoadLatency(E)});I.jumpToEnd()}})};
1254
+ I.yieldResult,r(x);case 5:d.switchVariant_(h,!0,!1,0);case 4:return d.playhead_.ready(),z=d.getTextTracks().find(function(D){return D.active}),z||((y=d.chooseTextStream_())&&d.addTextStreamToSwitchHistory_(y,!0),h&&d.setInitialTextState_(h,y),y&&d.shouldStreamText_()&&d.streamingEngine_.switchTextStream(y)),I.yield(d.streamingEngine_.start(c),7);case 7:d.config_.abr.enabled&&(d.abrManager_.enable(),d.onAbrStatusChanged_());d.onTracksChanged_();d.updateAbrManagerVariants_();A=d.manifest_.variants.some(function(D){return D.primary});
1255
+ d.config_.preferredAudioLanguage||A||shaka.log.warning("No preferred audio language set. We have chosen an arbitrary language initially");if((B=d.isLive())&&(d.config_.streaming.liveSync||d.manifest_.serviceDescription||d.config_.streaming.liveSyncPanicMode)||d.config_.streaming.vodDynamicPlaybackRate)E=function(){return d.onTimeUpdate_()},d.loadEventManager_.listen(e,"timeupdate",E);B||(C=function(){return d.onVideoProgress_()},d.loadEventManager_.listen(e,"timeupdate",C),d.onVideoProgress_(),d.manifest_.nextUrl&&
1256
+ (0<d.config_.streaming.preloadNextUrlWindow&&(F=function(){var D,G;return $jscomp.asyncExecutePromiseGeneratorProgram(function(H){if(1==H.nextAddress){D=d.video_.duration-d.video_.currentTime;if(isNaN(D)||!(D<=d.config_.streaming.preloadNextUrlWindow))return H.jumpTo(0);d.loadEventManager_.unlisten(e,"timeupdate",F);goog.asserts.assert(d.manifest_.nextUrl,"this.manifest_.nextUrl should be valid.");G=d;return H.yield(d.preload(d.manifest_.nextUrl),4)}G.preloadNextUrl_=H.yieldResult;H.jumpToEnd()})},
1257
+ d.loadEventManager_.listen(e,"timeupdate",F)),d.loadEventManager_.listen(e,"ended",function(){d.load(d.preloadNextUrl_||d.manifest_.nextUrl)})));if(d.adManager_)d.adManager_.onManifestUpdated(B);d.fullyLoaded_=!0;d.loadEventManager_.listenOnce(e,"loadedmetadata",function(){var D=Date.now()/1E3-a;d.stats_.setLoadLatency(D)});I.jumpToEnd()}})};
1256
1258
  shaka.Player.prototype.initializeSrcEqualsDrmInner_=function(a){var b=this,c,d,e,f,g;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){return 1==h.nextAddress?(c=shaka.util.ManifestParserUtils.ContentType,goog.asserts.assert(b.networkingEngine_,"|onInitializeSrcEqualsDrm_| should never be called after |destroy|"),goog.asserts.assert(b.config_,"|onInitializeSrcEqualsDrm_| should never be called after |destroy|"),d=Date.now()/1E3,e=!0,b.drmEngine_=b.createDrmEngine({netEngine:b.networkingEngine_,
1257
1259
  onError:function(k){b.onError_(k)},onKeyStatus:function(k){},onExpirationUpdated:function(k,l){k=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.ExpirationUpdated);b.dispatchEvent(k)},onEvent:function(k){b.dispatchEvent(k);k.type==shaka.util.FakeEvent.EventName.DrmSessionUpdate&&e&&(e=!1,k=Date.now()/1E3-d,b.stats_.setDrmTime(k))}}),b.drmEngine_.configure(b.config_.drm),f={id:0,language:"und",disabledUntilTime:0,primary:!1,audio:null,video:null,bandwidth:100,allowedByApplication:!0,allowedByKeySystem:!0,
1258
1260
  decodingInfos:[]},g={id:0,originalId:null,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:null,mimeType:a?shaka.util.MimeUtils.getBasicType(a):"",codecs:a?shaka.util.MimeUtils.getCodecs(a):"",encrypted:!0,drmInfos:[],keyIds:new Set,language:"und",originalLanguage:null,label:null,type:c.VIDEO,primary:!1,trickModeVideo:null,emsgSchemeIdUris:null,roles:[],forced:!1,channelsCount:null,audioSamplingRate:null,spatialAudio:!1,closedCaptions:null,accessibilityPurpose:null,
@@ -1413,10 +1415,11 @@ shaka.Player.prototype.onRegionEvent_=function(a,b,c){c=void 0===c?this:c;b={sch
1413
1415
  shaka.Player.prototype.onMediaQualityChange_=function(a,b){a={bandwidth:a.bandwidth,audioSamplingRate:a.audioSamplingRate,codecs:a.codecs,contentType:a.contentType,frameRate:a.frameRate,height:a.height,mimeType:a.mimeType,channelsCount:a.channelsCount,pixelAspectRatio:a.pixelAspectRatio,width:a.width};b=(new Map).set("mediaQuality",a).set("position",b);this.dispatchEvent(shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.MediaQualityChanged,b))};
1414
1416
  shaka.Player.prototype.videoErrorToShakaError_=function(){goog.asserts.assert(this.video_.error,"Video error expected, but missing!");if(!this.video_.error)return null;var a=this.video_.error.code;if(1==a)return null;var b=this.video_.error.msExtendedCode;b&&(0>b&&(b+=Math.pow(2,32)),b=b.toString(16));return new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.VIDEO_ERROR,a,b,this.video_.error.message)};
1415
1417
  shaka.Player.prototype.onVideoError_=function(a){if(a=this.videoErrorToShakaError_())this.onError_(a)};
1416
- shaka.Player.prototype.onKeyStatus_=function(a){goog.asserts.assert(this.streamingEngine_,"Cannot be called in src= mode");var b=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.KeyStatusChanged);this.dispatchEvent(b);var c=Object.keys(a);0==c.length&&shaka.log.warning("Got a key status event without any key statuses, so we don't know the real key statuses. If we don't have all the keys, you'll need to set restrictions so we don't select those tracks.");(b=1==c.length&&"00"==c[0])&&shaka.log.warning("Got a synthetic key status event, so we don't know the real key statuses. If we don't have all the keys, you'll need to set restrictions so we don't select those tracks.");
1417
- var d=shaka.media.ManifestFilterer.restrictedStatuses,e=!1;goog.asserts.assert(this.drmEngine_,"drmEngine should be non-null here.");if(c.length){c=$jscomp.makeIterator(this.manifest_.variants);for(var f=c.next();!f.done;f=c.next()){f=f.value;var g=shaka.util.StreamUtils.getVariantStreams(f);g=$jscomp.makeIterator(g);for(var h=g.next();!h.done;h=g.next()){var k=h.value;h=f.allowedByKeySystem;if(k.keyIds.size){f.allowedByKeySystem=!0;k=$jscomp.makeIterator(k.keyIds);for(var l=k.next();!l.done;l=k.next())if(l=
1418
- l.value,(l=a[b?"00":l])||this.drmEngine_.hasManifestInitData())f.allowedByKeySystem=f.allowedByKeySystem&&!!l&&!d.includes(l)}h!=f.allowedByKeySystem&&(e=!0)}}}if(e&&(this.onTracksChanged_(),!this.updateAbrManagerVariants_()))return;(a=this.streamingEngine_.getCurrentVariant())&&!a.allowedByKeySystem&&(shaka.log.debug("Choosing new streams after key status changed"),this.chooseVariantAndSwitch_())};
1419
- shaka.Player.prototype.shouldStreamText_=function(){return this.config_.streaming.alwaysStreamText||this.isTextTrackVisible()};shaka.Player.applyPlayRange_=function(a,b,c){0<b&&(a.isLive()?shaka.log.warning("|playRangeStart| has been configured for live content. Ignoring the setting."):a.setUserSeekStart(b));b=a.getDuration();c<b&&(a.isLive()?shaka.log.warning("|playRangeEnd| has been configured for live content. Ignoring the setting."):a.setDuration(c))};
1418
+ shaka.Player.prototype.onKeyStatus_=function(a){goog.asserts.assert(this.streamingEngine_,"Cannot be called in src= mode");var b=shaka.Player.makeEvent_(shaka.util.FakeEvent.EventName.KeyStatusChanged);this.dispatchEvent(b);var c=Object.keys(a);0==c.length&&shaka.log.warning("Got a key status event without any key statuses, so we don't know the real key statuses. If we don't have all the keys, you'll need to set restrictions so we don't select those tracks.");1==c.length&&""==c[0]&&(c=["00"],a={"00":a[""]});
1419
+ (b=1==c.length&&"00"==c[0])&&shaka.log.warning("Got a synthetic key status event, so we don't know the real key statuses. If we don't have all the keys, you'll need to set restrictions so we don't select those tracks.");var d=shaka.media.ManifestFilterer.restrictedStatuses,e=!1;goog.asserts.assert(this.drmEngine_,"drmEngine should be non-null here.");if(c.length){c=$jscomp.makeIterator(this.manifest_.variants);for(var f=c.next();!f.done;f=c.next()){f=f.value;var g=shaka.util.StreamUtils.getVariantStreams(f);
1420
+ g=$jscomp.makeIterator(g);for(var h=g.next();!h.done;h=g.next()){var k=h.value;h=f.allowedByKeySystem;if(k.keyIds.size){f.allowedByKeySystem=!0;k=$jscomp.makeIterator(k.keyIds);for(var l=k.next();!l.done;l=k.next())if(l=l.value,(l=a[b?"00":l])||this.drmEngine_.hasManifestInitData())f.allowedByKeySystem=f.allowedByKeySystem&&!!l&&!d.includes(l)}h!=f.allowedByKeySystem&&(e=!0)}}}if(e&&(this.onTracksChanged_(),!this.updateAbrManagerVariants_()))return;(a=this.streamingEngine_.getCurrentVariant())&&!a.allowedByKeySystem&&
1421
+ (shaka.log.debug("Choosing new streams after key status changed"),this.chooseVariantAndSwitch_())};shaka.Player.prototype.shouldStreamText_=function(){return this.config_.streaming.alwaysStreamText||this.isTextTrackVisible()};
1422
+ shaka.Player.applyPlayRange_=function(a,b,c){0<b&&(a.isLive()?shaka.log.warning("|playRangeStart| has been configured for live content. Ignoring the setting."):a.setUserSeekStart(b));b=a.getDuration();c<b&&(a.isLive()?shaka.log.warning("|playRangeEnd| has been configured for live content. Ignoring the setting."):a.setDuration(c))};
1420
1423
  shaka.Player.prototype.delayDispatchEvent_=function(a){var b=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(c){if(1==c.nextAddress)return c.yield(Promise.resolve(),2);b.loadMode_!=shaka.Player.LoadMode.DESTROYED&&b.dispatchEvent(a);c.jumpToEnd()})};shaka.Player.getLanguagesFrom_=function(a){var b=new Set;a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next())c=c.value,c.language?b.add(shaka.util.LanguageUtils.normalize(c.language)):b.add("und");return b};
1421
1424
  shaka.Player.getLanguageAndRolesFrom_=function(a){var b=new Map,c=new Map;a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next()){d=d.value;var e="und",f=[];d.language&&(e=shaka.util.LanguageUtils.normalize(d.language));(f="variant"==d.type?d.audioRoles:d.roles)&&f.length||(f=[""]);b.has(e)||b.set(e,new Set);f=$jscomp.makeIterator(f);for(var g=f.next();!g.done;g=f.next())g=g.value,b.get(e).add(g),d.label&&(c.has(e)||c.set(e,new Map),c.get(e).set(g,d.label))}var h=[];b.forEach(function(k,
1422
1425
  l){k=$jscomp.makeIterator(k);for(var m=k.next();!m.done;m=k.next()){m=m.value;var n=null;c.has(l)&&c.get(l).has(m)&&(n=c.get(l).get(m));h.push({language:l,role:m,label:n})}});return h};
@@ -1437,7 +1440,7 @@ goog.exportProperty(shaka.Player.prototype,"resetConfiguration",shaka.Player.pro
1437
1440
  goog.exportProperty(shaka.Player.prototype,"releaseAllMutexes",shaka.Player.prototype.releaseAllMutexes);goog.exportProperty(shaka.Player.prototype,"preload",shaka.Player.prototype.preload);goog.exportProperty(shaka.Player.prototype,"detachAndSavePreload",shaka.Player.prototype.detachAndSavePreload);goog.exportProperty(shaka.Player.prototype,"unloadAndSavePreload",shaka.Player.prototype.unloadAndSavePreload);goog.exportProperty(shaka.Player.prototype,"load",shaka.Player.prototype.load);
1438
1441
  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);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);
1439
1442
  goog.exportProperty(shaka.Player,"isBrowserSupported",shaka.Player.isBrowserSupported);goog.exportProperty(shaka.Player,"setAdManagerFactory",shaka.Player.setAdManagerFactory);goog.exportProperty(shaka.Player,"registerSupportPlugin",shaka.Player.registerSupportPlugin);goog.exportProperty(shaka.Player.prototype,"destroy",shaka.Player.prototype.destroy);shaka.Player.LoadMode={DESTROYED:0,NOT_LOADED:1,MEDIA_SOURCE:2,SRC_EQUALS:3};goog.exportProperty(shaka.Player,"LoadMode",shaka.Player.LoadMode);
1440
- shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.9.0-debug";goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;shaka.Player.TextTrackLabel="Shaka Player TextTrack";shaka.ads={};shaka.ads.AdsStats=function(){this.loadTimes_=[];this.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_++};
1443
+ shaka.Player.TYPICAL_BUFFERING_THRESHOLD_=.5;shaka.Player.version="v4.9.2-debug";goog.exportProperty(shaka.Player,"version",shaka.Player.version);shaka.Deprecate.init(shaka.Player.version);shaka.Player.supportPlugins_={};shaka.Player.adManagerFactory_=null;shaka.Player.TextTrackLabel="Shaka Player TextTrack";shaka.ads={};shaka.ads.AdsStats=function(){this.loadTimes_=[];this.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_++};
1441
1444
  shaka.ads.AdsStats.prototype.getBlob=function(){return{loadTimes:this.loadTimes_,started:this.started_,playedCompletely:this.playedCompletely_,skipped:this.skipped_}};shaka.ads.ClientSideAd=function(a,b,c){var d=this;this.ad_=a;this.manager_=b;this.video_=c;this.isPaused_=!1;this.volume_=this.manager_.getVolume();this.eventManager_=new shaka.util.EventManager;this.eventManager_.listen(this.manager_,google.ima.AdEvent.Type.PAUSED,function(){d.isPaused_=!0});this.eventManager_.listen(this.manager_,google.ima.AdEvent.Type.RESUMED,function(){d.isPaused_=!1})};shaka.ads.ClientSideAd.prototype.getDuration=function(){return this.ad_.getDuration()};
1442
1445
  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()};
1443
1446
  shaka.ads.ClientSideAd.prototype.getTimeUntilSkippable=function(){var a=this.ad_.getSkipTimeOffset();a=this.getRemainingTime()-a;return Math.max(a,0)};shaka.ads.ClientSideAd.prototype.canSkipNow=function(){return this.manager_.getAdSkippableState()};shaka.ads.ClientSideAd.prototype.skip=function(){return this.manager_.skip()};shaka.ads.ClientSideAd.prototype.setPaused=function(a){this.isPaused_=a};shaka.ads.ClientSideAd.prototype.pause=function(){return this.manager_.pause()};
@@ -1826,8 +1829,8 @@ shaka.dash.SegmentBase.createInitSegment=function(a,b,c){var d=shaka.util.TXml,e
1826
1829
  null,c);c.codecs=a.representation.codecs;c.mimeType=a.representation.mimeType;return c};
1827
1830
  shaka.dash.SegmentBase.createStreamInfo=function(a,b,c){goog.asserts.assert(a.representation.segmentBase,"Should only be called with SegmentBase");var d=shaka.dash.MpdUtils,e=shaka.dash.SegmentBase,f=shaka.util.TXml,g=Number(d.inheritAttribute(a,e.fromInheritance_,"presentationTimeOffset"))||0;d=d.inheritAttribute(a,e.fromInheritance_,"timescale");var h=1;d&&(h=f.parsePositiveInt(d)||1);var k=g/h||0,l=e.createInitSegment(a,e.fromInheritance_,c);e.checkSegmentIndexRangeSupport_(a,l);var m=shaka.util.ObjectUtils.shallowCloneObject(a);
1828
1831
  return{generateSegmentIndex:function(){return e.generateSegmentIndex_(m,b,l,k)}}};
1829
- shaka.dash.SegmentBase.generateSegmentIndexFromUris=function(a,b,c,d,e,f,g){var h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){if(1==C.nextAddress)return h=a.presentationTimeline,k=!a.dynamic||!a.periodInfo.isLastPeriod,l=a.periodInfo.start,m=a.periodInfo.duration,n=a.representation.mimeType.split("/")[1],p=b,q=null,r=[p(d,e,f,!1),"webm"==n?p(c.getUris(),c.startByte,c.endByte,!0):null],p=null,C.yield(Promise.all(r),2);t=C.yieldResult;w=t[0];u=t[1]||
1830
- null;v=null;x=l-g;z=l;y=m?l+m:Infinity;"mp4"==n?v=shaka.media.Mp4SegmentIndexParser.parse(w,e,d,c,x,z,y):(goog.asserts.assert(u,"WebM requires init data"),v=shaka.media.WebmSegmentIndexParser.parse(w,u,d,c,x,z,y));A=$jscomp.makeIterator(v);for(B=A.next();!B.done;B=A.next())D=B.value,D.codecs=a.representation.codecs,D.mimeType=a.representation.mimeType;h.notifySegments(v);goog.asserts.assert(!q,"Should not call generateSegmentIndex twice");q=new shaka.media.SegmentIndex(v);k&&q.fit(z,y,!0);return C.return(q)})};
1832
+ shaka.dash.SegmentBase.generateSegmentIndexFromUris=function(a,b,c,d,e,f,g){var h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E;return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){if(1==C.nextAddress)return h=a.presentationTimeline,k=!a.dynamic||!a.periodInfo.isLastPeriod,l=a.periodInfo.start,m=a.periodInfo.duration,n=a.representation.mimeType.split("/")[1],p=b,q=null,r=[p(d,e,f,!1),"webm"==n?p(c.getUris(),c.startByte,c.endByte,!0):null],p=null,C.yield(Promise.all(r),2);t=C.yieldResult;w=t[0];u=t[1]||
1833
+ null;v=null;x=l-g;z=l;y=m?l+m:Infinity;"mp4"==n?v=shaka.media.Mp4SegmentIndexParser.parse(w,e,d,c,x,z,y):(goog.asserts.assert(u,"WebM requires init data"),v=shaka.media.WebmSegmentIndexParser.parse(w,u,d,c,x,z,y));A=$jscomp.makeIterator(v);for(B=A.next();!B.done;B=A.next())E=B.value,E.codecs=a.representation.codecs,E.mimeType=a.representation.mimeType;h.notifySegments(v);goog.asserts.assert(!q,"Should not call generateSegmentIndex twice");q=new shaka.media.SegmentIndex(v);k&&q.fit(z,y,!0);return C.return(q)})};
1831
1834
  shaka.dash.SegmentBase.fromInheritance_=function(a){return a.segmentBase};shaka.dash.SegmentBase.computeIndexRange_=function(a){var b=shaka.dash.MpdUtils,c=shaka.dash.SegmentBase,d=shaka.util.TXml,e=b.inheritChild(a,c.fromInheritance_,"RepresentationIndex");a=b.inheritAttribute(a,c.fromInheritance_,"indexRange");a=d.parseRange(a||"");e&&(a=d.parseAttr(e,"range",d.parseRange,a));return a};
1832
1835
  shaka.dash.SegmentBase.computeIndexUris_=function(a){var b=shaka.util.ManifestParserUtils,c=shaka.util.StringUtils,d=shaka.dash.MpdUtils.inheritChild(a,shaka.dash.SegmentBase.fromInheritance_,"RepresentationIndex");a=a.representation.getBaseUris();d&&(c=c.htmlUnescape(d.attributes.sourceURL))&&(a=b.resolveUris(a,[c]));return a};
1833
1836
  shaka.dash.SegmentBase.checkSegmentIndexRangeSupport_=function(a,b){var c=shaka.dash.SegmentBase;c.checkSegmentIndexSupport(a,b);if(!c.computeIndexRange_(a))throw shaka.log.error("SegmentBase does not contain sufficient segment information:","the SegmentBase does not contain @indexRange","or a RepresentationIndex element.",a.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_NO_SEGMENT_INFO);};
@@ -1862,9 +1865,9 @@ a.representation),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.
1862
1865
  shaka.dash.SegmentTemplate.generateSegmentIndexFromIndexTemplate_=function(a,b,c,d){var e=shaka.dash.MpdUtils,f=shaka.util.ManifestParserUtils;goog.asserts.assert(d.indexTemplate,"must be using index template");e=e.fillUriTemplate(d.indexTemplate,a.representation.id,null,null,a.bandwidth||null,null);f=f.resolveUris(a.representation.getBaseUris(),[e]);return shaka.dash.SegmentBase.generateSegmentIndexFromUris(a,b,c,f,0,null,d.scaledPresentationTimeOffset)};
1863
1866
  shaka.dash.SegmentTemplate.generateSegmentIndexFromDuration_=function(a,b,c,d,e,f,g){goog.asserts.assert(b.mediaTemplate,"There should be a media template with duration");var h=shaka.dash.MpdUtils,k=shaka.util.ManifestParserUtils,l=a.presentationTimeline,m=a.periodInfo.start,n=a.period.id,p=a.periodInfo.duration,q=function(){var G=null!=n&&e[n]||p;return G?m+G:Infinity},r=b.segmentDuration;goog.asserts.assert(null!=r,"Segment duration must not be null!");var t=b.startNumber,w=b.timescale,u=b.mediaTemplate,
1864
1867
  v=a.bandwidth||null,x=a.representation.id,z=a.representation.getBaseUris,y=m-b.scaledPresentationTimeOffset,A=function(){var G=[Math.max(l.getSegmentAvailabilityStart(),m),Math.min(l.getSegmentAvailabilityEnd(),q())];goog.asserts.assert(G.every(isFinite),"Available presentation times must be finite!");goog.asserts.assert(G.every(function(H){return 0<=H}),"Available presentation times must be positive!");goog.asserts.assert(null!=r,"Segment duration must not be null!");G=G.map(function(H){return H-
1865
- m});G=[Math.ceil(G[0]/r),Math.ceil(G[1]/r)-1];a.representation.availabilityTimeOffset&&G[1]++;return G.map(function(H){return H+t})},B=A();c=a.dynamic?Math.max(B[0],B[1]-c+1):B[0];g=g||B[1];B=[];var D=function(G){goog.asserts.assert(null!=r,"Segment duration must not be null!");var H=(G-t)*r,J=H+b.scaledPresentationTimeOffset,K=H+m;H=K+r;var M=Math.min(H,q());goog.asserts.assert(K<M,"Generated a segment outside of the period!");K=new shaka.media.SegmentReference(K,M,function(){var L=J*w;"BigInt"in
1866
- window&&L>Number.MAX_SAFE_INTEGER&&(L=BigInt(J)*BigInt(w));L=h.fillUriTemplate(u,x,G,null,v,L);return k.resolveUris(z(),[L])},0,null,d,y,m,q(),[],"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,f);K.codecs=a.representation.codecs;K.mimeType=a.representation.mimeType;K.trueEndTime=H;return K},C=c;for(;C<=g;++C){var F=D(C);B.push(F)}var I=new shaka.media.SegmentIndex(B);B=l.getSegmentAvailabilityEnd()<q();C=l.isLive();if(B||C){var E=Math.max(c,g+1);c=r;a.representation.availabilityTimeOffset&&
1867
- (c=.1);I.updateEvery(c,function(){var G=l.getSegmentAvailabilityStart();I.evict(G);var H=$jscomp.makeIterator(A());H.next();H=H.next().value;for(var J=[];E<=H;){var K=D(E);J.push(K);E++}return G>q()&&!J.length?null:J})}return Promise.resolve(I)};
1868
+ m});G=[Math.ceil(G[0]/r),Math.ceil(G[1]/r)-1];a.representation.availabilityTimeOffset&&G[1]++;return G.map(function(H){return H+t})},B=A();c=a.dynamic?Math.max(B[0],B[1]-c+1):B[0];g=g||B[1];B=[];var E=function(G){goog.asserts.assert(null!=r,"Segment duration must not be null!");var H=(G-t)*r,J=H+b.scaledPresentationTimeOffset,K=H+m;H=K+r;var M=Math.min(H,q());goog.asserts.assert(K<M,"Generated a segment outside of the period!");K=new shaka.media.SegmentReference(K,M,function(){var L=J*w;"BigInt"in
1869
+ window&&L>Number.MAX_SAFE_INTEGER&&(L=BigInt(J)*BigInt(w));L=h.fillUriTemplate(u,x,G,null,v,L);return k.resolveUris(z(),[L])},0,null,d,y,m,q(),[],"",null,null,shaka.media.SegmentReference.Status.AVAILABLE,f);K.codecs=a.representation.codecs;K.mimeType=a.representation.mimeType;K.trueEndTime=H;return K},C=c;for(;C<=g;++C){var F=E(C);B.push(F)}var I=new shaka.media.SegmentIndex(B);B=l.getSegmentAvailabilityEnd()<q();C=l.isLive();if(B||C){var D=Math.max(c,g+1);c=r;a.representation.availabilityTimeOffset&&
1870
+ (c=.1);I.updateEvery(c,function(){var G=l.getSegmentAvailabilityStart();I.evict(G);var H=$jscomp.makeIterator(A());H.next();H=H.next().value;for(var J=[];D<=H;){var K=E(D);J.push(K);D++}return G>q()&&!J.length?null:J})}return Promise.resolve(I)};
1868
1871
  shaka.dash.SegmentTemplate.createInitSegment_=function(a,b){var c=shaka.dash.MpdUtils,d=shaka.util.ManifestParserUtils,e=shaka.dash.SegmentTemplate,f=a.representation.initialization;f||(f=c.inheritAttribute(a,e.fromInheritance_,"initialization"));if(!f)return null;f=shaka.util.StringUtils.htmlUnescape(f);var g=a.representation.id,h=a.bandwidth||null,k=a.representation.getBaseUris;e=shaka.dash.SegmentBase.createQualityInfo(a);b=new shaka.media.InitSegmentReference(function(){goog.asserts.assert(f,
1869
1872
  "Should have returned earler");var l=c.fillUriTemplate(f,g,null,null,h,null);return d.resolveUris(k(),[l])},0,null,e,null,null,b);b.codecs=a.representation.codecs;b.mimeType=a.representation.mimeType;return b};
1870
1873
  shaka.dash.TimelineSegmentIndex=function(a,b,c,d,e,f,g,h,k,l){shaka.media.SegmentIndex.call(this,[]);this.templateInfo_=a;this.representationId_=b;this.bandwidth_=c;this.getBaseUris_=d;this.periodStart_=e;this.periodEnd_=f;this.initSegmentReference_=g;this.aesKey_=k;this.segmentSequenceCadence_=l;h&&this.fitTimeline()};$jscomp.inherits(shaka.dash.TimelineSegmentIndex,shaka.media.SegmentIndex);
@@ -1907,19 +1910,19 @@ shaka.util.PeriodCombiner.prototype.release=function(){var a=this.audioStreams_.
1907
1910
  shaka.util.PeriodCombiner.prototype.getImageStreams=function(){return this.imageStreams_};
1908
1911
  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),
1909
1912
  q]}));if(b){var p=d.dummyStream_(c.TEXT);n.set(d.generateTextKey_(p),p);p=d.dummyStream_(c.IMAGE);l.set(d.generateImageKey_(p),p)}e.push(k);f.push(m);g.push(n);h.push(l)}return{audioStreamsPerPeriod:e,videoStreamsPerPeriod:f,textStreamsPerPeriod:g,imageStreamsPerPeriod:h}};
1910
- shaka.util.PeriodCombiner.prototype.combinePeriods=function(a,b,c){c=void 0===c?!1:c;var d=this,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F,I,E,G,H,J,K,M;return $jscomp.asyncExecutePromiseGeneratorProgram(function(L){if(1==L.nextAddress){e=shaka.util.ManifestParserUtils.ContentType;if(!b&&1==a.length)return f=d.getStreamsPerPeriod_(a,!1),g=f.audioStreamsPerPeriod,h=f.videoStreamsPerPeriod,k=f.textStreamsPerPeriod,l=f.imageStreamsPerPeriod,d.audioStreams_=Array.from(g[0].values()),d.videoStreams_=
1913
+ shaka.util.PeriodCombiner.prototype.combinePeriods=function(a,b,c){c=void 0===c?!1:c;var d=this,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F,I,D,G,H,J,K,M;return $jscomp.asyncExecutePromiseGeneratorProgram(function(L){if(1==L.nextAddress){e=shaka.util.ManifestParserUtils.ContentType;if(!b&&1==a.length)return f=d.getStreamsPerPeriod_(a,!1),g=f.audioStreamsPerPeriod,h=f.videoStreamsPerPeriod,k=f.textStreamsPerPeriod,l=f.imageStreamsPerPeriod,d.audioStreams_=Array.from(g[0].values()),d.videoStreams_=
1911
1914
  Array.from(h[0].values()),d.textStreams_=Array.from(k[0].values()),d.imageStreams_=Array.from(l[0].values()),L.jumpTo(2);m=c?d.usedPeriodIds_.size:0;n=-1;for(p=0;p<a.length;p++)q=a[p],d.usedPeriodIds_.has(q.id)||(d.usedPeriodIds_.add(q.id),-1==n&&(n=p));if(-1==n)return L.return();r=d.getStreamsPerPeriod_(a,!0);t=r.audioStreamsPerPeriod;w=r.videoStreamsPerPeriod;u=r.textStreamsPerPeriod;v=r.imageStreamsPerPeriod;return L.yield(Promise.all([d.combine_(d.audioStreams_,t,n,shaka.util.PeriodCombiner.cloneStream_,
1912
1915
  shaka.util.PeriodCombiner.concatenateStreams_,m),d.combine_(d.videoStreams_,w,n,shaka.util.PeriodCombiner.cloneStream_,shaka.util.PeriodCombiner.concatenateStreams_,m),d.combine_(d.textStreams_,u,n,shaka.util.PeriodCombiner.cloneStream_,shaka.util.PeriodCombiner.concatenateStreams_,m),d.combine_(d.imageStreams_,v,n,shaka.util.PeriodCombiner.cloneStream_,shaka.util.PeriodCombiner.concatenateStreams_,m)]),2)}x=0;z=[];if(d.videoStreams_.length&&d.audioStreams_.length)for(F=$jscomp.makeIterator(d.audioStreams_),
1913
- I=F.next();!I.done;I=F.next())for(E=I.value,G=$jscomp.makeIterator(d.videoStreams_),H=G.next();!H.done;H=G.next())J=H.value,K=shaka.media.DrmEngine.getCommonDrmInfos(E.drmInfos,J.drmInfos),E.drmInfos.length&&J.drmInfos.length&&!K.length?shaka.log.warning("Incompatible DRM in audio & video, skipping variant creation.",E,J):(M=x++,z.push({id:M,language:E.language,disabledUntilTime:0,primary:E.primary,audio:E,video:J,bandwidth:(E.bandwidth||0)+(J.bandwidth||0),drmInfos:K,allowedByApplication:!0,allowedByKeySystem:!0,
1914
- decodingInfos:[]}));else for(y=d.videoStreams_.length?d.videoStreams_:d.audioStreams_,A=$jscomp.makeIterator(y),B=A.next();!B.done;B=A.next())D=B.value,C=x++,z.push({id:C,language:D.language,disabledUntilTime:0,primary:D.primary,audio:D.type==e.AUDIO?D:null,video:D.type==e.VIDEO?D:null,bandwidth:D.bandwidth||0,drmInfos:D.drmInfos,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]});d.variants_=z;L.jumpToEnd()})};
1915
- shaka.util.PeriodCombiner.combineDbStreams=function(a){var b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F,I,E,G,H,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(K){switch(K.nextAddress){case 1:b=shaka.util.ManifestParserUtils.ContentType;c=shaka.util.PeriodCombiner;if(1==a.length)return K.return(a[0]);d=a.map(function(M){return new Map(M.filter(function(L){return L.type===b.AUDIO}).map(function(L){return[c.generateAudioKey_(L),L]}))});e=a.map(function(M){return new Map(M.filter(function(L){return L.type===
1916
+ I=F.next();!I.done;I=F.next())for(D=I.value,G=$jscomp.makeIterator(d.videoStreams_),H=G.next();!H.done;H=G.next())J=H.value,K=shaka.media.DrmEngine.getCommonDrmInfos(D.drmInfos,J.drmInfos),D.drmInfos.length&&J.drmInfos.length&&!K.length?shaka.log.warning("Incompatible DRM in audio & video, skipping variant creation.",D,J):(M=x++,z.push({id:M,language:D.language,disabledUntilTime:0,primary:D.primary,audio:D,video:J,bandwidth:(D.bandwidth||0)+(J.bandwidth||0),drmInfos:K,allowedByApplication:!0,allowedByKeySystem:!0,
1917
+ decodingInfos:[]}));else for(y=d.videoStreams_.length?d.videoStreams_:d.audioStreams_,A=$jscomp.makeIterator(y),B=A.next();!B.done;B=A.next())E=B.value,C=x++,z.push({id:C,language:E.language,disabledUntilTime:0,primary:E.primary,audio:E.type==e.AUDIO?E:null,video:E.type==e.VIDEO?E:null,bandwidth:E.bandwidth||0,drmInfos:E.drmInfos,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]});d.variants_=z;L.jumpToEnd()})};
1918
+ shaka.util.PeriodCombiner.combineDbStreams=function(a){var b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F,I,D,G,H,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(K){switch(K.nextAddress){case 1:b=shaka.util.ManifestParserUtils.ContentType;c=shaka.util.PeriodCombiner;if(1==a.length)return K.return(a[0]);d=a.map(function(M){return new Map(M.filter(function(L){return L.type===b.AUDIO}).map(function(L){return[c.generateAudioKey_(L),L]}))});e=a.map(function(M){return new Map(M.filter(function(L){return L.type===
1916
1919
  b.VIDEO}).map(function(L){return[c.generateVideoKey_(L),L]}))});f=a.map(function(M){return new Map(M.filter(function(L){return L.type===b.TEXT}).map(function(L){return[c.generateTextKey_(L),L]}))});g=a.map(function(M){return new Map(M.filter(function(L){return L.type===b.IMAGE}).map(function(L){return[c.generateImageKey_(L),L]}))});h=$jscomp.makeIterator(f);for(k=h.next();!k.done;k=h.next())l=k.value,m=c.dummyStreamDB_(b.TEXT),l.set(c.generateTextKey_(m),m);n=$jscomp.makeIterator(g);for(p=n.next();!p.done;p=
1917
1920
  n.next())q=p.value,r=c.dummyStreamDB_(b.IMAGE),q.set(c.generateImageKey_(r),r);t=new shaka.util.PeriodCombiner;return K.yield(t.combine_([],d,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),2);case 2:return w=K.yieldResult,K.yield(t.combine_([],e,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),3);case 3:return u=K.yieldResult,K.yield(t.combine_([],f,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,
1918
- 0),4);case 4:return v=K.yieldResult,K.yield(t.combine_([],g,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),5);case 5:x=K.yieldResult;z=0;if(u.length&&w.length)for(C=$jscomp.makeIterator(w),F=C.next();!F.done;F=C.next())for(I=F.value,E=$jscomp.makeIterator(u),G=E.next();!G.done;G=E.next())H=G.value,J=z++,H.variantIds.push(J),I.variantIds.push(J);else for(y=u.concat(w),A=$jscomp.makeIterator(y),B=A.next();!B.done;B=A.next())D=B.value,D.variantIds=[z++];
1921
+ 0),4);case 4:return v=K.yieldResult,K.yield(t.combine_([],g,0,shaka.util.PeriodCombiner.cloneStreamDB_,shaka.util.PeriodCombiner.concatenateStreamDBs_,0),5);case 5:x=K.yieldResult;z=0;if(u.length&&w.length)for(C=$jscomp.makeIterator(w),F=C.next();!F.done;F=C.next())for(I=F.value,D=$jscomp.makeIterator(u),G=D.next();!G.done;G=D.next())H=G.value,J=z++,H.variantIds.push(J),I.variantIds.push(J);else for(y=u.concat(w),A=$jscomp.makeIterator(y),B=A.next();!B.done;B=A.next())E=B.value,E.variantIds=[z++];
1919
1922
  return K.return(u.concat(w).concat(v).concat(x))}})};
1920
- shaka.util.PeriodCombiner.prototype.combine_=function(a,b,c,d,e,f){var g=this,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){switch(C.nextAddress){case 1:h=[];for(k=0;k<b.length;k++)k>=c?h.push(new Set(b[k].values())):h.push(new Set);l=$jscomp.makeIterator(a);m=l.next();case 2:if(m.done){C.jumpTo(4);break}n=m.value;return C.yield(g.extendExistingOutputStream_(n,b,c,e,h,f),5);case 5:p=C.yieldResult;if(!p)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
1923
+ shaka.util.PeriodCombiner.prototype.combine_=function(a,b,c,d,e,f){var g=this,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E;return $jscomp.asyncExecutePromiseGeneratorProgram(function(C){switch(C.nextAddress){case 1:h=[];for(k=0;k<b.length;k++)k>=c?h.push(new Set(b[k].values())):h.push(new Set);l=$jscomp.makeIterator(a);m=l.next();case 2:if(m.done){C.jumpTo(4);break}n=m.value;return C.yield(g.extendExistingOutputStream_(n,b,c,e,h,f),5);case 5:p=C.yieldResult;if(!p)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
1921
1924
  shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.PERIOD_FLATTENING_FAILED);m=l.next();C.jumpTo(2);break;case 4:q=$jscomp.makeIterator(h);for(r=q.next();!r.done;r=q.next())for(t=r.value,w=$jscomp.makeIterator(t),u=w.next();!u.done;u=w.next())v=u.value,(x=g.createNewOutputStream_(v,b,d,e,h))&&a.push(x);z=$jscomp.makeIterator(h);for(r=z.next();!r.done;r=z.next())for(y=r.value,A={},B=$jscomp.makeIterator(y),u=B.next();!u.done;A={$jscomp$loop$prop$stream$747$935:A.$jscomp$loop$prop$stream$747$935},
1922
- u=B.next())if(A.$jscomp$loop$prop$stream$747$935=u.value,!shaka.util.PeriodCombiner.isDummy_(A.$jscomp$loop$prop$stream$747$935)&&(D=a.some(function(F){return function(I){return g.areAVStreamsCompatible_(F.$jscomp$loop$prop$stream$747$935,I)}}(A))))throw shaka.log.error("Unused stream in period-flattening!",A.$jscomp$loop$prop$stream$747$935,a),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.PERIOD_FLATTENING_FAILED);return C.return(a)}})};
1925
+ u=B.next())if(A.$jscomp$loop$prop$stream$747$935=u.value,!shaka.util.PeriodCombiner.isDummy_(A.$jscomp$loop$prop$stream$747$935)&&(E=a.some(function(F){return function(I){return g.areAVStreamsCompatible_(F.$jscomp$loop$prop$stream$747$935,I)}}(A))))throw shaka.log.error("Unused stream in period-flattening!",A.$jscomp$loop$prop$stream$747$935,a),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.PERIOD_FLATTENING_FAILED);return C.return(a)}})};
1923
1926
  shaka.util.PeriodCombiner.prototype.extendExistingOutputStream_=function(a,b,c,d,e,f){var g=this;return $jscomp.asyncExecutePromiseGeneratorProgram(function(h){if(1==h.nextAddress)return g.findMatchesInAllPeriods_(b,a,0<f),goog.asserts.assert(a.createSegmentIndex,"outputStream should be a Stream type!"),a.matchedStreams?a.segmentIndex?h.yield(shaka.util.PeriodCombiner.extendOutputSegmentIndex_(a,c+f),2):h.jumpTo(2):(shaka.log.error("No matches extending output stream!",a,b),h.return(!1));shaka.util.PeriodCombiner.extendOutputStream_(a,
1924
1927
  c,d,e,f);return h.return(!0)})};
1925
1928
  shaka.util.PeriodCombiner.extendOutputSegmentIndex_=function(a,b){var c,d,e,f,g,h,k;return $jscomp.asyncExecutePromiseGeneratorProgram(function(l){if(1==l.nextAddress){c=[];d=a.matchedStreams;goog.asserts.assert(d,"matched streams should be valid");e=$jscomp.makeIterator(d);for(f=e.next();!f.done;f=e.next())g=f.value,c.push(g.createSegmentIndex()),g.trickModeVideo&&!g.trickModeVideo.segmentIndex&&c.push(g.trickModeVideo.createSegmentIndex());return l.yield(Promise.all(c),2)}if(a.segmentIndex instanceof
@@ -1974,11 +1977,11 @@ a.config_.retryParameters),k=Date.now(),p.yield(a.makeNetworkRequest_(h,b,{type:
1974
1977
  shaka.dash.DashParser.prototype.parseManifest_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r;return $jscomp.asyncExecutePromiseGeneratorProgram(function(t){if(1==t.nextAddress){e=a;f=d.config_.dash.manifestPreprocessor;g=shaka.util.PlayerConfiguration.defaultManifestPreprocessor;if(f!=g){shaka.Deprecate.deprecateFeature(5,"manifest.dash.manifestPreprocessor configuration","Please Use manifest.dash.manifestPreprocessorTXml instead.");h=shaka.util.XmlUtils.parseXml(e,c);if(!h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
1975
1978
  shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_INVALID_XML,b);f(h);e=shaka.util.XmlUtils.toArrayBuffer(h)}k=shaka.util.TXml.parseXml(e,c);if(!k)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_INVALID_XML,b);l=d.config_.dash.manifestPreprocessorTXml;m=shaka.util.PlayerConfiguration.defaultManifestPreprocessorTXml;l!=m&&l(k);if("Patch"===c)return t.return(d.processPatchManifest_(k));if(n=d.config_.dash.disableXlinkProcessing)return t.return(d.processManifest_(k,
1976
1979
  b));p=d.config_.dash.xlinkFailGracefully;q=shaka.dash.MpdUtils.processXlinks(k,d.config_.retryParameters,p,b,d.playerInterface_.networkingEngine);d.operationManager_.manage(q);return t.yield(q.promise,2)}r=t.yieldResult;return t.return(d.processManifest_(r,b))})};
1977
- shaka.dash.DashParser.prototype.processManifest_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F,I,E,G,H,J,K,M,L,O,P,N,U,R,T,V,Q,S,W,aa,Z,ba,ea,fa,na,ca,da,Y,ha,ia,oa,ja,ka,la,ma;return $jscomp.asyncExecutePromiseGeneratorProgram(function(X){switch(X.nextAddress){case 1:d=shaka.util.TXml;goog.asserts.assert(c.config_,"Must call configure() before processManifest_()!");c.contentSteeringManager_&&c.contentSteeringManager_.clearPreviousLocations();e=[b];f=[];g=new Map;h=d.findChildren(a,
1980
+ shaka.dash.DashParser.prototype.processManifest_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F,I,D,G,H,J,K,M,L,O,P,N,U,R,T,V,Q,S,W,aa,Z,ba,ea,fa,na,ca,da,Y,ha,ia,oa,ja,ka,la,ma;return $jscomp.asyncExecutePromiseGeneratorProgram(function(X){switch(X.nextAddress){case 1:d=shaka.util.TXml;goog.asserts.assert(c.config_,"Must call configure() before processManifest_()!");c.contentSteeringManager_&&c.contentSteeringManager_.clearPreviousLocations();e=[b];f=[];g=new Map;h=d.findChildren(a,
1978
1981
  "Location");k=$jscomp.makeIterator(h);for(l=k.next();!l.done;l=k.next())if(m=l.value,n=m.attributes.serviceLocation,p=d.getContents(m))q=shaka.util.ManifestParserUtils.resolveUris(e,[p])[0],n&&(c.contentSteeringManager_?c.contentSteeringManager_.addLocation("Location",n,q):g.set(n,q)),f.push(q);c.contentSteeringManager_?(r=c.contentSteeringManager_.getLocations("Location",!0),0<r.length&&(e=c.manifestUris_=r)):f.length&&(e=c.manifestUris_=f);c.manifestPatchContext_.mpdId=a.attributes.id||"";c.manifestPatchContext_.publishTime=
1979
1982
  d.parseAttr(a,"publishTime",d.parseDate)||0;c.patchLocationNodes_=d.findChildren(a,"PatchLocation");t=Promise.resolve();if((w=d.findChild(a,"ContentSteering"))&&c.playerInterface_){u=w.attributes.defaultServiceLocation;if(c.contentSteeringManager_)c.contentSteeringManager_.setBaseUris(e),c.contentSteeringManager_.setDefaultPathwayId(u);else if(c.contentSteeringManager_=new shaka.util.ContentSteeringManager(c.playerInterface_),c.contentSteeringManager_.configure(c.config_),c.contentSteeringManager_.setManifestType(shaka.media.ManifestParser.DASH),
1980
- c.contentSteeringManager_.setBaseUris(e),c.contentSteeringManager_.setDefaultPathwayId(u),v=d.getContents(w))(x=d.parseAttr(w,"queryBeforeStart",d.parseBoolean,!1))?t=c.contentSteeringManager_.requestInfo(v):c.contentSteeringManager_.requestInfo(v);z=$jscomp.makeIterator(g.keys());for(y=z.next();!y.done;y=z.next())A=y.value,B=g.get(A),c.contentSteeringManager_.addLocation("Location",A,B)}D=d.findChildren(a,"BaseURL");F=!1;if(c.contentSteeringManager_)for(I=$jscomp.makeIterator(D),E=I.next();!E.done;E=
1981
- I.next())G=E.value,H=G.attributes.serviceLocation,J=d.getContents(G),H&&J&&(c.contentSteeringManager_.addLocation("BaseURL",H,J),F=!0);F&&c.contentSteeringManager_||(K=D.map(d.getContents),C=shaka.util.ManifestParserUtils.resolveUris(e,K));M=function(){return c.contentSteeringManager_&&F?c.contentSteeringManager_.getLocations("BaseURL"):C?C:[]};c.manifestPatchContext_.getBaseUris=M;L=0;D&&D.length&&(L=d.parseAttr(D[0],"availabilityTimeOffset",d.parseFloat)||0);c.manifestPatchContext_.availabilityTimeOffset=
1983
+ c.contentSteeringManager_.setBaseUris(e),c.contentSteeringManager_.setDefaultPathwayId(u),v=d.getContents(w))(x=d.parseAttr(w,"queryBeforeStart",d.parseBoolean,!1))?t=c.contentSteeringManager_.requestInfo(v):c.contentSteeringManager_.requestInfo(v);z=$jscomp.makeIterator(g.keys());for(y=z.next();!y.done;y=z.next())A=y.value,B=g.get(A),c.contentSteeringManager_.addLocation("Location",A,B)}E=d.findChildren(a,"BaseURL");F=!1;if(c.contentSteeringManager_)for(I=$jscomp.makeIterator(E),D=I.next();!D.done;D=
1984
+ I.next())G=D.value,H=G.attributes.serviceLocation,J=d.getContents(G),H&&J&&(c.contentSteeringManager_.addLocation("BaseURL",H,J),F=!0);F&&c.contentSteeringManager_||(K=E.map(d.getContents),C=shaka.util.ManifestParserUtils.resolveUris(e,K));M=function(){return c.contentSteeringManager_&&F?c.contentSteeringManager_.getLocations("BaseURL"):C?C:[]};c.manifestPatchContext_.getBaseUris=M;L=0;E&&E.length&&(L=d.parseAttr(E[0],"availabilityTimeOffset",d.parseFloat)||0);c.manifestPatchContext_.availabilityTimeOffset=
1982
1985
  L;O=c.config_.dash.ignoreMinBufferTime;P=0;O||(P=d.parseAttr(a,"minBufferTime",d.parseDuration)||0);c.updatePeriod_=d.parseAttr(a,"minimumUpdatePeriod",d.parseDuration,-1);N=d.parseAttr(a,"availabilityStartTime",d.parseDate);U=d.parseAttr(a,"timeShiftBufferDepth",d.parseDuration);R=c.config_.dash.ignoreSuggestedPresentationDelay;T=null;R||(T=d.parseAttr(a,"suggestedPresentationDelay",d.parseDuration));V=c.config_.dash.ignoreMaxSegmentDuration;Q=null;V||(Q=d.parseAttr(a,"maxSegmentDuration",d.parseDuration));
1983
1986
  S=a.attributes.type||"static";c.manifestPatchContext_.type=S;if(c.manifest_)for(W=c.manifest_.presentationTimeline,aa=$jscomp.makeIterator(Object.values(c.streamMap_)),Z=aa.next();!Z.done;Z=aa.next())ba=Z.value,ba.segmentIndex&&ba.segmentIndex.evict(W.getSegmentAvailabilityStart());else ea=c.config_.defaultPresentationDelay||1.5*P,fa=null!=T?T:ea,W=new shaka.media.PresentationTimeline(N,fa,c.config_.dash.autoCorrectDrift);W.setStatic("static"==S);(na=W.isLive())&&!isNaN(c.config_.availabilityWindowOverride)&&
1984
1987
  (U=c.config_.availabilityWindowOverride);null==U&&(U=Infinity);W.setSegmentAvailabilityDuration(U);ca=a.attributes.profiles||"";c.manifestPatchContext_.profiles=ca.split(",");da={dynamic:"static"!=S,presentationTimeline:W,period:null,periodInfo:null,adaptationSet:null,representation:null,bandwidth:0,indexRangeWarningGiven:!1,availabilityTimeOffset:L,mediaPresentationDuration:null,profiles:ca.split(",")};Y=c.parsePeriods_(da,M,a);ha=Y.duration;ia=Y.periods;"static"!=S&&Y.durationDerivedFromPeriods||
@@ -1986,10 +1989,10 @@ W.setDuration(ha||Infinity);c.minTotalAvailabilityTimeOffset_&&!c.lowLatencyMode
1986
1989
  W.notifyMaxSegmentDuration(Q||1);goog.DEBUG&&W.assertIsValid();return X.yield(t,2);case 2:return c.lowLatencyMode_&&(P=0,ja=null!=T?T:c.config_.defaultPresentationDelay,W.setDelay(ja)),c.manifest_?X.yield(c.postPeriodProcessing_(Y.periods,!1),4):X.yield(c.periodCombiner_.combinePeriods(ia,da.dynamic),6);case 6:c.manifest_={presentationTimeline:W,variants:c.periodCombiner_.getVariants(),textStreams:c.periodCombiner_.getTextStreams(),imageStreams:c.periodCombiner_.getImageStreams(),offlineSessionIds:[],
1987
1990
  minBufferTime:P||0,sequenceMode:c.config_.dash.sequenceMode,ignoreManifestTimestampsInSegmentsMode:!1,type:shaka.media.ManifestParser.DASH,serviceDescription:c.parseServiceDescription_(a),nextUrl:c.parseMpdChaining_(a)};if(!W.usingPresentationStartTime()){X.jumpTo(7);break}ka=shaka.util.TXml;la=ka.findChildren(a,"UTCTiming");return X.yield(c.parseUtcTiming_(M,la),8);case 8:ma=X.yieldResult;if(!c.playerInterface_)return X.return();W.setClockOffset(ma);case 7:W.lockStartTime();case 4:c.playerInterface_.makeTextStreamsForClosedCaptions(c.manifest_),
1988
1991
  X.jumpToEnd()}})};shaka.dash.DashParser.prototype.postPeriodProcessing_=function(a,b){var c=this,d;return $jscomp.asyncExecutePromiseGeneratorProgram(function(e){if(1==e.nextAddress)return e.yield(c.periodCombiner_.combinePeriods(a,!0,b),2);c.manifest_.variants=c.periodCombiner_.getVariants();d=c.periodCombiner_.getTextStreams();0<d.length&&(c.manifest_.textStreams=d);c.manifest_.imageStreams=c.periodCombiner_.getImageStreams();c.playerInterface_.filter(c.manifest_);e.jumpToEnd()})};
1989
- shaka.dash.DashParser.prototype.processPatchManifest_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F,I,E;return $jscomp.asyncExecutePromiseGeneratorProgram(function(G){if(1==G.nextAddress){c=shaka.util.TXml;d=a.attributes.mpdId;e=c.parseAttr(a,"originalPublishTime",c.parseDate);if(!d||d!==b.manifestPatchContext_.mpdId||e!==b.manifestPatchContext_.publishTime)throw b.patchLocationNodes_=[],new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.MANIFEST,
1992
+ shaka.dash.DashParser.prototype.processPatchManifest_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F,I,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(G){if(1==G.nextAddress){c=shaka.util.TXml;d=a.attributes.mpdId;e=c.parseAttr(a,"originalPublishTime",c.parseDate);if(!d||d!==b.manifestPatchContext_.mpdId||e!==b.manifestPatchContext_.publishTime)throw b.patchLocationNodes_=[],new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.MANIFEST,
1990
1993
  shaka.util.Error.Code.DASH_INVALID_PATCH);f=[];g=[];h=new Set;k=$jscomp.makeIterator(c.getChildNodes(a));for(l=k.next();!l.done;l=k.next()){m=l.value;n=!0;p=c.parseXpath(m.attributes.sel||"");q=p[p.length-1];r=c.getContents(m)||"";if("MPD"===q.name)"mediaPresentationDuration"===q.attribute?(t=c.getContents(m)||"",b.parsePatchMediaPresentationDurationChange_(t)):"type"===q.attribute?b.parsePatchMpdTypeChange_(r):"publishTime"===q.attribute?b.manifestPatchContext_.publishTime=c.parseDate(r)||0:null===
1991
1994
  q.attribute&&"add"===m.tagName?g.push(m):n=!1;else if("PatchLocation"===q.name)b.updatePatchLocationNodes_(m);else if("Period"===q.name)"add"===m.tagName?g.push(m):"remove"===m.tagName&&q.id&&b.removePatchPeriod_(q.id);else if("SegmentTemplate"===q.name)for(w=b.modifySegmentTemplate_(m),u=$jscomp.makeIterator(w),v=u.next();!v.done;v=u.next())x=v.value,h.add(x);else if("SegmentTimeline"===q.name||"S"===q.name)for(z=b.modifyTimepoints_(m),y=$jscomp.makeIterator(z),v=y.next();!v.done;v=y.next())A=v.value,
1992
- h.add(A);else n=!1;n||shaka.log.warning("Unhandled "+m.tagName+" operation",m.attributes.sel)}B=$jscomp.makeIterator(h);for(v=B.next();!v.done;v=B.next())D=v.value,b.parsePatchSegment_(D);C=$jscomp.makeIterator(g);for(F=C.next();!F.done;F=C.next())I=F.value,f.push.apply(f,$jscomp.arrayFromIterable(b.parsePatchPeriod_(I)));return f.length?G.yield(b.postPeriodProcessing_(f,!0),2):G.jumpTo(2)}"static"==b.manifestPatchContext_.type&&(E=b.manifestPatchContext_.mediaPresentationDuration,b.manifest_.presentationTimeline.setDuration(E||
1995
+ h.add(A);else n=!1;n||shaka.log.warning("Unhandled "+m.tagName+" operation",m.attributes.sel)}B=$jscomp.makeIterator(h);for(v=B.next();!v.done;v=B.next())E=v.value,b.parsePatchSegment_(E);C=$jscomp.makeIterator(g);for(F=C.next();!F.done;F=C.next())I=F.value,f.push.apply(f,$jscomp.arrayFromIterable(b.parsePatchPeriod_(I)));return f.length?G.yield(b.postPeriodProcessing_(f,!0),2):G.jumpTo(2)}"static"==b.manifestPatchContext_.type&&(D=b.manifestPatchContext_.mediaPresentationDuration,b.manifest_.presentationTimeline.setDuration(D||
1993
1996
  Infinity));G.jumpToEnd()})};shaka.dash.DashParser.prototype.parsePatchMpdTypeChange_=function(a){this.manifest_.presentationTimeline.setStatic("static"==a);this.manifestPatchContext_.type=a;for(var b=$jscomp.makeIterator(this.contextCache_.values()),c=b.next();!c.done;c=b.next())c.value.dynamic="dynamic"==a;"static"==a&&(this.updatePeriod_=-1)};
1994
1997
  shaka.dash.DashParser.prototype.parsePatchMediaPresentationDurationChange_=function(a){a=shaka.util.TXml.parseDuration(a);if(null!=a){this.manifestPatchContext_.mediaPresentationDuration=a;for(var b=$jscomp.makeIterator(this.contextCache_.values()),c=b.next();!c.done;c=b.next())c.value.mediaPresentationDuration=a}};
1995
1998
  shaka.dash.DashParser.prototype.parsePatchPeriod_=function(a){goog.asserts.assert(this.manifestPatchContext_.getBaseUris,"Must provide getBaseUris on manifestPatchContext_");return this.parsePeriods_({dynamic:"dynamic"==this.manifestPatchContext_.type,presentationTimeline:this.manifest_.presentationTimeline,period:null,periodInfo:null,adaptationSet:null,representation:null,bandwidth:0,indexRangeWarningGiven:!1,availabilityTimeOffset:this.manifestPatchContext_.availabilityTimeOffset,profiles:this.manifestPatchContext_.profiles,
@@ -2014,22 +2017,22 @@ shaka.dash.DashParser.prototype.parseAdaptationSet_=function(a,b){var c=this,d=s
2014
2017
  var q=p.attributes.schemeIdUri;if(null==q||"urn:mpeg:dash:role:2011"==q)switch(p=p.attributes.value,p){case "main":k=!0;break;case "caption":case "subtitle":n=p}}var r,t;q=function(H){switch(H){case 1:case 6:case 13:case 14:case 15:return"SDR";case 16:return"PQ";case 18:return"HLG"}};var w=function(H){switch(H){case 1:case 5:case 6:case 7:return"srgb";case 9:return"rec2020";case 11:case 12:return"p3"}},u=d.findChildren(b,"EssentialProperty");l=null;var v=!1;p=!1;var x=$jscomp.makeIterator(u);for(u=
2015
2018
  x.next();!u.done;u=x.next()){u=u.value;var z=u.attributes.schemeIdUri;"http://dashif.org/guidelines/trickmode"==z?l=u.attributes.value:"urn:mpeg:mpegB:cicp:TransferCharacteristics"==z?r=q(parseInt(u.attributes.value,10)):"urn:mpeg:mpegB:cicp:ColourPrimaries"==z?t=w(parseInt(u.attributes.value,10)):"urn:mpeg:mpegB:cicp:MatrixCoefficients"!=z&&("urn:mpeg:dash:ssr:2023"==z&&this.config_.dash.enableFastSwitching?v=!0:p=!0)}var y=null;u=d.findChildren(b,"SupplementalProperty");x=$jscomp.makeIterator(u);
2016
2019
  for(u=x.next();!u.done;u=x.next())u=u.value,z=u.attributes.schemeIdUri,"http://dashif.org/guidelines/last-segment-number"==z?y=parseInt(u.attributes.value,10)-1:"urn:mpeg:mpegB:cicp:TransferCharacteristics"==z?r=q(parseInt(u.attributes.value,10)):"urn:mpeg:mpegB:cicp:ColourPrimaries"==z&&(t=w(parseInt(u.attributes.value,10)));w=d.findChildren(b,"Accessibility");q=shaka.util.LanguageUtils;var A=new Map;w=$jscomp.makeIterator(w);for(u=w.next();!u.done;u=w.next())if(x=u.value,u=x.attributes.schemeIdUri,
2017
- x=x.attributes.value,"urn:scte:dash:cc:cea-608:2015"==u)if(u=1,null!=x){x=x.split(";");z=$jscomp.makeIterator(x);for(var B=z.next();!B.done;B=z.next()){var D=B.value,C=B=void 0;D.includes("=")?(D=D.split("="),B=D[0].startsWith("CC")?D[0]:"CC"+D[0],C=D[1]||"und"):(B="CC"+u,2==x.length?u+=2:u++,C=D);A.set(B,q.normalize(C))}}else A.set("CC1","und");else if("urn:scte:dash:cc:cea-708:2015"==u)if(u=1,null!=x)for(x=$jscomp.makeIterator(x.split(";")),B=x.next();!B.done;B=x.next())B=B.value,D=z=void 0,B.includes("=")?
2018
- (B=B.split("="),z="svc"+B[0],D=B[1].split(",")[0].split(":").pop()):(z="svc"+u,u++,D=B),A.set(z,q.normalize(D));else A.set("svc1","und");else if("urn:mpeg:dash:role:2011"==u)null!=x&&(m.push(x),"captions"==x&&(n=f.TextStreamKind.CLOSED_CAPTION));else if("urn:tva:metadata:cs:AudioPurposeCS:2007"==u)if("1"==x)var F=shaka.media.ManifestParser.AccessibilityPurpose.VISUALLY_IMPAIRED;else"2"==x&&(F=shaka.media.ManifestParser.AccessibilityPurpose.HARD_OF_HEARING);if(p)return null;f=d.findChildren(b,"ContentProtection");
2019
- var I=h.parseFromAdaptationSet(f,this.config_.dash.ignoreDrmInfo,this.config_.dash.keySystemsByURI),E=shaka.util.LanguageUtils.normalize(a.adaptationSet.language||"und"),G=b.attributes.label;(h=d.findChildren(b,"Label"))&&h.length&&(h=shaka.util.TXml.getTextContents(h[0]))&&(G=h);d=d.findChildren(b,"Representation");b=d.map(function(H){if(H=c.parseRepresentation_(a,I,n,E,G,k,m,A,H,F,y))H.hdr=H.hdr||r,H.colorGamut=H.colorGamut||t,H.fastSwitching=v;return H}).filter(function(H){return!!H});if(0==b.length){l=
2020
+ x=x.attributes.value,"urn:scte:dash:cc:cea-608:2015"==u)if(u=1,null!=x){x=x.split(";");z=$jscomp.makeIterator(x);for(var B=z.next();!B.done;B=z.next()){var E=B.value,C=B=void 0;E.includes("=")?(E=E.split("="),B=E[0].startsWith("CC")?E[0]:"CC"+E[0],C=E[1]||"und"):(B="CC"+u,2==x.length?u+=2:u++,C=E);A.set(B,q.normalize(C))}}else A.set("CC1","und");else if("urn:scte:dash:cc:cea-708:2015"==u)if(u=1,null!=x)for(x=$jscomp.makeIterator(x.split(";")),B=x.next();!B.done;B=x.next())B=B.value,E=z=void 0,B.includes("=")?
2021
+ (B=B.split("="),z="svc"+B[0],E=B[1].split(",")[0].split(":").pop()):(z="svc"+u,u++,E=B),A.set(z,q.normalize(E));else A.set("svc1","und");else if("urn:mpeg:dash:role:2011"==u)null!=x&&(m.push(x),"captions"==x&&(n=f.TextStreamKind.CLOSED_CAPTION));else if("urn:tva:metadata:cs:AudioPurposeCS:2007"==u)if("1"==x)var F=shaka.media.ManifestParser.AccessibilityPurpose.VISUALLY_IMPAIRED;else"2"==x&&(F=shaka.media.ManifestParser.AccessibilityPurpose.HARD_OF_HEARING);if(p)return null;f=d.findChildren(b,"ContentProtection");
2022
+ var I=h.parseFromAdaptationSet(f,this.config_.dash.ignoreDrmInfo,this.config_.dash.keySystemsByURI),D=shaka.util.LanguageUtils.normalize(a.adaptationSet.language||"und"),G=b.attributes.label;(h=d.findChildren(b,"Label"))&&h.length&&(h=shaka.util.TXml.getTextContents(h[0]))&&(G=h);d=d.findChildren(b,"Representation");b=d.map(function(H){if(H=c.parseRepresentation_(a,I,n,D,G,k,m,A,H,F,y))H.hdr=H.hdr||r,H.colorGamut=H.colorGamut||t,H.fastSwitching=v;return H}).filter(function(H){return!!H});if(0==b.length){l=
2020
2023
  a.adaptationSet.contentType==g.IMAGE;if(this.config_.dash.ignoreEmptyAdaptationSet||e||l)return null;throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.DASH_EMPTY_ADAPTATION_SET);}if(!a.adaptationSet.contentType||a.adaptationSet.contentType==g.APPLICATION)for(a.adaptationSet.contentType=shaka.dash.DashParser.guessContentType_(b[0].mimeType,b[0].codecs),g=$jscomp.makeIterator(b),h=g.next();!h.done;h=g.next())h.value.type=a.adaptationSet.contentType;
2021
2024
  g=a.adaptationSet.id||"__fake__"+this.globalId_++;e=$jscomp.makeIterator(b);for(h=e.next();!h.done;h=e.next()){h=h.value;f=$jscomp.makeIterator(I.drmInfos);for(p=f.next();!p.done;p=f.next())p=p.value,p.keyIds=p.keyIds&&h.keyIds?new Set([].concat($jscomp.arrayFromIterable(p.keyIds),$jscomp.arrayFromIterable(h.keyIds))):p.keyIds||h.keyIds;this.config_.dash.enableAudioGroups&&(h.groupId=g)}e=d.map(function(H){return H.attributes.id}).filter(shaka.util.Functional.isNotNull);return{id:g,contentType:a.adaptationSet.contentType,
2022
- language:E,main:k,streams:b,drmInfos:I.drmInfos,trickModeFor:l,representationIds:e}};
2025
+ language:D,main:k,streams:b,drmInfos:I.drmInfos,trickModeFor:l,representationIds:e}};
2023
2026
  shaka.dash.DashParser.prototype.parseRepresentation_=function(a,b,c,d,e,f,g,h,k,l,m){var n=this,p=shaka.util.TXml,q=shaka.util.ManifestParserUtils.ContentType;a.representation=this.createFrame_(k,a.adaptationSet,null);var r=a.representation.id;this.minTotalAvailabilityTimeOffset_=Math.min(this.minTotalAvailabilityTimeOffset_,a.representation.availabilityTimeOffset);if(!this.verifyRepresentation_(a.representation))return shaka.log.warning("Skipping Representation",a.representation),null;var t=a.periodInfo.start;
2024
2027
  a.bandwidth=p.parseAttr(k,"bandwidth",p.parsePositiveInt)||0;var w=a.representation.contentType,u=w==q.TEXT||w==q.APPLICATION;q=w==q.IMAGE;try{var v=void 0;if(b.aes128Info){var x=a.representation.getBaseUris,z=shaka.util.ManifestParserUtils.resolveUris(x(),[b.aes128Info.keyUri]),y=shaka.net.NetworkingEngine.RequestType.KEY,A=shaka.net.NetworkingEngine.makeRequest(z,this.config_.retryParameters);v={bitsKey:128,blockCipherMode:"CBC",iv:b.aes128Info.iv,firstMediaSequenceNumber:0,fetchKey:function(){var G,
2025
2028
  H,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(K){if(1==K.nextAddress)return K.yield(n.makeNetworkRequest_(A,y),2);if(3!=K.nextAddress){G=K.yieldResult;if(!G.data||16!=G.data.byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.AES_128_INVALID_KEY_LENGTH);H={name:"AES-CBC"};J=v;return K.yield(window.crypto.subtle.importKey("raw",G.data,H,!0,["decrypt"]),3)}J.cryptoKey=K.yieldResult;v.fetchKey=void 0;K.jumpToEnd()})}}}a.representation.aesKey=
2026
2029
  v;x=function(G,H,J,K){return n.requestSegment_(G,H,J,K)};if(a.representation.segmentBase)var B=shaka.dash.SegmentBase.createStreamInfo(a,x,v);else if(a.representation.segmentList)B=shaka.dash.SegmentList.createStreamInfo(a,this.streamMap_,v);else if(a.representation.segmentTemplate)B=shaka.dash.SegmentTemplate.createStreamInfo(a,x,this.streamMap_,!!this.manifest_,this.config_.dash.initialSegmentLimit,this.periodDurations_,v,m,!1);else{goog.asserts.assert(u,"Must have Segment* with non-text streams.");
2027
- var D=a.periodInfo.duration||0,C=a.representation.getBaseUris;B={generateSegmentIndex:function(){var G=shaka.media.SegmentIndex.forSingleSegment(t,D,C());G.forEachTopLevelReference(function(H){H.mimeType=a.representation.mimeType;H.codecs=a.representation.codecs});return Promise.resolve(G)}}}}catch(G){if((u||q)&&G.code==shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)return null;throw G;}m=p.findChildren(k,"ContentProtection");m=shaka.dash.ContentProtection.parseFromRepresentation(m,b,this.config_.dash.ignoreDrmInfo,
2030
+ var E=a.periodInfo.duration||0,C=a.representation.getBaseUris;B={generateSegmentIndex:function(){var G=shaka.media.SegmentIndex.forSingleSegment(t,E,C());G.forEachTopLevelReference(function(H){H.mimeType=a.representation.mimeType;H.codecs=a.representation.codecs});return Promise.resolve(G)}}}}catch(G){if((u||q)&&G.code==shaka.util.Error.Code.DASH_NO_SEGMENT_INFO)return null;throw G;}m=p.findChildren(k,"ContentProtection");m=shaka.dash.ContentProtection.parseFromRepresentation(m,b,this.config_.dash.ignoreDrmInfo,
2028
2031
  this.config_.dash.keySystemsByURI);m=new Set(m?[m]:[]);x=!1;p.findChildren(k,"SupplementalProperty").some(function(G){return"tag:dolby.com,2018:dash:EC3_ExtensionType:2018"==G.attributes.schemeIdUri&&"JOC"==G.attributes.value})&&(x=!0);z=!1;u&&(z=g.includes("forced_subtitle")||g.includes("forced-subtitle"));var F;if(q&&((k=p.findChildren(k,"EssentialProperty").find(function(G){return["http://dashif.org/thumbnail_tile","http://dashif.org/guidelines/thumbnail_tile"].includes(G.attributes.schemeIdUri)}))&&
2029
- (F=k.attributes.value),!F))return null;var I;k=a.representation.codecs;a.profiles.includes("http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10")&&(k.includes("hvc1.2.4.L153.B0")||k.includes("hev1.2.4.L153.B0"))&&(I="PQ");p=a.representation.id?a.period.id+","+a.representation.id:"";this.patchLocationNodes_.length&&r&&this.contextCache_.set(a.period.id+","+r,this.cloneContext_(a));var E=p&&this.streamMap_[p]?this.streamMap_[p]:{id:this.globalId_++,originalId:a.representation.id,groupId:null,createSegmentIndex:function(){return Promise.resolve()},
2030
- closeSegmentIndex:function(){E.segmentIndex&&(E.segmentIndex.release(),E.segmentIndex=null)},segmentIndex:null,mimeType:a.representation.mimeType,codecs:k,frameRate:a.representation.frameRate,pixelAspectRatio:a.representation.pixelAspectRatio,bandwidth:a.bandwidth,width:a.representation.width,height:a.representation.height,kind:c,encrypted:0<b.drmInfos.length,drmInfos:b.drmInfos,keyIds:m,language:d,originalLanguage:a.adaptationSet.language,label:e,type:a.adaptationSet.contentType,primary:f,trickModeVideo:null,
2031
- emsgSchemeIdUris:a.representation.emsgSchemeIdUris,roles:g,forced:z,channelsCount:a.representation.numChannels,audioSamplingRate:a.representation.audioSamplingRate,spatialAudio:x,closedCaptions:h,hdr:I,colorGamut:void 0,videoLayout:void 0,tilesLayout:F,accessibilityPurpose:l,external:!1,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(a.representation.mimeType,a.representation.codecs)])};E.createSegmentIndex=function(){var G;return $jscomp.asyncExecutePromiseGeneratorProgram(function(H){if(1==
2032
- H.nextAddress){if(E.segmentIndex)return H.jumpTo(0);G=E;return H.yield(B.generateSegmentIndex(),3)}G.segmentIndex=H.yieldResult;H.jumpToEnd()})};p&&a.dynamic&&!this.streamMap_[p]&&(this.streamMap_[p]=E);return E};
2032
+ (F=k.attributes.value),!F))return null;var I;k=a.representation.codecs;a.profiles.includes("http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10")&&(k.includes("hvc1.2.4.L153.B0")||k.includes("hev1.2.4.L153.B0"))&&(I="PQ");p=a.representation.id?a.period.id+","+a.representation.id:"";this.patchLocationNodes_.length&&r&&this.contextCache_.set(a.period.id+","+r,this.cloneContext_(a));var D=p&&this.streamMap_[p]?this.streamMap_[p]:{id:this.globalId_++,originalId:a.representation.id,groupId:null,createSegmentIndex:function(){return Promise.resolve()},
2033
+ closeSegmentIndex:function(){D.segmentIndex&&(D.segmentIndex.release(),D.segmentIndex=null)},segmentIndex:null,mimeType:a.representation.mimeType,codecs:k,frameRate:a.representation.frameRate,pixelAspectRatio:a.representation.pixelAspectRatio,bandwidth:a.bandwidth,width:a.representation.width,height:a.representation.height,kind:c,encrypted:0<b.drmInfos.length,drmInfos:b.drmInfos,keyIds:m,language:d,originalLanguage:a.adaptationSet.language,label:e,type:a.adaptationSet.contentType,primary:f,trickModeVideo:null,
2034
+ emsgSchemeIdUris:a.representation.emsgSchemeIdUris,roles:g,forced:z,channelsCount:a.representation.numChannels,audioSamplingRate:a.representation.audioSamplingRate,spatialAudio:x,closedCaptions:h,hdr:I,colorGamut:void 0,videoLayout:void 0,tilesLayout:F,accessibilityPurpose:l,external:!1,fastSwitching:!1,fullMimeTypes:new Set([shaka.util.MimeUtils.getFullType(a.representation.mimeType,a.representation.codecs)])};D.createSegmentIndex=function(){var G;return $jscomp.asyncExecutePromiseGeneratorProgram(function(H){if(1==
2035
+ H.nextAddress){if(D.segmentIndex)return H.jumpTo(0);G=D;return H.yield(B.generateSegmentIndex(),3)}G.segmentIndex=H.yieldResult;H.jumpToEnd()})};p&&a.dynamic&&!this.streamMap_[p]&&(this.streamMap_[p]=D);return D};
2033
2036
  shaka.dash.DashParser.prototype.cloneContext_=function(a){for(var b={},c=$jscomp.makeIterator(Object.keys(a)),d=c.next();!d.done;d=c.next())if(d=d.value,["period","adaptationSet","representation"].includes(d)){var e=a[d];b[d]={segmentBase:null,segmentList:null,segmentTemplate:e.segmentTemplate,getBaseUris:e.getBaseUris,width:e.width,height:e.height,contentType:e.contentType,mimeType:e.mimeType,language:e.language,codecs:e.codecs,frameRate:e.frameRate,pixelAspectRatio:e.pixelAspectRatio,emsgSchemeIdUris:e.emsgSchemeIdUris,
2034
2037
  id:e.id,numChannels:e.numChannels,audioSamplingRate:e.audioSamplingRate,availabilityTimeOffset:e.availabilityTimeOffset,initialization:e.initialization}}else"periodInfo"==d?(e=a[d],b[d]={start:e.start,duration:e.duration,node:null,isLastPeriod:e.isLastPeriod}):b[d]=a[d];return b};
2035
2038
  shaka.dash.DashParser.prototype.onUpdate_=function(){var a=this,b,c;return $jscomp.asyncExecutePromiseGeneratorProgram(function(d){switch(d.nextAddress){case 1:return goog.asserts.assert(0<=a.updatePeriod_,"There should be an update period"),shaka.log.info("Updating manifest..."),b=0,d.setCatchFinallyBlocks(2),d.yield(a.requestManifest_(),4);case 4:b=d.yieldResult;d.leaveTryBlock(3);break;case 2:if(c=d.enterCatchBlock(),goog.asserts.assert(c instanceof shaka.util.Error,"Should only receive a Shaka error"),
@@ -2086,10 +2089,10 @@ shaka.hls.HlsParser.prototype.stop=function(){this.updatePlaylistTimer_&&(this.u
2086
2089
  this.aesKeyInfoMap_.clear();this.aesKeyMap_.clear();this.identityKeyMap_.clear();this.identityKidMap_.clear();this.contentSteeringManager_&&this.contentSteeringManager_.destroy();return Promise.all(a)};
2087
2090
  shaka.hls.HlsParser.prototype.update=function(){var a=this,b,c,d,e,f,g,h,k,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress){if(!a.isLive_())return m.return();b=[];c=Array.from(a.uriToStreamInfosMap_.values());a.lastTargetDuration_=Infinity;d=c.filter(function(n){return n.stream.segmentIndex});e=$jscomp.makeIterator(d);for(f=e.next();!f.done;f=e.next())g=f.value,b.push(a.updateStream_(g));return m.yield(Promise.all(b),2)}a.notifySegmentsForStreams_(d.map(function(n){return n.stream}));
2088
2091
  h=d.some(function(n){return 0==n.hasEndList});d.length&&!h&&(k=shaka.hls.HlsParser.PresentationType_,a.setPresentationType_(k.VOD),l=d.map(function(n){return n.maxTimestamp}),a.presentationTimeline_.setDuration(Math.min.apply(Math,$jscomp.arrayFromIterable(l))),a.playerInterface_.updateDuration());h&&a.determineDuration_();m.jumpToEnd()})};shaka.hls.HlsParser.prototype.getMediaSequenceToStartTimeFor_=function(a){return this.isLive_()?this.mediaSequenceToStartTimeByType_.get(a.type):a.mediaSequenceToStartTime};
2089
- shaka.hls.HlsParser.prototype.updateStream_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F,I,E,G,H,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(K){if(1==K.nextAddress){c=[];d=$jscomp.makeIterator(a.getUris());for(e=d.next();!e.done;e=d.next())f=e.value,g=new goog.Uri(f),h=g.getQueryData(),a.canBlockReload&&(0<=a.nextMediaSequence&&h.add("_HLS_msn",String(a.nextMediaSequence)),0<=a.nextPart&&h.add("_HLS_part",String(a.nextPart))),a.canSkipSegments&&h.add("_HLS_skip",
2092
+ shaka.hls.HlsParser.prototype.updateStream_=function(a){var b=this,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F,I,D,G,H,J;return $jscomp.asyncExecutePromiseGeneratorProgram(function(K){if(1==K.nextAddress){c=[];d=$jscomp.makeIterator(a.getUris());for(e=d.next();!e.done;e=d.next())f=e.value,g=new goog.Uri(f),h=g.getQueryData(),a.canBlockReload&&(0<=a.nextMediaSequence&&h.add("_HLS_msn",String(a.nextMediaSequence)),0<=a.nextPart&&h.add("_HLS_part",String(a.nextPart))),a.canSkipSegments&&h.add("_HLS_skip",
2090
2093
  "YES"),h.getCount()&&g.setQueryData(h),c.push(g.toString());return K.yield(b.requestManifest_(c,!0),2)}if(3!=K.nextAddress){k=K.yieldResult;if(!a.stream.segmentIndex)return K.return();l=b.manifestTextParser_.parsePlaylist(k.data);if(l.type!=shaka.hls.PlaylistType.MEDIA)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_INVALID_PLAYLIST_HIERARCHY);m=k.uri;m==k.originalUri||a.getUris().includes(m)||a.redirectUris.push(m);n=shaka.hls.Utils.filterTagsByName(l.tags,
2091
2094
  "EXT-X-DEFINE");p=b.parseMediaVariables_(n,m);q=a.stream;r=b.getMediaSequenceToStartTimeFor_(a);return K.yield(b.parseDrmInfo_(l,q.mimeType,a.getUris,p),3)}t=K.yieldResult;w=t.keyIds;u=t.drmInfos;v=function(M,L){return M.size===L.size&&[].concat($jscomp.arrayFromIterable(M)).every(function(O){return L.has(O)})};v(q.keyIds,w)||(q.keyIds=w,q.drmInfos=u,b.playerInterface_.newDrmInfo(q));x=b.createSegments_(l,q,r,p,a.getUris,a.type);z=x.segments;if(y=x.bandwidth)q.bandwidth=y;q.segmentIndex.mergeAndEvict(z,
2092
- b.presentationTimeline_.getSegmentAvailabilityStart());z.length&&(A=shaka.hls.Utils.getFirstTagWithNameAsNumber(l.tags,"EXT-X-MEDIA-SEQUENCE",0),D=(B=shaka.hls.Utils.getFirstTagWithName(l.tags,"EXT-X-SKIP"))?Number(B.getAttributeValue("SKIPPED-SEGMENTS")):0,C=b.getNextMediaSequenceAndPart_(A,z),F=C.nextMediaSequence,I=C.nextPart,a.nextMediaSequence=F+D,a.nextPart=I,E=r.get(A),q.segmentIndex.evict(E));G=z[0];goog.asserts.assert(G,"Should have segments!");a.minTimestamp=G.startTime;H=z[z.length-1];
2095
+ b.presentationTimeline_.getSegmentAvailabilityStart());z.length&&(A=shaka.hls.Utils.getFirstTagWithNameAsNumber(l.tags,"EXT-X-MEDIA-SEQUENCE",0),E=(B=shaka.hls.Utils.getFirstTagWithName(l.tags,"EXT-X-SKIP"))?Number(B.getAttributeValue("SKIPPED-SEGMENTS")):0,C=b.getNextMediaSequenceAndPart_(A,z),F=C.nextMediaSequence,I=C.nextPart,a.nextMediaSequence=F+E,a.nextPart=I,D=r.get(A),q.segmentIndex.evict(D));G=z[0];goog.asserts.assert(G,"Should have segments!");a.minTimestamp=G.startTime;H=z[z.length-1];
2093
2096
  goog.asserts.assert(H,"Should have segments!");a.maxTimestamp=H.endTime;if(J=shaka.hls.Utils.getFirstTagWithName(l.tags,"EXT-X-ENDLIST"))a.hasEndList=!0;b.determineLastTargetDuration_(l);K.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)};
2094
2097
  shaka.hls.HlsParser.prototype.syncStreamsWithSequenceNumber_=function(a){for(var b=-1==this.minSequenceNumber_,c=$jscomp.makeIterator(a),d=c.next();!d.done;d=c.next()){d=d.value;var e=d.stream.segmentIndex;goog.asserts.assert(e,"Only loaded streams should be synced");var f=this.getMediaSequenceToStartTimeFor_(d);if(e=e.earliestReference()){if(goog.DEBUG){var g=f.values().next().value;shaka.log.warning(g==e.startTime,"Sequence number map is not ordered as expected!")}f=$jscomp.makeIterator(f);for(g=
2095
2098
  f.next();!g.done;g=f.next()){g=$jscomp.makeIterator(g.value);var h=g.next().value;if(g.next().value==e.startTime){b&&(this.minSequenceNumber_=Math.max(this.minSequenceNumber_,h));d.firstSequenceNumber=h;break}}}}if(!(0>this.minSequenceNumber_))for(shaka.log.debug("Syncing HLS streams against base sequence number:",this.minSequenceNumber_),a=$jscomp.makeIterator(a),d=a.next();!d.done;d=a.next())if(b=d.value,this.ignoreManifestProgramDateTimeFor_(b.type)&&(c=b.stream.segmentIndex))if(d=this.minSequenceNumber_-
@@ -2097,18 +2100,18 @@ b.firstSequenceNumber,0<d&&(c.dropFirstReferences(d),c=c.earliestReference()))c=
2097
2100
  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()){var c=b.value.stream.segmentIndex;goog.asserts.assert(c,"Only loaded streams should be synced");c=c.earliestReference();null!=c&&null!=c.syncTime&&(this.lowestSyncTime_=Math.min(this.lowestSyncTime_,c.syncTime))}}a=this.lowestSyncTime_;if(Infinity!=a)for(shaka.log.debug("Syncing HLS streams against base time:",a),c=$jscomp.makeIterator(this.uriToStreamInfosMap_.values()),
2098
2101
  b=c.next();!b.done;b=c.next())if(b=b.value,!this.ignoreManifestProgramDateTimeFor_(b.type)){var d=b.stream.segmentIndex;if(null!=d){var e=d.earliestReference();if(null==e.syncTime)shaka.log.alwaysError("Missing EXT-X-PROGRAM-DATE-TIME for stream",b.getUris(),"Expect AV sync issues!");else for(this.offsetStreamInfo_(b,e.syncTime-a-e.startTime),b=$jscomp.makeIterator(d),d=b.next();!d.done;d=b.next())d.value.syncAgainst(a)}}};
2099
2102
  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())};
2100
- shaka.hls.HlsParser.prototype.parseManifest_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F,I,E,G,H,J,K,M,L,O,P,N,U,R,T,V,Q;return $jscomp.asyncExecutePromiseGeneratorProgram(function(S){switch(S.nextAddress){case 1:d=shaka.hls.Utils;goog.asserts.assert(c.masterPlaylistUri_,"Master playlist URI must be set before calling parseManifest_!");e=c.manifestTextParser_.parsePlaylist(a);f=d.filterTagsByName(e.tags,"EXT-X-DEFINE");g=[];h=[];k=[];goog.asserts.assert(null==c.presentationTimeline_,
2103
+ shaka.hls.HlsParser.prototype.parseManifest_=function(a,b){var c=this,d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F,I,D,G,H,J,K,M,L,O,P,N,U,R,T,V,Q;return $jscomp.asyncExecutePromiseGeneratorProgram(function(S){switch(S.nextAddress){case 1:d=shaka.hls.Utils;goog.asserts.assert(c.masterPlaylistUri_,"Master playlist URI must be set before calling parseManifest_!");e=c.manifestTextParser_.parsePlaylist(a);f=d.filterTagsByName(e.tags,"EXT-X-DEFINE");g=[];h=[];k=[];goog.asserts.assert(null==c.presentationTimeline_,
2101
2104
  "Presentation timeline created early!");c.presentationTimeline_=new shaka.media.PresentationTimeline(null,0);c.presentationTimeline_.setStatic(!0);l=function(){return[b]};if(e.type==shaka.hls.PlaylistType.MEDIA)return c.needsClosedCaptionsDetection_=!1,u=shaka.hls.Utils.filterTagsByName(e.tags,"EXT-X-DEFINE"),v=c.parseMediaVariables_(u,c.masterPlaylistUri_),S.yield(c.getMediaPlaylistBasicInfo_(e,l,v),7);c.parseMasterVariables_(f);m=d.filterTagsByName(e.tags,"EXT-X-MEDIA");n=d.filterTagsByName(e.tags,
2102
2105
  "EXT-X-STREAM-INF");p=d.filterTagsByName(e.tags,"EXT-X-IMAGE-STREAM-INF");q=d.filterTagsByName(e.tags,"EXT-X-I-FRAME-STREAM-INF");r=d.filterTagsByName(e.tags,"EXT-X-SESSION-KEY");t=d.filterTagsByName(e.tags,"EXT-X-SESSION-DATA");w=d.filterTagsByName(e.tags,"EXT-X-CONTENT-STEERING");c.processSessionData_(t);return S.yield(c.processContentSteering_(w),4);case 4:return c.parseCodecs_(n),c.parseClosedCaptions_(m),S.yield(c.createVariantsForTags_(n,r,m,l,c.globalVariables_),5);case 5:return g=S.yieldResult,
2103
- h=c.parseTexts_(m),S.yield(c.parseImages_(p,q),6);case 6:k=S.yieldResult;S.jumpTo(3);break;case 7:return x=S.yieldResult,z=x.type,y=x.mimeType,A=x.codecs,B=x.language,D=x.height,C=x.width,F=x.channelCount,I=x.sampleRate,E=x.closedCaptions,G=x.videoRange,H=x.colorGamut,S.yield(c.convertParsedPlaylistIntoStreamInfo_(c.globalId_++,v,e,l,b,A,z,B,!0,"Media Playlist",F,E,null,!1,I,!1,y),8);case 8:J=S.yieldResult,c.uriToStreamInfosMap_.set(b,J),"video"==z&&c.addVideoAttributes_(J.stream,C,D,null,G,null,
2106
+ h=c.parseTexts_(m),S.yield(c.parseImages_(p,q),6);case 6:k=S.yieldResult;S.jumpTo(3);break;case 7:return x=S.yieldResult,z=x.type,y=x.mimeType,A=x.codecs,B=x.language,E=x.height,C=x.width,F=x.channelCount,I=x.sampleRate,D=x.closedCaptions,G=x.videoRange,H=x.colorGamut,S.yield(c.convertParsedPlaylistIntoStreamInfo_(c.globalId_++,v,e,l,b,A,z,B,!0,"Media Playlist",F,D,null,!1,I,!1,y),8);case 8:J=S.yieldResult,c.uriToStreamInfosMap_.set(b,J),"video"==z&&c.addVideoAttributes_(J.stream,C,E,null,G,null,
2104
2107
  H),g.push({id:0,language:c.getLanguage_(B),disabledUntilTime:0,primary:!0,audio:"audio"==z?J.stream:null,video:"video"==z?J.stream:null,bandwidth:J.stream.bandwidth||0,allowedByApplication:!0,allowedByKeySystem:!0,decodingInfos:[]});case 3:if(!c.playerInterface_)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.PLAYER,shaka.util.Error.Code.OPERATION_ABORTED);e.type==shaka.hls.PlaylistType.MEDIA&&(c.isLive_()&&(c.changePresentationTimelineToLive_(e),K=c.getUpdatePlaylistDelay_(),
2105
2108
  c.updatePlaylistTimer_.tickAfter(K)),M=Array.from(c.uriToStreamInfosMap_.values()),c.finalizeStreams_(M),c.determineDuration_());c.manifest_={presentationTimeline:c.presentationTimeline_,variants:g,textStreams:h,imageStreams:k,offlineSessionIds:[],minBufferTime:0,sequenceMode:c.config_.hls.sequenceMode,ignoreManifestTimestampsInSegmentsMode:c.config_.hls.ignoreManifestTimestampsInSegmentsMode,type:shaka.media.ManifestParser.HLS,serviceDescription:null,nextUrl:null};if(c.codecInfoInManifest_||!c.config_.hls.disableCodecGuessing){S.jumpTo(9);
2106
2109
  break}L=[];O=$jscomp.makeIterator(c.manifest_.variants);for(P=O.next();!P.done;P=O.next())N=P.value,N.audio&&""===N.audio.codecs&&L.push(N.audio.createSegmentIndex()),N.video&&""===N.video.codecs&&L.push(N.video.createSegmentIndex());return S.yield(Promise.all(L),9);case 9:c.playerInterface_.makeTextStreamsForClosedCaptions(c.manifest_);if(1==g.length){U=[];R=g[0];T=$jscomp.makeIterator([R.video,R.audio]);for(V=T.next();!V.done;V=T.next())(Q=V.value)&&!Q.segmentIndex&&U.push(Q.createSegmentIndex());
2107
2110
  if(0<U.length)return S.yield(Promise.all(U),0)}S.jumpTo(0)}})};
2108
- shaka.hls.HlsParser.prototype.getMediaPlaylistBasicInfo_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F,I;return $jscomp.asyncExecutePromiseGeneratorProgram(function(E){switch(E.nextAddress){case 1:e=shaka.hls.HlsParser;f=shaka.media.SegmentUtils.getBasicInfoFromMimeType(d.config_.hls.mediaPlaylistFullMimeType);if(!a.segments.length)return E.return(f);g=a.segments[0];h=shaka.hls.Utils.constructSegmentUris(b(),g.verbatimSegmentUri,c);k=h[0];l=new goog.Uri(k);m=l.getPath().split(".").pop();
2109
- if(n=e.RAW_FORMATS_TO_MIME_TYPES_[m])return E.return(shaka.media.SegmentUtils.getBasicInfoFromMimeType(n));p=shaka.net.NetworkingEngine.RequestType.SEGMENT;q=null;r=d.getInitSegmentReference_(a,g.tags,b,c);d.mapTagToInitSegmentRefMap_.clear();if(!r){E.jumpTo(2);break}t=shaka.util.Networking.createSegmentRequest(r.getUris(),r.getStartByte(),r.getEndByte(),d.config_.retryParameters);w=shaka.net.NetworkingEngine.AdvancedRequestType.INIT_SEGMENT;return E.yield(d.makeNetworkRequest_(t,p,{type:w}),3);case 3:u=
2110
- E.yieldResult,q=u.data;case 2:v=0;x=null;if(z=shaka.hls.Utils.getFirstTagWithName(g.tags,"EXT-X-BYTERANGE"))y=$jscomp.makeIterator(d.parseByteRange_(null,z.value)),v=y.next().value,x=y.next().value;A=shaka.util.Networking.createSegmentRequest(h,v,x,d.config_.retryParameters);B=shaka.net.NetworkingEngine.AdvancedRequestType.MEDIA_SEGMENT;return E.yield(d.makeNetworkRequest_(A,p,{type:B}),4);case 4:D=E.yieldResult;(C=D.headers["content-type"])&&(C=C.split(";")[0].toLowerCase());if("ts"==m||"video/mp2t"==
2111
- C){if(F=shaka.media.SegmentUtils.getBasicInfoFromTs(D.data))return E.return(F)}else if("mp4"==m||"cmfv"==m||"m4s"==m||"fmp4"==m||"video/mp4"==C||"audio/mp4"==C||"video/iso.segment"==C)if(I=shaka.media.SegmentUtils.getBasicInfoFromMp4(q,D.data))return E.return(I);return E.return(f)}})};
2111
+ shaka.hls.HlsParser.prototype.getMediaPlaylistBasicInfo_=function(a,b,c){var d=this,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F,I;return $jscomp.asyncExecutePromiseGeneratorProgram(function(D){switch(D.nextAddress){case 1:e=shaka.hls.HlsParser;f=shaka.media.SegmentUtils.getBasicInfoFromMimeType(d.config_.hls.mediaPlaylistFullMimeType);if(!a.segments.length)return D.return(f);g=a.segments[0];h=shaka.hls.Utils.constructSegmentUris(b(),g.verbatimSegmentUri,c);k=h[0];l=new goog.Uri(k);m=l.getPath().split(".").pop();
2112
+ if(n=e.RAW_FORMATS_TO_MIME_TYPES_[m])return D.return(shaka.media.SegmentUtils.getBasicInfoFromMimeType(n));p=shaka.net.NetworkingEngine.RequestType.SEGMENT;q=null;r=d.getInitSegmentReference_(a,g.tags,b,c);d.mapTagToInitSegmentRefMap_.clear();if(!r){D.jumpTo(2);break}t=shaka.util.Networking.createSegmentRequest(r.getUris(),r.getStartByte(),r.getEndByte(),d.config_.retryParameters);w=shaka.net.NetworkingEngine.AdvancedRequestType.INIT_SEGMENT;return D.yield(d.makeNetworkRequest_(t,p,{type:w}),3);case 3:u=
2113
+ D.yieldResult,q=u.data;case 2:v=0;x=null;if(z=shaka.hls.Utils.getFirstTagWithName(g.tags,"EXT-X-BYTERANGE"))y=$jscomp.makeIterator(d.parseByteRange_(null,z.value)),v=y.next().value,x=y.next().value;A=shaka.util.Networking.createSegmentRequest(h,v,x,d.config_.retryParameters);B=shaka.net.NetworkingEngine.AdvancedRequestType.MEDIA_SEGMENT;return D.yield(d.makeNetworkRequest_(A,p,{type:B}),4);case 4:E=D.yieldResult;(C=E.headers["content-type"])&&(C=C.split(";")[0].toLowerCase());if("ts"==m||"video/mp2t"==
2114
+ C){if(F=shaka.media.SegmentUtils.getBasicInfoFromTs(E.data))return D.return(F)}else if("mp4"==m||"cmfv"==m||"m4s"==m||"fmp4"==m||"video/mp4"==C||"audio/mp4"==C||"video/iso.segment"==C)if(I=shaka.media.SegmentUtils.getBasicInfoFromMp4(q,E.data))return D.return(I);return D.return(f)}})};
2112
2115
  shaka.hls.HlsParser.prototype.determineDuration_=function(){goog.asserts.assert(this.presentationTimeline_,"Presentation timeline not created!");if(this.isLive_()){if(this.presentationType_==shaka.hls.HlsParser.PresentationType_.LIVE){var a=this.getLiveDuration_();this.config_.hls.useSafariBehaviorForLive&&(a=this.presentationTimeline_.getDelay());isNaN(this.config_.availabilityWindowOverride)||(a=this.config_.availabilityWindowOverride);this.presentationTimeline_.setSegmentAvailabilityDuration(a)}}else this.presentationTimeline_.setDuration(this.getMinDuration_());
2113
2116
  if(!this.presentationTimeline_.isStartTimeLocked()){a=$jscomp.makeIterator(this.uriToStreamInfosMap_.values());for(var b=a.next();!b.done;b=a.next())b=b.value,!b.stream.segmentIndex||"audio"!=b.type&&"video"!=b.type||(b=b.stream.segmentIndex.get(0))&&b.syncTime&&this.presentationTimeline_.setInitialProgramDateTime(b.syncTime)}this.presentationTimeline_.lockStartTime();goog.asserts.assert(!this.presentationTimeline_.usingPresentationStartTime(),"We should not be using the presentation start time in HLS!")};
2114
2117
  shaka.hls.HlsParser.prototype.parseMasterVariables_=function(a){var b=(new goog.Uri(this.masterPlaylistUri_)).getQueryData();a=$jscomp.makeIterator(a);for(var c=a.next();!c.done;c=a.next()){var d=c.value;c=d.getAttributeValue("NAME");var e=d.getAttributeValue("VALUE");d=d.getAttributeValue("QUERYPARAM");c&&e&&(this.globalVariables_.has(c)||this.globalVariables_.set(c,e));d&&(c=b.get(d)[0])&&!this.globalVariables_.has(c)&&this.globalVariables_.set(d,c)}};
@@ -2123,11 +2126,11 @@ this.groupIdToStreamInfosMap_.get(f)){f=$jscomp.makeIterator(f);for(var g=f.next
2123
2126
  shaka.hls.HlsParser.prototype.parseImages_=function(a,b){var c=this,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){if(1==f.nextAddress)return d=a.map(function(g){var h,k,l;return $jscomp.asyncExecutePromiseGeneratorProgram(function(m){if(1==m.nextAddress){if(h=c.config_.disableThumbnails)return m.return(null);m.setCatchFinallyBlocks(2);return m.yield(c.createStreamInfoFromImageTag_(g),4)}if(2!=m.nextAddress)return k=m.yieldResult,m.return(k.stream);l=m.enterCatchBlock();if(c.config_.hls.ignoreImageStreamFailures)return m.return(null);
2124
2127
  throw l;})}).concat(b.map(function(g){if(c.config_.disableThumbnails)return null;try{var h=c.createStreamInfoFromIframeTag_(g);return"mjpg"!==h.stream.codecs?null:h.stream}catch(k){if(c.config_.hls.ignoreImageStreamFailures)return null;throw k;}})),f.yield(Promise.all(d),2);e=f.yieldResult;return f.return(e.filter(function(g){return g}))})};
2125
2128
  shaka.hls.HlsParser.prototype.createStreamInfosFromMediaTags_=function(a,b){a=a.filter(function(g){var h=g.getAttributeValue("URI")||"";return"SUBTITLES"!=g.getAttributeValue("TYPE")&&""!=h});var c={};a=$jscomp.makeIterator(a);for(var d=a.next();!d.done;d=a.next()){d=d.value;var e=d.getTagKey();c[e]?c[e].push(d):c[e]=[d]}for(var f in c)this.createStreamInfoFromMediaTags_(c[f],b)};
2126
- shaka.hls.HlsParser.prototype.createVariantsForTags_=function(a,b,c,d,e){var f=this,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F,I,E,G,H,J,K,M,L,O,P,N,U,R,T,V;return $jscomp.asyncExecutePromiseGeneratorProgram(function(Q){switch(Q.nextAddress){case 1:g=[];h=new Set;if(!(0<b.length)){Q.jumpTo(2);break}k=$jscomp.makeIterator(b);l=k.next();case 3:if(l.done){Q.jumpTo(2);break}m=l.value;n=m.getRequiredAttrValue("METHOD");p=m.getAttributeValue("KEYFORMAT")||"identity";q=null;if("NONE"==n){Q.jumpTo(4);break}if(f.isAesMethod_(n)){r=
2129
+ shaka.hls.HlsParser.prototype.createVariantsForTags_=function(a,b,c,d,e){var f=this,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F,I,D,G,H,J,K,M,L,O,P,N,U,R,T,V;return $jscomp.asyncExecutePromiseGeneratorProgram(function(Q){switch(Q.nextAddress){case 1:g=[];h=new Set;if(!(0<b.length)){Q.jumpTo(2);break}k=$jscomp.makeIterator(b);l=k.next();case 3:if(l.done){Q.jumpTo(2);break}m=l.value;n=m.getRequiredAttrValue("METHOD");p=m.getAttributeValue("KEYFORMAT")||"identity";q=null;if("NONE"==n){Q.jumpTo(4);break}if(f.isAesMethod_(n)){r=
2127
2130
  shaka.hls.Utils.constructSegmentUris(d(),m.getRequiredAttrValue("URI"),e);t=r.sort().join("");f.aesKeyMap_.has(t)||(w=shaka.net.NetworkingEngine.RequestType.KEY,u=shaka.net.NetworkingEngine.makeRequest(r,f.config_.retryParameters),v=f.makeNetworkRequest_(u,w),f.aesKeyMap_.set(t,v));Q.jumpTo(4);break}if("identity"!=p){q=(x=shaka.hls.HlsParser.KEYFORMATS_TO_DRM_PARSERS_[p])?x(m,""):null;Q.jumpTo(6);break}return Q.yield(f.identityDrmParser_(m,"",d,null,e),9);case 9:q=Q.yieldResult;case 6:if(q){if(q.keyIds)for(z=
2128
- $jscomp.makeIterator(q.keyIds),y=z.next();!y.done;y=z.next())A=y.value,h.add(A);g.push(q)}else shaka.log.warning("Unsupported HLS KEYFORMAT",p);case 4:l=k.next();Q.jumpTo(3);break;case 2:B={};D=$jscomp.makeIterator(a);for(C=D.next();!C.done;C=D.next())F=C.value,I=F.getTagKey(),B[I]?B[I].push(F):B[I]=[F];E=[];for(G in B)H=B[G],J=H[0],K=J.getAttributeValue("FRAME-RATE"),M=Number(J.getAttributeValue("AVERAGE-BANDWIDTH"))||Number(J.getRequiredAttrValue("BANDWIDTH")),L=J.getAttributeValue("RESOLUTION"),
2129
- O=$jscomp.makeIterator(L?L.split("x"):[null,null]),P=O.next().value,N=O.next().value,U=J.getAttributeValue("VIDEO-RANGE"),(R=J.getAttributeValue("REQ-VIDEO-LAYOUT"))&&R.includes(",")&&(T=R.split(",").filter(function(S){return"CH-STEREO"==S||"CH-MONO"==S}),R=T[0]),R=R||"CH-MONO",V=f.createStreamInfosForVariantTags_(H,c,L,K,M),goog.asserts.assert(V.audio.length||V.video.length,"We should have created a stream!"),E.push.apply(E,$jscomp.arrayFromIterable(f.createVariants_(V.audio,V.video,M,P,N,K,U,R,
2130
- g,h)));return Q.return(E.filter(function(S){return null!=S}))}})};
2131
+ $jscomp.makeIterator(q.keyIds),y=z.next();!y.done;y=z.next())A=y.value,h.add(A);g.push(q)}else shaka.log.warning("Unsupported HLS KEYFORMAT",p);case 4:l=k.next();Q.jumpTo(3);break;case 2:B={};E=$jscomp.makeIterator(a);for(C=E.next();!C.done;C=E.next())F=C.value,I=F.getTagKey(),B[I]?B[I].push(F):B[I]=[F];D=[];for(G in B)H=B[G],J=H[0],K=J.getAttributeValue("FRAME-RATE"),M=Number(J.getAttributeValue("AVERAGE-BANDWIDTH"))||Number(J.getRequiredAttrValue("BANDWIDTH")),L=J.getAttributeValue("RESOLUTION"),
2132
+ O=$jscomp.makeIterator(L?L.split("x"):[null,null]),P=O.next().value,N=O.next().value,U=J.getAttributeValue("VIDEO-RANGE"),(R=J.getAttributeValue("REQ-VIDEO-LAYOUT"))&&R.includes(",")&&(T=R.split(",").filter(function(S){return"CH-STEREO"==S||"CH-MONO"==S}),R=T[0]),R=R||"CH-MONO",V=f.createStreamInfosForVariantTags_(H,c,L,K,M),goog.asserts.assert(V.audio.length||V.video.length,"We should have created a stream!"),D.push.apply(D,$jscomp.arrayFromIterable(f.createVariants_(V.audio,V.video,M,P,N,K,U,R,
2133
+ g,h)));return Q.return(D.filter(function(S){return null!=S}))}})};
2131
2134
  shaka.hls.HlsParser.prototype.createStreamInfosForVariantTags_=function(a,b,c,d,e){d=shaka.util.ManifestParserUtils.ContentType;c={audio:[],video:[]};for(var f=new Map,g=[],h=!1,k=!1,l=$jscomp.makeIterator(a),m=l.next();!m.done;m=l.next()){m=m.value;var n=m.getAttributeValue("AUDIO"),p=m.getAttributeValue("VIDEO");goog.asserts.assert(null==n||null==p,"Unexpected: both video and audio described by media tags!");var q=n||p;if(q){g.includes(q)||g.push(q);var r=m.getAttributeValue("PATHWAY-ID");r&&f.set(q,
2132
2135
  r);n?h=!0:p&&(k=!0);shaka.log.debug("Guessing stream type for",m.toString())}}g.length&&b.length&&(l=b.filter(function(w){return g.includes(w.getRequiredAttrValue("GROUP-ID"))}),this.createStreamInfosFromMediaTags_(l,f));l=(f=g.sort().join(","))&&this.groupIdToStreamInfosMap_.has(f)?this.groupIdToStreamInfosMap_.get(f):[];h?c.audio.push.apply(c.audio,$jscomp.arrayFromIterable(l)):k&&c.video.push.apply(c.video,$jscomp.arrayFromIterable(l));k=!1;var t=a.map(function(w){return w.getRequiredAttrValue("URI")});
2133
2136
  p=c.audio.find(function(w){return w&&w.getUris().find(function(u){return t.includes(u)})});h=this.getCodecsForVariantTag_(a[0]);m=shaka.util.ManifestParserUtils.guessCodecsSafe(d.VIDEO,h);(n=shaka.util.ManifestParserUtils.guessCodecsSafe(d.AUDIO,h))&&!m?(d=d.AUDIO,shaka.log.debug("Guessing audio-only."),k=0<c.audio.length):!c.audio.length&&!c.video.length&&n&&m?(shaka.log.debug("Guessing multiplexed audio+video."),d=d.VIDEO,h=[[m,n].join()]):c.audio.length&&p?(shaka.log.debug("Guessing audio-only."),
@@ -2154,9 +2157,9 @@ shaka.hls.HlsParser.prototype.createStreamInfoFromIframeTag_=function(a){goog.as
2154
2157
  shaka.hls.HlsParser.prototype.createStreamInfoFromVariantTags_=function(a,b,c,d,e,f,g,h,k){k=this.globalId_++;for(var l=[],m=$jscomp.makeIterator(a),n=m.next();!n.done;n=m.next()){var p=n.value;goog.asserts.assert("EXT-X-STREAM-INF"==p.name,"Should only be called on variant tags!");n=p.getRequiredAttrValue("URI");p=p.getAttributeValue("PATHWAY-ID");this.contentSteeringManager_&&p&&this.contentSteeringManager_.addLocation(k,p,n);l.push(n)}m=l.sort().join(",");if(this.uriToStreamInfosMap_.has(m))return this.uriToStreamInfosMap_.get(m);
2155
2158
  a=this.getClosedCaptions_(a[0],c);b=shaka.util.ManifestParserUtils.guessCodecs(c,b);c=this.createStreamInfo_(k,l,b,c,d,!1,e,f,a,g,!1,h,!1);this.uriToStreamInfosMap_.set(m,c);return c};
2156
2159
  shaka.hls.HlsParser.prototype.createStreamInfo_=function(a,b,c,d,e,f,g,h,k,l,m,n,p){var q=this,r=this.makeStreamObject_(a,c,d,e,f,g,h,k,l,m,n,p),t=[],w=function(){return q.contentSteeringManager_&&1<b.length?q.contentSteeringManager_.getLocations(a):t.concat(shaka.hls.Utils.constructUris([q.masterPlaylistUri_],b,q.globalVariables_))},u={stream:r,type:d,redirectUris:t,getUris:w,minTimestamp:0,maxTimestamp:0,mediaSequenceToStartTime:new Map,canSkipSegments:!1,canBlockReload:!1,hasEndList:!1,firstSequenceNumber:-1,
2157
- nextMediaSequence:-1,nextPart:-1,loadedOnce:!1},v=function(y){var A,B,D,C,F,I,E,G,H,J,K,M,L,O,P,N,U,R,T,V;return $jscomp.asyncExecutePromiseGeneratorProgram(function(Q){switch(Q.nextAddress){case 1:return A=shaka.util.ManifestParserUtils.ContentType,B=u.getUris(),Q.yield(q.requestManifest_(u.getUris(),!0),2);case 2:D=Q.yieldResult;if(y.aborted)return Q.return();C=D.uri;C==D.originalUri||B.includes(C)||t.push(C);F=q.manifestTextParser_.parsePlaylist(D.data);I=shaka.hls.Utils.filterTagsByName(F.tags,
2158
- "EXT-X-DEFINE");E=q.parseMediaVariables_(I,C);G=void 0;H=!1;if(!(!q.codecInfoInManifest_&&q.config_.hls.disableCodecGuessing||q.needsClosedCaptionsDetection_&&d==A.VIDEO&&!q.config_.hls.disableClosedCaptionsDetection)){Q.jumpTo(3);break}q.needsClosedCaptionsDetection_=!1;return Q.yield(q.getMediaPlaylistBasicInfo_(F,w,E),4);case 4:J=Q.yieldResult,goog.asserts.assert(d===J.type,"Media types should match!"),!J.closedCaptions.size||k&&k.size==J.closedCaptions.size||(k=J.closedCaptions,H=!0),!q.codecInfoInManifest_&&
2159
- q.config_.hls.disableCodecGuessing&&(G=J.mimeType,c=J.codecs);case 3:return K=q.isLive_(),Q.yield(q.convertParsedPlaylistIntoStreamInfo_(a,E,F,w,C,c,d,e,f,g,h,k,l,m,n,p,G),5);case 5:M=Q.yieldResult;if(y.aborted)return Q.return();L=M.stream;q.isLive_()&&!K&&q.changePresentationTimelineToLive_(F);u.minTimestamp=M.minTimestamp;u.maxTimestamp=M.maxTimestamp;u.canSkipSegments=M.canSkipSegments;u.canBlockReload=M.canBlockReload;u.hasEndList=M.hasEndList;u.mediaSequenceToStartTime=M.mediaSequenceToStartTime;
2160
+ nextMediaSequence:-1,nextPart:-1,loadedOnce:!1},v=function(y){var A,B,E,C,F,I,D,G,H,J,K,M,L,O,P,N,U,R,T,V;return $jscomp.asyncExecutePromiseGeneratorProgram(function(Q){switch(Q.nextAddress){case 1:return A=shaka.util.ManifestParserUtils.ContentType,B=u.getUris(),Q.yield(q.requestManifest_(u.getUris(),!0),2);case 2:E=Q.yieldResult;if(y.aborted)return Q.return();C=E.uri;C==E.originalUri||B.includes(C)||t.push(C);F=q.manifestTextParser_.parsePlaylist(E.data);I=shaka.hls.Utils.filterTagsByName(F.tags,
2161
+ "EXT-X-DEFINE");D=q.parseMediaVariables_(I,C);G=void 0;H=!1;if(!(!q.codecInfoInManifest_&&q.config_.hls.disableCodecGuessing||q.needsClosedCaptionsDetection_&&d==A.VIDEO&&!q.config_.hls.disableClosedCaptionsDetection)){Q.jumpTo(3);break}q.needsClosedCaptionsDetection_=!1;return Q.yield(q.getMediaPlaylistBasicInfo_(F,w,D),4);case 4:J=Q.yieldResult,goog.asserts.assert(d===J.type,"Media types should match!"),!J.closedCaptions.size||k&&k.size==J.closedCaptions.size||(k=J.closedCaptions,H=!0),!q.codecInfoInManifest_&&
2162
+ q.config_.hls.disableCodecGuessing&&(G=J.mimeType,c=J.codecs);case 3:return K=q.isLive_(),Q.yield(q.convertParsedPlaylistIntoStreamInfo_(a,D,F,w,C,c,d,e,f,g,h,k,l,m,n,p,G),5);case 5:M=Q.yieldResult;if(y.aborted)return Q.return();L=M.stream;q.isLive_()&&!K&&q.changePresentationTimelineToLive_(F);u.minTimestamp=M.minTimestamp;u.maxTimestamp=M.maxTimestamp;u.canSkipSegments=M.canSkipSegments;u.canBlockReload=M.canBlockReload;u.hasEndList=M.hasEndList;u.mediaSequenceToStartTime=M.mediaSequenceToStartTime;
2160
2163
  u.nextMediaSequence=M.nextMediaSequence;u.nextPart=M.nextPart;u.loadedOnce=!0;r.segmentIndex=L.segmentIndex;r.encrypted=L.encrypted;r.drmInfos=L.drmInfos;r.keyIds=L.keyIds;r.mimeType=L.mimeType;r.bandwidth=r.bandwidth||L.bandwidth;r.codecs=r.codecs||L.codecs;r.closedCaptions=r.closedCaptions||L.closedCaptions;q.setFullTypeForStream_(r);r.drmInfos.length&&q.playerInterface_.newDrmInfo(r);q.manifest_&&H&&q.playerInterface_.makeTextStreamsForClosedCaptions(q.manifest_);if(d==A.VIDEO||d==A.AUDIO)for(O=
2161
2164
  $jscomp.makeIterator(q.uriToStreamInfosMap_.values()),P=O.next();!P.done;P=O.next())N=P.value,N.loadedOnce||N.type!=d||(N.stream.mimeType=L.mimeType,q.setFullTypeForStream_(N.stream));d==A.TEXT&&(U=L.segmentIndex.get(0))&&U.initSegmentReference&&(r.mimeType="application/mp4",q.setFullTypeForStream_(r));q.hasEnoughInfoToFinalizeStreams_()&&(q.streamsFinalized_?q.finalizeStreams_([u]):(q.streamsFinalized_=!0,R=Array.from(q.uriToStreamInfosMap_.values()),T=R.filter(function(S){return S.stream.segmentIndex}),
2162
2165
  q.finalizeStreams_(T),q.determineDuration_(),V=q.getUpdatePlaylistDelay_(),0<V&&q.updatePlaylistTimer_.tickAfter(V)));Q.jumpToEnd()}})},x=null,z=new AbortController;r.createSegmentIndex=function(){if(x)return x;z=new AbortController;return x=new Promise(function(y){y(v(z.signal))})};r.closeSegmentIndex=function(){x&&!r.segmentIndex&&z.abort();r.segmentIndex&&(r.segmentIndex.release(),r.segmentIndex=null);x=null};return u};
@@ -2166,18 +2169,18 @@ shaka.hls.HlsParser.prototype.notifySegmentsForStreams_=function(a){var b=[];a=$
2166
2169
  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&&this.syncStreamsWithSequenceNumber_(a))};
2167
2170
  shaka.hls.HlsParser.prototype.ignoreManifestProgramDateTimeFor_=function(a){return this.config_.hls.ignoreManifestProgramDateTime?!0:this.config_.hls.ignoreManifestProgramDateTimeForTypes.includes(a)};
2168
2171
  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};
2169
- shaka.hls.HlsParser.prototype.convertParsedPlaylistIntoStreamInfo_=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w){var u=this,v,x,z,y,A,B,D,C,F,I,E,G,H,J,K,M,L,O,P,N,U;return $jscomp.asyncExecutePromiseGeneratorProgram(function(R){switch(R.nextAddress){case 1:if(c.type!=shaka.hls.PlaylistType.MEDIA)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_INVALID_PLAYLIST_HIERARCHY);goog.asserts.assert(null!=c.segments,"Media playlist should have segments!");
2172
+ shaka.hls.HlsParser.prototype.convertParsedPlaylistIntoStreamInfo_=function(a,b,c,d,e,f,g,h,k,l,m,n,p,q,r,t,w){var u=this,v,x,z,y,A,B,E,C,F,I,D,G,H,J,K,M,L,O,P,N,U;return $jscomp.asyncExecutePromiseGeneratorProgram(function(R){switch(R.nextAddress){case 1:if(c.type!=shaka.hls.PlaylistType.MEDIA)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_INVALID_PLAYLIST_HIERARCHY);goog.asserts.assert(null!=c.segments,"Media playlist should have segments!");
2170
2173
  u.determinePresentationType_(c);u.isLive_()&&u.determineLastTargetDuration_(c);if(w){R.jumpTo(2);break}return R.yield(u.guessMimeType_(g,f,c,b,d),3);case 3:w=R.yieldResult;case 2:return R.yield(u.parseDrmInfo_(c,w,d,b),4);case 4:v=R.yieldResult;x=v.drmInfos;z=v.keyIds;y=v.encrypted;A=v.aesEncrypted;if(y&&!x.length&&!A)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.HLS_KEYFORMATS_NOT_SUPPORTED);B=u.makeStreamObject_(a,f,g,h,k,
2171
- l,m,n,p,q,r,t);B.encrypted=y;B.drmInfos=x;B.keyIds=z;B.mimeType=w;u.setFullTypeForStream_(B);D=u.isLive_()?u.mediaSequenceToStartTimeByType_.get(g):new Map;C=u.createSegments_(c,B,D,b,d,g);F=C.segments;if(I=C.bandwidth)B.bandwidth=I;u.isLive_()&&u.determineLastTargetDuration_(c);E=F[0].startTime;G=F[F.length-1];H=G.endTime;J=new shaka.media.SegmentIndex(F);B.segmentIndex=J;M=(K=shaka.hls.Utils.getFirstTagWithName(c.tags,"EXT-X-SERVER-CONTROL"))?null!=K.getAttribute("CAN-SKIP-UNTIL"):!1;L=K?null!=
2172
- K.getAttribute("CAN-BLOCK-RELOAD"):!1;O=shaka.hls.Utils.getFirstTagWithNameAsNumber(c.tags,"EXT-X-MEDIA-SEQUENCE",0);P=u.getNextMediaSequenceAndPart_(O,F);N=P.nextMediaSequence;U=P.nextPart;return R.return({stream:B,type:g,redirectUris:[],getUris:d,minTimestamp:E,maxTimestamp:H,canSkipSegments:M,canBlockReload:L,hasEndList:!1,firstSequenceNumber:-1,nextMediaSequence:N,nextPart:U,mediaSequenceToStartTime:D,loadedOnce:!1})}})};
2174
+ l,m,n,p,q,r,t);B.encrypted=y;B.drmInfos=x;B.keyIds=z;B.mimeType=w;u.setFullTypeForStream_(B);E=u.isLive_()?u.mediaSequenceToStartTimeByType_.get(g):new Map;C=u.createSegments_(c,B,E,b,d,g);F=C.segments;if(I=C.bandwidth)B.bandwidth=I;u.isLive_()&&u.determineLastTargetDuration_(c);D=F[0].startTime;G=F[F.length-1];H=G.endTime;J=new shaka.media.SegmentIndex(F);B.segmentIndex=J;M=(K=shaka.hls.Utils.getFirstTagWithName(c.tags,"EXT-X-SERVER-CONTROL"))?null!=K.getAttribute("CAN-SKIP-UNTIL"):!1;L=K?null!=
2175
+ K.getAttribute("CAN-BLOCK-RELOAD"):!1;O=shaka.hls.Utils.getFirstTagWithNameAsNumber(c.tags,"EXT-X-MEDIA-SEQUENCE",0);P=u.getNextMediaSequenceAndPart_(O,F);N=P.nextMediaSequence;U=P.nextPart;return R.return({stream:B,type:g,redirectUris:[],getUris:d,minTimestamp:D,maxTimestamp:H,canSkipSegments:M,canBlockReload:L,hasEndList:!1,firstSequenceNumber:-1,nextMediaSequence:N,nextPart:U,mediaSequenceToStartTime:E,loadedOnce:!1})}})};
2173
2176
  shaka.hls.HlsParser.prototype.getNextMediaSequenceAndPart_=function(a,b){a=a+b.length-1;var c=-1;if(!b.length)return a++,{nextMediaSequence:a,nextPart:c};b=b[b.length-1];var d=b.partialReferences;if(!b.partialReferences.length)return a++,b.hasByterangeOptimization()&&(c=0),{nextMediaSequence:a,nextPart:c};c=d.length-1;d[d.length-1].isPreload()||(a++,c=0);return{nextMediaSequence:a,nextPart:c}};
2174
2177
  shaka.hls.HlsParser.prototype.makeStreamObject_=function(a,b,c,d,e,f,g,h,k,l,m,n){a=this.guessMimeTypeBeforeLoading_(c,b)||this.guessMimeTypeFallback_(c);var p=[];if(k){k=$jscomp.makeIterator(k.split(","));for(var q=k.next();!q.done;q=k.next())p.push(q.value)}k=void 0;q=null;c==shaka.util.ManifestParserUtils.ContentType.TEXT?k=p.includes("public.accessibility.transcribes-spoken-dialog")&&p.includes("public.accessibility.describes-music-and-sound")?shaka.util.ManifestParserUtils.TextStreamKind.CLOSED_CAPTION:
2175
2178
  shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE:p.includes("public.accessibility.describes-video")&&(q=shaka.media.ManifestParser.AccessibilityPurpose.VISUALLY_IMPAIRED);p.length||k!==shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE||p.push(shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE);b={id:this.globalId_++,originalId:f,groupId:null,createSegmentIndex:function(){return Promise.resolve()},segmentIndex:null,mimeType:a,codecs:b,kind:c==shaka.util.ManifestParserUtils.ContentType.TEXT?
2176
2179
  shaka.util.ManifestParserUtils.TextStreamKind.SUBTITLE:void 0,encrypted:!1,drmInfos:[],keyIds:new Set,language:this.getLanguage_(d),originalLanguage:d,label:f,type:c,primary:e,trickModeVideo:null,emsgSchemeIdUris:null,frameRate:void 0,pixelAspectRatio:void 0,width:void 0,height:void 0,bandwidth:void 0,roles:p,forced:l,channelsCount:g,audioSamplingRate:m,spatialAudio:n,closedCaptions:h,hdr:void 0,colorGamut:void 0,videoLayout:void 0,tilesLayout:void 0,accessibilityPurpose:q,external:!1,fastSwitching:!1,
2177
2180
  fullMimeTypes:new Set};this.setFullTypeForStream_(b);return b};
2178
- shaka.hls.HlsParser.prototype.parseDrmInfo_=function(a,b,c,d){var e=this,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F,I,E,G,H,J,K;return $jscomp.asyncExecutePromiseGeneratorProgram(function(M){switch(M.nextAddress){case 1:f=new Map;if(a.segments)for(g=$jscomp.makeIterator(a.segments),h=g.next();!h.done;h=g.next())if(k=h.value,l=shaka.hls.Utils.filterTagsByName(k.tags,"EXT-X-KEY"),m=null,l.length)for(m=e.getInitSegmentReference_(a,k.tags,c,d),n=$jscomp.makeIterator(l),p=n.next();!p.done;p=n.next())q=
2179
- p.value,f.set(q,m);t=r=!1;w=[];u=new Set;v=$jscomp.makeIterator(f);x=v.next();case 2:if(x.done){M.jumpTo(4);break}z=x.value;y=$jscomp.makeIterator(z);A=y.next().value;B=y.next().value;D=A;C=B;F=D.getRequiredAttrValue("METHOD");if("NONE"==F){M.jumpTo(3);break}r=!0;I=D.getAttributeValue("KEYFORMAT")||"identity";E=null;if(e.isAesMethod_(F)){t=!0;M.jumpTo(3);break}if("identity"!=I){E=(G=shaka.hls.HlsParser.KEYFORMATS_TO_DRM_PARSERS_[I])?G(D,b):null;M.jumpTo(6);break}return M.yield(e.identityDrmParser_(D,
2180
- b,c,C,d),8);case 8:E=M.yieldResult;case 6:if(E){if(E.keyIds)for(H=$jscomp.makeIterator(E.keyIds),J=H.next();!J.done;J=H.next())K=J.value,u.add(K);w.push(E)}else shaka.log.warning("Unsupported HLS KEYFORMAT",I);case 3:x=v.next();M.jumpTo(2);break;case 4:return M.return({drmInfos:w,keyIds:u,encrypted:r,aesEncrypted:t})}})};
2181
+ shaka.hls.HlsParser.prototype.parseDrmInfo_=function(a,b,c,d){var e=this,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F,I,D,G,H,J,K;return $jscomp.asyncExecutePromiseGeneratorProgram(function(M){switch(M.nextAddress){case 1:f=new Map;if(a.segments)for(g=$jscomp.makeIterator(a.segments),h=g.next();!h.done;h=g.next())if(k=h.value,l=shaka.hls.Utils.filterTagsByName(k.tags,"EXT-X-KEY"),m=null,l.length)for(m=e.getInitSegmentReference_(a,k.tags,c,d),n=$jscomp.makeIterator(l),p=n.next();!p.done;p=n.next())q=
2182
+ p.value,f.set(q,m);t=r=!1;w=[];u=new Set;v=$jscomp.makeIterator(f);x=v.next();case 2:if(x.done){M.jumpTo(4);break}z=x.value;y=$jscomp.makeIterator(z);A=y.next().value;B=y.next().value;E=A;C=B;F=E.getRequiredAttrValue("METHOD");if("NONE"==F){M.jumpTo(3);break}r=!0;I=E.getAttributeValue("KEYFORMAT")||"identity";D=null;if(e.isAesMethod_(F)){t=!0;M.jumpTo(3);break}if("identity"!=I){D=(G=shaka.hls.HlsParser.KEYFORMATS_TO_DRM_PARSERS_[I])?G(E,b):null;M.jumpTo(6);break}return M.yield(e.identityDrmParser_(E,
2183
+ b,c,C,d),8);case 8:D=M.yieldResult;case 6:if(D){if(D.keyIds)for(H=$jscomp.makeIterator(D.keyIds),J=H.next();!J.done;J=H.next())K=J.value,u.add(K);w.push(D)}else shaka.log.warning("Unsupported HLS KEYFORMAT",I);case 3:x=v.next();M.jumpTo(2);break;case 4:return M.return({drmInfos:w,keyIds:u,encrypted:r,aesEncrypted:t})}})};
2181
2184
  shaka.hls.HlsParser.prototype.parseAESDrmTag_=function(a,b,c,d){var e=this;if(!window.crypto||!window.crypto.subtle)throw shaka.log.alwaysWarn("Web Crypto API is not available to decrypt AES. (Web Crypto only exists in secure origins like https)"),new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.NO_WEB_CRYPTO_API);var f=0,g=a.getAttributeValue("IV","");if(g){var h=shaka.util.Uint8ArrayUtils.fromHex(g.substr(2));if(16!=h.byteLength)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2182
2185
  shaka.util.Error.Category.MANIFEST,shaka.util.Error.Code.AES_128_INVALID_IV_LENGTH);}else f=shaka.hls.Utils.getFirstTagWithNameAsNumber(b.tags,"EXT-X-MEDIA-SEQUENCE",0);b=a.toString()+"-"+f;if(!this.aesKeyInfoMap_.has(b)){var k={bitsKey:128,blockCipherMode:"CBC",iv:h,firstMediaSequenceNumber:f};switch(a.getRequiredAttrValue("METHOD")){case "AES-256":k.bitsKey=256;break;case "AES-256-CTR":k.bitsKey=256,k.blockCipherMode="CTR"}k.fetchKey=function(){var l,m,n,p,q,r,t,w;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){if(1==
2183
2186
  u.nextAddress)return l=shaka.hls.Utils.constructSegmentUris(c(),a.getRequiredAttrValue("URI"),d),m=l.sort().join(""),e.aesKeyMap_.has(m)||(n=shaka.net.NetworkingEngine.RequestType.KEY,p=shaka.net.NetworkingEngine.makeRequest(l,e.config_.retryParameters),q=e.makeNetworkRequest_(p,n),e.aesKeyMap_.set(m,q)),u.yield(e.aesKeyMap_.get(m),2);if(3!=u.nextAddress){r=u.yieldResult;if(!r.data||r.data.byteLength!=k.bitsKey/8)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MANIFEST,
@@ -2193,10 +2196,10 @@ e.id&&(h=this.parseAESDrmTag_(l,a,c,d)):"EXT-X-BYTERANGE"==l.name&&l.id<e.id&&(k
2193
2196
  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)};
2194
2197
  shaka.hls.HlsParser.prototype.createSegmentReference_=function(a,b,c,d,e,f,g,h,k){var l=c.tags,m=shaka.hls.Utils.getFirstTagWithName(l,"EXTINF"),n=0;f=0;var p=null;c.partialSegments.length&&!this.lowLatencyMode_&&shaka.log.alwaysWarn("Low-latency HLS live stream detected, but low-latency streaming mode is not enabled in Shaka Player. Set streaming.lowLatencyMode configuration to true, and see https://bit.ly/3clctcj for details.");var q=null;if(!this.config_.hls.ignoreManifestProgramDateTime){var r=
2195
2198
  shaka.hls.Utils.getFirstTagWithName(l,"EXT-X-PROGRAM-DATE-TIME");r&&r.value&&(q=shaka.util.TXml.parseDate(r.value),goog.asserts.assert(null!=q,"EXT-X-PROGRAM-DATE-TIME format not valid"))}var t=shaka.media.SegmentReference.Status.AVAILABLE;shaka.hls.Utils.getFirstTagWithName(l,"EXT-X-GAP")&&(t=shaka.media.SegmentReference.Status.MISSING);if(!m){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,
2196
- "EXTINF");if(!this.lowLatencyMode_)return null}var w=[];r=!1;var u=null,v=!1,x=!1;if(this.lowLatencyMode_&&c.partialSegments.length){n=("video/mp4"==g.mimeType||"audio/mp4"==g.mimeType)&&window.ReadableStream&&this.config_.hls.allowLowLatencyByteRangeOptimization;for(var z=q,y={},A=0;A<c.partialSegments.length;y={$jscomp$loop$prop$uris$792$939:y.$jscomp$loop$prop$uris$792$939,$jscomp$loop$prop$pUri$940:y.$jscomp$loop$prop$pUri$940},A++){var B=c.partialSegments[A],D=0==A?b:w[w.length-1],C=0==A?d:D.endTime,
2197
- F=Number(B.getAttributeValue("DURATION"))||this.partialTargetDuration_;if(F){var I=C+F,E=0,G=null;"EXT-X-PRELOAD-HINT"==B.name?(E=(E=B.getAttributeValue("BYTERANGE-START"))?Number(E):0,(D=B.getAttributeValue("BYTERANGE-LENGTH"))?G=E+Number(D)-1:E&&(G=Number.MAX_SAFE_INTEGER)):(E=B.getAttributeValue("BYTERANGE"),G=$jscomp.makeIterator(this.parseByteRange_(D,E)),E=G.next().value,G=G.next().value);y.$jscomp$loop$prop$pUri$940=B.getAttributeValue("URI");if(y.$jscomp$loop$prop$pUri$940){D=shaka.media.SegmentReference.Status.AVAILABLE;
2198
- "YES"==B.getAttributeValue("GAP")&&(D=shaka.media.SegmentReference.Status.MISSING,v=!0);y.$jscomp$loop$prop$uris$792$939=null;var H=function(K){return function(){null==K.$jscomp$loop$prop$uris$792$939&&(goog.asserts.assert(K.$jscomp$loop$prop$pUri$940,"Partial uri should be defined!"),K.$jscomp$loop$prop$uris$792$939=shaka.hls.Utils.constructSegmentUris(h(),K.$jscomp$loop$prop$pUri$940,e));return K.$jscomp$loop$prop$uris$792$939}}(y);n&&0<=E&&null!=G&&(u=H,r=!0);C=new shaka.media.SegmentReference(C,
2199
- I,H,E,G,a,0,0,Infinity,[],"",null,z,D,k);"EXT-X-PRELOAD-HINT"==B.name&&(C.markAsPreload(),x=!0);"YES"!=B.getAttributeValue("INDEPENDENT")&&0<A&&C.markAsNonIndependent();w.push(C);z&&(z+=F)}}}}if(m){m=m.value.split(",");m=Number(m[0]);if(0==m)return null;n=d+m}else if(w.length)n=w[w.length-1].endTime;else return null;r&&(v||0!=w[0].startByte?(r=!1,u=null):w=[]);(v=shaka.hls.Utils.getFirstTagWithName(l,"EXT-X-BYTERANGE"))?(p=$jscomp.makeIterator(this.parseByteRange_(b,v.value)),f=p.next().value,p=p.next().value):
2199
+ "EXTINF");if(!this.lowLatencyMode_)return null}var w=[];r=!1;var u=null,v=!1,x=!1;if(this.lowLatencyMode_&&c.partialSegments.length){n=("video/mp4"==g.mimeType||"audio/mp4"==g.mimeType)&&window.ReadableStream&&this.config_.hls.allowLowLatencyByteRangeOptimization;for(var z=q,y={},A=0;A<c.partialSegments.length;y={$jscomp$loop$prop$uris$792$939:y.$jscomp$loop$prop$uris$792$939,$jscomp$loop$prop$pUri$940:y.$jscomp$loop$prop$pUri$940},A++){var B=c.partialSegments[A],E=0==A?b:w[w.length-1],C=0==A?d:E.endTime,
2200
+ F=Number(B.getAttributeValue("DURATION"))||this.partialTargetDuration_;if(F){var I=C+F,D=0,G=null;"EXT-X-PRELOAD-HINT"==B.name?(D=(D=B.getAttributeValue("BYTERANGE-START"))?Number(D):0,(E=B.getAttributeValue("BYTERANGE-LENGTH"))?G=D+Number(E)-1:D&&(G=Number.MAX_SAFE_INTEGER)):(D=B.getAttributeValue("BYTERANGE"),G=$jscomp.makeIterator(this.parseByteRange_(E,D)),D=G.next().value,G=G.next().value);y.$jscomp$loop$prop$pUri$940=B.getAttributeValue("URI");if(y.$jscomp$loop$prop$pUri$940){E=shaka.media.SegmentReference.Status.AVAILABLE;
2201
+ "YES"==B.getAttributeValue("GAP")&&(E=shaka.media.SegmentReference.Status.MISSING,v=!0);y.$jscomp$loop$prop$uris$792$939=null;var H=function(K){return function(){null==K.$jscomp$loop$prop$uris$792$939&&(goog.asserts.assert(K.$jscomp$loop$prop$pUri$940,"Partial uri should be defined!"),K.$jscomp$loop$prop$uris$792$939=shaka.hls.Utils.constructSegmentUris(h(),K.$jscomp$loop$prop$pUri$940,e));return K.$jscomp$loop$prop$uris$792$939}}(y);n&&0<=D&&null!=G&&(u=H,r=!0);C=new shaka.media.SegmentReference(C,
2202
+ I,H,D,G,a,0,0,Infinity,[],"",null,z,E,k);"EXT-X-PRELOAD-HINT"==B.name&&(C.markAsPreload(),x=!0);"YES"!=B.getAttributeValue("INDEPENDENT")&&0<A&&C.markAsNonIndependent();w.push(C);z&&(z+=F)}}}}if(m){m=m.value.split(",");m=Number(m[0]);if(0==m)return null;n=d+m}else if(w.length)n=w[w.length-1].endTime;else return null;r&&(v||0!=w[0].startByte?(r=!1,u=null):w=[]);(v=shaka.hls.Utils.getFirstTagWithName(l,"EXT-X-BYTERANGE"))?(p=$jscomp.makeIterator(this.parseByteRange_(b,v.value)),f=p.next().value,p=p.next().value):
2200
2203
  w.length&&(f=w[0].startByte,p=w[w.length-1].endByte);b="";v=null;g.type==shaka.util.ManifestParserUtils.ContentType.IMAGE&&(b="1x1",g=shaka.hls.Utils.getFirstTagWithName(l,"EXT-X-TILES"))&&(b=g.getRequiredAttrValue("LAYOUT"),(g=g.getAttributeValue("DURATION"))&&(v=Number(g)));var J=null;a=new shaka.media.SegmentReference(d,n,function(){if(u)return u();null==J&&(J=shaka.hls.Utils.constructSegmentUris(h(),c.verbatimSegmentUri,e));return J||[]},f,p,a,0,0,Infinity,w,b,v,q,t,k,0<w.length&&!!c.verbatimSegmentUri);
2201
2204
  r&&(this.lowLatencyByterangeOptimization_=!0,a.markAsByterangeOptimization(),x&&a.markAsPreload());return a};shaka.hls.HlsParser.prototype.parseByteRange_=function(a,b){var c=0,d=null;b&&(c=b.split("@"),b=Number(c[0]),c[1]?c=Number(c[1]):(goog.asserts.assert(a,"Cannot refer back to previous HLS segment!"),c=a.endByte+1),d=c+b-1);return[c,d]};
2202
2205
  shaka.hls.HlsParser.prototype.createSegments_=function(a,b,c,d,e,f){var g=a.segments;goog.asserts.assert(g.length,"Playlist should have segments!");var h=void 0,k=shaka.hls.Utils.getFirstTagWithNameAsNumber(a.tags,"EXT-X-DISCONTINUITY-SEQUENCE",0),l=shaka.hls.Utils.getFirstTagWithNameAsNumber(a.tags,"EXT-X-MEDIA-SEQUENCE",0),m=shaka.hls.Utils.getFirstTagWithName(a.tags,"EXT-X-SKIP"),n=m?Number(m.getAttributeValue("SKIPPED-SEGMENTS")):0,p=l+n,q=0;this.isLive_()&&c.has(p)&&(q=c.get(p));0===q&&this.presentationType_==
@@ -2320,7 +2323,7 @@ shaka.net.HttpPluginUtils.makeResponse=function(a,b,c,d,e,f){if(200<=c&&299>=c&&
2320
2323
  shaka.net.HttpFetchPlugin.parse=function(a,b,c,d,e){var f=new shaka.net.HttpFetchPlugin.Headers_;shaka.util.MapUtils.asMap(b.headers).forEach(function(l,m){f.append(m,l)});var g=new shaka.net.HttpFetchPlugin.AbortController_,h={canceled:!1,timedOut:!1};a=shaka.net.HttpFetchPlugin.request_(a,c,{body:b.body||void 0,headers:f,method:b.method,signal:g.signal,credentials:b.allowCrossSiteCredentials?"include":void 0},h,d,e,b.streamDataCallback);a=new shaka.util.AbortableOperation(a,function(){h.canceled=
2321
2324
  !0;g.abort();return Promise.resolve()});if(b=b.retryParameters.timeout){var k=new shaka.util.Timer(function(){h.timedOut=!0;g.abort()});k.tickAfter(b/1E3);a.finally(function(){k.stop()})}return a};
2322
2325
  shaka.net.HttpFetchPlugin.request_=function(a,b,c,d,e,f,g){var h,k,l,m,n,p,q,r,t,w,u,v,x;return $jscomp.asyncExecutePromiseGeneratorProgram(function(z){switch(z.nextAddress){case 1:return h=shaka.net.HttpFetchPlugin.fetch_,k=shaka.net.HttpFetchPlugin.ReadableStream_,p=n=0,q=Date.now(),z.setCatchFinallyBlocks(2),z.yield(h(a,c),4);case 4:l=z.yieldResult;f(shaka.net.HttpFetchPlugin.headersToGenericObject_(l.headers));if("HEAD"==c.method){z.jumpTo(5);break}goog.asserts.assert(l.body,"non-HEAD responses should have a body");
2323
- r=l.clone().body.getReader();w=(t=l.headers.get("Content-Length"))?parseInt(t,10):0;u=function(y){var A=function(){var B,D,C,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){switch(I.nextAddress){case 1:return I.setCatchFinallyBlocks(2),I.yield(r.read(),4);case 4:B=I.yieldResult;I.leaveTryBlock(3);break;case 2:return D=I.enterCatchBlock(),shaka.log.v1("error reading from stream",D.message),I.return();case 3:if(B.done){I.jumpTo(5);break}n+=B.value.byteLength;if(!g){I.jumpTo(5);break}return I.yield(g(B.value),
2326
+ r=l.clone().body.getReader();w=(t=l.headers.get("Content-Length"))?parseInt(t,10):0;u=function(y){var A=function(){var B,E,C,F;return $jscomp.asyncExecutePromiseGeneratorProgram(function(I){switch(I.nextAddress){case 1:return I.setCatchFinallyBlocks(2),I.yield(r.read(),4);case 4:B=I.yieldResult;I.leaveTryBlock(3);break;case 2:return E=I.enterCatchBlock(),shaka.log.v1("error reading from stream",E.message),I.return();case 3:if(B.done){I.jumpTo(5);break}n+=B.value.byteLength;if(!g){I.jumpTo(5);break}return I.yield(g(B.value),
2324
2327
  5);case 5:C=Date.now();if(100<C-q||B.done)F=B.done?0:w-n,e(C-q,n-p,F),p=n,q=C;B.done?(goog.asserts.assert(!B.value,'readObj should be unset when "done" is true.'),y.close()):(y.enqueue(B.value),A());I.jumpToEnd()}})};A()};new k({start:u});return z.yield(l.arrayBuffer(),6);case 6:m=z.yieldResult;case 5:z.leaveTryBlock(3);break;case 2:v=z.enterCatchBlock();if(d.canceled)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.OPERATION_ABORTED,
2325
2328
  a,b);if(d.timedOut)throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.TIMEOUT,a,b);throw new shaka.util.Error(shaka.util.Error.Severity.RECOVERABLE,shaka.util.Error.Category.NETWORK,shaka.util.Error.Code.HTTP_ERROR,a,v,b);case 3:return x=shaka.net.HttpFetchPlugin.headersToGenericObject_(l.headers),z.return(shaka.net.HttpPluginUtils.makeResponse(x,m,l.status,a,l.url,b))}})};
2326
2329
  shaka.net.HttpFetchPlugin.headersToGenericObject_=function(a){var b={};a.forEach(function(c,d){b[d.trim()]=c});return b};shaka.net.HttpFetchPlugin.isSupported=function(){if(window.ReadableStream)try{new ReadableStream({})}catch(a){return!1}else return!1;if(window.Response){if(!(new Response("")).body)return!1}else return!1;return!(!window.fetch||!window.AbortController)};goog.exportSymbol("shaka.net.HttpFetchPlugin",shaka.net.HttpFetchPlugin);
@@ -2438,19 +2441,19 @@ shaka.offline.Storage.prototype.store_=function(a,b,c,d,e){var f=this,g,h,k,l,m,
2438
2441
  shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.CANNOT_STORE_LIVE_OFFLINE,a);return z.yield(f.createDrmEngine(p,function(y){n=n||y},d),7);case 7:h=z.yieldResult;f.ensureNotDestroyed_();if(n)throw n;return z.yield(f.filterManifest_(p,h,d),8);case 8:return z.yield(k.init(),9);case 9:return f.ensureNotDestroyed_(),z.yield(k.getActive(),10);case 10:return l=z.yieldResult,f.ensureNotDestroyed_(),goog.asserts.assert(h,"drmEngine should be non-null here."),r=f.makeManifestDB_(h,p,a,b,d,e),t=r.manifestDB,
2439
2442
  w=r.toDownload,z.yield(l.cell.addManifests([t]),11);case 11:u=z.yieldResult;f.ensureNotDestroyed_();m=u[0];goog.asserts.assert(h,"drmEngine should be non-null here.");f.ensureNotDestroyed_();if(n)throw n;return z.yield(f.downloadSegments_(w,m,t,e,d,l.cell,p,h),12);case 12:return f.ensureNotDestroyed_(),f.setManifestDrmFields_(p,t,h,d),z.yield(l.cell.updateManifest(m,t),13);case 13:return f.ensureNotDestroyed_(),v=shaka.offline.OfflineUri.manifest(l.path.mechanism,l.path.cell,m),z.return(shaka.offline.StoredContentUtils.fromManifestDB(v,
2440
2443
  t));case 3:return z.enterFinallyBlock(),z.yield(k.destroy(),14);case 14:if(!g){z.jumpTo(15);break}return z.yield(g.stop(),15);case 15:if(!h){z.jumpTo(17);break}return z.yield(h.destroy(),17);case 17:z.leaveFinallyBlock(0);break;case 2:x=z.enterCatchBlock();if(null==m){z.jumpTo(19);break}return z.yield(shaka.offline.Storage.cleanStoredManifest(m),19);case 19:throw n||x;}})};
2441
- shaka.offline.Storage.prototype.downloadSegments_=function(a,b,c,d,e,f,g,h){var k=this,l,m,n,p,q,r,t,w,u,v;return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){switch(x.nextAddress){case 1:l={};m=0;n=function(z,y){var A,B,D,C,F,I,E;return $jscomp.asyncExecutePromiseGeneratorProgram(function(G){if(1==G.nextAddress){A={};B=$jscomp.makeIterator(z);for(D=B.next();!D.done;A={$jscomp$loop$prop$download$825$957:A.$jscomp$loop$prop$download$825$957},D=B.next())A.$jscomp$loop$prop$download$825$957=
2442
- D.value,C=A.$jscomp$loop$prop$download$825$957.makeSegmentRequest(e),F=A.$jscomp$loop$prop$download$825$957.estimateId,I=A.$jscomp$loop$prop$download$825$957.isInitSegment,E=function(H){return function(J){var K,M,L;return $jscomp.asyncExecutePromiseGeneratorProgram(function(O){if(1==O.nextAddress)return O.yield(f.addSegments([{data:J}]),2);K=O.yieldResult;k.ensureNotDestroyed_();M=H.$jscomp$loop$prop$download$825$957.ref;L=shaka.offline.DownloadInfo.idForSegmentRef(M);l[L]=K[0];m+=J.byteLength;O.jumpToEnd()})}}(A),
2443
- d.queue(A.$jscomp$loop$prop$download$825$957.groupId,C,F,I,E);return G.yield(d.waitToFinish(),2)}if(!y)return G.jumpTo(0);k.ensureNotDestroyed_();k.setManifestDrmFields_(g,c,h,e);return G.yield(f.updateManifest(b,c),0)})};p=!1;x.setCatchFinallyBlocks(2);if(!k.getManifestIsEncrypted_(g)||!p||k.getManifestIncludesInitData_(g)){x.jumpTo(4);break}return x.yield(n(a.filter(function(z){return z.isInitSegment}),!0),5);case 5:return k.ensureNotDestroyed_(),a=a.filter(function(z){return!z.isInitSegment}),
2444
+ shaka.offline.Storage.prototype.downloadSegments_=function(a,b,c,d,e,f,g,h){var k=this,l,m,n,p,q,r,t,w,u,v;return $jscomp.asyncExecutePromiseGeneratorProgram(function(x){switch(x.nextAddress){case 1:l={};m=0;n=function(z,y){var A,B,E,C,F,I,D;return $jscomp.asyncExecutePromiseGeneratorProgram(function(G){if(1==G.nextAddress){A={};B=$jscomp.makeIterator(z);for(E=B.next();!E.done;A={$jscomp$loop$prop$download$825$957:A.$jscomp$loop$prop$download$825$957},E=B.next())A.$jscomp$loop$prop$download$825$957=
2445
+ E.value,C=A.$jscomp$loop$prop$download$825$957.makeSegmentRequest(e),F=A.$jscomp$loop$prop$download$825$957.estimateId,I=A.$jscomp$loop$prop$download$825$957.isInitSegment,D=function(H){return function(J){var K,M,L;return $jscomp.asyncExecutePromiseGeneratorProgram(function(O){if(1==O.nextAddress)return O.yield(f.addSegments([{data:J}]),2);K=O.yieldResult;k.ensureNotDestroyed_();M=H.$jscomp$loop$prop$download$825$957.ref;L=shaka.offline.DownloadInfo.idForSegmentRef(M);l[L]=K[0];m+=J.byteLength;O.jumpToEnd()})}}(A),
2446
+ d.queue(A.$jscomp$loop$prop$download$825$957.groupId,C,F,I,D);return G.yield(d.waitToFinish(),2)}if(!y)return G.jumpTo(0);k.ensureNotDestroyed_();k.setManifestDrmFields_(g,c,h,e);return G.yield(f.updateManifest(b,c),0)})};p=!1;x.setCatchFinallyBlocks(2);if(!k.getManifestIsEncrypted_(g)||!p||k.getManifestIncludesInitData_(g)){x.jumpTo(4);break}return x.yield(n(a.filter(function(z){return z.isInitSegment}),!0),5);case 5:return k.ensureNotDestroyed_(),a=a.filter(function(z){return!z.isInitSegment}),
2444
2447
  q=l,r=m,l={},m=0,x.yield(shaka.offline.Storage.assignSegmentsToManifest(f,b,c,q,r,function(){return k.ensureNotDestroyed_()}),6);case 6:k.ensureNotDestroyed_();case 4:if(p){x.jumpTo(7);break}return x.yield(n(a,!1),8);case 8:return k.ensureNotDestroyed_(),t=l,w=m,l={},m=0,x.yield(shaka.offline.Storage.assignSegmentsToManifest(f,b,c,t,w,function(){return k.ensureNotDestroyed_()}),9);case 9:k.ensureNotDestroyed_(),goog.asserts.assert(!c.isIncomplete,"The manifest should be complete by now");case 7:x.leaveTryBlock(0);
2445
2448
  break;case 2:return u=x.enterCatchBlock(),v=Object.values(l),x.yield(f.removeSegments(v,function(z){}),10);case 10:throw u;}})};
2446
2449
  shaka.offline.Storage.cleanStoredManifest=function(a){var b,c,d,e;return $jscomp.asyncExecutePromiseGeneratorProgram(function(f){switch(f.nextAddress){case 1:return b=new shaka.offline.StorageMuxer,f.yield(b.init(),2);case 2:return f.yield(b.getActive(),3);case 3:return c=f.yieldResult,d=shaka.offline.OfflineUri.manifest(c.path.mechanism,c.path.cell,a),f.yield(b.destroy(),4);case 4:return e=new shaka.offline.Storage,f.yield(e.remove(d.toString()),0)}})};
2447
2450
  shaka.offline.Storage.assignSegmentsToManifest=function(a,b,c,d,e,f){var g,h,k,l,m,n,p,q,r,t,w;return $jscomp.asyncExecutePromiseGeneratorProgram(function(u){switch(u.nextAddress){case 1:g=!1;u.setCatchFinallyBlocks(2);h=!0;k=$jscomp.makeIterator(c.streams);for(l=k.next();!l.done;l=k.next())for(m=l.value,n=$jscomp.makeIterator(m.segments),p=n.next();!p.done;p=n.next())q=p.value,r=q.pendingSegmentRefId?d[q.pendingSegmentRefId]:null,null!=r&&(q.dataKey=r,q.pendingSegmentRefId=void 0),r=q.pendingInitSegmentRefId?
2448
2451
  d[q.pendingInitSegmentRefId]:null,null!=r&&(q.initSegmentKey=r,q.pendingInitSegmentRefId=void 0),q.pendingSegmentRefId&&(h=!1),q.pendingInitSegmentRefId&&(h=!1);c.size+=e;h&&(c.isIncomplete=!1);return u.yield(a.updateManifest(b,c),4);case 4:g=!0;f();u.leaveTryBlock(0);break;case 2:return t=u.enterCatchBlock(),u.yield(shaka.offline.Storage.cleanStoredManifest(b),5);case 5:if(g){u.jumpTo(6);break}w=Object.values(d);return u.yield(a.removeSegments(w,function(v){}),6);case 6:throw t;}})};
2449
- shaka.offline.Storage.prototype.filterManifest_=function(a,b,c){var d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,D,C,F,I,E,G,H;return $jscomp.asyncExecutePromiseGeneratorProgram(function(J){switch(J.nextAddress){case 1:return d={width:Infinity,height:Infinity},shaka.util.StreamUtils.filterByRestrictions(a,c.restrictions,d),J.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(b,a,c.offline.usePersistentLicense,c.drm.preferredKeySystems),2);case 2:e=[];f=c.preferredDecodingAttributes;g=c.preferredVideoCodecs;
2452
+ shaka.offline.Storage.prototype.filterManifest_=function(a,b,c){var d,e,f,g,h,k,l,m,n,p,q,r,t,w,u,v,x,z,y,A,B,E,C,F,I,D,G,H;return $jscomp.asyncExecutePromiseGeneratorProgram(function(J){switch(J.nextAddress){case 1:return d={width:Infinity,height:Infinity},shaka.util.StreamUtils.filterByRestrictions(a,c.restrictions,d),J.yield(shaka.util.StreamUtils.filterManifestByMediaCapabilities(b,a,c.offline.usePersistentLicense,c.drm.preferredKeySystems),2);case 2:e=[];f=c.preferredDecodingAttributes;g=c.preferredVideoCodecs;
2450
2453
  h=c.preferredAudioCodecs;shaka.util.StreamUtils.chooseCodecsAndFilterManifest(a,g,h,f);k=$jscomp.makeIterator(a.variants);for(l=k.next();!l.done;l=k.next())m=l.value,goog.asserts.assert(shaka.util.StreamUtils.isPlayable(m),'We should have already filtered by "is playable"'),e.push(shaka.util.StreamUtils.variantToTrack(m));n=$jscomp.makeIterator(a.textStreams);for(p=n.next();!p.done;p=n.next())q=p.value,e.push(shaka.util.StreamUtils.textStreamToTrack(q));r=$jscomp.makeIterator(a.imageStreams);for(t=
2451
- r.next();!t.done;t=r.next())w=t.value,e.push(shaka.util.StreamUtils.imageStreamToTrack(w));return J.yield(c.offline.trackSelectionCallback(e),3);case 3:u=J.yieldResult;v=a.presentationTimeline.getDuration();x=0;z=$jscomp.makeIterator(u);for(y=z.next();!y.done;y=z.next())A=y.value,B=A.bandwidth*v/8,x+=B;J.setCatchFinallyBlocks(4);return J.yield(c.offline.downloadSizeCallback(x),6);case 6:D=J.yieldResult;if(!D)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,
2452
- shaka.util.Error.Code.STORAGE_LIMIT_REACHED);J.leaveTryBlock(5);break;case 4:C=J.enterCatchBlock();if(C instanceof shaka.util.Error)throw C;shaka.log.warning("downloadSizeCallback has produced an unexpected error",C);throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.DOWNLOAD_SIZE_CALLBACK_ERROR);case 5:F=new Set;I=new Set;E=new Set;G=$jscomp.makeIterator(u);for(y=G.next();!y.done;y=G.next())H=y.value,"variant"==H.type&&F.add(H.id),
2453
- "text"==H.type&&I.add(H.id),"image"==H.type&&E.add(H.id);a.variants=a.variants.filter(function(K){return F.has(K.id)});a.textStreams=a.textStreams.filter(function(K){return I.has(K.id)});a.imageStreams=a.imageStreams.filter(function(K){return E.has(K.id)});shaka.offline.Storage.validateManifest_(a);J.jumpToEnd()}})};
2454
+ r.next();!t.done;t=r.next())w=t.value,e.push(shaka.util.StreamUtils.imageStreamToTrack(w));return J.yield(c.offline.trackSelectionCallback(e),3);case 3:u=J.yieldResult;v=a.presentationTimeline.getDuration();x=0;z=$jscomp.makeIterator(u);for(y=z.next();!y.done;y=z.next())A=y.value,B=A.bandwidth*v/8,x+=B;J.setCatchFinallyBlocks(4);return J.yield(c.offline.downloadSizeCallback(x),6);case 6:E=J.yieldResult;if(!E)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,
2455
+ shaka.util.Error.Code.STORAGE_LIMIT_REACHED);J.leaveTryBlock(5);break;case 4:C=J.enterCatchBlock();if(C instanceof shaka.util.Error)throw C;shaka.log.warning("downloadSizeCallback has produced an unexpected error",C);throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.STORAGE,shaka.util.Error.Code.DOWNLOAD_SIZE_CALLBACK_ERROR);case 5:F=new Set;I=new Set;D=new Set;G=$jscomp.makeIterator(u);for(y=G.next();!y.done;y=G.next())H=y.value,"variant"==H.type&&F.add(H.id),
2456
+ "text"==H.type&&I.add(H.id),"image"==H.type&&D.add(H.id);a.variants=a.variants.filter(function(K){return F.has(K.id)});a.textStreams=a.textStreams.filter(function(K){return I.has(K.id)});a.imageStreams=a.imageStreams.filter(function(K){return D.has(K.id)});shaka.offline.Storage.validateManifest_(a);J.jumpToEnd()}})};
2454
2457
  shaka.offline.Storage.prototype.makeManifestDB_=function(a,b,c,d,e,f){var g=shaka.offline.StoredContentUtils.fromManifest(c,b,0,d),h=e.offline.progressCallback;f.setCallbacks(function(q,r){g.size=r;h(g,q)},function(q,r){k&&e.offline.usePersistentLicense&&l==r&&a.newInitData("cenc",q)});var k=this.getManifestIsEncrypted_(b)&&!this.getManifestIncludesInitData_(b),l=null;if(k){var m=a.getDrmInfo();l=shaka.offline.Storage.defaultSystemIds_.get(m.keySystem)}m=new shaka.offline.StreamBandwidthEstimator;
2455
2458
  for(var n=$jscomp.makeIterator(b.textStreams),p=n.next();!p.done;p=n.next())m.addText(p.value);n=$jscomp.makeIterator(b.imageStreams);for(p=n.next();!p.done;p=n.next())m.addImage(p.value);p=$jscomp.makeIterator(b.variants);for(n=p.next();!n.done;n=p.next())m.addVariant(n.value);m=this.createStreams_(f,m,a,b,e);f=m.streams;m=m.toDownload;p=a.getDrmInfo();n=e.offline.usePersistentLicense;p&&n&&(p.initData=[]);return{manifestDB:{creationTime:Date.now(),originalManifestUri:c,duration:b.presentationTimeline.getDuration(),
2456
2459
  size:0,expiration:a.getExpiration(),streams:f,sessionIds:n?a.getSessionIds():[],drmInfo:p,appMetadata:d,isIncomplete:!0,sequenceMode:b.sequenceMode,type:b.type},toDownload:m}};shaka.offline.Storage.prototype.getManifestIsEncrypted_=function(a){return a.variants.some(function(b){var c=b.audio&&b.audio.encrypted;return b.video&&b.video.encrypted||c})};
@@ -2512,9 +2515,9 @@ a.height);a.framerate&&(b+="; framerate="+a.framerate);"pq"===a.transferFunction
2512
2515
  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_={};
2513
2516
  goog.exportProperty(shaka.polyfill.MediaCapabilities,"memoizedCanDisplayTypeRequests_",shaka.polyfill.MediaCapabilities.memoizedCanDisplayTypeRequests_);shaka.polyfill.register(shaka.polyfill.MediaCapabilities.install,-1);shaka.polyfill.MediaSource=function(){};
2514
2517
  shaka.polyfill.MediaSource.install=function(){shaka.log.debug("MediaSource.install");var a=shaka.util.Platform.safariVersion();window.MediaSource||window.ManagedMediaSource?a?10>=a?(shaka.log.info("Blacklisting MSE on Safari <= 10."),shaka.polyfill.MediaSource.blacklist_()):12>=a?(shaka.log.info("Patching Safari 11 & 12 MSE bugs."),shaka.polyfill.MediaSource.stubAbort_(),shaka.polyfill.MediaSource.patchRemovalRange_()):15>=a&&(shaka.log.info("Patching Safari 13 & 14 & 15 MSE bugs."),shaka.polyfill.MediaSource.stubAbort_()):
2515
- shaka.util.Platform.isTizen2()||shaka.util.Platform.isTizen3()||shaka.util.Platform.isTizen4()?(shaka.log.info("Rejecting Opus."),shaka.polyfill.MediaSource.rejectCodec_("opus")):shaka.log.info("Using native MSE as-is."):shaka.log.info("No MSE implementation available.");(window.MediaSource||window.ManagedMediaSource)&&shaka.polyfill.MediaSource.rejectContainer_("mp2t");window.MediaSource&&MediaSource.isTypeSupported('video/webm; codecs="vp9"')&&!MediaSource.isTypeSupported('video/webm; codecs="vp09.00.10.08"')&&
2516
- (shaka.log.info("Patching vp09 support queries."),shaka.polyfill.MediaSource.patchVp09_())};shaka.polyfill.MediaSource.blacklist_=function(){window.MediaSource=null};shaka.polyfill.MediaSource.stubAbort_=function(){var a=MediaSource.prototype.addSourceBuffer;MediaSource.prototype.addSourceBuffer=function(){var b=$jscomp.getRestArguments.apply(0,arguments);b=a.apply(this,b);b.abort=function(){};return b}};
2517
- shaka.polyfill.MediaSource.patchRemovalRange_=function(){var a=SourceBuffer.prototype.remove;SourceBuffer.prototype.remove=function(b,c){return a.call(this,b,c-.001)}};
2518
+ shaka.util.Platform.isZenterio()?(shaka.polyfill.MediaSource.stubAbort_(),shaka.polyfill.MediaSource.patchRemovalRange_()):shaka.util.Platform.isTizen2()||shaka.util.Platform.isTizen3()||shaka.util.Platform.isTizen4()?(shaka.log.info("Rejecting Opus."),shaka.polyfill.MediaSource.rejectCodec_("opus")):shaka.log.info("Using native MSE as-is."):shaka.log.info("No MSE implementation available.");(window.MediaSource||window.ManagedMediaSource)&&shaka.polyfill.MediaSource.rejectContainer_("mp2t");window.MediaSource&&
2519
+ MediaSource.isTypeSupported('video/webm; codecs="vp9"')&&!MediaSource.isTypeSupported('video/webm; codecs="vp09.00.10.08"')&&(shaka.log.info("Patching vp09 support queries."),shaka.polyfill.MediaSource.patchVp09_())};shaka.polyfill.MediaSource.blacklist_=function(){window.MediaSource=null};
2520
+ shaka.polyfill.MediaSource.stubAbort_=function(){var a=MediaSource.prototype.addSourceBuffer;MediaSource.prototype.addSourceBuffer=function(){var b=$jscomp.getRestArguments.apply(0,arguments);b=a.apply(this,b);b.abort=function(){};return b}};shaka.polyfill.MediaSource.patchRemovalRange_=function(){var a=SourceBuffer.prototype.remove;SourceBuffer.prototype.remove=function(b,c){return a.call(this,b,c-.001)}};
2518
2521
  shaka.polyfill.MediaSource.rejectContainer_=function(a){var b=MediaSource.isTypeSupported.bind(MediaSource);MediaSource.isTypeSupported=function(d){return shaka.util.MimeUtils.getContainerType(d)!=a&&b(d)};if(window.ManagedMediaSource){var c=ManagedMediaSource.isTypeSupported.bind(ManagedMediaSource);window.ManagedMediaSource.isTypeSupported=function(d){return shaka.util.MimeUtils.getContainerType(d)!=a&&c(d)}}};
2519
2522
  shaka.polyfill.MediaSource.rejectCodec_=function(a){var b=MediaSource.isTypeSupported.bind(MediaSource);MediaSource.isTypeSupported=function(d){return shaka.util.MimeUtils.getCodecBase(d)!=a&&b(d)};if(window.ManagedMediaSource){var c=ManagedMediaSource.isTypeSupported.bind(ManagedMediaSource);window.ManagedMediaSource.isTypeSupported=function(d){return shaka.util.MimeUtils.getCodecBase(d)!=a&&c(d)}}};
2520
2523
  shaka.polyfill.MediaSource.patchVp09_=function(){var a=MediaSource.isTypeSupported;shaka.util.Platform.isWebOS()||(MediaSource.isTypeSupported=function(b){var c=b.split(/ *; */),d=c.findIndex(function(g){return g.startsWith("codecs=")});if(0>d)return a(b);var e=c[d].replace("codecs=","").replace(/"/g,"").split(/\s*,\s*/),f=e.findIndex(function(g){return g.startsWith("vp09")});0<=f&&(e[f]="vp9",c[d]='codecs="'+e.join(",")+'"',b=c.join("; "));return a(b)})};
@@ -2719,29 +2722,29 @@ shaka.transmuxer.ADTS.getSilentFrame=function(a,b){switch(a){case "mp4a.40.2":if
2719
2722
  64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(1===b)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===b||3===b)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null};
2720
2723
  shaka.transmuxer.ADTS.AAC_SAMPLES_PER_FRAME=1024;shaka.transmuxer.AacTransmuxer=function(a){this.originalMimeType_=a;this.frameIndex_=0;this.initSegments=new Map};shaka.transmuxer.AacTransmuxer.prototype.destroy=function(){this.initSegments.clear()};shaka.transmuxer.AacTransmuxer.prototype.isSupported=function(a,b){b=shaka.media.Capabilities;return this.isAacContainer_(a)?b.isTypeSupported(this.convertCodecs(shaka.util.ManifestParserUtils.ContentType.AUDIO,a)):!1};
2721
2724
  shaka.transmuxer.AacTransmuxer.prototype.isAacContainer_=function(a){return"audio/aac"==a.toLowerCase().split(";")[0]};shaka.transmuxer.AacTransmuxer.prototype.convertCodecs=function(a,b){return this.isAacContainer_(b)?'audio/mp4; codecs="'+(shaka.util.MimeUtils.getCodecs(b)||"mp4a.40.2")+'"':b};shaka.transmuxer.AacTransmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_};
2722
- shaka.transmuxer.AacTransmuxer.prototype.transmux=function(a,b,c,d){for(var e=shaka.transmuxer.ADTS,f=shaka.util.Uint8ArrayUtils,g=shaka.util.BufferUtils.toUint8(a),h=shaka.util.Id3Utils.getID3Data(g),k=h.length;k<g.length&&!e.probe(g,k);k++);a=1E3*c.endTime;h=shaka.util.Id3Utils.getID3Frames(h);h.length&&c&&(c=h.find(function(p){return"com.apple.streaming.transportStreamTimestamp"===p.description}))&&(a=c.data);c=e.parseInfo(g,k);if(!c)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2723
- shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED));b.audioSamplingRate=c.sampleRate;b.channelsCount=c.channelCount;for(h=[];k<g.length;){var l=e.parseHeader(g,k);if(!l)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED));var m=l.headerLength+l.frameLength;if(k+m<=g.length){var n=g.subarray(k+l.headerLength,k+m);h.push({data:n,size:l.frameLength,duration:e.AAC_SAMPLES_PER_FRAME,
2724
- cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}})}k+=m}e=c.sampleRate;a=Math.floor(a*e/1E3);d={id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:c.codec,encrypted:b.encrypted&&0<b.drmInfos.length,timescale:e,duration:d,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:a,samples:h},stream:b};e=new shaka.util.Mp4Generator([d]);this.initSegments.has(b.id)?
2725
- d=this.initSegments.get(b.id):(d=e.initSegment(),this.initSegments.set(b.id,d));b=e.segmentData();this.frameIndex_++;f=f.concat(d,b);return Promise.resolve(f)};goog.exportSymbol("shaka.transmuxer.AacTransmuxer",shaka.transmuxer.AacTransmuxer);goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"transmux",shaka.transmuxer.AacTransmuxer.prototype.transmux);goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.AacTransmuxer.prototype.getOriginalMimeType);
2725
+ shaka.transmuxer.AacTransmuxer.prototype.transmux=function(a,b,c,d){for(var e=shaka.transmuxer.ADTS,f=shaka.util.Uint8ArrayUtils,g=shaka.util.BufferUtils.toUint8(a),h=shaka.util.Id3Utils.getID3Data(g),k=h.length;k<g.length&&!e.probe(g,k);k++);a=1E3*c.endTime;h=shaka.util.Id3Utils.getID3Frames(h);h.length&&c&&(h=h.find(function(q){return"com.apple.streaming.transportStreamTimestamp"===q.description}))&&(a=h.data);h=e.parseInfo(g,k);if(!h)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2726
+ shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,c?c.getUris()[0]:null));b.audioSamplingRate=h.sampleRate;b.channelsCount=h.channelCount;for(var l=[];k<g.length;){var m=e.parseHeader(g,k);if(!m)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,c?c.getUris()[0]:null));var n=m.headerLength+m.frameLength;if(k+n<=g.length){var p=g.subarray(k+m.headerLength,k+n);l.push({data:p,size:m.frameLength,
2727
+ duration:e.AAC_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}})}k+=n}c=h.sampleRate;e=Math.floor(a*c/1E3);d={id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:h.codec,encrypted:b.encrypted&&0<b.drmInfos.length,timescale:c,duration:d,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:e,samples:l},stream:b};c=new shaka.util.Mp4Generator([d]);
2728
+ this.initSegments.has(b.id)?d=this.initSegments.get(b.id):(d=c.initSegment(),this.initSegments.set(b.id,d));b=c.segmentData();this.frameIndex_++;f=f.concat(d,b);return Promise.resolve(f)};goog.exportSymbol("shaka.transmuxer.AacTransmuxer",shaka.transmuxer.AacTransmuxer);goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"transmux",shaka.transmuxer.AacTransmuxer.prototype.transmux);goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.AacTransmuxer.prototype.getOriginalMimeType);
2726
2729
  goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"convertCodecs",shaka.transmuxer.AacTransmuxer.prototype.convertCodecs);goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"isSupported",shaka.transmuxer.AacTransmuxer.prototype.isSupported);goog.exportProperty(shaka.transmuxer.AacTransmuxer.prototype,"destroy",shaka.transmuxer.AacTransmuxer.prototype.destroy);
2727
2730
  shaka.transmuxer.TransmuxerEngine.registerTransmuxer("audio/aac",function(){return new shaka.transmuxer.AacTransmuxer("audio/aac")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK);shaka.transmuxer.Ac3=function(){};
2728
2731
  shaka.transmuxer.Ac3.parseFrame=function(a,b){if(b+8>a.length||11!==a[b]||119!==a[b+1])return null;var c=a[b+4]>>6;if(3<=c)return null;var d=a[b+4]&63,e=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,
2729
2732
  1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*d+c];if(b+e>a.length)return null;var f=a[b+6]>>5,g=0;2===f?g+=2:(f&1&&1!==f&&(g+=2),f&4&&(g+=2));g=(a[b+6]<<8|a[b+7])>>12-g&1;var h=a[b+5]&7;a=new Uint8Array([c<<6|a[b+5]>>3<<1|h>>2,(h&3)<<6|f<<3|g<<2|d>>4,d<<4&224]);return{sampleRate:[48E3,44100,32E3][c],channelCount:[2,1,2,3,3,4,4,5][f]+g,audioConfig:a,frameLength:e}};
2730
2733
  shaka.transmuxer.Ac3.probe=function(a,b){if(11===a[b]&&119===a[b+1]){var c=0,d=5;b+=d;for(var e,f;0<d;){f=a[b];var g=Math.min(d,8),h=8-g;e=4278190080>>>24+h<<h;e=(f&e)>>h;c=c?c<<g|e:e;b+=1;d-=g}if(16>c)return!0}return!1};shaka.transmuxer.Ac3.AC3_SAMPLES_PER_FRAME=1536;shaka.transmuxer.Ac3Transmuxer=function(a){this.originalMimeType_=a;this.frameIndex_=0;this.initSegments=new Map};shaka.transmuxer.Ac3Transmuxer.prototype.destroy=function(){this.initSegments.clear()};shaka.transmuxer.Ac3Transmuxer.prototype.isSupported=function(a,b){b=shaka.media.Capabilities;return this.isAc3Container_(a)?b.isTypeSupported(this.convertCodecs(shaka.util.ManifestParserUtils.ContentType.AUDIO,a)):!1};
2731
2734
  shaka.transmuxer.Ac3Transmuxer.prototype.isAc3Container_=function(a){return"audio/ac3"==a.toLowerCase().split(";")[0]};shaka.transmuxer.Ac3Transmuxer.prototype.convertCodecs=function(a,b){return this.isAc3Container_(b)?'audio/mp4; codecs="ac-3"':b};shaka.transmuxer.Ac3Transmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_};
2732
- shaka.transmuxer.Ac3Transmuxer.prototype.transmux=function(a,b,c,d){var e=shaka.transmuxer.Ac3,f=shaka.util.Uint8ArrayUtils;a=shaka.util.BufferUtils.toUint8(a);for(var g=shaka.util.Id3Utils.getID3Data(a),h=g.length;h<a.length&&!e.probe(a,h);h++);var k=1E3*c.endTime;g=shaka.util.Id3Utils.getID3Frames(g);g.length&&c&&(c=g.find(function(p){return"com.apple.streaming.transportStreamTimestamp"===p.description}))&&(k=c.data);c=0;g=new Uint8Array([]);for(var l=[];h<a.length;){var m=e.parseFrame(a,h);if(!m)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2733
- shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED));b.audioSamplingRate=m.sampleRate;b.channelsCount=m.channelCount;c=m.sampleRate;g=m.audioConfig;var n=a.subarray(h,h+m.frameLength);l.push({data:n,size:m.frameLength,duration:e.AC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});h+=m.frameLength}e=Math.floor(k*c/1E3);d={id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ac-3",encrypted:b.encrypted&&
2734
- 0<b.drmInfos.length,timescale:c,duration:d,videoNalus:[],audioConfig:g,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:e,samples:l},stream:b};e=new shaka.util.Mp4Generator([d]);this.initSegments.has(b.id)?d=this.initSegments.get(b.id):(d=e.initSegment(),this.initSegments.set(b.id,d));b=e.segmentData();this.frameIndex_++;f=f.concat(d,b);return Promise.resolve(f)};goog.exportSymbol("shaka.transmuxer.Ac3Transmuxer",shaka.transmuxer.Ac3Transmuxer);
2735
- goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"transmux",shaka.transmuxer.Ac3Transmuxer.prototype.transmux);goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.Ac3Transmuxer.prototype.getOriginalMimeType);goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"convertCodecs",shaka.transmuxer.Ac3Transmuxer.prototype.convertCodecs);goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"isSupported",shaka.transmuxer.Ac3Transmuxer.prototype.isSupported);
2736
- goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"destroy",shaka.transmuxer.Ac3Transmuxer.prototype.destroy);shaka.transmuxer.TransmuxerEngine.registerTransmuxer("audio/ac3",function(){return new shaka.transmuxer.Ac3Transmuxer("audio/ac3")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK);shaka.transmuxer.Ec3=function(){};
2735
+ shaka.transmuxer.Ac3Transmuxer.prototype.transmux=function(a,b,c,d){var e=shaka.transmuxer.Ac3,f=shaka.util.Uint8ArrayUtils;a=shaka.util.BufferUtils.toUint8(a);for(var g=shaka.util.Id3Utils.getID3Data(a),h=g.length;h<a.length&&!e.probe(a,h);h++);var k=1E3*c.endTime;g=shaka.util.Id3Utils.getID3Frames(g);g.length&&c&&(g=g.find(function(q){return"com.apple.streaming.transportStreamTimestamp"===q.description}))&&(k=g.data);g=0;for(var l=new Uint8Array([]),m=[];h<a.length;){var n=e.parseFrame(a,h);if(!n)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2736
+ shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,c?c.getUris()[0]:null));b.audioSamplingRate=n.sampleRate;b.channelsCount=n.channelCount;g=n.sampleRate;l=n.audioConfig;var p=a.subarray(h,h+n.frameLength);m.push({data:p,size:n.frameLength,duration:e.AC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});h+=n.frameLength}c=Math.floor(k*g/1E3);d={id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ac-3",
2737
+ encrypted:b.encrypted&&0<b.drmInfos.length,timescale:g,duration:d,videoNalus:[],audioConfig:l,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:c,samples:m},stream:b};c=new shaka.util.Mp4Generator([d]);this.initSegments.has(b.id)?d=this.initSegments.get(b.id):(d=c.initSegment(),this.initSegments.set(b.id,d));b=c.segmentData();this.frameIndex_++;f=f.concat(d,b);return Promise.resolve(f)};
2738
+ goog.exportSymbol("shaka.transmuxer.Ac3Transmuxer",shaka.transmuxer.Ac3Transmuxer);goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"transmux",shaka.transmuxer.Ac3Transmuxer.prototype.transmux);goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.Ac3Transmuxer.prototype.getOriginalMimeType);goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"convertCodecs",shaka.transmuxer.Ac3Transmuxer.prototype.convertCodecs);
2739
+ goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"isSupported",shaka.transmuxer.Ac3Transmuxer.prototype.isSupported);goog.exportProperty(shaka.transmuxer.Ac3Transmuxer.prototype,"destroy",shaka.transmuxer.Ac3Transmuxer.prototype.destroy);shaka.transmuxer.TransmuxerEngine.registerTransmuxer("audio/ac3",function(){return new shaka.transmuxer.Ac3Transmuxer("audio/ac3")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK);shaka.transmuxer.Ec3=function(){};
2737
2740
  shaka.transmuxer.Ec3.parseFrame=function(a,b){if(b+8>a.length||!shaka.transmuxer.Ec3.probe(a,b))return null;var c=new shaka.util.ExpGolomb(a.subarray(b+2));c.skipBits(2);c.skipBits(3);var d=c.readBits(11)+1<<1,e=c.readBits(2);if(3==e){e=c.readBits(2);e=[24E3,22060,16E3][e];var f=3}else e=[48E3,44100,32E3][e],f=c.readBits(2);var g=c.readBits(3),h=c.readBits(1);c=c.readBits(5);if(b+d>a.byteLength)return null;a=Math.floor(d*e/(16*[1,2,3,6][f]));a=new Uint8Array([(a&8160)>>5,(a&31)<<3,e<<6|c<<1|0,0|g<<
2738
2741
  1|h<<0,0]);return{sampleRate:e,channelCount:[2,1,2,3,3,4,4,5][g]+h,audioConfig:a,frameLength:d}};shaka.transmuxer.Ec3.probe=function(a,b){return 2935===(a[b]<<8|a[b+1]<<0)?!0:!1};shaka.transmuxer.Ec3.EC3_SAMPLES_PER_FRAME=1536;shaka.transmuxer.Ec3Transmuxer=function(a){this.originalMimeType_=a;this.frameIndex_=0;this.initSegments=new Map};shaka.transmuxer.Ec3Transmuxer.prototype.destroy=function(){this.initSegments.clear()};shaka.transmuxer.Ec3Transmuxer.prototype.isSupported=function(a,b){b=shaka.media.Capabilities;return this.isEc3Container_(a)?b.isTypeSupported(this.convertCodecs(shaka.util.ManifestParserUtils.ContentType.AUDIO,a)):!1};
2739
2742
  shaka.transmuxer.Ec3Transmuxer.prototype.isEc3Container_=function(a){return"audio/ec3"==a.toLowerCase().split(";")[0]};shaka.transmuxer.Ec3Transmuxer.prototype.convertCodecs=function(a,b){return this.isEc3Container_(b)?'audio/mp4; codecs="ec-3"':b};shaka.transmuxer.Ec3Transmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_};
2740
- shaka.transmuxer.Ec3Transmuxer.prototype.transmux=function(a,b,c,d){var e=shaka.transmuxer.Ec3,f=shaka.util.Uint8ArrayUtils;a=shaka.util.BufferUtils.toUint8(a);for(var g=shaka.util.Id3Utils.getID3Data(a),h=g.length;h<a.length&&!e.probe(a,h);h++);var k=1E3*c.endTime;g=shaka.util.Id3Utils.getID3Frames(g);g.length&&c&&(c=g.find(function(p){return"com.apple.streaming.transportStreamTimestamp"===p.description}))&&(k=c.data);c=0;g=new Uint8Array([]);for(var l=[];h<a.length;){var m=e.parseFrame(a,h);if(!m)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2741
- shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED));b.audioSamplingRate=m.sampleRate;b.channelsCount=m.channelCount;c=m.sampleRate;g=m.audioConfig;var n=a.subarray(h,h+m.frameLength);l.push({data:n,size:m.frameLength,duration:e.EC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});h+=m.frameLength}e=Math.floor(k*c/1E3);d={id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ec-3",encrypted:b.encrypted&&
2742
- 0<b.drmInfos.length,timescale:c,duration:d,videoNalus:[],audioConfig:g,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:e,samples:l},stream:b};e=new shaka.util.Mp4Generator([d]);this.initSegments.has(b.id)?d=this.initSegments.get(b.id):(d=e.initSegment(),this.initSegments.set(b.id,d));b=e.segmentData();this.frameIndex_++;f=f.concat(d,b);return Promise.resolve(f)};goog.exportSymbol("shaka.transmuxer.Ec3Transmuxer",shaka.transmuxer.Ec3Transmuxer);
2743
- goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"transmux",shaka.transmuxer.Ec3Transmuxer.prototype.transmux);goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.Ec3Transmuxer.prototype.getOriginalMimeType);goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"convertCodecs",shaka.transmuxer.Ec3Transmuxer.prototype.convertCodecs);goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"isSupported",shaka.transmuxer.Ec3Transmuxer.prototype.isSupported);
2744
- goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"destroy",shaka.transmuxer.Ec3Transmuxer.prototype.destroy);shaka.transmuxer.TransmuxerEngine.registerTransmuxer("audio/ec3",function(){return new shaka.transmuxer.Ec3Transmuxer("audio/ec3")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK);shaka.transmuxer.H264=function(){};
2743
+ shaka.transmuxer.Ec3Transmuxer.prototype.transmux=function(a,b,c,d){var e=shaka.transmuxer.Ec3,f=shaka.util.Uint8ArrayUtils;a=shaka.util.BufferUtils.toUint8(a);for(var g=shaka.util.Id3Utils.getID3Data(a),h=g.length;h<a.length&&!e.probe(a,h);h++);var k=1E3*c.endTime;g=shaka.util.Id3Utils.getID3Frames(g);g.length&&c&&(g=g.find(function(q){return"com.apple.streaming.transportStreamTimestamp"===q.description}))&&(k=g.data);g=0;for(var l=new Uint8Array([]),m=[];h<a.length;){var n=e.parseFrame(a,h);if(!n)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2744
+ shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,c?c.getUris()[0]:null));b.audioSamplingRate=n.sampleRate;b.channelsCount=n.channelCount;g=n.sampleRate;l=n.audioConfig;var p=a.subarray(h,h+n.frameLength);m.push({data:p,size:n.frameLength,duration:e.EC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});h+=n.frameLength}c=Math.floor(k*g/1E3);d={id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ec-3",
2745
+ encrypted:b.encrypted&&0<b.drmInfos.length,timescale:g,duration:d,videoNalus:[],audioConfig:l,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:c,samples:m},stream:b};c=new shaka.util.Mp4Generator([d]);this.initSegments.has(b.id)?d=this.initSegments.get(b.id):(d=c.initSegment(),this.initSegments.set(b.id,d));b=c.segmentData();this.frameIndex_++;f=f.concat(d,b);return Promise.resolve(f)};
2746
+ goog.exportSymbol("shaka.transmuxer.Ec3Transmuxer",shaka.transmuxer.Ec3Transmuxer);goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"transmux",shaka.transmuxer.Ec3Transmuxer.prototype.transmux);goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.Ec3Transmuxer.prototype.getOriginalMimeType);goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"convertCodecs",shaka.transmuxer.Ec3Transmuxer.prototype.convertCodecs);
2747
+ goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"isSupported",shaka.transmuxer.Ec3Transmuxer.prototype.isSupported);goog.exportProperty(shaka.transmuxer.Ec3Transmuxer.prototype,"destroy",shaka.transmuxer.Ec3Transmuxer.prototype.destroy);shaka.transmuxer.TransmuxerEngine.registerTransmuxer("audio/ec3",function(){return new shaka.transmuxer.Ec3Transmuxer("audio/ec3")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK);shaka.transmuxer.H264=function(){};
2745
2748
  shaka.transmuxer.H264.parseInfo=function(a){var b=shaka.transmuxer.H264;if(!a.length)return null;var c=a.find(function(w){return w.type==b.NALU_TYPE_SPS_});a=a.find(function(w){return w.type==b.NALU_TYPE_PPS_});if(!c||!a)return null;var d=new shaka.util.ExpGolomb(c.data),e=d.readUnsignedByte();d.readUnsignedByte();d.readUnsignedByte();d.skipExpGolomb();if(b.PROFILES_WITH_OPTIONAL_SPS_DATA_.includes(e)&&(e=d.readUnsignedExpGolomb(),3===e&&d.skipBits(1),d.skipExpGolomb(),d.skipExpGolomb(),d.skipBits(1),
2746
2749
  d.readBoolean())){e=3!==e?8:12;for(var f=0;f<e;f++)d.readBoolean()&&(6>f?d.skipScalingList(16):d.skipScalingList(64))}d.skipExpGolomb();e=d.readUnsignedExpGolomb();if(0===e)d.readUnsignedExpGolomb();else if(1===e)for(d.skipBits(1),d.skipExpGolomb(),d.skipExpGolomb(),e=d.readUnsignedExpGolomb(),f=0;f<e;f++)d.skipExpGolomb();d.skipExpGolomb();d.skipBits(1);var g=d.readUnsignedExpGolomb(),h=d.readUnsignedExpGolomb(),k=d.readBits(1);0===k&&d.skipBits(1);d.skipBits(1);var l=0,m=0,n=0,p=0;d.readBoolean()&&
2747
2750
  (l=d.readUnsignedExpGolomb(),m=d.readUnsignedExpGolomb(),n=d.readUnsignedExpGolomb(),p=d.readUnsignedExpGolomb());f=e=1;if(d.readBoolean()&&d.readBoolean()){var q=d.readUnsignedByte(),r=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],t=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];0<q&&16>=q?(e=r[q-1],f=t[q-1]):255===q&&(e=d.readBits(16),f=d.readBits(16))}d=(2-k)*(h+1)*16-2*n-2*p;g=16*(g+1)-2*l-2*m;l=[];c=c.fullData;l.push(c.byteLength>>>8&255);l.push(c.byteLength&255);l=l.concat.apply(l,$jscomp.arrayFromIterable(c));
@@ -2754,14 +2757,14 @@ generalProfileSpace:a.generalProfileSpace,generalTierFlag:a.generalTierFlag,gene
2754
2757
  generalConstraintIndicatorFlags3:a.generalConstraintIndicatorFlags3,generalConstraintIndicatorFlags4:a.generalConstraintIndicatorFlags4,generalConstraintIndicatorFlags5:a.generalConstraintIndicatorFlags5,generalConstraintIndicatorFlags6:a.generalConstraintIndicatorFlags6,constantFrameRate:a.constantFrameRate,minSpatialSegmentationIdc:a.minSpatialSegmentationIdc,chromaFormatIdc:a.chromaFormatIdc,bitDepthLumaMinus8:a.bitDepthLumaMinus8,bitDepthChromaMinus8:a.bitDepthChromaMinus8,parallelismType:g.parallelismType});
2755
2758
  return{height:a.height,width:a.width,videoConfig:c,hSpacing:a.sarWidth,vSpacing:a.sarHeight}};shaka.transmuxer.H265.parseVPS_=function(a){var b=new shaka.util.ExpGolomb(a,!0);b.readUnsignedByte();b.readUnsignedByte();b.readBits(4);b.readBits(2);b.readBits(6);a=b.readBits(3);b=b.readBoolean();return{numTemporalLayers:a+1,temporalIdNested:b}};
2756
2759
  shaka.transmuxer.H265.parseSPS_=function(a){a=new shaka.util.ExpGolomb(a,!0);a.readUnsignedByte();a.readUnsignedByte();var b=0,c=0,d=0,e=0;a.readBits(4);var f=a.readBits(3);a.readBoolean();for(var g=a.readBits(2),h=a.readBits(1),k=a.readBits(5),l=a.readUnsignedByte(),m=a.readUnsignedByte(),n=a.readUnsignedByte(),p=a.readUnsignedByte(),q=a.readUnsignedByte(),r=a.readUnsignedByte(),t=a.readUnsignedByte(),w=a.readUnsignedByte(),u=a.readUnsignedByte(),v=a.readUnsignedByte(),x=a.readUnsignedByte(),z=[],
2757
- y=[],A=0;A<f;A++)z.push(a.readBoolean()),y.push(a.readBoolean());if(0<f)for(A=f;8>A;A++)a.readBits(2);for(A=0;A<f;A++)z[A]&&a.readBits(88),y[A]&&a.readUnsignedByte();a.readUnsignedExpGolomb();z=a.readUnsignedExpGolomb();3==z&&a.readBits(1);y=a.readUnsignedExpGolomb();A=a.readUnsignedExpGolomb();a.readBoolean()&&(b+=a.readUnsignedExpGolomb(),c+=a.readUnsignedExpGolomb(),d+=a.readUnsignedExpGolomb(),e+=a.readUnsignedExpGolomb());var B=a.readUnsignedExpGolomb(),D=a.readUnsignedExpGolomb(),C=a.readUnsignedExpGolomb();
2758
- if(a.readBoolean())for(var F=0;F<=f;F++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();else a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();if(a.readBoolean()&&a.readBoolean())for(F=0;4>F;F++)for(var I=0;I<(3===F?2:6);I++)if(a.readBoolean()){var E=Math.min(64,1<<4+(F<<1));1<F&&a.readExpGolomb();
2759
- for(var G=0;G<E;G++)a.readExpGolomb()}else a.readUnsignedExpGolomb();a.readBoolean();a.readBoolean();a.readBoolean()&&(a.readUnsignedByte(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readBoolean());F=a.readUnsignedExpGolomb();for(E=I=0;E<F;E++)if(G=!1,0!==E&&(G=a.readBoolean()),G){E===F&&a.readUnsignedExpGolomb();a.readBoolean();a.readUnsignedExpGolomb();for(var H=G=0;H<=I;H++){var J=a.readBoolean(),K=!1;J||(K=a.readBoolean());(J||K)&&G++}I=G}else{H=a.readUnsignedExpGolomb();G=a.readUnsignedExpGolomb();
2760
- I=H+G;for(J=0;J<H;J++)a.readUnsignedExpGolomb(),a.readBoolean();for(H=0;H<G;H++)a.readUnsignedExpGolomb(),a.readBoolean()}if(a.readBoolean())for(F=a.readUnsignedExpGolomb(),I=0;I<F;I++){for(E=0;E<C+4;E++)a.readBits(1);a.readBits(1)}F=C=1;I=0;a.readBoolean();a.readBoolean();if(a.readBoolean()){a.readBoolean()&&(E=a.readUnsignedByte(),G=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],H=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1],0<E&&16>=E?(C=G[E-1],F=H[E-1]):255===E&&(C=a.readBits(16),F=a.readBits(16)));
2761
- a.readBoolean()&&a.readBoolean();a.readBoolean()&&(a.readBits(3),a.readBoolean(),a.readBoolean()&&(a.readUnsignedByte(),a.readUnsignedByte(),a.readUnsignedByte()));a.readBoolean()&&(a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb());a.readBoolean();a.readBoolean();a.readBoolean();if(E=a.readBoolean())a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();if(a.readBoolean()&&(a.readBits(32),a.readBits(32),a.readBoolean()&&a.readUnsignedExpGolomb(),
2762
- a.readBoolean())){H=!1;E=a.readBoolean();G=a.readBoolean();if(E||G){if(H=a.readBoolean())a.readUnsignedByte(),a.readBits(5),a.readBoolean(),a.readBits(5);a.readBits(4);a.readBits(4);H&&a.readBits(4);a.readBits(5);a.readBits(5);a.readBits(5)}for(J=0;J<=f;J++){var M=!0;K=1;a.readBoolean()||(M=a.readBoolean());var L=!1;M?a.readUnsignedExpGolomb():L=a.readBoolean();L||(K=a.readUnsignedExpGolomb()+1);if(E){for(M=0;M<K;M++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),H&&(a.readUnsignedExpGolomb(),
2760
+ y=[],A=0;A<f;A++)z.push(a.readBoolean()),y.push(a.readBoolean());if(0<f)for(A=f;8>A;A++)a.readBits(2);for(A=0;A<f;A++)z[A]&&a.readBits(88),y[A]&&a.readUnsignedByte();a.readUnsignedExpGolomb();z=a.readUnsignedExpGolomb();3==z&&a.readBits(1);y=a.readUnsignedExpGolomb();A=a.readUnsignedExpGolomb();a.readBoolean()&&(b+=a.readUnsignedExpGolomb(),c+=a.readUnsignedExpGolomb(),d+=a.readUnsignedExpGolomb(),e+=a.readUnsignedExpGolomb());var B=a.readUnsignedExpGolomb(),E=a.readUnsignedExpGolomb(),C=a.readUnsignedExpGolomb();
2761
+ if(a.readBoolean())for(var F=0;F<=f;F++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();else a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();a.readUnsignedExpGolomb();if(a.readBoolean()&&a.readBoolean())for(F=0;4>F;F++)for(var I=0;I<(3===F?2:6);I++)if(a.readBoolean()){var D=Math.min(64,1<<4+(F<<1));1<F&&a.readExpGolomb();
2762
+ for(var G=0;G<D;G++)a.readExpGolomb()}else a.readUnsignedExpGolomb();a.readBoolean();a.readBoolean();a.readBoolean()&&(a.readUnsignedByte(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readBoolean());F=a.readUnsignedExpGolomb();for(D=I=0;D<F;D++)if(G=!1,0!==D&&(G=a.readBoolean()),G){D===F&&a.readUnsignedExpGolomb();a.readBoolean();a.readUnsignedExpGolomb();for(var H=G=0;H<=I;H++){var J=a.readBoolean(),K=!1;J||(K=a.readBoolean());(J||K)&&G++}I=G}else{H=a.readUnsignedExpGolomb();G=a.readUnsignedExpGolomb();
2763
+ I=H+G;for(J=0;J<H;J++)a.readUnsignedExpGolomb(),a.readBoolean();for(H=0;H<G;H++)a.readUnsignedExpGolomb(),a.readBoolean()}if(a.readBoolean())for(F=a.readUnsignedExpGolomb(),I=0;I<F;I++){for(D=0;D<C+4;D++)a.readBits(1);a.readBits(1)}F=C=1;I=0;a.readBoolean();a.readBoolean();if(a.readBoolean()){a.readBoolean()&&(D=a.readUnsignedByte(),G=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],H=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1],0<D&&16>=D?(C=G[D-1],F=H[D-1]):255===D&&(C=a.readBits(16),F=a.readBits(16)));
2764
+ a.readBoolean()&&a.readBoolean();a.readBoolean()&&(a.readBits(3),a.readBoolean(),a.readBoolean()&&(a.readUnsignedByte(),a.readUnsignedByte(),a.readUnsignedByte()));a.readBoolean()&&(a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb());a.readBoolean();a.readBoolean();a.readBoolean();if(D=a.readBoolean())a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb();if(a.readBoolean()&&(a.readBits(32),a.readBits(32),a.readBoolean()&&a.readUnsignedExpGolomb(),
2765
+ a.readBoolean())){H=!1;D=a.readBoolean();G=a.readBoolean();if(D||G){if(H=a.readBoolean())a.readUnsignedByte(),a.readBits(5),a.readBoolean(),a.readBits(5);a.readBits(4);a.readBits(4);H&&a.readBits(4);a.readBits(5);a.readBits(5);a.readBits(5)}for(J=0;J<=f;J++){var M=!0;K=1;a.readBoolean()||(M=a.readBoolean());var L=!1;M?a.readUnsignedExpGolomb():L=a.readBoolean();L||(K=a.readUnsignedExpGolomb()+1);if(D){for(M=0;M<K;M++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),H&&(a.readUnsignedExpGolomb(),
2763
2766
  a.readUnsignedExpGolomb());a.readBoolean()}if(G){for(M=0;M<K;M++)a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),H&&(a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb());a.readBoolean()}}}a.readBoolean()&&(a.readBoolean(),a.readBoolean(),a.readBoolean(),I=a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb(),a.readUnsignedExpGolomb())}return{generalLevelIdc:x,generalProfileSpace:g,generalTierFlag:h,generalProfileIdc:k,generalProfileCompatibilityFlags1:l,
2764
- generalProfileCompatibilityFlags2:m,generalProfileCompatibilityFlags3:n,generalProfileCompatibilityFlags4:p,generalConstraintIndicatorFlags1:q,generalConstraintIndicatorFlags2:r,generalConstraintIndicatorFlags3:t,generalConstraintIndicatorFlags4:w,generalConstraintIndicatorFlags5:u,generalConstraintIndicatorFlags6:v,minSpatialSegmentationIdc:I,constantFrameRate:0,chromaFormatIdc:z,bitDepthLumaMinus8:B,bitDepthChromaMinus8:D,width:y-(b+c)*(1===z||2===z?2:1),height:A-(d+e)*(1===z?2:1),sarWidth:C,sarHeight:F}};
2767
+ generalProfileCompatibilityFlags2:m,generalProfileCompatibilityFlags3:n,generalProfileCompatibilityFlags4:p,generalConstraintIndicatorFlags1:q,generalConstraintIndicatorFlags2:r,generalConstraintIndicatorFlags3:t,generalConstraintIndicatorFlags4:w,generalConstraintIndicatorFlags5:u,generalConstraintIndicatorFlags6:v,minSpatialSegmentationIdc:I,constantFrameRate:0,chromaFormatIdc:z,bitDepthLumaMinus8:B,bitDepthChromaMinus8:E,width:y-(b+c)*(1===z||2===z?2:1),height:A-(d+e)*(1===z?2:1),sarWidth:C,sarHeight:F}};
2765
2768
  shaka.transmuxer.H265.parsePPS_=function(a){var b=new shaka.util.ExpGolomb(a,!0);b.readUnsignedByte();b.readUnsignedByte();b.readUnsignedExpGolomb();b.readUnsignedExpGolomb();b.readBoolean();b.readBoolean();b.readBits(3);b.readBoolean();b.readBoolean();b.readUnsignedExpGolomb();b.readUnsignedExpGolomb();b.readExpGolomb();b.readBoolean();b.readBoolean();b.readBoolean()&&b.readUnsignedExpGolomb();b.readExpGolomb();b.readExpGolomb();b.readBoolean();b.readBoolean();b.readBoolean();b.readBoolean();a=b.readBoolean();
2766
2769
  b=b.readBoolean();var c=1;b&&a?c=0:b?c=3:a&&(c=2);return{parallelismType:c}};
2767
2770
  shaka.transmuxer.H265.getVideoConfiguration_=function(a,b,c,d){var e=shaka.transmuxer.H265,f=new Uint8Array(23+(5+a.byteLength)+(5+b.byteLength)+(5+c.byteLength));f[0]=1;f[1]=(d.generalProfileSpace&3)<<6|(d.generalTierFlag?1:0)<<5|d.generalProfileIdc&31;f[2]=d.generalProfileCompatibilityFlags1;f[3]=d.generalProfileCompatibilityFlags2;f[4]=d.generalProfileCompatibilityFlags3;f[5]=d.generalProfileCompatibilityFlags4;f[6]=d.generalConstraintIndicatorFlags1;f[7]=d.generalConstraintIndicatorFlags2;f[8]=
@@ -2777,15 +2780,15 @@ shaka.transmuxer.MpegAudio.probe=function(a,b){var c=shaka.transmuxer.MpegAudio;
2777
2780
  shaka.transmuxer.MpegAudio.BITRATES_MAP_=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160];shaka.transmuxer.MpegAudio.SAMPLINGRATE_MAP_=[44100,48E3,32E3,22050,24E3,16E3,11025,12E3,8E3];shaka.transmuxer.MpegAudio.SAMPLES_COEFFICIENTS_=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]];
2778
2781
  shaka.transmuxer.MpegAudio.BYTES_IN_SLOT_=[0,1,1,4];shaka.transmuxer.MpegAudio.MPEG_AUDIO_SAMPLE_PER_FRAME=1152;shaka.transmuxer.Mp3Transmuxer=function(a){this.originalMimeType_=a;this.frameIndex_=0;this.initSegments=new Map};shaka.transmuxer.Mp3Transmuxer.prototype.destroy=function(){this.initSegments.clear()};shaka.transmuxer.Mp3Transmuxer.prototype.isSupported=function(a,b){b=shaka.media.Capabilities;return this.isMpegContainer_(a)?b.isTypeSupported(this.convertCodecs(shaka.util.ManifestParserUtils.ContentType.AUDIO,a)):!1};
2779
2782
  shaka.transmuxer.Mp3Transmuxer.prototype.isMpegContainer_=function(a){return"audio/mpeg"==a.toLowerCase().split(";")[0]};shaka.transmuxer.Mp3Transmuxer.prototype.convertCodecs=function(a,b){return this.isMpegContainer_(b)?'audio/mp4; codecs="mp3"':b};shaka.transmuxer.Mp3Transmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_};
2780
- shaka.transmuxer.Mp3Transmuxer.prototype.transmux=function(a,b,c,d){var e=shaka.transmuxer.MpegAudio;c=shaka.util.Uint8ArrayUtils;for(var f=shaka.util.BufferUtils.toUint8(a),g=shaka.util.Id3Utils.getID3Data(f).length;g<f.length&&!e.probe(f,g);g++);var h;for(a=[];g<f.length;){var k=e.parseHeader(f,g);if(!k)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED));h||(h=k);g+k.frameLength<=f.length&&a.push({data:f.subarray(g,
2781
- g+k.frameLength),size:k.frameLength,duration:e.MPEG_AUDIO_SAMPLE_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});g+=k.frameLength}if(!h)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED));e=9E4*h.samplesPerFrame/h.sampleRate*this.frameIndex_;d={id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"mp3",encrypted:b.encrypted&&
2782
- 0<b.drmInfos.length,timescale:h.sampleRate,duration:d,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:e,samples:a},stream:b};h=new shaka.util.Mp4Generator([d]);this.initSegments.has(b.id)?d=this.initSegments.get(b.id):(d=h.initSegment(),this.initSegments.set(b.id,d));b=h.segmentData();this.frameIndex_++;b=c.concat(d,b);return Promise.resolve(b)};
2783
+ shaka.transmuxer.Mp3Transmuxer.prototype.transmux=function(a,b,c,d){for(var e=shaka.transmuxer.MpegAudio,f=shaka.util.Uint8ArrayUtils,g=shaka.util.BufferUtils.toUint8(a),h=shaka.util.Id3Utils.getID3Data(g).length;h<g.length&&!e.probe(g,h);h++);var k;for(a=[];h<g.length;){var l=e.parseHeader(g,h);if(!l)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,c?c.getUris()[0]:null));k||(k=l);h+l.frameLength<=
2784
+ g.length&&a.push({data:g.subarray(h,h+l.frameLength),size:l.frameLength,duration:e.MPEG_AUDIO_SAMPLE_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});h+=l.frameLength}if(!k)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,c?c.getUris()[0]:null));c=9E4*k.samplesPerFrame/k.sampleRate*this.frameIndex_;d={id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,
2785
+ codecs:"mp3",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:k.sampleRate,duration:d,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:c,samples:a},stream:b};k=new shaka.util.Mp4Generator([d]);this.initSegments.has(b.id)?d=this.initSegments.get(b.id):(d=k.initSegment(),this.initSegments.set(b.id,d));b=k.segmentData();this.frameIndex_++;f=f.concat(d,b);return Promise.resolve(f)};
2783
2786
  goog.exportSymbol("shaka.transmuxer.Mp3Transmuxer",shaka.transmuxer.Mp3Transmuxer);goog.exportProperty(shaka.transmuxer.Mp3Transmuxer.prototype,"transmux",shaka.transmuxer.Mp3Transmuxer.prototype.transmux);goog.exportProperty(shaka.transmuxer.Mp3Transmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.Mp3Transmuxer.prototype.getOriginalMimeType);goog.exportProperty(shaka.transmuxer.Mp3Transmuxer.prototype,"convertCodecs",shaka.transmuxer.Mp3Transmuxer.prototype.convertCodecs);
2784
2787
  goog.exportProperty(shaka.transmuxer.Mp3Transmuxer.prototype,"isSupported",shaka.transmuxer.Mp3Transmuxer.prototype.isSupported);goog.exportProperty(shaka.transmuxer.Mp3Transmuxer.prototype,"destroy",shaka.transmuxer.Mp3Transmuxer.prototype.destroy);shaka.transmuxer.TransmuxerEngine.registerTransmuxer("audio/mpeg",function(){return new shaka.transmuxer.Mp3Transmuxer("audio/mpeg")},shaka.transmuxer.TransmuxerEngine.PluginPriority.FALLBACK);shaka.transmuxer.MpegTsTransmuxer=function(a){this.originalMimeType_=a;this.tsParser_=null};shaka.transmuxer.MpegTsTransmuxer.prototype.destroy=function(){};
2785
2788
  shaka.transmuxer.MpegTsTransmuxer.prototype.isSupported=function(a,b){b=shaka.media.Capabilities;if(!this.isTsContainer_(a))return!1;var c=shaka.util.ManifestParserUtils.ContentType,d=shaka.util.MimeUtils,e=d.getCodecs(a),f=d.splitCodecs(e);e=shaka.util.ManifestParserUtils.guessCodecsSafe(c.AUDIO,f);f=shaka.util.ManifestParserUtils.guessCodecsSafe(c.VIDEO,f);return!e||f||"mp3"!=d.getNormalizedCodec(e)?!1:b.isTypeSupported(this.convertCodecs(c.AUDIO,a))};
2786
2789
  shaka.transmuxer.MpegTsTransmuxer.prototype.isTsContainer_=function(a){return"video/mp2t"==a.toLowerCase().split(";")[0]};shaka.transmuxer.MpegTsTransmuxer.prototype.convertCodecs=function(a,b){return this.isTsContainer_(b)?"audio/mpeg":b};shaka.transmuxer.MpegTsTransmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_};
2787
- shaka.transmuxer.MpegTsTransmuxer.prototype.transmux=function(a,b,c,d,e){b=shaka.transmuxer.MpegAudio;d=shaka.util.ManifestParserUtils.ContentType;c=shaka.util.Uint8ArrayUtils;this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser;a=shaka.util.BufferUtils.toUint8(a);a=this.tsParser_.parse(a);if("mp3"!=a.getCodecs().audio||e!=d.AUDIO)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED));
2788
- e=new Uint8Array([]);a=$jscomp.makeIterator(a.getAudioData());for(d=a.next();!d.done;d=a.next())if(d=d.value.data)for(var f=0;f<d.length;){var g=b.parseHeader(d,f);g?(f+g.frameLength<=d.length&&(e=c.concat(e,d.subarray(f,f+g.frameLength))),f+=g.frameLength):f++}return Promise.resolve(e)};goog.exportSymbol("shaka.transmuxer.MpegTsTransmuxer",shaka.transmuxer.MpegTsTransmuxer);goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"transmux",shaka.transmuxer.MpegTsTransmuxer.prototype.transmux);
2790
+ shaka.transmuxer.MpegTsTransmuxer.prototype.transmux=function(a,b,c,d,e){b=shaka.transmuxer.MpegAudio;var f=shaka.util.ManifestParserUtils.ContentType;d=shaka.util.Uint8ArrayUtils;this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser;a=shaka.util.BufferUtils.toUint8(a);a=this.tsParser_.parse(a);if("mp3"!=a.getCodecs().audio||e!=f.AUDIO)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,
2791
+ c?c.getUris()[0]:null));c=new Uint8Array([]);e=$jscomp.makeIterator(a.getAudioData());for(a=e.next();!a.done;a=e.next())if(a=a.value.data)for(f=0;f<a.length;){var g=b.parseHeader(a,f);g?(f+g.frameLength<=a.length&&(c=d.concat(c,a.subarray(f,f+g.frameLength))),f+=g.frameLength):f++}return Promise.resolve(c)};goog.exportSymbol("shaka.transmuxer.MpegTsTransmuxer",shaka.transmuxer.MpegTsTransmuxer);goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"transmux",shaka.transmuxer.MpegTsTransmuxer.prototype.transmux);
2789
2792
  goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.MpegTsTransmuxer.prototype.getOriginalMimeType);goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"convertCodecs",shaka.transmuxer.MpegTsTransmuxer.prototype.convertCodecs);goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"isSupported",shaka.transmuxer.MpegTsTransmuxer.prototype.isSupported);goog.exportProperty(shaka.transmuxer.MpegTsTransmuxer.prototype,"destroy",shaka.transmuxer.MpegTsTransmuxer.prototype.destroy);
2790
2793
  shaka.transmuxer.TransmuxerEngine.registerTransmuxer("video/mp2t",function(){return new shaka.transmuxer.MpegTsTransmuxer("video/mp2t")},shaka.transmuxer.TransmuxerEngine.PluginPriority.PREFERRED_SECONDARY);/*
2791
2794
  @license
@@ -2799,8 +2802,8 @@ shaka.transmuxer.MssTransmuxer.prototype.addSpecificBoxProcessor_=function(){thi
2799
2802
  function(b){this._procEntryField(b,"InitializationVector","data",8);this.flags&2&&(this._procEntryField(b,"NumberOfEntries","uint",16),this._procSubEntries(b,"clearAndCryptedData",b.NumberOfEntries,function(c){this._procEntryField(c,"BytesOfClearData","uint",16);this._procEntryField(c,"BytesOfEncryptedData","uint",32)}))})};this.isoBoxer_.addBoxProcessor("senc",a);this.isoBoxer_.addBoxProcessor("uuid",function(){for(var b=shaka.transmuxer.MssTransmuxer,c=!0,d=0;16>d;d++)this.usertype[d]!==b.UUID_SENC_[d]&&
2800
2803
  (c=!1);c&&(this._parsing&&(this.type="sepiff"),a.call(this))})};shaka.transmuxer.MssTransmuxer.prototype.destroy=function(){};shaka.transmuxer.MssTransmuxer.prototype.isSupported=function(a,b){var c=shaka.media.Capabilities,d=a.startsWith("mss/");if(!this.isoBoxer_||!d)return!1;if(b)return c.isTypeSupported(this.convertCodecs(b,a));d=shaka.util.ManifestParserUtils.ContentType;b=this.convertCodecs(d.AUDIO,a);a=this.convertCodecs(d.VIDEO,a);return c.isTypeSupported(b)||c.isTypeSupported(a)};
2801
2804
  shaka.transmuxer.MssTransmuxer.prototype.convertCodecs=function(a,b){return b.replace("mss/","")};shaka.transmuxer.MssTransmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_};
2802
- shaka.transmuxer.MssTransmuxer.prototype.transmux=function(a,b,c){if(!c)return Promise.resolve(shaka.util.BufferUtils.toUint8(a));if(!b.mssPrivateData)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MSS_MISSING_DATA_FOR_TRANSMUXING));try{var d=this.processMediaSegment_(a,b,c);return Promise.resolve(d)}catch(e){return e instanceof shaka.util.Error?Promise.reject(e):Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2803
- shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MSS_TRANSMUXING_FAILED))}};
2805
+ shaka.transmuxer.MssTransmuxer.prototype.transmux=function(a,b,c){if(!c)return Promise.resolve(shaka.util.BufferUtils.toUint8(a));if(!b.mssPrivateData)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MSS_MISSING_DATA_FOR_TRANSMUXING,c?c.getUris()[0]:null));try{var d=this.processMediaSegment_(a,b,c);return Promise.resolve(d)}catch(e){return e instanceof shaka.util.Error?Promise.reject(e):Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2806
+ shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.MSS_TRANSMUXING_FAILED,c?c.getUris()[0]:null))}};
2804
2807
  shaka.transmuxer.MssTransmuxer.prototype.processMediaSegment_=function(a,b,c){a=this.isoBoxer_.parseBuffer(a);var d=a.fetch("tfhd");d.track_ID=b.id+1;var e=a.fetch("tfdt");var f=a.fetch("traf");null===e&&(e=this.isoBoxer_.createFullBox("tfdt",f,d),e.version=1,e.flags=0,e.baseMediaDecodeTime=Math.floor(c.startTime*b.mssPrivateData.timescale));b=a.fetch("trun");(c=a.fetch("tfxd"))&&c._parent.boxes.splice(c._parent.boxes.indexOf(c),1);(c=a.fetch("tfrf"))&&c._parent.boxes.splice(c._parent.boxes.indexOf(c),
2805
2808
  1);c=a.fetch("sepiff");if(null!==c&&(c.type="senc",c.usertype=void 0,e=a.fetch("saio"),null===e)){e=this.isoBoxer_.createFullBox("saio",f);e.version=0;e.flags=0;e.entry_count=1;e.offset=[0];var g=this.isoBoxer_.createFullBox("saiz",f);g.version=0;g.flags=0;g.sample_count=c.sample_count;g.default_sample_info_size=0;g.sample_info_size=[];if(c.flags&2)for(e=0;e<c.sample_count;e+=1)g.sample_info_size[e]=10+6*c.entry[e].NumberOfEntries;else g.default_sample_info_size=8}d.flags&=16777214;d.flags|=131072;
2806
2809
  b.flags|=1;d=a.fetch("moof");c=d.getLength();b.data_offset=c+8;b=a.fetch("saio");null!==b&&(d=this.getBoxOffset_(d,"traf"),f=this.getBoxOffset_(f,"senc"),b.offset[0]=d+f+16);return shaka.util.BufferUtils.toUint8(a.write())};shaka.transmuxer.MssTransmuxer.prototype.getBoxOffset_=function(a,b){for(var c=8,d=0;d<a.boxes.length&&a.boxes[d].type!==b;d++)c+=a.boxes[d].size;return c};goog.exportSymbol("shaka.transmuxer.MssTransmuxer",shaka.transmuxer.MssTransmuxer);
@@ -2812,35 +2815,35 @@ case 134:b=[1,1,6,0,1,2,3,4,5];break;case 135:b=[1,1,7,0,1,2,3,4,5,6];break;case
2812
2815
  shaka.transmuxer.TsTransmuxer.prototype.isSupported=function(a,b){var c=shaka.media.Capabilities;if(!this.isTsContainer_(a))return!1;var d=shaka.util.ManifestParserUtils.ContentType,e=shaka.util.MimeUtils,f=a;b&&(f=this.convertCodecs(b,a));f=e.getCodecs(f);f=e.splitCodecs(f);var g=shaka.util.ManifestParserUtils.guessCodecsSafe(d.AUDIO,f),h=shaka.util.ManifestParserUtils.guessCodecsSafe(d.VIDEO,f);f=shaka.transmuxer.TsTransmuxer;if(g&&(g=e.getNormalizedCodec(g),!f.SUPPORTED_AUDIO_CODECS_.includes(g))||
2813
2816
  h&&(e=e.getNormalizedCodec(h),!f.SUPPORTED_VIDEO_CODECS_.includes(e)))return!1;if(b)return c.isTypeSupported(this.convertCodecs(b,a));b=this.convertCodecs(d.AUDIO,a);a=this.convertCodecs(d.VIDEO,a);return c.isTypeSupported(b)||c.isTypeSupported(a)};shaka.transmuxer.TsTransmuxer.prototype.isTsContainer_=function(a){return"video/mp2t"==a.toLowerCase().split(";")[0]};
2814
2817
  shaka.transmuxer.TsTransmuxer.prototype.convertCodecs=function(a,b){if(this.isTsContainer_(b)){var c=shaka.util.ManifestParserUtils.ContentType,d=shaka.util.StreamUtils;b=shaka.util.MimeUtils.getCodecs(b).replace("mp4a.40.34","mp3").split(",").map(function(e){return d.getCorrectAudioCodecs(e,"audio/mp4")}).map(d.getCorrectVideoCodecs).join(",");return a==c.AUDIO?'audio/mp4; codecs="'+b+'"':'video/mp4; codecs="'+b+'"'}return b};shaka.transmuxer.TsTransmuxer.prototype.getOriginalMimeType=function(){return this.originalMimeType_};
2815
- shaka.transmuxer.TsTransmuxer.prototype.transmux=function(a,b,c,d,e){var f=shaka.util.ManifestParserUtils.ContentType,g=shaka.util.Uint8ArrayUtils,h=shaka.util.BufferUtils.toUint8(a);if(e==f.AUDIO&&!shaka.util.TsParser.probe(h)){g=shaka.util.Id3Utils.getID3Data(h);for(f=g.length;f<h.length;f++)if(shaka.transmuxer.MpegAudio.probe(h,f))return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED));for(f=g.length;f<
2816
- h.length;f++)if(shaka.transmuxer.ADTS.probe(h,f))return this.aacTransmuxer_||(this.aacTransmuxer_=new shaka.transmuxer.AacTransmuxer("audio/aac")),this.aacTransmuxer_.transmux(a,b,c,d,e);return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED))}this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser;a=this.tsParser_.parse(h);h=[];var k=a.getCodecs();try{var l=null;if(e==f.VIDEO){switch(k.video){case "avc":l=
2817
- this.getAvcStreamInfo_(a,b,d,c);break;case "hvc":l=this.getHvcStreamInfo_(a,b,d,c)}l&&(h.push(l),l=null)}if(e==f.AUDIO){switch(k.audio){case "aac":l=this.getAacStreamInfo_(a,b,d,c);break;case "ac3":l=this.getAc3StreamInfo_(a,b,d);break;case "ec3":l=this.getEc3StreamInfo_(a,b,d);break;case "mp3":l=this.getMp3StreamInfo_(a,b,d);break;case "opus":l=this.getOpusStreamInfo_(a,b,d)}l&&h.push(l)}}catch(m){return m&&m.code==shaka.util.Error.Code.TRANSMUXING_NO_VIDEO_DATA?Promise.resolve(new Uint8Array([])):
2818
- Promise.reject(m)}if(!h.length)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED));d=new shaka.util.Mp4Generator(h);this.initSegments.has(b.id)?c=this.initSegments.get(b.id):(c=d.initSegment(),this.initSegments.set(b.id,c));b=d.segmentData();this.frameIndex_++;b=g.concat(c,b);return Promise.resolve(b)};
2819
- shaka.transmuxer.TsTransmuxer.prototype.getAacStreamInfo_=function(a,b,c,d){for(var e=shaka.transmuxer.ADTS,f=shaka.util.TsParser.Timescale,g=[],h,k=null,l=$jscomp.makeIterator(a.getAudioData()),m=l.next();!m.done;m=l.next()){var n=m.value;if(m=n.data){var p=0;h=e.parseInfo(m,p);if(!h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);b.audioSamplingRate=h.sampleRate;b.channelsCount=h.channelCount;null==k&&null!==
2820
- n.pts&&(k=n.pts);for(;p<m.length;)if(n=e.parseHeader(m,p)){var q=n.headerLength+n.frameLength;if(p+q<=m.length){var r=m.subarray(p+n.headerLength,p+q);g.push({data:r,size:n.frameLength,duration:e.AAC_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}})}p+=q}else p++}}if(!h||null==k){if(!a.getVideoData().length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);
2821
- k=d.startTime*f;h=shaka.util.MimeUtils.splitCodecs(b.codecs);a=shaka.util.ManifestParserUtils.guessCodecsSafe(shaka.util.ManifestParserUtils.ContentType.AUDIO,h);if(!a||!b.channelsCount||!b.audioSamplingRate)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);h={sampleRate:b.audioSamplingRate,channelCount:b.channelsCount,codec:a};a=e.getSilentFrame(a,b.channelsCount);if(!a)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2822
- shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);d=k+(d.endTime-d.startTime)*f;for(l=k;l<d;)g.push({data:a,size:a.byteLength,duration:e.AAC_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),l+=e.AAC_SAMPLES_PER_FRAME/h.sampleRate*f}e=h.sampleRate;f=k/f*e;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:h.codec,encrypted:b.encrypted&&0<b.drmInfos.length,timescale:e,duration:c,videoNalus:[],
2823
- audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:f,samples:g},stream:b}};
2824
- shaka.transmuxer.TsTransmuxer.prototype.getAc3StreamInfo_=function(a,b,c){var d=shaka.transmuxer.Ac3,e=shaka.util.TsParser.Timescale,f=[],g=0,h=new Uint8Array([]),k=null;a=$jscomp.makeIterator(a.getAudioData());for(var l=a.next();!l.done;l=a.next()){var m=l.value;l=m.data;null==k&&null!==m.pts&&(k=m.pts);for(m=0;m<l.length;){var n=d.parseFrame(l,m);if(n){b.audioSamplingRate=n.sampleRate;b.channelsCount=n.channelCount;g=n.sampleRate;h=n.audioConfig;var p=l.subarray(m,m+n.frameLength);f.push({data:p,
2825
- size:n.frameLength,duration:d.AC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});m+=n.frameLength}else m++}}if(0==g||0==h.byteLength||null==k)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);d=k/e*g;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ac-3",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:g,duration:c,
2826
- videoNalus:[],audioConfig:h,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:d,samples:f},stream:b}};
2827
- shaka.transmuxer.TsTransmuxer.prototype.getEc3StreamInfo_=function(a,b,c){var d=shaka.transmuxer.Ec3,e=shaka.util.TsParser.Timescale,f=[],g=0,h=new Uint8Array([]),k=null;a=$jscomp.makeIterator(a.getAudioData());for(var l=a.next();!l.done;l=a.next()){var m=l.value;l=m.data;null==k&&null!==m.pts&&(k=m.pts);for(m=0;m<l.length;){var n=d.parseFrame(l,m);if(n){b.audioSamplingRate=n.sampleRate;b.channelsCount=n.channelCount;g=n.sampleRate;h=n.audioConfig;var p=l.subarray(m,m+n.frameLength);f.push({data:p,
2828
- size:n.frameLength,duration:d.EC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});m+=n.frameLength}else m++}}if(0==g||0==h.byteLength||null==k)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);d=k/e*g;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ec-3",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:g,duration:c,
2829
- videoNalus:[],audioConfig:h,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:d,samples:f},stream:b}};
2830
- shaka.transmuxer.TsTransmuxer.prototype.getMp3StreamInfo_=function(a,b,c){var d=shaka.transmuxer.MpegAudio,e=shaka.util.TsParser.Timescale,f=[],g,h=null;a=$jscomp.makeIterator(a.getAudioData());for(var k=a.next();!k.done;k=a.next()){var l=k.value;if(k=l.data)for(null==h&&null!==l.pts&&(h=l.pts),l=0;l<k.length;){var m=d.parseHeader(k,l);m?(g||(g=m),l+m.frameLength<=k.length&&f.push({data:k.subarray(l,l+m.frameLength),size:m.frameLength,duration:d.MPEG_AUDIO_SAMPLE_PER_FRAME,cts:0,flags:{isLeading:0,
2831
- isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),l+=m.frameLength):l++}}if(!g||null==h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);d=g.sampleRate;e=h/e*d;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"mp3",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:d,duration:c,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,
2832
- vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:e,samples:f},stream:b}};
2833
- shaka.transmuxer.TsTransmuxer.prototype.getOpusStreamInfo_=function(a,b,c){var d=shaka.transmuxer.Opus,e=shaka.util.TsParser.Timescale,f=[],g=null,h=a.getOpusMetadata();if(!h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);var k=d.getAudioConfig(h),l=h.sampleRate;a=$jscomp.makeIterator(a.getAudioData());for(var m=a.next();!m.done;m=a.next()){var n=m.value;m=n.data;null==g&&null!==n.pts&&(g=n.pts);for(var p=0;p<
2834
- m.length;){n=0!==(m[p+1]&16);var q=0!==(m[p+1]&8);p+=2;for(var r=0;255===m[p];)r+=255,p+=1;r+=m[p];p+=1;p+=n?2:0;p+=q?2:0;n=m.slice(p,p+r);f.push({data:n,size:n.byteLength,duration:d.OPUS_AUDIO_SAMPLE_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});p+=r}}if(0==k.byteLength||null==g)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);b.audioSamplingRate=h.sampleRate;
2835
- b.channelsCount=h.channelCount;d=g/e*l;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"opus",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:l,duration:c,videoNalus:[],audioConfig:k,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:d,samples:f},stream:b}};
2836
- shaka.transmuxer.TsTransmuxer.prototype.getAvcStreamInfo_=function(a,b,c,d){var e=shaka.transmuxer.H264,f=shaka.util.TsParser.Timescale,g=[],h=null,k=[];a=a.getVideoData();if(!a.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_NO_VIDEO_DATA);for(var l=0;l<a.length;l++){var m=a[l],n=m.nalus;k.push.apply(k,$jscomp.arrayFromIterable(n));if(n=e.parseFrame(n))null==h&&(h=m.dts),g.push({data:n.data,size:n.data.byteLength,
2837
- duration:l+1<a.length?(a[l+1].dts||0)-(m.dts||0):1<a.length?(m.dts||0)-(a[l-1].dts||0):(d.endTime-d.startTime)*f,cts:Math.round((m.pts||0)-(m.dts||0)),flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:n.isKeyframe?2:1,isNonSync:n.isKeyframe?0:1}})}d=e.parseInfo(k);if(!d||null==h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);b.height=d.height;b.width=d.width;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.VIDEO,
2838
- codecs:"avc1",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:f,duration:c,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:d.videoConfig,hSpacing:d.hSpacing,vSpacing:d.vSpacing,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:h,samples:g},stream:b}};
2839
- shaka.transmuxer.TsTransmuxer.prototype.getHvcStreamInfo_=function(a,b,c,d){var e=shaka.transmuxer.H265,f=shaka.util.TsParser.Timescale,g=[],h=null,k=[];a=a.getVideoData();if(!a.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_NO_VIDEO_DATA);for(var l=0;l<a.length;l++){var m=a[l],n=m.nalus;k.push.apply(k,$jscomp.arrayFromIterable(n));if(n=e.parseFrame(n))null==h&&null!=m.dts&&(h=m.dts),g.push({data:n.data,size:n.data.byteLength,
2840
- duration:l+1<a.length?(a[l+1].dts||0)-(m.dts||0):1<a.length?(m.dts||0)-(a[l-1].dts||0):(d.endTime-d.startTime)*f,cts:Math.round((m.pts||0)-(m.dts||0)),flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:n.isKeyframe?2:1,isNonSync:n.isKeyframe?0:1}})}d=e.parseInfo(k);if(!d||null==h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED);b.height=d.height;b.width=d.width;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.VIDEO,
2841
- codecs:"hvc1",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:f,duration:c,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:d.videoConfig,hSpacing:d.hSpacing,vSpacing:d.vSpacing,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:h,samples:g},stream:b}};goog.exportSymbol("shaka.transmuxer.TsTransmuxer",shaka.transmuxer.TsTransmuxer);goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"transmux",shaka.transmuxer.TsTransmuxer.prototype.transmux);
2842
- goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.TsTransmuxer.prototype.getOriginalMimeType);goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"convertCodecs",shaka.transmuxer.TsTransmuxer.prototype.convertCodecs);goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"isSupported",shaka.transmuxer.TsTransmuxer.prototype.isSupported);goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"destroy",shaka.transmuxer.TsTransmuxer.prototype.destroy);
2843
- shaka.transmuxer.TsTransmuxer.SUPPORTED_AUDIO_CODECS_=["aac","ac-3","ec-3","mp3","opus"];shaka.transmuxer.TsTransmuxer.SUPPORTED_VIDEO_CODECS_=["avc","hevc"];shaka.transmuxer.TransmuxerEngine.registerTransmuxer("video/mp2t",function(){return new shaka.transmuxer.TsTransmuxer("video/mp2t")},shaka.transmuxer.TransmuxerEngine.PluginPriority.PREFERRED);/*
2818
+ shaka.transmuxer.TsTransmuxer.prototype.transmux=function(a,b,c,d,e){var f=shaka.util.ManifestParserUtils.ContentType,g=shaka.util.Uint8ArrayUtils,h=shaka.util.BufferUtils.toUint8(a);if(e==f.AUDIO&&!shaka.util.TsParser.probe(h)){g=shaka.util.Id3Utils.getID3Data(h);for(f=g.length;f<h.length;f++)if(shaka.transmuxer.MpegAudio.probe(h,f))return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,c?c.getUris()[0]:
2819
+ null));for(f=g.length;f<h.length;f++)if(shaka.transmuxer.ADTS.probe(h,f))return this.aacTransmuxer_||(this.aacTransmuxer_=new shaka.transmuxer.AacTransmuxer("audio/aac")),this.aacTransmuxer_.transmux(a,b,c,d,e);return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,c?c.getUris()[0]:null))}this.tsParser_?this.tsParser_.clearData():this.tsParser_=new shaka.util.TsParser;a=this.tsParser_.parse(h);h=[];var k=
2820
+ a.getCodecs();try{var l=null;if(e==f.VIDEO){switch(k.video){case "avc":l=this.getAvcStreamInfo_(a,b,d,c);break;case "hvc":l=this.getHvcStreamInfo_(a,b,d,c)}l&&(h.push(l),l=null)}if(e==f.AUDIO){switch(k.audio){case "aac":l=this.getAacStreamInfo_(a,b,d,c);break;case "ac3":l=this.getAc3StreamInfo_(a,b,d,c);break;case "ec3":l=this.getEc3StreamInfo_(a,b,d,c);break;case "mp3":l=this.getMp3StreamInfo_(a,b,d,c);break;case "opus":l=this.getOpusStreamInfo_(a,b,d,c)}l&&h.push(l)}}catch(m){return m&&m.code==
2821
+ shaka.util.Error.Code.TRANSMUXING_NO_VIDEO_DATA?Promise.resolve(new Uint8Array([])):Promise.reject(m)}if(!h.length)return Promise.reject(new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,c?c.getUris()[0]:null));d=new shaka.util.Mp4Generator(h);this.initSegments.has(b.id)?c=this.initSegments.get(b.id):(c=d.initSegment(),this.initSegments.set(b.id,c));b=d.segmentData();this.frameIndex_++;b=g.concat(c,b);return Promise.resolve(b)};
2822
+ shaka.transmuxer.TsTransmuxer.prototype.getAacStreamInfo_=function(a,b,c,d){for(var e=shaka.transmuxer.ADTS,f=shaka.util.TsParser.Timescale,g=[],h,k=null,l=$jscomp.makeIterator(a.getAudioData()),m=l.next();!m.done;m=l.next()){var n=m.value;if(m=n.data){var p=0;h=e.parseInfo(m,p);if(!h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,d?d.getUris()[0]:null);b.audioSamplingRate=h.sampleRate;b.channelsCount=h.channelCount;
2823
+ null==k&&null!==n.pts&&(k=n.pts);for(;p<m.length;)if(n=e.parseHeader(m,p)){var q=n.headerLength+n.frameLength;if(p+q<=m.length){var r=m.subarray(p+n.headerLength,p+q);g.push({data:r,size:n.frameLength,duration:e.AAC_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}})}p+=q}else p++}}if(!h||null==k){if(!a.getVideoData().length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,
2824
+ d?d.getUris()[0]:null);k=d.startTime*f;h=shaka.util.MimeUtils.splitCodecs(b.codecs);a=shaka.util.ManifestParserUtils.guessCodecsSafe(shaka.util.ManifestParserUtils.ContentType.AUDIO,h);if(!a||!b.channelsCount||!b.audioSamplingRate)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,d?d.getUris()[0]:null);h={sampleRate:b.audioSamplingRate,channelCount:b.channelsCount,codec:a};a=e.getSilentFrame(a,b.channelsCount);if(!a)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,
2825
+ shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,d?d.getUris()[0]:null);d=k+(d.endTime-d.startTime)*f;for(l=k;l<d;)g.push({data:a,size:a.byteLength,duration:e.AAC_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),l+=e.AAC_SAMPLES_PER_FRAME/h.sampleRate*f}e=h.sampleRate;f=k/f*e;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:h.codec,encrypted:b.encrypted&&0<b.drmInfos.length,timescale:e,
2826
+ duration:c,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:f,samples:g},stream:b}};
2827
+ shaka.transmuxer.TsTransmuxer.prototype.getAc3StreamInfo_=function(a,b,c,d){var e=shaka.transmuxer.Ac3,f=shaka.util.TsParser.Timescale,g=[],h=0,k=new Uint8Array([]),l=null;a=$jscomp.makeIterator(a.getAudioData());for(var m=a.next();!m.done;m=a.next()){var n=m.value;m=n.data;null==l&&null!==n.pts&&(l=n.pts);for(n=0;n<m.length;){var p=e.parseFrame(m,n);if(p){b.audioSamplingRate=p.sampleRate;b.channelsCount=p.channelCount;h=p.sampleRate;k=p.audioConfig;var q=m.subarray(n,n+p.frameLength);g.push({data:q,
2828
+ size:p.frameLength,duration:e.AC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});n+=p.frameLength}else n++}}if(0==h||0==k.byteLength||null==l)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,d?d.getUris()[0]:null);d=l/f*h;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ac-3",encrypted:b.encrypted&&0<b.drmInfos.length,
2829
+ timescale:h,duration:c,videoNalus:[],audioConfig:k,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:d,samples:g},stream:b}};
2830
+ shaka.transmuxer.TsTransmuxer.prototype.getEc3StreamInfo_=function(a,b,c,d){var e=shaka.transmuxer.Ec3,f=shaka.util.TsParser.Timescale,g=[],h=0,k=new Uint8Array([]),l=null;a=$jscomp.makeIterator(a.getAudioData());for(var m=a.next();!m.done;m=a.next()){var n=m.value;m=n.data;null==l&&null!==n.pts&&(l=n.pts);for(n=0;n<m.length;){var p=e.parseFrame(m,n);if(p){b.audioSamplingRate=p.sampleRate;b.channelsCount=p.channelCount;h=p.sampleRate;k=p.audioConfig;var q=m.subarray(n,n+p.frameLength);g.push({data:q,
2831
+ size:p.frameLength,duration:e.EC3_SAMPLES_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});n+=p.frameLength}else n++}}if(0==h||0==k.byteLength||null==l)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,d?d.getUris()[0]:null);d=l/f*h;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"ec-3",encrypted:b.encrypted&&0<b.drmInfos.length,
2832
+ timescale:h,duration:c,videoNalus:[],audioConfig:k,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:d,samples:g},stream:b}};
2833
+ shaka.transmuxer.TsTransmuxer.prototype.getMp3StreamInfo_=function(a,b,c,d){var e=shaka.transmuxer.MpegAudio,f=shaka.util.TsParser.Timescale,g=[],h,k=null;a=$jscomp.makeIterator(a.getAudioData());for(var l=a.next();!l.done;l=a.next()){var m=l.value;if(l=m.data)for(null==k&&null!==m.pts&&(k=m.pts),m=0;m<l.length;){var n=e.parseHeader(l,m);n?(h||(h=n),m+n.frameLength<=l.length&&g.push({data:l.subarray(m,m+n.frameLength),size:n.frameLength,duration:e.MPEG_AUDIO_SAMPLE_PER_FRAME,cts:0,flags:{isLeading:0,
2834
+ isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}}),m+=n.frameLength):m++}}if(!h||null==k)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,d?d.getUris()[0]:null);d=h.sampleRate;f=k/f*d;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"mp3",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:d,duration:c,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:new Uint8Array([]),
2835
+ hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:f,samples:g},stream:b}};
2836
+ shaka.transmuxer.TsTransmuxer.prototype.getOpusStreamInfo_=function(a,b,c,d){var e=shaka.transmuxer.Opus,f=shaka.util.TsParser.Timescale,g=[],h=null,k=a.getOpusMetadata();if(!k)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,d?d.getUris()[0]:null);var l=e.getAudioConfig(k),m=k.sampleRate;a=$jscomp.makeIterator(a.getAudioData());for(var n=a.next();!n.done;n=a.next()){var p=n.value;n=p.data;null==h&&null!==p.pts&&
2837
+ (h=p.pts);for(var q=0;q<n.length;){p=0!==(n[q+1]&16);var r=0!==(n[q+1]&8);q+=2;for(var t=0;255===n[q];)t+=255,q+=1;t+=n[q];q+=1;q+=p?2:0;q+=r?2:0;p=n.slice(q,q+t);g.push({data:p,size:p.byteLength,duration:e.OPUS_AUDIO_SAMPLE_PER_FRAME,cts:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:2,isNonSync:0}});q+=t}}if(0==l.byteLength||null==h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,d?
2838
+ d.getUris()[0]:null);b.audioSamplingRate=k.sampleRate;b.channelsCount=k.channelCount;d=h/f*m;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.AUDIO,codecs:"opus",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:m,duration:c,videoNalus:[],audioConfig:l,videoConfig:new Uint8Array([]),hSpacing:0,vSpacing:0,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:d,samples:g},stream:b}};
2839
+ shaka.transmuxer.TsTransmuxer.prototype.getAvcStreamInfo_=function(a,b,c,d){var e=shaka.transmuxer.H264,f=shaka.util.TsParser.Timescale,g=[],h=null,k=[];a=a.getVideoData();if(!a.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_NO_VIDEO_DATA,d?d.getUris()[0]:null);for(var l=0;l<a.length;l++){var m=a[l],n=m.nalus;k.push.apply(k,$jscomp.arrayFromIterable(n));if(n=e.parseFrame(n))null==h&&(h=m.dts),g.push({data:n.data,
2840
+ size:n.data.byteLength,duration:l+1<a.length?(a[l+1].dts||0)-(m.dts||0):1<a.length?(m.dts||0)-(a[l-1].dts||0):(d.endTime-d.startTime)*f,cts:Math.round((m.pts||0)-(m.dts||0)),flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:n.isKeyframe?2:1,isNonSync:n.isKeyframe?0:1}})}e=e.parseInfo(k);if(!e||null==h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,d?d.getUris()[0]:null);b.height=e.height;
2841
+ b.width=e.width;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.VIDEO,codecs:"avc1",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:f,duration:c,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:e.videoConfig,hSpacing:e.hSpacing,vSpacing:e.vSpacing,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:h,samples:g},stream:b}};
2842
+ shaka.transmuxer.TsTransmuxer.prototype.getHvcStreamInfo_=function(a,b,c,d){var e=shaka.transmuxer.H265,f=shaka.util.TsParser.Timescale,g=[],h=null,k=[];a=a.getVideoData();if(!a.length)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_NO_VIDEO_DATA,d?d.getUris()[0]:null);for(var l=0;l<a.length;l++){var m=a[l],n=m.nalus;k.push.apply(k,$jscomp.arrayFromIterable(n));if(n=e.parseFrame(n))null==h&&null!=m.dts&&(h=m.dts),g.push({data:n.data,
2843
+ size:n.data.byteLength,duration:l+1<a.length?(a[l+1].dts||0)-(m.dts||0):1<a.length?(m.dts||0)-(a[l-1].dts||0):(d.endTime-d.startTime)*f,cts:Math.round((m.pts||0)-(m.dts||0)),flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:n.isKeyframe?2:1,isNonSync:n.isKeyframe?0:1}})}e=e.parseInfo(k);if(!e||null==h)throw new shaka.util.Error(shaka.util.Error.Severity.CRITICAL,shaka.util.Error.Category.MEDIA,shaka.util.Error.Code.TRANSMUXING_FAILED,d?d.getUris()[0]:null);b.height=e.height;
2844
+ b.width=e.width;return{id:b.id,type:shaka.util.ManifestParserUtils.ContentType.VIDEO,codecs:"hvc1",encrypted:b.encrypted&&0<b.drmInfos.length,timescale:f,duration:c,videoNalus:[],audioConfig:new Uint8Array([]),videoConfig:e.videoConfig,hSpacing:e.hSpacing,vSpacing:e.vSpacing,data:{sequenceNumber:this.frameIndex_,baseMediaDecodeTime:h,samples:g},stream:b}};goog.exportSymbol("shaka.transmuxer.TsTransmuxer",shaka.transmuxer.TsTransmuxer);
2845
+ goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"transmux",shaka.transmuxer.TsTransmuxer.prototype.transmux);goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"getOriginalMimeType",shaka.transmuxer.TsTransmuxer.prototype.getOriginalMimeType);goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"convertCodecs",shaka.transmuxer.TsTransmuxer.prototype.convertCodecs);goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"isSupported",shaka.transmuxer.TsTransmuxer.prototype.isSupported);
2846
+ goog.exportProperty(shaka.transmuxer.TsTransmuxer.prototype,"destroy",shaka.transmuxer.TsTransmuxer.prototype.destroy);shaka.transmuxer.TsTransmuxer.SUPPORTED_AUDIO_CODECS_=["aac","ac-3","ec-3","mp3","opus"];shaka.transmuxer.TsTransmuxer.SUPPORTED_VIDEO_CODECS_=["avc","hevc"];shaka.transmuxer.TransmuxerEngine.registerTransmuxer("video/mp2t",function(){return new shaka.transmuxer.TsTransmuxer("video/mp2t")},shaka.transmuxer.TransmuxerEngine.PluginPriority.PREFERRED);/*
2844
2847
  @license
2845
2848
  EME Encryption Scheme Polyfill
2846
2849
  Copyright 2019 Google LLC