shaka-player 4.7.13 → 4.8.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 (114) hide show
  1. package/AUTHORS +2 -0
  2. package/CONTRIBUTORS +2 -0
  3. package/LICENSE +54 -0
  4. package/README.md +22 -1
  5. package/dist/controls.css +1 -1
  6. package/dist/controls.css.map +1 -1
  7. package/dist/deps.js +34 -23
  8. package/dist/locales.js +41 -31
  9. package/dist/shaka-player.compiled.d.ts +196 -45
  10. package/dist/shaka-player.compiled.debug.d.ts +196 -45
  11. package/dist/shaka-player.compiled.debug.externs.js +491 -348
  12. package/dist/shaka-player.compiled.debug.js +969 -847
  13. package/dist/shaka-player.compiled.debug.map +4 -4
  14. package/dist/shaka-player.compiled.externs.js +491 -348
  15. package/dist/shaka-player.compiled.js +1238 -1171
  16. package/dist/shaka-player.compiled.map +4 -4
  17. package/dist/shaka-player.ui.d.ts +259 -48
  18. package/dist/shaka-player.ui.debug.d.ts +259 -48
  19. package/dist/shaka-player.ui.debug.externs.js +598 -377
  20. package/dist/shaka-player.ui.debug.js +1185 -980
  21. package/dist/shaka-player.ui.debug.map +4 -4
  22. package/dist/shaka-player.ui.externs.js +598 -377
  23. package/dist/shaka-player.ui.js +1526 -1408
  24. package/dist/shaka-player.ui.map +4 -4
  25. package/externs/device_sensor_event.js +18 -0
  26. package/externs/hisense.js +16 -0
  27. package/externs/playstation.js +31 -0
  28. package/externs/shaka/abr_manager.js +3 -1
  29. package/externs/shaka/ads.js +5 -0
  30. package/externs/shaka/codecs.js +13 -0
  31. package/externs/shaka/manifest.js +58 -6
  32. package/externs/shaka/net.js +13 -1
  33. package/externs/shaka/player.js +184 -13
  34. package/externs/shaka/text.js +19 -0
  35. package/externs/tizen.js +41 -0
  36. package/externs/webos.js +19 -0
  37. package/externs/xbox.js +43 -0
  38. package/lib/abr/simple_abr_manager.js +9 -1
  39. package/lib/ads/ad_manager.js +19 -2
  40. package/lib/ads/client_side_ad_manager.js +5 -3
  41. package/lib/ads/media_tailor_ad_manager.js +9 -0
  42. package/lib/cast/cast_receiver.js +0 -14
  43. package/lib/cast/cast_utils.js +1 -0
  44. package/lib/cea/mp4_cea_parser.js +6 -1
  45. package/lib/dash/content_protection.js +97 -53
  46. package/lib/dash/dash_parser.js +237 -177
  47. package/lib/dash/mpd_utils.js +72 -65
  48. package/lib/dash/segment_base.js +27 -21
  49. package/lib/dash/segment_list.js +18 -16
  50. package/lib/dash/segment_template.js +45 -22
  51. package/lib/hls/hls_parser.js +358 -164
  52. package/lib/media/buffering_observer.js +25 -1
  53. package/lib/media/drm_engine.js +91 -71
  54. package/lib/media/manifest_filterer.js +220 -0
  55. package/lib/media/media_source_engine.js +34 -5
  56. package/lib/media/preload_manager.js +827 -0
  57. package/lib/media/presentation_timeline.js +11 -0
  58. package/lib/media/segment_index.js +93 -47
  59. package/lib/media/segment_prefetch.js +140 -43
  60. package/lib/media/segment_reference.js +43 -8
  61. package/lib/media/segment_utils.js +208 -25
  62. package/lib/media/streaming_engine.js +355 -66
  63. package/lib/mss/content_protection.js +31 -25
  64. package/lib/mss/mss_parser.js +79 -55
  65. package/lib/net/networking_engine.js +49 -4
  66. package/lib/offline/storage.js +3 -3
  67. package/lib/player.js +882 -672
  68. package/lib/polyfill/media_capabilities.js +16 -1
  69. package/lib/text/simple_text_displayer.js +9 -0
  70. package/lib/text/stub_text_displayer.js +7 -0
  71. package/lib/text/text_engine.js +16 -3
  72. package/lib/text/ttml_text_parser.js +116 -114
  73. package/lib/text/ui_text_displayer.js +28 -11
  74. package/lib/text/vtt_text_parser.js +54 -115
  75. package/lib/transmuxer/opus.js +91 -0
  76. package/lib/transmuxer/ts_transmuxer.js +115 -0
  77. package/lib/util/cmcd_manager.js +153 -3
  78. package/lib/util/dom_utils.js +11 -0
  79. package/lib/util/error.js +5 -0
  80. package/lib/util/fake_event.js +2 -0
  81. package/lib/util/manifest_parser_utils.js +97 -3
  82. package/lib/util/mp4_box_parsers.js +346 -17
  83. package/lib/util/mp4_generator.js +23 -0
  84. package/lib/util/periods.js +19 -0
  85. package/lib/util/platform.js +161 -9
  86. package/lib/util/player_configuration.js +79 -13
  87. package/lib/util/stats.js +16 -0
  88. package/lib/util/stream_utils.js +22 -8
  89. package/lib/util/string_utils.js +36 -0
  90. package/lib/util/tXml.js +814 -0
  91. package/lib/util/ts_parser.js +50 -0
  92. package/lib/util/xml_utils.js +10 -338
  93. package/package.json +2 -2
  94. package/shaka-player.uncompiled.js +8 -0
  95. package/ui/controls.js +187 -5
  96. package/ui/enums.js +2 -0
  97. package/ui/externs/ui.js +30 -3
  98. package/ui/gl_matrix/matrix_4x4.js +568 -0
  99. package/ui/gl_matrix/matrix_quaternion.js +45 -0
  100. package/ui/less/containers.less +11 -0
  101. package/ui/locales/en-GB.json +2 -0
  102. package/ui/locales/en.json +2 -0
  103. package/ui/locales/es-419.json +2 -0
  104. package/ui/locales/es.json +2 -0
  105. package/ui/locales/source.json +8 -0
  106. package/ui/recenter_vr.js +126 -0
  107. package/ui/resolution_selection.js +25 -5
  108. package/ui/statistics_button.js +12 -0
  109. package/ui/text_selection.js +1 -1
  110. package/ui/toggle_stereoscopic.js +127 -0
  111. package/ui/ui.js +74 -38
  112. package/ui/vr_manager.js +557 -0
  113. package/ui/vr_utils.js +232 -0
  114. package/ui/vr_webgl.js +697 -0
