shaka-player 4.8.10 → 4.9.1

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 (66) 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 -18
  7. package/dist/shaka-player.compiled.debug.d.ts +39 -18
  8. package/dist/shaka-player.compiled.debug.externs.js +32 -12
  9. package/dist/shaka-player.compiled.debug.js +638 -579
  10. package/dist/shaka-player.compiled.debug.map +4 -4
  11. package/dist/shaka-player.compiled.externs.js +32 -12
  12. package/dist/shaka-player.compiled.js +1272 -1237
  13. package/dist/shaka-player.compiled.map +4 -4
  14. package/dist/shaka-player.ui.d.ts +39 -18
  15. package/dist/shaka-player.ui.debug.d.ts +39 -18
  16. package/dist/shaka-player.ui.debug.externs.js +43 -23
  17. package/dist/shaka-player.ui.debug.js +668 -609
  18. package/dist/shaka-player.ui.debug.map +4 -4
  19. package/dist/shaka-player.ui.externs.js +43 -23
  20. package/dist/shaka-player.ui.js +1487 -1451
  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/content_workarounds.js +4 -2
  34. package/lib/media/drm_engine.js +274 -40
  35. package/lib/media/manifest_filterer.js +2 -2
  36. package/lib/media/media_source_engine.js +66 -31
  37. package/lib/media/segment_utils.js +14 -3
  38. package/lib/mss/mss_parser.js +2 -0
  39. package/lib/net/http_plugin_utils.js +2 -1
  40. package/lib/net/networking_engine.js +14 -0
  41. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  42. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  43. package/lib/offline/manifest_converter.js +2 -0
  44. package/lib/offline/storage.js +1 -0
  45. package/lib/player.js +220 -14
  46. package/lib/polyfill/media_capabilities.js +10 -35
  47. package/lib/transmuxer/aac_transmuxer.js +4 -2
  48. package/lib/transmuxer/ac3_transmuxer.js +2 -1
  49. package/lib/transmuxer/ec3_transmuxer.js +2 -1
  50. package/lib/transmuxer/mp3_transmuxer.js +4 -2
  51. package/lib/transmuxer/mpeg_ts_transmuxer.js +2 -1
  52. package/lib/transmuxer/mss_transmuxer.js +4 -2
  53. package/lib/transmuxer/ts_transmuxer.js +44 -24
  54. package/lib/util/config_utils.js +74 -6
  55. package/lib/util/error.js +17 -8
  56. package/lib/util/mp4_box_parsers.js +23 -2
  57. package/lib/util/periods.js +51 -28
  58. package/lib/util/platform.js +3 -1
  59. package/lib/util/player_configuration.js +20 -8
  60. package/lib/util/stream_utils.js +62 -30
  61. package/lib/util/tXml.js +74 -6
  62. package/package.json +2 -2
  63. package/support.html +1 -0
  64. package/ui/controls.js +4 -0
  65. package/ui/less/ad_controls.less +2 -1
  66. 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 ,
