shaka-player 4.8.9 → 4.9.0

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 (57) hide show
  1. package/README.md +5 -0
  2. package/dist/controls.css +1 -1
  3. package/dist/controls.css.map +1 -1
  4. package/dist/deps.js +5 -5
  5. package/dist/locales.js +34 -34
  6. package/dist/shaka-player.compiled.d.ts +39 -17
  7. package/dist/shaka-player.compiled.debug.d.ts +39 -17
  8. package/dist/shaka-player.compiled.debug.externs.js +32 -11
  9. package/dist/shaka-player.compiled.debug.js +564 -506
  10. package/dist/shaka-player.compiled.debug.map +4 -4
  11. package/dist/shaka-player.compiled.externs.js +32 -11
  12. package/dist/shaka-player.compiled.js +1270 -1236
  13. package/dist/shaka-player.compiled.map +4 -4
  14. package/dist/shaka-player.ui.d.ts +39 -17
  15. package/dist/shaka-player.ui.debug.d.ts +39 -17
  16. package/dist/shaka-player.ui.debug.externs.js +43 -22
  17. package/dist/shaka-player.ui.debug.js +591 -533
  18. package/dist/shaka-player.ui.debug.map +4 -4
  19. package/dist/shaka-player.ui.externs.js +43 -22
  20. package/dist/shaka-player.ui.js +1483 -1448
  21. package/dist/shaka-player.ui.map +4 -4
  22. package/externs/shaka/manifest.js +11 -1
  23. package/externs/shaka/offline.js +3 -0
  24. package/externs/shaka/player.js +105 -12
  25. package/externs/tizen.js +1 -1
  26. package/lib/abr/simple_abr_manager.js +5 -0
  27. package/lib/ads/media_tailor_ad.js +11 -0
  28. package/lib/ads/media_tailor_ad_manager.js +37 -3
  29. package/lib/dash/dash_parser.js +655 -46
  30. package/lib/dash/mpd_utils.js +7 -8
  31. package/lib/dash/segment_template.js +65 -10
  32. package/lib/hls/hls_parser.js +92 -34
  33. package/lib/media/drm_engine.js +274 -40
  34. package/lib/media/manifest_filterer.js +2 -2
  35. package/lib/media/segment_utils.js +14 -3
  36. package/lib/mss/mss_parser.js +2 -0
  37. package/lib/net/http_plugin_utils.js +2 -1
  38. package/lib/net/networking_engine.js +27 -0
  39. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  40. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  41. package/lib/offline/manifest_converter.js +2 -0
  42. package/lib/offline/storage.js +1 -0
  43. package/lib/player.js +221 -14
  44. package/lib/polyfill/media_capabilities.js +10 -35
  45. package/lib/util/config_utils.js +74 -6
  46. package/lib/util/error.js +7 -0
  47. package/lib/util/mp4_box_parsers.js +23 -2
  48. package/lib/util/periods.js +51 -28
  49. package/lib/util/platform.js +3 -1
  50. package/lib/util/player_configuration.js +20 -8
  51. package/lib/util/stream_utils.js +62 -30
  52. package/lib/util/tXml.js +74 -6
  53. package/package.json +2 -2
  54. package/support.html +1 -0
  55. package/ui/controls.js +4 -0
  56. package/ui/less/ad_controls.less +2 -1
  57. package/ui/resolution_selection.js +12 -3