@@ -195,17 +195,19 @@ declare namespace shaka {
195
195
  */
196
196
  getPlaybackRate ( ) : number ;
197
197
  /**
198
- * Get the current playhead position as a date. This should only be called
199
- * when the player has loaded a live stream. If the player has not loaded a
200
- * live stream, this will return <code>null</code>.
198
+ * Get the current playhead position as a date.
201
199
  */
202
200
  getPlayheadTimeAsDate ( ) : Date | null ;
203
201
  /**
204
- * Get the presentation start time as a date. This should only be called when
205
- * the player has loaded a live stream. If the player has not loaded a live
206
- * stream, this will return <code>null</code>.
202
+ * Get the presentation start time as a date.
207
203
  */
208
204
  getPresentationStartTimeAsDate ( ) : Date | null ;
205
+ /**
206
+ * Get the presentation segment availability duration. This should only be
207
+ * called when the player has loaded a live stream. If the player has not
208
+ * loaded a live stream, this will return <code>null</code>.
209
+ */
210
+ getSegmentAvailabilityDuration ( ) : number | null ;
209
211
  /**
210
212
  * Get statistics for the current playback session. If the player is not
211
213
  * playing content, this will return an empty stats object.
@@ -282,7 +284,23 @@ declare namespace shaka {
282
284
  * If another stream was already playing, first unloads that stream.
283
285
  * @param startTime When <code>startTime</code> is <code>null</code> or <code>undefined</code>, playback will start at the default start time (0 for VOD and liveEdge for LIVE).
284
286
  */
285
- load (assetUri : string , startTime ? : number | null , mimeType ? : string | null ) : Promise < any > ;
287
+ load (assetUriOrPreloader : string | shaka.media.PreloadManager | null , startTime ? : number | null , mimeType ? : string | null ) : Promise < any > ;
288
+ /**
289
+ * Starts to preload a given asset, and returns a PreloadManager object that
290
+ * represents that preloading process.
291
+ * The PreloadManager will load the manifest for that asset, as well as the
292
+ * initialization segment. It will not preload anything more than that;
293
+ * this feature is intended for reducing start-time latency, not for fully
294
+ * downloading assets before playing them (for that, use
295
+ * |shaka.offline.Storage|).
296
+ * You can pass that PreloadManager object in to the |load| method on this
297
+ * Player instance to finish loading that particular asset, or you can call
298
+ * the |destroy| method on the manager if the preload is no longer necessary.
299
+ * If this returns null rather than a PreloadManager, that indicates that the
300
+ * asset must be played with src=, which cannot be preloaded.
301
+ * @param startTime When <code>startTime</code> is <code>null</code> or <code>undefined</code>, playback will start at the default start time (0 for VOD and liveEdge for LIVE).
302
+ */
303
+ preload (assetUri : string , startTime ? : number | null , mimeType ? : string | null ) : Promise < shaka.media.PreloadManager | null > ;
286
304
  /**
287
305
  * Releases all of the mutexes of the player. Meant for use by the tests.
288
306
  */
@@ -358,8 +376,6 @@ declare namespace shaka {
358
376
  selectVariantsByLabel (label : string , clearBuffer ? : boolean , safeMargin ? : number ) : any ;
359
377
  /**
360
378
  * Set the maximum resolution that the platform's hardware can handle.
361
- * This will be called automatically by <code>shaka.cast.CastReceiver</code>
362
- * to enforce limitations of the Chromecast hardware.
363
379
  */
364
380
  setMaxHardwareResolution (width : number , height : number ) : any ;
365
381
  /**
@@ -388,6 +404,13 @@ declare namespace shaka {
388
404
  * Unloads the currently playing stream, if any.
389
405
  */
390
406
  unload (initializeMediaSource ? : boolean , keepAdManager ? : boolean ) : Promise < any > ;
407
+ /**
408
+ * Unloads the currently playing stream, if any, and returns a PreloadManager
409
+ * that contains the loaded manifest of that asset, if any.
410
+ * Allows for the asset to be re-loaded by this player faster, in the future.
411
+ * When in src= mode, this unloads but does not make a PreloadManager.
412
+ */
413
+ unloadAndSavePreload (initializeMediaSource ? : boolean , keepAdManager ? : boolean ) : Promise < shaka.media.PreloadManager | null > ;
391
414
  /**
392
415
  * Provides a way to update the stream start position during the media loading
393
416
  * process. Can for example be called from the <code>manifestparsed</code>
@@ -464,7 +487,7 @@ declare namespace shaka.abr {
464
487
  init (switchCallback : any ) : any ;
465
488
  playbackRateChanged (rate : any ) : any ;
466
489
  release ( ) : any ;
467
- segmentDownloaded (deltaTimeMs : any , numBytes : any , allowSwitch : any ) : any ;
490
+ segmentDownloaded (deltaTimeMs : number , numBytes : number , allowSwitch : boolean , request ? : shaka.extern.Request ) : any ;
468
491
  setCmsdManager (cmsdManager : any ) : any ;
469
492
  setMediaElement (mediaElement : any ) : any ;
470
493
  setVariants (variants : any ) : any ;
@@ -479,6 +502,7 @@ declare namespace shaka.ads {
479
502
  */
480
503
  class AdManager extends shaka.util.FakeEventTarget implements shaka.extern.IAdManager , shaka.util.IReleasable {
481
504
  private noStructuralTyping_shaka_ads_AdManager : any;
505
+ addMediaTailorTrackingUrl (url : string ) : any ;
482
506
  configure (config : any ) : any ;
483
507
  getCuePoints ( ) : shaka.extern.AdCuePoint [] ;
484
508
  getServerSideCuePoints ( ) : shaka.extern.AdCuePoint [] ;
@@ -990,7 +1014,7 @@ declare namespace shaka.media {
990
1014
  */
991
1015
  class InitSegmentReference {
992
1016
  private noStructuralTyping_shaka_media_InitSegmentReference : any;
993
- constructor (uris : ( ) => string [] , startByte : number , endByte : number | null , mediaQuality ? : null | shaka.extern.MediaQualityInfo , timescale ? : null | number , segmentData ? : null | ArrayBuffer | ArrayBufferView , aes128Key ? : shaka.extern.aes128Key | null ) ;
1017
+ constructor (uris : ( ) => string [] , startByte : number , endByte : number | null , mediaQuality ? : null | shaka.extern.MediaQualityInfo , timescale ? : null | number , segmentData ? : null | ArrayBuffer | ArrayBufferView , aesKey ? : shaka.extern.aesKey | null ) ;
994
1018
  /**
995
1019
  * Returns the offset from the start of the resource to the end of the
996
1020
  * segment, inclusive. A value of null indicates that the segment extends
@@ -1050,9 +1074,10 @@ declare namespace shaka.media {
1050
1074
  //!! Symbol.iterator inserted by Clutz for Iterable subtype
1051
1075
  [Symbol.iterator](): Iterator < shaka.media.SegmentReference > ;
1052
1076
  evict (time : number ) : any ;
1053
- find (time : number ) : number | null ;
1077
+ find (time : any ) : any ;
1054
1078
  fit (windowStart : number , windowEnd : number | null , c ? : boolean ) : any ;
1055
- get (position : number ) : shaka.media.SegmentReference | null ;
1079
+ forEachTopLevelReference (fn : any ) : any ;
1080
+ get (position : any ) : any ;
1056
1081
  merge (references : any ) : any ;
1057
1082
  mergeAndEvict (references : shaka.media.SegmentReference [] , windowStart : number ) : any ;
1058
1083
  offset (offset : number ) : any ;
@@ -1061,6 +1086,21 @@ declare namespace shaka.media {
1061
1086
  }
1062
1087
  }
1063
1088
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1089
+ declare namespace shaka.media {
1090
+ class PreloadManager extends shaka.util.FakeEventTarget implements shaka.util.IDestroyable {
1091
+ private noStructuralTyping_shaka_media_PreloadManager : any;
1092
+ constructor (assetUri : string , mimeType : string | null , startTimeOfLoad : number , startTime : number | null , playerInterface : any ) ;
1093
+ /**
1094
+ * Releases or stops all non-entrusted resources.
1095
+ */
1096
+ destroy ( ) : Promise < any > ;
1097
+ /**
1098
+ * Waits for the loading to be finished (or to fail with an error).
1099
+ */
1100
+ waitForFinish ( ) : Promise < any > ;
1101
+ }
1102
+ }
1103
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1064
1104
  declare namespace shaka.media {
1065
1105
  /**
1066
1106
  * PresentationTimeline.
@@ -1091,6 +1131,10 @@ declare namespace shaka.media {
1091
1131
  * Gets the seek range start time.
1092
1132
  */
1093
1133
  getSeekRangeStart ( ) : number ;
1134
+ /**
1135
+ * Gets the presentation's segment availability duration.
1136
+ */
1137
+ getSegmentAvailabilityDuration ( ) : number ;
1094
1138
  /**
1095
1139
  * Gets the presentation's current segment availability end time. Segments
1096
1140
  * starting after this time should be assumed to be unavailable.
@@ -1215,7 +1259,7 @@ declare namespace shaka.media {
1215
1259
  /**
1216
1260
  * SegmentIndex.
1217
1261
  */
1218
- class SegmentIndex implements Iterable < shaka.media.SegmentReference > {
1262
+ class SegmentIndex implements shaka.extern.SegmentIndex , shaka.util.IReleasable , Iterable < shaka.media.SegmentReference > {
1219
1263
  private noStructuralTyping_shaka_media_SegmentIndex : any;
1220
1264
  /**
1221
1265
  * SegmentIndex.
@@ -1228,13 +1272,7 @@ declare namespace shaka.media {
1228
1272
  * @param time The time in seconds.
1229
1273
  */
1230
1274
  evict (time : number ) : any ;
1231
- /**
1232
- * Finds the position of the segment for the given time, in seconds, relative
1233
- * to the start of the presentation. Returns the position of the segment
1234
- * with the largest end time if more than one segment is known for the given
1235
- * time.
1236
- */
1237
- find (time : number ) : number | null ;
1275
+ find (time : any ) : any ;
1238
1276
  /**
1239
1277
  * Drops references that start after windowEnd, or end before windowStart,
1240
1278
  * and contracts the last reference so that it ends at windowEnd.
@@ -1244,11 +1282,7 @@ declare namespace shaka.media {
1244
1282
  * @param isNew Whether this is a new SegmentIndex and we shouldn't update the number of evicted elements.
1245
1283
  */
1246
1284
  fit (windowStart : number , windowEnd : number | null , isNew ? : boolean ) : any ;
1247
- /**
1248
- * Gets the SegmentReference for the segment at the given position.
1249
- * @param position The position of the segment as returned by find().
1250
- */
1251
- get (position : number ) : shaka.media.SegmentReference | null ;
1285
+ get (position : any ) : any ;
1252
1286
  /**
1253
1287
  * Returns a new iterator that initially points to the segment that contains
1254
1288
  * the given time, or the nearest independent segment before it.
@@ -1260,7 +1294,9 @@ declare namespace shaka.media {
1260
1294
  * RFC 8216 rev 13, section 8.1: "Each (non-Partial) Media Segment in a Media
1261
1295
  * Playlist will contain at least one independent frame."
1262
1296
  */
1263
- getIteratorForTime (time : number ) : shaka.media.SegmentIterator | null ;
1297
+ getIteratorForTime (time : number , allowNonIndepedent ? : boolean , reverse ? : boolean ) : shaka.media.SegmentIterator | null ;
1298
+ getNumEvicted ( ) : any ;
1299
+ getNumReferences ( ) : any ;
1264
1300
  /**
1265
1301
  * Marks the index as immutable. Segments cannot be added or removed after
1266
1302
  * this point. This doesn't affect the references themselves. This also
@@ -1308,10 +1344,11 @@ declare namespace shaka.media {
1308
1344
  /**
1309
1345
  * An iterator over a SegmentIndex's references.
1310
1346
  */
1311
- constructor (segmentIndex : shaka.media.SegmentIndex | null , index : number , partialSegmentIndex : number ) ;
1347
+ constructor (segmentIndex : shaka.media.SegmentIndex | null , index : number , partialSegmentIndex : number , reverse : boolean ) ;
1312
1348
  current ( ) : shaka.media.SegmentReference | null ;
1313
1349
  currentPosition ( ) : number ;
1314
1350
  next ( ) : any ;
1351
+ setReverse (reverse : boolean ) : any ;
1315
1352
  }
1316
1353
  }
1317
1354
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -1326,7 +1363,7 @@ declare namespace shaka.media {
1326
1363
  */
1327
1364
  class SegmentReference {
1328
1365
  private noStructuralTyping_shaka_media_SegmentReference : any;
1329
- constructor (startTime : number , endTime : number , uris : ( ) => string [] , startByte : number , endByte : number | null , initSegmentReference : shaka.media.InitSegmentReference | null , timestampOffset : number , appendWindowStart : number , appendWindowEnd : number , partialReferences ? : shaka.media.SegmentReference [] , tilesLayout ? : string | null , tileDuration ? : number | null , syncTime ? : number | null , status ? : shaka.media.SegmentReference.Status , aes128Key ? : shaka.extern.aes128Key | null , allPartialSegments ? : boolean ) ;
1366
+ constructor (startTime : number , endTime : number , uris : ( ) => string [] , startByte : number , endByte : number | null , initSegmentReference : shaka.media.InitSegmentReference | null , timestampOffset : number , appendWindowStart : number , appendWindowEnd : number , partialReferences ? : shaka.media.SegmentReference [] , tilesLayout ? : string | null , tileDuration ? : number | null , syncTime ? : number | null , status ? : shaka.media.SegmentReference.Status , aesKey ? : shaka.extern.aesKey | null , allPartialSegments ? : boolean ) ;
1330
1367
  /**
1331
1368
  * Returns the offset from the start of the resource to the end of the
1332
1369
  * segment, inclusive. A value of null indicates that the segment extends to
@@ -1337,6 +1374,10 @@ declare namespace shaka.media {
1337
1374
  * Returns the segment's end time in seconds.
1338
1375
  */
1339
1376
  getEndTime ( ) : number ;
1377
+ /**
1378
+ * Return the segment data.
1379
+ */
1380
+ getSegmentData ( ) : ArrayBuffer | ArrayBufferView | null ;
1340
1381
  /**
1341
1382
  * Returns the offset from the start of the resource to the
1342
1383
  * start of the segment.
@@ -1418,6 +1459,10 @@ declare namespace shaka.media {
1418
1459
  * @param offset The amount to add to the segment's start and end times.
1419
1460
  */
1420
1461
  offset (offset : number ) : any ;
1462
+ /**
1463
+ * Set the segment data.
1464
+ */
1465
+ setSegmentData (segmentData : ArrayBuffer | ArrayBufferView ) : any ;
1421
1466
  /**
1422
1467
  * Set the segment's thumbnail sprite.
1423
1468
  */
@@ -1506,7 +1551,7 @@ declare namespace shaka.net {
1506
1551
  * handle the actual request. A plugin is registered using registerScheme.
1507
1552
  * Each scheme has at most one plugin to handle the request.
1508
1553
  */
1509
- constructor (onProgressUpdated ? : (a : number , b : number , c : boolean ) => any , onHeadersReceived ? : shaka.net.NetworkingEngine.OnHeadersReceived , onDownloadFailed ? : shaka.net.NetworkingEngine.OnDownloadFailed , onRequest ? : shaka.net.NetworkingEngine.OnRequest , onRetry ? : shaka.net.NetworkingEngine.OnRetry ) ;
1554
+ constructor (onProgressUpdated ? : shaka.net.NetworkingEngine.onProgressUpdated , onHeadersReceived ? : shaka.net.NetworkingEngine.OnHeadersReceived , onDownloadFailed ? : shaka.net.NetworkingEngine.OnDownloadFailed , onRequest ? : shaka.net.NetworkingEngine.OnRequest , onRetry ? : shaka.net.NetworkingEngine.OnRetry , onResponse ? : shaka.net.NetworkingEngine.OnResponse ) ;
1510
1555
  /**
1511
1556
  * Clears all request filters.
1512
1557
  */
@@ -1612,6 +1657,10 @@ declare namespace shaka.net.NetworkingEngine {
1612
1657
  type OnRequest = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Request , c : shaka.extern.RequestContext | undefined ) => any ;
1613
1658
  }
1614
1659
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1660
+ declare namespace shaka.net.NetworkingEngine {
1661
+ type OnResponse = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Response , c : shaka.extern.RequestContext | undefined ) => any ;
1662
+ }
1663
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1615
1664
  declare namespace shaka.net.NetworkingEngine {
1616
1665
  type OnRetry = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.RequestContext | undefined , c : string , d : string ) => any ;
1617
1666
  }
@@ -1669,6 +1718,10 @@ declare namespace shaka.net.NetworkingEngine {
1669
1718
  }
1670
1719
  }
1671
1720
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1721
+ declare namespace shaka.net.NetworkingEngine {
1722
+ type onProgressUpdated = (a : number , b : number , c : boolean , d ? : shaka.extern.Request ) => any ;
1723
+ }
1724
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1672
1725
  declare namespace shaka.offline {
1673
1726
  class OfflineScheme {
1674
1727
  private noStructuralTyping_shaka_offline_OfflineScheme : any;
@@ -2418,6 +2471,7 @@ declare namespace shaka.text {
2418
2471
  */
2419
2472
  constructor (video : HTMLMediaElement | null , label : string ) ;
2420
2473
  append (cues : any ) : any ;
2474
+ configure (config : any ) : any ;
2421
2475
  destroy ( ) : any ;
2422
2476
  isTextVisible ( ) : any ;
2423
2477
  remove (start : any , end : any ) : any ;
@@ -2460,6 +2514,7 @@ declare namespace shaka.text {
2460
2514
  class StubTextDisplayer implements shaka.extern.TextDisplayer {
2461
2515
  private noStructuralTyping_shaka_text_StubTextDisplayer : any;
2462
2516
  append (cues : any ) : any ;
2517
+ configure (config : any ) : any ;
2463
2518
  destroy ( ) : any ;
2464
2519
  isTextVisible ( ) : any ;
2465
2520
  remove (start : any , end : any ) : any ;
@@ -2499,8 +2554,9 @@ declare namespace shaka.text {
2499
2554
  * The text displayer plugin for the Shaka Player UI. Can also be used directly
2500
2555
  * by providing an appropriate container element.
2501
2556
  */
2502
- constructor (video : HTMLMediaElement | null , videoContainer : HTMLElement | null ) ;
2557
+ constructor (video : HTMLMediaElement | null , videoContainer : HTMLElement | null , config : shaka.extern.TextDisplayerConfiguration ) ;
2503
2558
  append (cues : any ) : any ;
2559
+ configure (config : any ) : any ;
2504
2560
  destroy ( ) : any ;
2505
2561
  isTextVisible ( ) : any ;
2506
2562
  remove (start : any , end : any ) : any ;
@@ -3005,6 +3061,7 @@ declare namespace shaka.util.Error {
3005
3061
  SEGMENT_MISSING = 1011.0 ,
3006
3062
  SERVER_CERTIFICATE_REQUEST_FAILED = 6017.0 ,
3007
3063
  SERVER_CERTIFICATE_REQUIRED = 6015.0 ,
3064
+ SRC_EQUALS_PRELOAD_NOT_SUPPORTED = 7005.0 ,
3008
3065
  SS_AD_MANAGER_NOT_INITIALIZED = 10003.0 ,
3009
3066
  SS_IMA_SDK_MISSING = 10002.0 ,
3010
3067
  STORAGE_LIMIT_REACHED = 9014.0 ,
@@ -3464,6 +3521,8 @@ declare namespace shaka.util {
3464
3521
  getTextStreams ( ) : shaka.extern.Stream [] ;
3465
3522
  getVariants ( ) : shaka.extern.Variant [] ;
3466
3523
  release ( ) : any ;
3524
+ setAllowMultiTypeVariants (allowed : boolean ) : any ;
3525
+ setUseStreamOnce (useOnce : boolean ) : any ;
3467
3526
  }
3468
3527
  }
3469
3528
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -3790,6 +3849,10 @@ declare namespace chrome.cast {
3790
3849
  declare namespace ಠ_ಠ.clutz {
3791
3850
  type CmcdData = { bl ? : number , br ? : number , bs ? : boolean , cid ? : string , d ? : number , dl ? : number , mtp ? : number , nor ? : string , nrr ? : string , ot ? : string , pr ? : number , rtp ? : number , sf ? : string , sid ? : string , st ? : string , su ? : boolean , tb ? : number , v ? : number } ;
3792
3851
  }
3852
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/hisense.js
3853
+ declare namespace window {
3854
+ function Hisense_Get4KSupportState ( ) : boolean ;
3855
+ }
3793
3856
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/ima.js
3794
3857
  declare namespace google.ima.AdErrorEvent {
3795
3858
  enum Type {
@@ -4221,6 +4284,14 @@ declare namespace ಠ_ಠ.clutz {
4221
4284
  declare namespace ಠ_ಠ.clutz {
4222
4285
  type DocumentPictureInPictureOptions = { height ? : number , width ? : number } ;
4223
4286
  }
4287
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/playstation.js
4288
+ declare namespace msdk.device {
4289
+ function getDisplayInfo ( ) : Promise < { resolution : string } > ;
4290
+ }
4291
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/playstation.js
4292
+ declare namespace msdk.device {
4293
+ function getDisplayInfoImmediate ( ) : Promise < { resolution : string } > ;
4294
+ }
4224
4295
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/polyfill.js
4225
4296
  declare namespace window {
4226
4297
  let shakaMediaKeysPolyfill : boolean ;
@@ -4334,8 +4405,9 @@ declare namespace shaka.extern {
4334
4405
  * @param deltaTimeMs The duration, in milliseconds, that the request took to complete.
4335
4406
  * @param numBytes The total number of bytes transferred.
4336
4407
  * @param allowSwitch Indicate if the segment is allowed to switch to another stream.
4408
+ * @param request A reference to the request
4337
4409
  */
4338
- segmentDownloaded (deltaTimeMs : number , numBytes : number , allowSwitch : boolean ) : any ;
4410
+ segmentDownloaded (deltaTimeMs : number , numBytes : number , allowSwitch : boolean , request ? : shaka.extern.Request ) : any ;
4339
4411
  /**
4340
4412
  * Set CMSD manager.
4341
4413
  */
@@ -4443,6 +4515,7 @@ declare namespace shaka.extern {
4443
4515
  * in the player.
4444
4516
  */
4445
4517
  interface IAdManager extends EventTarget {
4518
+ addMediaTailorTrackingUrl (url : string ) : any ;
4446
4519
  /**
4447
4520
  * Called by the Player to provide an updated configuration any time it
4448
4521
  * changes.
@@ -4556,6 +4629,10 @@ declare namespace shaka.extern {
4556
4629
  type MPEG_PES = { data : Uint8Array , dts : number | null , nalus : shaka.extern.VideoNalu [] , packetLength : number , pts : number | null } ;
4557
4630
  }
4558
4631
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/codecs.js
4632
+ declare namespace shaka.extern {
4633
+ type SpatialVideoInfo = { hfov : number | null , projection : string | null } ;
4634
+ }
4635
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/codecs.js
4559
4636
  declare namespace shaka.extern {
4560
4637
  type VideoNalu = { data : Uint8Array , fullData : Uint8Array , time : number | null , type : number } ;
4561
4638
  }
@@ -4583,7 +4660,7 @@ declare namespace shaka.extern {
4583
4660
  }
4584
4661
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4585
4662
  declare namespace shaka.extern {
4586
- type DrmInfo = { audioRobustness : string , distinctiveIdentifierRequired : boolean , initData : shaka.extern.InitDataOverride [] | null , keyIds : Set < string > | null , keySystem : string , licenseServerUri : string , persistentStateRequired : boolean , serverCertificate : Uint8Array | null , serverCertificateUri : string , sessionType : string , videoRobustness : string } ;
4663
+ type DrmInfo = { audioRobustness : string , distinctiveIdentifierRequired : boolean , encryptionScheme : string , initData : shaka.extern.InitDataOverride [] | null , keyIds : Set < string > | null , keySystem : string , licenseServerUri : string , persistentStateRequired : boolean , serverCertificate : Uint8Array | null , serverCertificateUri : string , sessionType : string , videoRobustness : string } ;
4587
4664
  }
4588
4665
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4589
4666
  declare namespace shaka.extern {
@@ -4610,6 +4687,34 @@ declare namespace shaka.extern {
4610
4687
  type Period = { audioStreams : shaka.extern.Stream [] , id : string , imageStreams : shaka.extern.Stream [] , textStreams : shaka.extern.Stream [] , videoStreams : shaka.extern.Stream [] } ;
4611
4688
  }
4612
4689
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4690
+ declare namespace shaka.extern {
4691
+ /**
4692
+ * SegmentIndex minimal API.
4693
+ */
4694
+ interface SegmentIndex {
4695
+ /**
4696
+ * Finds the position of the segment for the given time, in seconds, relative
4697
+ * to the start of the presentation. Returns the position of the segment
4698
+ * with the largest end time if more than one segment is known for the given
4699
+ * time.
4700
+ */
4701
+ find (time : number ) : number | null ;
4702
+ /**
4703
+ * Gets the SegmentReference for the segment at the given position.
4704
+ * @param position The position of the segment as returned by find().
4705
+ */
4706
+ get (position : number ) : shaka.media.SegmentReference | null ;
4707
+ /**
4708
+ * Gets number of already evicted segments.
4709
+ */
4710
+ getNumEvicted ( ) : number ;
4711
+ /**
4712
+ * Get number of references.
4713
+ */
4714
+ getNumReferences ( ) : number ;
4715
+ }
4716
+ }
4717
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4613
4718
  declare namespace shaka.extern {
4614
4719
  type ServiceDescription = { maxLatency : number | null , maxPlaybackRate : number | null , minLatency : number | null , minPlaybackRate : number | null } ;
4615
4720
  }
@@ -4623,7 +4728,7 @@ declare namespace shaka.extern {
4623
4728
  }
4624
4729
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4625
4730
  declare namespace shaka.extern {
4626
- type aes128Key = { cryptoKey ? : webCrypto.CryptoKey | null , fetchKey ? : shaka.extern.CreateSegmentIndexFunction , firstMediaSequenceNumber : number , iv ? : Uint8Array , method : string } ;
4731
+ type aesKey = { bitsKey : number , blockCipherMode : string , cryptoKey ? : webCrypto.CryptoKey | null , fetchKey ? : shaka.extern.CreateSegmentIndexFunction , firstMediaSequenceNumber : number , iv ? : Uint8Array } ;
4627
4732
  }
4628
4733
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
4629
4734
  declare namespace shaka.extern {
@@ -4723,7 +4828,7 @@ declare namespace shaka.extern {
4723
4828
  }
4724
4829
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4725
4830
  declare namespace shaka.extern {
4726
- type Request = { allowCrossSiteCredentials : boolean , body : ArrayBuffer | ArrayBufferView | null , drmInfo : shaka.extern.DrmInfo | null , headers : { [ key: string ]: string } , initData : Uint8Array | null , initDataType : string | null , licenseRequestType : string | null , method : string , retryParameters : shaka.extern.RetryParameters , sessionId : string | null , streamDataCallback : ( (a : ArrayBuffer | ArrayBufferView ) => Promise < any > ) | null , uris : string [] } ;
4831
+ type Request = { allowCrossSiteCredentials : boolean , body : ArrayBuffer | ArrayBufferView | null , contentType ? : string | null , drmInfo : shaka.extern.DrmInfo | null , headers : { [ key: string ]: string } , initData : Uint8Array | null , initDataType : string | null , licenseRequestType : string | null , method : string , packetNumber ? : number | null , requestStartTime ? : number | null , retryParameters : shaka.extern.RetryParameters , sessionId : string | null , streamDataCallback : ( (a : ArrayBuffer | ArrayBufferView ) => Promise < any > ) | null , timeToFirstByte ? : number | null , uris : string [] } ;
4727
4832
  }
4728
4833
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4729
4834
  declare namespace shaka.extern {
@@ -4986,7 +5091,7 @@ declare namespace shaka.extern {
4986
5091
  }
4987
5092
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4988
5093
  declare namespace shaka.extern {
4989
- type AdsConfiguration = { customPlayheadTracker : boolean } ;
5094
+ type AdsConfiguration = { customPlayheadTracker : boolean , skipPlayDetection : boolean } ;
4990
5095
  }
4991
5096
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4992
5097
  declare namespace shaka.extern {
@@ -5010,7 +5115,7 @@ declare namespace shaka.extern {
5010
5115
  }
5011
5116
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5012
5117
  declare namespace shaka.extern {
5013
- type CmcdConfiguration = { contentId : string , enabled : boolean , sessionId : string , useHeaders : boolean } ;
5118
+ type CmcdConfiguration = { contentId : string , enabled : boolean , includeKeys : string [] , rtpSafetyFactor : number , sessionId : string , useHeaders : boolean } ;
5014
5119
  }
5015
5120
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5016
5121
  declare namespace shaka.extern {
@@ -5018,7 +5123,7 @@ declare namespace shaka.extern {
5018
5123
  }
5019
5124
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5020
5125
  declare namespace shaka.extern {
5021
- 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 , multiTypeVariantsAllowed : boolean , sequenceMode : boolean , xlinkFailGracefully : boolean } ;
5126
+ 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 } ;
5022
5127
  }
5023
5128
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5024
5129
  declare namespace shaka.extern {
@@ -5038,7 +5143,7 @@ declare namespace shaka.extern {
5038
5143
  }
5039
5144
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5040
5145
  declare namespace shaka.extern {
5041
- type HlsManifestConfiguration = { allowLowLatencyByteRangeOptimization : boolean , defaultAudioCodec : string , defaultVideoCodec : string , disableCodecGuessing : boolean , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreManifestTimestampsInSegmentsMode : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , sequenceMode : boolean , useSafariBehaviorForLive : boolean } ;
5146
+ 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 } ;
5042
5147
  }
5043
5148
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5044
5149
  declare namespace shaka.extern {
@@ -5066,7 +5171,7 @@ declare namespace shaka.extern {
5066
5171
  }
5067
5172
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5068
5173
  declare namespace shaka.extern {
5069
- type MediaSourceConfiguration = { codecSwitchingStrategy : shaka.config.CodecSwitchingStrategy , forceTransmux : boolean , insertFakeEncryptionInInit : boolean , sourceBufferExtraFeatures : string } ;
5174
+ type MediaSourceConfiguration = { addExtraFeaturesToSourceBuffer : (a : string ) => string , codecSwitchingStrategy : shaka.config.CodecSwitchingStrategy , forceTransmux : boolean , insertFakeEncryptionInInit : boolean , modifyCueCallback : shaka.extern.TextParser.ModifyCueCallback } ;
5070
5175
  }
5071
5176
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5072
5177
  declare namespace shaka.extern {
@@ -5078,7 +5183,7 @@ declare namespace shaka.extern {
5078
5183
  }
5079
5184
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5080
5185
  declare namespace shaka.extern {
5081
- type MssManifestConfiguration = { keySystemsBySystemId : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , sequenceMode : boolean } ;
5186
+ type MssManifestConfiguration = { keySystemsBySystemId : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , manifestPreprocessorTXml : (a : shaka.extern.xml.Node ) => any , sequenceMode : boolean } ;
5082
5187
  }
5083
5188
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5084
5189
  declare namespace shaka.extern {
@@ -5090,7 +5195,7 @@ declare namespace shaka.extern {
5090
5195
  }
5091
5196
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5092
5197
  declare namespace shaka.extern {
5093
- type PlayerConfiguration = { abr : shaka.extern.AbrConfiguration , abrFactory : shaka.extern.AbrManager.Factory , ads : shaka.extern.AdsConfiguration , autoShowText : shaka.config.AutoShowText , cmcd : shaka.extern.CmcdConfiguration , cmsd : shaka.extern.CmsdConfiguration , drm : shaka.extern.DrmConfiguration , lcevc : shaka.extern.LcevcConfiguration , manifest : shaka.extern.ManifestConfiguration , mediaSource : shaka.extern.MediaSourceConfiguration , offline : shaka.extern.OfflineConfiguration , playRangeEnd : number , playRangeStart : number , preferForcedSubs : boolean , preferSpatialAudio : boolean , preferredAudioChannelCount : number , preferredAudioCodecs : string [] , preferredAudioLabel : string , preferredAudioLanguage : string , preferredDecodingAttributes : string [] , preferredTextLanguage : string , preferredTextRole : string , preferredVariantRole : string , preferredVideoCodecs : string [] , preferredVideoHdrLevel : string , preferredVideoLabel : string , preferredVideoLayout : string , restrictions : shaka.extern.Restrictions , streaming : shaka.extern.StreamingConfiguration , textDisplayFactory : shaka.extern.TextDisplayer.Factory } ;
5198
+ type PlayerConfiguration = { abr : shaka.extern.AbrConfiguration , abrFactory : shaka.extern.AbrManager.Factory , ads : shaka.extern.AdsConfiguration , autoShowText : shaka.config.AutoShowText , cmcd : shaka.extern.CmcdConfiguration , cmsd : shaka.extern.CmsdConfiguration , drm : shaka.extern.DrmConfiguration , lcevc : shaka.extern.LcevcConfiguration , manifest : shaka.extern.ManifestConfiguration , mediaSource : shaka.extern.MediaSourceConfiguration , offline : shaka.extern.OfflineConfiguration , playRangeEnd : number , playRangeStart : number , preferForcedSubs : boolean , preferSpatialAudio : boolean , preferredAudioChannelCount : number , preferredAudioCodecs : string [] , preferredAudioLabel : string , preferredAudioLanguage : string , preferredDecodingAttributes : string [] , preferredTextLanguage : string , preferredTextRole : string , preferredVariantRole : string , preferredVideoCodecs : string [] , preferredVideoHdrLevel : string , preferredVideoLabel : string , preferredVideoLayout : string , restrictions : shaka.extern.Restrictions , streaming : shaka.extern.StreamingConfiguration , textDisplayFactory : shaka.extern.TextDisplayer.Factory , textDisplayer : shaka.extern.TextDisplayerConfiguration } ;
5094
5199
  }
5095
5200
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5096
5201
  declare namespace shaka.extern {
@@ -5106,23 +5211,27 @@ declare namespace shaka.extern {
5106
5211
  }
5107
5212
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5108
5213
  declare namespace shaka.extern {
5109
- type Stats = { bufferingTime : number , completionPercent : number , corruptedFrames : number , decodedFrames : number , drmTimeSeconds : number , droppedFrames : number , estimatedBandwidth : number , gapsJumped : number , height : number , licenseTime : number , liveLatency : number , loadLatency : number , manifestTimeSeconds : number , maxSegmentDuration : number , pauseTime : number , playTime : number , stallsDetected : number , stateHistory : shaka.extern.StateChange [] , streamBandwidth : number , switchHistory : shaka.extern.TrackChoice [] , width : number } ;
5214
+ type Stats = { bufferingTime : number , bytesDownloaded : number , completionPercent : number , corruptedFrames : number , decodedFrames : number , drmTimeSeconds : number , droppedFrames : number , estimatedBandwidth : number , gapsJumped : number , height : number , licenseTime : number , liveLatency : number , loadLatency : number , manifestTimeSeconds : number , maxSegmentDuration : number , pauseTime : number , playTime : number , stallsDetected : number , stateHistory : shaka.extern.StateChange [] , streamBandwidth : number , switchHistory : shaka.extern.TrackChoice [] , width : number } ;
5110
5215
  }
5111
5216
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5112
5217
  declare namespace shaka.extern {
5113
- type StreamingConfiguration = { allowMediaSourceRecoveries : boolean , alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , dispatchAllEmsgBoxes : boolean , durationBackoff : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTPS : boolean , gapDetectionThreshold : number , gapJumpTimerTime : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , liveSync : boolean , liveSyncMaxLatency : number , liveSyncMinLatency : number , liveSyncMinPlaybackRate : number , liveSyncPlaybackRate : number , lowLatencyMode : boolean , maxDisabledTime : number , minTimeBetweenRecoveries : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , segmentPrefetchLimit : number , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsOnSafari : boolean } ;
5218
+ 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 , 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 } ;
5114
5219
  }
5115
5220
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5116
5221
  declare namespace shaka.extern {
5117
5222
  type SupportType = { drm : { [ key: string ]: shaka.extern.DrmSupportType | null } , manifest : { [ key: string ]: boolean } , media : { [ key: string ]: boolean } } ;
5118
5223
  }
5119
5224
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5225
+ declare namespace shaka.extern {
5226
+ type TextDisplayerConfiguration = { captionsUpdatePeriod : number } ;
5227
+ }
5228
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5120
5229
  declare namespace shaka.extern {
5121
5230
  type Thumbnail = { duration : number , height : number , imageHeight : number , imageWidth : number , positionX : number , positionY : number , segment : shaka.media.SegmentReference | null , sprite : boolean , startTime : number , uris : string [] , width : number } ;
5122
5231
  }
5123
5232
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5124
5233
  declare namespace shaka.extern {
5125
- type TimelineRegionInfo = { endTime : number , eventElement : Element | null , id : string , schemeIdUri : string , startTime : number , value : string } ;
5234
+ type TimelineRegionInfo = { endTime : number , eventElement : Element | null , eventNode : shaka.extern.xml.Node | null , id : string , schemeIdUri : string , startTime : number , value : string } ;
5126
5235
  }
5127
5236
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5128
5237
  declare namespace shaka.extern {
@@ -5136,6 +5245,10 @@ declare namespace shaka.extern {
5136
5245
  declare namespace shaka.extern {
5137
5246
  type TrackList = shaka.extern.Track [] ;
5138
5247
  }
5248
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5249
+ declare namespace shaka.extern.xml {
5250
+ type Node = { attributes : { [ key: string ]: string } , children : any [] , parent : any , tagName : string } ;
5251
+ }
5139
5252
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
5140
5253
  declare namespace shaka.extern {
5141
5254
  interface TextDisplayer extends shaka.util.IDestroyable {
@@ -5144,6 +5257,10 @@ declare namespace shaka.extern {
5144
5257
  * @param cues Text cues to be appended.
5145
5258
  */
5146
5259
  append (cues : shaka.text.Cue [] ) : any ;
5260
+ /**
5261
+ * Sets the TextDisplayer configuration.
5262
+ */
5263
+ configure (config : shaka.extern.TextDisplayerConfiguration ) : any ;
5147
5264
  destroy ( ) : Promise < any > ;
5148
5265
  /**
5149
5266
  * Returns true if text is currently visible.
@@ -5200,6 +5317,16 @@ declare namespace shaka.extern {
5200
5317
  }
5201
5318
  }
5202
5319
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
5320
+ declare namespace shaka.extern.TextParser {
5321
+ /**
5322
+ * A callback used for editing cues before appending.
5323
+ * Provides the cue, the URI of the captions file the cue was parsed from, and
5324
+ * the time context that was used when generating that cue.
5325
+ * You can edit the cue object passed in.
5326
+ */
5327
+ type ModifyCueCallback = (a : shaka.text.Cue , b : string | null , c : shaka.extern.TextParser.TimeContext ) => any ;
5328
+ }
5329
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
5203
5330
  declare namespace shaka.extern.TextParser {
5204
5331
  /**
5205
5332
  * A collection of time offsets used to adjust text cue times.
@@ -5250,6 +5377,18 @@ declare namespace ಠ_ಠ.clutz {
5250
5377
  */
5251
5378
  function tippy (element : Element , config : object ) : any ;
5252
5379
  }
5380
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5381
+ declare namespace webapis.productinfo {
5382
+ function is8KPanelSupported ( ) : boolean ;
5383
+ }
5384
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5385
+ declare namespace webapis.productinfo {
5386
+ function isUdPanelSupported ( ) : boolean ;
5387
+ }
5388
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5389
+ declare namespace webapis.systeminfo {
5390
+ function getMaxVideoResolution ( ) : { height : number , width : number } ;
5391
+ }
5253
5392
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/webkitmediakeys.js
5254
5393
  declare namespace ಠ_ಠ.clutz {
5255
5394
  class WebKitMediaKeyError {
@@ -5285,3 +5424,15 @@ declare namespace ಠ_ಠ.clutz {
5285
5424
  static isTypeSupported (keySystem : string , contentType : string ) : boolean ;
5286
5425
  }
5287
5426
  }
5427
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/webos.js
5428
+ declare namespace PalmSystem {
5429
+ let deviceInfo : string ;
5430
+ }
5431
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/xbox.js
5432
+ declare namespace Windows.Media.Protection {
5433
+ enum ProtectionCapabilityResult {
5434
+ maybe = 'Maybe' ,
5435
+ notSupported = 'NotSupported' ,
5436
+ probably = 'Probably' ,
5437
+ }
5438
+ }