@@ -3047,7 +3065,6 @@ declare namespace shaka.util.Error {
3047
3065
  MSS_INVALID_XML = 4046.0 ,
3048
3066
  MSS_LIVE_CONTENT_NOT_SUPPORTED = 4047.0 ,
3049
3067
  MSS_MISSING_DATA_FOR_TRANSMUXING = 3020.0 ,
3050
- MSS_TRANSMUXING_CODEC_UNKNOWN = 3021.0 ,
3051
3068
  MSS_TRANSMUXING_FAILED = 3022.0 ,
3052
3069
  MT_AD_MANAGER_NOT_INITIALIZED = 10005.0 ,
3053
3070
  NEW_KEY_OPERATION_NOT_SUPPORTED = 9011.0 ,
@@ -3526,7 +3543,7 @@ declare namespace shaka.util {
3526
3543
  */
3527
3544
  class PeriodCombiner implements shaka.util.IReleasable {
3528
3545
  private noStructuralTyping_shaka_util_PeriodCombiner : any;
3529
- combinePeriods (periods : shaka.extern.Period [] , isDynamic : boolean ) : Promise < any > ;
3546
+ combinePeriods (periods : shaka.extern.Period [] , isDynamic : boolean , isPatchUpdate ? : boolean ) : Promise < any > ;
3530
3547
  getImageStreams ( ) : shaka.extern.Stream [] ;
3531
3548
  getTextStreams ( ) : shaka.extern.Stream [] ;
3532
3549
  getVariants ( ) : shaka.extern.Variant [] ;
@@ -3551,7 +3568,7 @@ declare namespace shaka.util {
3551
3568
  declare namespace shaka.util {
3552
3569
  class StreamUtils {
3553
3570
  private noStructuralTyping_shaka_util_StreamUtils : any;
3554
- static meetsRestrictions (variant : shaka.extern.Variant , restrictions : shaka.extern.Restrictions , maxHwRes : { height : number , width : number } ) : boolean ;
3571
+ static meetsRestrictions (variant : shaka.extern.Variant , restrictions : shaka.extern.Restrictions , maxHwRes : shaka.extern.Resolution ) : boolean ;
3555
3572
  }
3556
3573
  }
3557
3574
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
@@ -4698,7 +4715,7 @@ declare namespace shaka.extern {
4698
4715
  }
4699
4716
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4700
4717
  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 [] } ;
4718
+ 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
4719
  }
4703
4720
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4704
4721
  declare namespace shaka.extern {
@@ -4738,11 +4755,11 @@ declare namespace shaka.extern {
4738
4755
  }
4739
4756
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4740
4757
  declare namespace shaka.extern {
4741
- type ServiceDescription = { maxLatency : number | null , maxPlaybackRate : number | null , minLatency : number | null , minPlaybackRate : number | null } ;
4758
+ type ServiceDescription = { maxLatency : number | null , maxPlaybackRate : number | null , minLatency : number | null , minPlaybackRate : number | null , targetLatency : number | null } ;
4742
4759
  }
4743
4760
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4744
4761
  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 } ;
4762
+ 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
4763
  }
4747
4764
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4748
4765
  declare namespace shaka.extern {
@@ -5065,7 +5082,7 @@ declare namespace shaka.extern {
5065
5082
  }
5066
5083
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
5067
5084
  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 } ;
5085
+ 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
5086
  }
5070
5087
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline_compat_v1.js
5071
5088
  declare namespace shaka.extern {
@@ -5109,11 +5126,11 @@ declare namespace shaka.extern {
5109
5126
  }
5110
5127
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5111
5128
  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 } ;
5129
+ 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
5130
  }
5114
5131
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5115
5132
  declare namespace shaka.extern {
5116
- type AdsConfiguration = { customPlayheadTracker : boolean , skipPlayDetection : boolean } ;
5133
+ type AdsConfiguration = { customPlayheadTracker : boolean , skipPlayDetection : boolean , supportsMultipleMediaElements : boolean } ;
5117
5134
  }
5118
5135
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5119
5136
  declare namespace shaka.extern {
@@ -5121,7 +5138,7 @@ declare namespace shaka.extern {
5121
5138
  }
5122
5139
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5123
5140
  declare namespace shaka.extern {
5124
- type AdvancedDrmConfiguration = { audioRobustness : string , distinctiveIdentifierRequired : boolean , individualizationServer : string , persistentStateRequired : boolean , serverCertificate : Uint8Array | null , serverCertificateUri : string , sessionType : string , videoRobustness : string } ;
5141
+ type AdvancedDrmConfiguration = { audioRobustness : string , distinctiveIdentifierRequired : boolean , headers : { [ key: string ]: string } , individualizationServer : string , persistentStateRequired : boolean , serverCertificate : Uint8Array | null , serverCertificateUri : string , sessionType : string , videoRobustness : string } ;
5125
5142
  }
5126
5143
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5127
5144
  declare namespace shaka.extern {
@@ -5145,7 +5162,7 @@ declare namespace shaka.extern {
5145
5162
  }
5146
5163
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5147
5164
  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 } ;
5165
+ 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
5166
  }