@@ -79,6 +79,15 @@ declare namespace shaka {
79
79
  * else.
80
80
  */
81
81
  detach (keepAdManager ? : boolean ) : Promise < any > ;
82
+ /**
83
+ * Detach the player from the current media element, if any, and returns a
84
+ * PreloadManager that contains the loaded manifest of that asset, if any.
85
+ * Allows for the asset to be re-loaded by this player faster, in the future.
86
+ * When in src= mode, this detach but does not make a PreloadManager.
87
+ * Leaves the player in a state where it cannot play media, until it has been
88
+ * attached to something else.
89
+ */
90
+ detachAndSavePreload (keepAdManager ? : boolean ) : Promise < shaka.media.PreloadManager | null > ;
82
91
  /**
83
92
  * Get the drm info used to initialize EME. If EME is not being used, this
84
93
  * will return <code>null</code>. If the player is idle or has not initialized
@@ -183,6 +192,12 @@ declare namespace shaka {
183
192
  */
184
193
  getMediaElement ( ) : HTMLMediaElement | null ;
185
194
  getNetworkingEngine ( ) : shaka.net.NetworkingEngine | null ;
195
+ /**
196
+ * Return a copy of the current non default configuration. Modifications of
197
+ * the returned value will not affect the Player's active configuration.
198
+ * You must call <code>player.configure()</code> to make changes.
199
+ */
200
+ getNonDefaultConfiguration ( ) : object ;
186
201
  /**
187
202
  * Get the playback rate of what is playing right now. If we are using trick
188
203
  * play, this will return the trick play rate.
@@ -1575,6 +1590,7 @@ declare namespace shaka.net {
1575
1590
  * Makes a network request and returns the resulting data.
1576
1591
  */
1577
1592
  request (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request , context ? : shaka.extern.RequestContext ) : shaka.net.NetworkingEngine.PendingRequest ;
1593
+ setForceHTTP (forceHTTP : boolean ) : any ;
1578
1594
  setForceHTTPS (forceHTTPS : boolean ) : any ;
1579
1595
  /**
1580
1596
  * Removes a request filter.
@@ -2838,6 +2854,7 @@ declare namespace shaka.util {
2838
2854
  * { manifest: { retryParameters: { maxAttempts: 1 }}}.
2839
2855
  */
2840
2856
  static convertToConfigObject (fieldName : string , value : any ) : object ;
2857
+ static getDifferenceFromConfigObjects (object : object , base : object ) : object ;
2841
2858
  static mergeConfigObjects (destination : object , source : object , template : object , overrides : object , path : string ) : boolean ;
2842
2859
  }
2843
2860
  }