5150
5167
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5151
5168
  declare namespace shaka.extern {
@@ -5157,7 +5174,7 @@ declare namespace shaka.extern {
5157
5174
  }
5158
5175
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5159
5176
  declare namespace shaka.extern {
5160
- type DrmSupportType = { persistentState : boolean } ;
5177
+ type DrmSupportType = { audioRobustnessLevels : string [] , encryptionSchemes : ( string | null ) [] , persistentState : boolean , videoRobustnessLevels : string [] } ;
5161
5178
  }
5162
5179
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5163
5180
  declare namespace shaka.extern {
@@ -5165,7 +5182,7 @@ declare namespace shaka.extern {
5165
5182
  }
5166
5183
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5167
5184
  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 } ;
5185
+ 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
5186
  }
5170
5187
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5171
5188
  declare namespace shaka.extern {
@@ -5225,7 +5242,11 @@ declare namespace shaka.extern {
5225
5242
  }
5226
5243
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5227
5244
  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 } ;
5245
+ type Resolution = { height : number , width : number } ;
5246
+ }
5247
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5248
+ declare namespace shaka.extern {
5249
+ 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
5250
  }
5230
5251
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5231
5252
  declare namespace shaka.extern {
@@ -5237,11 +5258,11 @@ declare namespace shaka.extern {
5237
5258
  }
5238
5259
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5239
5260
  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 } ;
5261
+ 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
5262
  }
5242
5263
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5243
5264
  declare namespace shaka.extern {
5244
- type SupportType = { drm : { [ key: string ]: shaka.extern.DrmSupportType | null } , manifest : { [ key: string ]: boolean } , media : { [ key: string ]: boolean } } ;
5265
+ type SupportType = { drm : { [ key: string ]: shaka.extern.DrmSupportType | null } , hardwareResolution : shaka.extern.Resolution , manifest : { [ key: string ]: boolean } , media : { [ key: string ]: boolean } } ;
5245
5266
  }
5246
5267
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5247
5268
  declare namespace shaka.extern {
@@ -5257,7 +5278,7 @@ declare namespace shaka.extern {
5257
5278
  }
5258
5279
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5259
5280
  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 } ;
5281
+ 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
5282
  }