@@ -2982,6 +2999,7 @@ declare namespace shaka.util.Error {
2982
2999
  DASH_DUPLICATE_REPRESENTATION_ID = 4018.0 ,
2983
3000
  DASH_EMPTY_ADAPTATION_SET = 4003.0 ,
2984
3001
  DASH_EMPTY_PERIOD = 4004.0 ,
3002
+ DASH_INVALID_PATCH = 4052.0 ,
2985
3003
  DASH_INVALID_XML = 4001.0 ,
2986
3004
  DASH_MULTIPLE_KEY_IDS_NOT_SUPPORTED = 4009.0 ,
2987
3005
  DASH_NO_COMMON_KEY_SYSTEM = 4008.0 ,
@@ -3526,7 +3544,7 @@ declare namespace shaka.util {
3526
3544
  */
3527
3545
  class PeriodCombiner implements shaka.util.IReleasable {
3528
3546
  private noStructuralTyping_shaka_util_PeriodCombiner : any;
3529
- combinePeriods (periods : shaka.extern.Period [] , isDynamic : boolean ) : Promise < any > ;
3547
+ combinePeriods (periods : shaka.extern.Period [] , isDynamic : boolean , isPatchUpdate ? : boolean ) : Promise < any > ;
3530
3548
  getImageStreams ( ) : shaka.extern.Stream [] ;
3531
3549
  getTextStreams ( ) : shaka.extern.Stream [] ;
3532
3550
  getVariants ( ) : shaka.extern.Variant [] ;
@@ -3551,7 +3569,7 @@ declare namespace shaka.util {
3551
3569
  declare namespace shaka.util {
3552
3570
  class StreamUtils {
3553
3571
  private noStructuralTyping_shaka_util_StreamUtils : any;
3554
- static meetsRestrictions (variant : shaka.extern.Variant , restrictions : shaka.extern.Restrictions , maxHwRes : { height : number , width : number } ) : boolean ;
3572
+ static meetsRestrictions (variant : shaka.extern.Variant , restrictions : shaka.extern.Restrictions , maxHwRes : shaka.extern.Resolution ) : boolean ;
3555
3573
  }
3556
3574
  }
3557
3575
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
@@ -4698,7 +4716,7 @@ declare namespace shaka.extern {
4698
4716
  }
4699
4717
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4700
4718
  declare namespace shaka.extern {
4701
- type Manifest = { ignoreManifestTimestampsInSegmentsMode : boolean , imageStreams : shaka.extern.Stream [] , minBufferTime : number , offlineSessionIds : string [] , presentationTimeline : shaka.media.PresentationTimeline , sequenceMode : boolean , serviceDescription : shaka.extern.ServiceDescription | null , textStreams : shaka.extern.Stream [] , type : string , variants : shaka.extern.Variant [] } ;
4719
+ type Manifest = { ignoreManifestTimestampsInSegmentsMode : boolean , imageStreams : shaka.extern.Stream [] , minBufferTime : number , nextUrl : string | null , offlineSessionIds : string [] , presentationTimeline : shaka.media.PresentationTimeline , sequenceMode : boolean , serviceDescription : shaka.extern.ServiceDescription | null , textStreams : shaka.extern.Stream [] , type : string , variants : shaka.extern.Variant [] } ;
4702
4720
  }
4703
4721
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4704
4722
  declare namespace shaka.extern {
@@ -4738,11 +4756,11 @@ declare namespace shaka.extern {
4738
4756
  }
4739
4757
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4740
4758
  declare namespace shaka.extern {
4741
- type ServiceDescription = { maxLatency : number | null , maxPlaybackRate : number | null , minLatency : number | null , minPlaybackRate : number | null } ;
4759
+ type ServiceDescription = { maxLatency : number | null , maxPlaybackRate : number | null , minLatency : number | null , minPlaybackRate : number | null , targetLatency : number | null } ;
4742
4760
  }
4743
4761
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4744
4762
  declare namespace shaka.extern {
4745
- type Stream = { accessibilityPurpose : shaka.media.ManifestParser.AccessibilityPurpose | null , audioSamplingRate : number | null , bandwidth ? : number , channelsCount : number | null , closeSegmentIndex ? : ( ) => any , closedCaptions : Map < string , string > | null , codecs : string , createSegmentIndex : shaka.extern.CreateSegmentIndexFunction , drmInfos : shaka.extern.DrmInfo [] , emsgSchemeIdUris : string [] | null , encrypted : boolean , external : boolean , fastSwitching : boolean , forced : boolean , frameRate ? : number , fullMimeTypes : Set < string > , groupId : string | null , hdr ? : string , height ? : number , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , matchedStreams ? : any [] , mimeType : string , mssPrivateData ? : shaka.extern.MssPrivateData , originalId : string | null , originalLanguage : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segmentIndex : shaka.media.SegmentIndex | null , spatialAudio : boolean , tilesLayout ? : string , trickModeVideo : any , type : string , videoLayout ? : string , width ? : number } ;
4763
+ type Stream = { accessibilityPurpose : shaka.media.ManifestParser.AccessibilityPurpose | null , audioSamplingRate : number | null , bandwidth ? : number , channelsCount : number | null , closeSegmentIndex ? : ( ) => any , closedCaptions : Map < string , string > | null , codecs : string , colorGamut ? : string , createSegmentIndex : shaka.extern.CreateSegmentIndexFunction , drmInfos : shaka.extern.DrmInfo [] , emsgSchemeIdUris : string [] | null , encrypted : boolean , external : boolean , fastSwitching : boolean , forced : boolean , frameRate ? : number , fullMimeTypes : Set < string > , groupId : string | null , hdr ? : string , height ? : number , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , matchedStreams ? : any [] , mimeType : string , mssPrivateData ? : shaka.extern.MssPrivateData , originalId : string | null , originalLanguage : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segmentIndex : shaka.media.SegmentIndex | null , spatialAudio : boolean , tilesLayout ? : string , trickModeVideo : any , type : string , videoLayout ? : string , width ? : number } ;
4746
4764
  }
4747
4765
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4748
4766
  declare namespace shaka.extern {
@@ -5065,7 +5083,7 @@ declare namespace shaka.extern {
5065
5083
  }
5066
5084
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
5067
5085
  declare namespace shaka.extern {
5068
- type StreamDB = { audioSamplingRate : number | null , channelsCount : number | null , closedCaptions : Map < string , string > | null , codecs : string , encrypted : boolean , external : boolean , fastSwitching : boolean , forced : boolean , frameRate ? : number , groupId : string | null , hdr ? : string , height : number | null , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , mimeType : string , originalId : string | null , originalLanguage ? : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , videoLayout ? : string , width : number | null } ;
5086
+ type StreamDB = { audioSamplingRate : number | null , channelsCount : number | null , closedCaptions : Map < string , string > | null , codecs : string , colorGamut ? : string , encrypted : boolean , external : boolean , fastSwitching : boolean , forced : boolean , frameRate ? : number , groupId : string | null , hdr ? : string , height : number | null , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , mimeType : string , originalId : string | null , originalLanguage ? : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , videoLayout ? : string , width : number | null } ;
5069
5087
  }
5070
5088
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline_compat_v1.js
5071
5089
  declare namespace shaka.extern {
@@ -5109,11 +5127,11 @@ declare namespace shaka.extern {
5109
5127
  }
5110
5128
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5111
5129
  declare namespace shaka.extern {
5112
- type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , clearBufferSwitch : boolean , defaultBandwidthEstimate : number , enabled : boolean , ignoreDevicePixelRatio : boolean , restrictToElementSize : boolean , restrictToScreenSize : boolean , restrictions : shaka.extern.Restrictions , safeMarginSwitch : number , switchInterval : number , useNetworkInformation : boolean } ;
5130
+ type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , cacheLoadThreshold : number , clearBufferSwitch : boolean , defaultBandwidthEstimate : number , enabled : boolean , ignoreDevicePixelRatio : boolean , restrictToElementSize : boolean , restrictToScreenSize : boolean , restrictions : shaka.extern.Restrictions , safeMarginSwitch : number , switchInterval : number , useNetworkInformation : boolean } ;
5113
5131
  }
5114
5132
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5115
5133
  declare namespace shaka.extern {
5116
- type AdsConfiguration = { customPlayheadTracker : boolean , skipPlayDetection : boolean } ;
5134
+ type AdsConfiguration = { customPlayheadTracker : boolean , skipPlayDetection : boolean , supportsMultipleMediaElements : boolean } ;
5117
5135
  }
5118
5136
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5119
5137
  declare namespace shaka.extern {
@@ -5121,7 +5139,7 @@ declare namespace shaka.extern {
5121
5139
  }
5122
5140
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5123
5141
  declare namespace shaka.extern {
5124
- type AdvancedDrmConfiguration = { audioRobustness : string , distinctiveIdentifierRequired : boolean , individualizationServer : string , persistentStateRequired : boolean , serverCertificate : Uint8Array | null , serverCertificateUri : string , sessionType : string , videoRobustness : string } ;
5142
+ type AdvancedDrmConfiguration = { audioRobustness : string , distinctiveIdentifierRequired : boolean , headers : { [ key: string ]: string } , individualizationServer : string , persistentStateRequired : boolean , serverCertificate : Uint8Array | null , serverCertificateUri : string , sessionType : string , videoRobustness : string } ;
5125
5143
  }
5126
5144
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5127
5145
  declare namespace shaka.extern {
@@ -5145,7 +5163,7 @@ declare namespace shaka.extern {
5145
5163
  }
5146
5164
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5147
5165
  declare namespace shaka.extern {
5148
- type DashManifestConfiguration = { autoCorrectDrift : boolean , clockSyncUri : string , disableXlinkProcessing : boolean , enableAudioGroups : boolean , ignoreDrmInfo : boolean , ignoreEmptyAdaptationSet : boolean , ignoreMaxSegmentDuration : boolean , ignoreMinBufferTime : boolean , ignoreSuggestedPresentationDelay : boolean , initialSegmentLimit : number , keySystemsByURI : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , manifestPreprocessorTXml : (a : shaka.extern.xml.Node ) => any , multiTypeVariantsAllowed : boolean , sequenceMode : boolean , updatePeriod : number , useStreamOnceInPeriodFlattening : boolean , xlinkFailGracefully : boolean } ;
5166
+ type DashManifestConfiguration = { autoCorrectDrift : boolean , clockSyncUri : string , disableXlinkProcessing : boolean , enableAudioGroups : boolean , enableFastSwitching : boolean , ignoreDrmInfo : boolean , ignoreEmptyAdaptationSet : boolean , ignoreMaxSegmentDuration : boolean , ignoreMinBufferTime : boolean , ignoreSuggestedPresentationDelay : boolean , initialSegmentLimit : number , keySystemsByURI : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , manifestPreprocessorTXml : (a : shaka.extern.xml.Node ) => any , multiTypeVariantsAllowed : boolean , sequenceMode : boolean , updatePeriod : number , useStreamOnceInPeriodFlattening : boolean , xlinkFailGracefully : boolean } ;
5149
5167
  }
5150
5168
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5151
5169
  declare namespace shaka.extern {
@@ -5157,7 +5175,7 @@ declare namespace shaka.extern {
5157
5175
  }
5158
5176
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5159
5177
  declare namespace shaka.extern {
5160
- type DrmSupportType = { persistentState : boolean } ;
5178
+ type DrmSupportType = { audioRobustnessLevels : string [] , encryptionSchemes : ( string | null ) [] , persistentState : boolean , videoRobustnessLevels : string [] } ;
5161
5179
  }
5162
5180
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5163
5181
  declare namespace shaka.extern {
@@ -5165,7 +5183,7 @@ declare namespace shaka.extern {
5165
5183
  }
5166
5184
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5167
5185
  declare namespace shaka.extern {
5168
- type HlsManifestConfiguration = { allowLowLatencyByteRangeOptimization : boolean , defaultAudioCodec : string , defaultVideoCodec : string , disableCodecGuessing : boolean , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreManifestProgramDateTimeForTypes : string [] , ignoreManifestTimestampsInSegmentsMode : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , sequenceMode : boolean , useSafariBehaviorForLive : boolean } ;
5186
+ type HlsManifestConfiguration = { allowLowLatencyByteRangeOptimization : boolean , defaultAudioCodec : string , defaultVideoCodec : string , disableClosedCaptionsDetection : boolean , disableCodecGuessing : boolean , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreManifestProgramDateTimeForTypes : string [] , ignoreManifestTimestampsInSegmentsMode : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , sequenceMode : boolean , useSafariBehaviorForLive : boolean } ;
5169
5187
  }
5170
5188
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5171
5189
  declare namespace shaka.extern {
@@ -5225,7 +5243,11 @@ declare namespace shaka.extern {
5225
5243
  }
5226
5244
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5227
5245
  declare namespace shaka.extern {
5228
- type Restrictions = { maxBandwidth : number , maxFrameRate : number , maxHeight : number , maxPixels : number , maxWidth : number , minBandwidth : number , minFrameRate : number , minHeight : number , minPixels : number , minWidth : number } ;
5246
+ type Resolution = { height : number , width : number } ;
5247
+ }
5248
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5249
+ declare namespace shaka.extern {
5250
+ type Restrictions = { maxBandwidth : number , maxChannelsCount : number , maxFrameRate : number , maxHeight : number , maxPixels : number , maxWidth : number , minBandwidth : number , minChannelsCount : number , minFrameRate : number , minHeight : number , minPixels : number , minWidth : number } ;
5229
5251
  }
5230
5252
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5231
5253
  declare namespace shaka.extern {
@@ -5237,11 +5259,11 @@ declare namespace shaka.extern {
5237
5259
  }
5238
5260
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5239
5261
  declare namespace shaka.extern {
5240
- type StreamingConfiguration = { allowMediaSourceRecoveries : boolean , alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , disableAudioPrefetch : boolean , disableTextPrefetch : boolean , disableVideoPrefetch : boolean , dispatchAllEmsgBoxes : boolean , durationBackoff : number , evictionGoal : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTPS : boolean , gapDetectionThreshold : number , gapJumpTimerTime : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , infiniteLiveStreamDuration : boolean , liveSync : boolean , liveSyncMaxLatency : number , liveSyncMinLatency : number , liveSyncMinPlaybackRate : number , liveSyncPanicMode : boolean , liveSyncPanicThreshold : number , liveSyncPlaybackRate : number , loadTimeout : number , lowLatencyMode : boolean , maxDisabledTime : number , minTimeBetweenRecoveries : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , prefetchAudioLanguages : string [] , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , segmentPrefetchLimit : number , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsForFairPlay : boolean , useNativeHlsOnSafari : boolean , vodDynamicPlaybackRate : boolean , vodDynamicPlaybackRateBufferRatio : number , vodDynamicPlaybackRateLowBufferRate : number } ;
5262
+ type StreamingConfiguration = { allowMediaSourceRecoveries : boolean , alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , clearDecodingCache : boolean , disableAudioPrefetch : boolean , disableTextPrefetch : boolean , disableVideoPrefetch : boolean , dispatchAllEmsgBoxes : boolean , durationBackoff : number , evictionGoal : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTP : boolean , forceHTTPS : boolean , gapDetectionThreshold : number , gapJumpTimerTime : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , infiniteLiveStreamDuration : boolean , liveSync : boolean , liveSyncMaxLatency : number , liveSyncMinLatency : number , liveSyncMinPlaybackRate : number , liveSyncPanicMode : boolean , liveSyncPanicThreshold : number , liveSyncPlaybackRate : number , liveSyncTargetLatencyTolerance : number , loadTimeout : number , lowLatencyMode : boolean , maxDisabledTime : number , minTimeBetweenRecoveries : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , prefetchAudioLanguages : string [] , preloadNextUrlWindow : number , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , segmentPrefetchLimit : number , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsForFairPlay : boolean , useNativeHlsOnSafari : boolean , vodDynamicPlaybackRate : boolean , vodDynamicPlaybackRateBufferRatio : number , vodDynamicPlaybackRateLowBufferRate : number } ;
5241
5263
  }
5242
5264
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5243
5265
  declare namespace shaka.extern {
5244
- type SupportType = { drm : { [ key: string ]: shaka.extern.DrmSupportType | null } , manifest : { [ key: string ]: boolean } , media : { [ key: string ]: boolean } } ;
5266
+ type SupportType = { drm : { [ key: string ]: shaka.extern.DrmSupportType | null } , hardwareResolution : shaka.extern.Resolution , manifest : { [ key: string ]: boolean } , media : { [ key: string ]: boolean } } ;
5245
5267
  }
5246
5268
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5247
5269
  declare namespace shaka.extern {
@@ -5257,7 +5279,7 @@ declare namespace shaka.extern {
5257
5279
  }
5258
5280
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5259
5281
  declare namespace shaka.extern {
5260
- type Track = { accessibilityPurpose : shaka.media.ManifestParser.AccessibilityPurpose | null , active : boolean , audioBandwidth : number | null , audioCodec : string | null , audioId : number | null , audioMimeType : string | null , audioRoles : string [] | null , audioSamplingRate : number | null , bandwidth : number , channelsCount : number | null , codecs : string | null , forced : boolean , frameRate : number | null , hdr : string | null , height : number | null , id : number , kind : string | null , label : string | null , language : string , mimeType : string | null , originalAudioId : string | null , originalImageId : string | null , originalLanguage : string | null , originalTextId : string | null , originalVideoId : string | null , pixelAspectRatio : string | null , primary : boolean , roles : string [] , spatialAudio : boolean , tilesLayout : string | null , type : string , videoBandwidth : number | null , videoCodec : string | null , videoId : number | null , videoLayout : string | null , videoMimeType : string | null , width : number | null } ;
5282
+ type Track = { accessibilityPurpose : shaka.media.ManifestParser.AccessibilityPurpose | null , active : boolean , audioBandwidth : number | null , audioCodec : string | null , audioId : number | null , audioMimeType : string | null , audioRoles : string [] | null , audioSamplingRate : number | null , bandwidth : number , channelsCount : number | null , codecs : string | null , colorGamut : string | null , forced : boolean , frameRate : number | null , hdr : string | null , height : number | null , id : number , kind : string | null , label : string | null , language : string , mimeType : string | null , originalAudioId : string | null , originalImageId : string | null , originalLanguage : string | null , originalTextId : string | null , originalVideoId : string | null , pixelAspectRatio : string | null , primary : boolean , roles : string [] , spatialAudio : boolean , tilesLayout : string | null , type : string , videoBandwidth : number | null , videoCodec : string | null , videoId : number | null , videoLayout : string | null , videoMimeType : string | null , width : number | null } ;
5261
5283
  }
5262
5284
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5263
5285
  declare namespace shaka.extern {
@@ -5409,7 +5431,7 @@ declare namespace webapis.productinfo {
5409
5431
  }
5410
5432
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5411
5433
  declare namespace webapis.systeminfo {
5412
- function getMaxVideoResolution ( ) : { height : number , width : number } ;
5434
+ function getMaxVideoResolution ( ) : shaka.extern.Resolution ;
5413
5435
  }
5414
5436
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/webkitmediakeys.js
5415
5437
  declare namespace ಠ_ಠ.clutz {
@@ -867,6 +867,7 @@ shaka.util.Error.Code = {
867
867
  'AES_128_INVALID_KEY_LENGTH': 4049,
868
868
  'DASH_CONFLICTING_AES_128': 4050,
869
869
  'DASH_UNSUPPORTED_AES_128': 4051,
870
+ 'DASH_INVALID_PATCH': 4052,
870
871
  'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
871
872
  'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
872
873
  'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
@@ -1249,7 +1250,7 @@ shaka.util.StreamUtils = class {
1249
1250
  * @param {shaka.extern.Variant} variant
1250
1251
  * @param {shaka.extern.Restrictions} restrictions
1251
1252
  * Configured restrictions from the user.
1252
- * @param {{width: number, height: number}} maxHwRes
1253
+ * @param {shaka.extern.Resolution} maxHwRes
1253
1254
  * The maximum resolution the hardware can handle.
1254
1255
  * This is applied separately from user restrictions because the setting
1255
1256
  * should not be easily replaced by the user's configuration.
@@ -1538,6 +1539,10 @@ shaka.net.NetworkingEngine = class extends shaka.util.FakeEventTarget {
1538
1539
  * Called when receive the response
1539
1540
  */
1540
1541
  constructor(onProgressUpdated, onHeadersReceived, onDownloadFailed, onRequest, onRetry, onResponse) {}
1542
+ /**
1543
+ * @param {boolean} forceHTTP
1544
+ */
1545
+ setForceHTTP(forceHTTP) {}
1541
1546
  /**
1542
1547
  * @param {boolean} forceHTTPS
1543
1548
  */
@@ -2830,6 +2835,12 @@ shaka.util.ConfigUtils = class {
2830
2835
  * @return {!Object}
2831
2836
  */
2832
2837
  static convertToConfigObject(fieldName, value) {}
2838
+ /**
2839
+ * @param {!Object} object
2840
+ * @param {!Object} base
2841
+ * @return {!Object}
2842
+ */
2843
+ static getDifferenceFromConfigObjects(object, base) {}
2833
2844
  };
2834
2845
  /**
2835
2846
  * @summary A set of FairPlay utility functions.
@@ -3247,6 +3258,17 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
3247
3258
  * @return {!Promise.<?shaka.media.PreloadManager>}
3248
3259
  */
3249
3260
  unloadAndSavePreload(initializeMediaSource, keepAdManager) {}
3261
+ /**
3262
+ * Detach the player from the current media element, if any, and returns a
3263
+ * PreloadManager that contains the loaded manifest of that asset, if any.
3264
+ * Allows for the asset to be re-loaded by this player faster, in the future.
3265
+ * When in src= mode, this detach but does not make a PreloadManager.
3266
+ * Leaves the player in a state where it cannot play media, until it has been
3267
+ * attached to something else.
3268
+ * @param {boolean=} keepAdManager
3269
+ * @return {!Promise.<?shaka.media.PreloadManager>}
3270
+ */
3271
+ detachAndSavePreload(keepAdManager) {}
3250
3272
  /**
3251
3273
  * Starts to preload a given asset, and returns a PreloadManager object that
3252
3274
  * represents that preloading process.
@@ -3303,6 +3325,13 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
3303
3325
  * @return {shaka.extern.PlayerConfiguration}
3304
3326
  */
3305
3327
  getConfiguration() {}
3328
+ /**
3329
+ * Return a copy of the current non default configuration. Modifications of
3330
+ * the returned value will not affect the Player's active configuration.
3331
+ * You must call <code>player.configure()</code> to make changes.
3332
+ * @return {!Object}
3333
+ */
3334
+ getNonDefaultConfiguration() {}
3306
3335
  /**
3307
3336
  * Returns the ratio of video length buffered compared to buffering Goal
3308
3337
  * @return {number}
@@ -4576,9 +4605,10 @@ shaka.util.PeriodCombiner = class {
4576
4605
  /**
4577
4606
  * @param {!Array.<shaka.extern.Period>} periods
4578
4607
  * @param {boolean} isDynamic
4608
+ * @param {boolean=} isPatchUpdate
4579
4609
  * @return {!Promise}
4580
4610
  */
4581
- combinePeriods(periods, isDynamic) {}
4611
+ combinePeriods(periods, isDynamic, isPatchUpdate) {}
4582
4612
  /**
4583
4613
  * @param {boolean} allowed If set to true, multi-mimeType or multi-codec
4584
4614
  * variants will be allowed.
@@ -5033,15 +5063,6 @@ shaka.polyfill.MediaCapabilities = class {
5033
5063
  * @type {MediaCapabilities}
5034
5064
  */
5035
5065
  shaka.polyfill.MediaCapabilities.originalMcap;
5036
- /**
5037
- * A cache that stores the MediaKeySystemAccess result of calling
5038
- * `navigator.requestMediaKeySystemAccess` by a key combination of
5039
- * video/audio codec and key system string.
5040
- * @type {(Object<(!string), (!MediaKeySystemAccess)>)}
5041
- */
5042
- shaka.polyfill.MediaCapabilities.memoizedMediaKeySystemAccessRequests_ = {
5043
-
5044
- };
5045
5066
  /**
5046
5067
  * A cache that stores the canDisplayType result of calling
5047
5068
  * `cast.__platform__.canDisplayType`.