5262
5283
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5263
5284
  declare namespace shaka.extern {
@@ -5409,7 +5430,7 @@ declare namespace webapis.productinfo {
5409
5430
  }
5410
5431
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5411
5432
  declare namespace webapis.systeminfo {
5412
- function getMaxVideoResolution ( ) : { height : number , width : number } ;
5433
+ function getMaxVideoResolution ( ) : shaka.extern.Resolution ;
5413
5434
  }
5414
5435
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/webkitmediakeys.js
5415
5436
  declare namespace ಠ_ಠ.clutz {
@@ -825,7 +825,6 @@ shaka.util.Error.Code = {
825
825
  'TRANSMUXING_FAILED': 3018,
826
826
  'CONTENT_TRANSFORMATION_FAILED': 3019,
827
827
  'MSS_MISSING_DATA_FOR_TRANSMUXING': 3020,
828
- 'MSS_TRANSMUXING_CODEC_UNKNOWN': 3021,
829
828
  'MSS_TRANSMUXING_FAILED': 3022,
830
829
  'TRANSMUXING_NO_VIDEO_DATA': 3023,
831
830
  'UNABLE_TO_GUESS_MANIFEST_TYPE': 4000,
@@ -867,6 +866,7 @@ shaka.util.Error.Code = {
867
866
  'AES_128_INVALID_KEY_LENGTH': 4049,
868
867
  'DASH_CONFLICTING_AES_128': 4050,
869
868
  'DASH_UNSUPPORTED_AES_128': 4051,
869
+ 'DASH_INVALID_PATCH': 4052,
870
870
  'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
871
871
  'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
872
872
  'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
@@ -1249,7 +1249,7 @@ shaka.util.StreamUtils = class {
1249
1249
  * @param {shaka.extern.Variant} variant
1250
1250
  * @param {shaka.extern.Restrictions} restrictions
1251
1251
  * Configured restrictions from the user.
1252
- * @param {{width: number, height: number}} maxHwRes
1252
+ * @param {shaka.extern.Resolution} maxHwRes
1253
1253
  * The maximum resolution the hardware can handle.
1254
1254
  * This is applied separately from user restrictions because the setting
1255
1255
  * should not be easily replaced by the user's configuration.
@@ -1538,6 +1538,10 @@ shaka.net.NetworkingEngine = class extends shaka.util.FakeEventTarget {
1538
1538
  * Called when receive the response
1539
1539
  */
1540
1540
  constructor(onProgressUpdated, onHeadersReceived, onDownloadFailed, onRequest, onRetry, onResponse) {}
1541
+ /**
1542
+ * @param {boolean} forceHTTP
1543
+ */
1544
+ setForceHTTP(forceHTTP) {}
1541
1545
  /**
1542
1546
  * @param {boolean} forceHTTPS
1543
1547
  */
@@ -2830,6 +2834,12 @@ shaka.util.ConfigUtils = class {
2830
2834
  * @return {!Object}
2831
2835
  */
2832
2836
  static convertToConfigObject(fieldName, value) {}
2837
+ /**
2838
+ * @param {!Object} object
2839
+ * @param {!Object} base
2840
+ * @return {!Object}
2841
+ */
2842
+ static getDifferenceFromConfigObjects(object, base) {}
2833
2843
  };
2834
2844
  /**
2835
2845
  * @summary A set of FairPlay utility functions.
@@ -3247,6 +3257,17 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
3247
3257
  * @return {!Promise.<?shaka.media.PreloadManager>}
3248
3258
  */
3249
3259
  unloadAndSavePreload(initializeMediaSource, keepAdManager) {}
3260
+ /**
3261
+ * Detach the player from the current media element, if any, and returns a
3262
+ * PreloadManager that contains the loaded manifest of that asset, if any.
3263
+ * Allows for the asset to be re-loaded by this player faster, in the future.
3264
+ * When in src= mode, this detach but does not make a PreloadManager.
3265
+ * Leaves the player in a state where it cannot play media, until it has been
3266
+ * attached to something else.
3267
+ * @param {boolean=} keepAdManager
3268
+ * @return {!Promise.<?shaka.media.PreloadManager>}
3269
+ */
3270
+ detachAndSavePreload(keepAdManager) {}
3250
3271
  /**
3251
3272
  * Starts to preload a given asset, and returns a PreloadManager object that
3252
3273
  * represents that preloading process.
@@ -3303,6 +3324,13 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
3303
3324
  * @return {shaka.extern.PlayerConfiguration}
3304
3325
  */
3305
3326
  getConfiguration() {}
3327
+ /**
3328
+ * Return a copy of the current non default configuration. Modifications of
3329
+ * the returned value will not affect the Player's active configuration.
3330
+ * You must call <code>player.configure()</code> to make changes.
3331
+ * @return {!Object}
3332
+ */
3333
+ getNonDefaultConfiguration() {}
3306
3334
  /**
3307
3335
  * Returns the ratio of video length buffered compared to buffering Goal
3308
3336
  * @return {number}
@@ -4576,9 +4604,10 @@ shaka.util.PeriodCombiner = class {
4576
4604
  /**
4577
4605
  * @param {!Array.<shaka.extern.Period>} periods
4578
4606
  * @param {boolean} isDynamic
4607
+ * @param {boolean=} isPatchUpdate
4579
4608
  * @return {!Promise}
4580
4609
  */
4581
- combinePeriods(periods, isDynamic) {}
4610
+ combinePeriods(periods, isDynamic, isPatchUpdate) {}
4582
4611
  /**
4583
4612
  * @param {boolean} allowed If set to true, multi-mimeType or multi-codec
4584
4613
  * variants will be allowed.
@@ -5033,15 +5062,6 @@ shaka.polyfill.MediaCapabilities = class {
5033
5062
  * @type {MediaCapabilities}
5034
5063
  */
5035
5064
  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
5065
  /**
5046
5066
  * A cache that stores the canDisplayType result of calling
5047
5067
  * `cast.__platform__.canDisplayType`.