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.ui.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.ui.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.ui.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.ui.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.ui.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.ui.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.ui.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 ;
@@ -2717,12 +2773,16 @@ declare namespace shaka.ui {
2717
2773
  /**
2718
2774
  * A container for custom video controls.
2719
2775
  */
2720
- constructor (player : shaka.Player , videoContainer : HTMLElement , video : HTMLMediaElement , config : shaka.extern.UIConfiguration ) ;
2776
+ constructor (player : shaka.Player , videoContainer : HTMLElement , video : HTMLMediaElement , vrCanvas : HTMLCanvasElement | null , config : shaka.extern.UIConfiguration ) ;
2721
2777
  /**
2722
2778
  * This allows the application to inhibit casting.
2723
2779
  */
2724
2780
  allowCast (allow : boolean ) : any ;
2725
2781
  anySettingsMenusAreOpen ( ) : boolean ;
2782
+ /**
2783
+ * Returns if a VR is capable.
2784
+ */
2785
+ canPlayVR ( ) : boolean ;
2726
2786
  configure (config : shaka.extern.UIConfiguration ) : any ;
2727
2787
  destroy ( ) : Promise < any > ;
2728
2788
  getAd ( ) : shaka.extern.IAd | null ;
@@ -2736,16 +2796,44 @@ declare namespace shaka.ui {
2736
2796
  getLocalization ( ) : shaka.ui.Localization | null ;
2737
2797
  getPlayer ( ) : shaka.Player | null ;
2738
2798
  getServerSideAdContainer ( ) : HTMLElement ;
2799
+ /**
2800
+ * Returns the angle of the current field of view displayed in degrees.
2801
+ */
2802
+ getVRFieldOfView ( ) : number | null ;
2803
+ /**
2804
+ * Get the angle of the north.
2805
+ */
2806
+ getVRNorth ( ) : number | null ;
2739
2807
  getVideo ( ) : HTMLMediaElement | null ;
2740
2808
  getVideoContainer ( ) : HTMLElement ;
2741
2809
  hideAdUI ( ) : any ;
2742
2810
  hideSettingsMenus ( ) : any ;
2811
+ hideUI ( ) : any ;
2812
+ /**
2813
+ * Increment the pitch in X angle in degrees.
2814
+ * @param angle In degrees
2815
+ */
2816
+ incrementPitch (angle : number ) : any ;
2817
+ /**
2818
+ * Increment the roll in X angle in degrees.
2819
+ * @param angle In degrees
2820
+ */
2821
+ incrementRoll (angle : number ) : any ;
2822
+ /**
2823
+ * Increment the yaw in X angle in degrees.
2824
+ * @param angle In degrees
2825
+ */
2826
+ incrementYaw (angle : number ) : any ;
2743
2827
  isCastAllowed ( ) : boolean ;
2744
2828
  isFullScreenEnabled ( ) : boolean ;
2745
2829
  isFullScreenSupported ( ) : boolean ;
2746
2830
  isOpaque ( ) : boolean ;
2747
2831
  isPiPAllowed ( ) : boolean ;
2748
2832
  isPiPEnabled ( ) : boolean ;
2833
+ /**
2834
+ * Returns if a VR is supported.
2835
+ */
2836
+ isPlayingVR ( ) : boolean ;
2749
2837
  isSeeking ( ) : boolean ;
2750
2838
  /**
2751
2839
  * Used by the application to notify the controls that a load operation is
@@ -2765,9 +2853,23 @@ declare namespace shaka.ui {
2765
2853
  setEnabledShakaControls (enabled : boolean ) : any ;
2766
2854
  setLastTouchEventTime (time : number | null ) : any ;
2767
2855
  setSeeking (seeking : boolean ) : any ;
2856
+ /**
2857
+ * Changing the field of view increases or decreases the portion of the video
2858
+ * that is viewed at one time. If the field of view is decreased, a small
2859
+ * part of the video will be seen, but with more detail. If the field of view
2860
+ * is increased, a larger part of the video will be seen, but with less
2861
+ * detail.
2862
+ * @param fieldOfView In degrees
2863
+ */
2864
+ setVRFieldOfView (fieldOfView : number ) : any ;
2768
2865
  showAdUI ( ) : any ;
2866
+ showUI ( ) : any ;
2769
2867
  toggleFullScreen ( ) : any ;
2770
2868
  togglePiP ( ) : any ;
2869
+ /**
2870
+ * Toggle stereoscopic mode.
2871
+ */
2872
+ toggleStereoscopicMode ( ) : any ;
2771
2873
  static registerElement (name : string , factory : shaka.extern.IUIElement.Factory ) : any ;
2772
2874
  static registerSeekBar (factory : shaka.extern.IUISeekBar.Factory ) : any ;
2773
2875
  }
@@ -2943,7 +3045,7 @@ declare namespace shaka.ui {
2943
3045
  declare namespace shaka.ui {
2944
3046
  class Overlay implements shaka.util.IDestroyable {
2945
3047
  private noStructuralTyping_shaka_ui_Overlay : any;
2946
- constructor (player : shaka.Player , videoContainer : HTMLElement , video : HTMLMediaElement ) ;
3048
+ constructor (player : shaka.Player , videoContainer : HTMLElement , video : HTMLMediaElement , vrCanvas ? : HTMLCanvasElement | null ) ;
2947
3049
  configure (config : string | object , value ? : any ) : any ;
2948
3050
  destroy ( ) : Promise < any > ;
2949
3051
  getConfiguration ( ) : shaka.extern.UIConfiguration ;
@@ -3070,6 +3172,13 @@ declare namespace shaka.ui {
3070
3172
  }
3071
3173
  }
3072
3174
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3175
+ declare namespace shaka.ui {
3176
+ class RecenterVRButton extends shaka.ui.Element {
3177
+ private noStructuralTyping_shaka_ui_RecenterVRButton : any;
3178
+ constructor (parent : HTMLElement , controls : shaka.ui.Controls ) ;
3179
+ }
3180
+ }
3181
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3073
3182
  declare namespace shaka.ui {
3074
3183
  class RemoteButton extends shaka.ui.Element {
3075
3184
  private noStructuralTyping_shaka_ui_RemoteButton : any;
@@ -3156,6 +3265,13 @@ declare namespace shaka.ui {
3156
3265
  }
3157
3266
  }
3158
3267
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3268
+ declare namespace shaka.ui {
3269
+ class ToggleStereoscopicButton extends shaka.ui.Element {
3270
+ private noStructuralTyping_shaka_ui_ToggleStereoscopicButton : any;
3271
+ constructor (parent : HTMLElement , controls : shaka.ui.Controls ) ;
3272
+ }
3273
+ }
3274
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3159
3275
  declare namespace shaka.ui {
3160
3276
  class VolumeBar extends shaka.ui.RangeElement {
3161
3277
  private noStructuralTyping_shaka_ui_VolumeBar : any;
@@ -3510,6 +3626,7 @@ declare namespace shaka.util.Error {
3510
3626
  SEGMENT_MISSING = 1011.0 ,
3511
3627
  SERVER_CERTIFICATE_REQUEST_FAILED = 6017.0 ,
3512
3628
  SERVER_CERTIFICATE_REQUIRED = 6015.0 ,
3629
+ SRC_EQUALS_PRELOAD_NOT_SUPPORTED = 7005.0 ,
3513
3630
  SS_AD_MANAGER_NOT_INITIALIZED = 10003.0 ,
3514
3631
  SS_IMA_SDK_MISSING = 10002.0 ,
3515
3632
  STORAGE_LIMIT_REACHED = 9014.0 ,
@@ -3969,6 +4086,8 @@ declare namespace shaka.util {
3969
4086
  getTextStreams ( ) : shaka.extern.Stream [] ;
3970
4087
  getVariants ( ) : shaka.extern.Variant [] ;
3971
4088
  release ( ) : any ;
4089
+ setAllowMultiTypeVariants (allowed : boolean ) : any ;
4090
+ setUseStreamOnce (useOnce : boolean ) : any ;
3972
4091
  }
3973
4092
  }
3974
4093
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -4295,6 +4414,10 @@ declare namespace chrome.cast {
4295
4414
  declare namespace ಠ_ಠ.clutz {
4296
4415
  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 } ;
4297
4416
  }
4417
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/hisense.js
4418
+ declare namespace window {
4419
+ function Hisense_Get4KSupportState ( ) : boolean ;
4420
+ }
4298
4421
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/ima.js
4299
4422
  declare namespace google.ima.AdErrorEvent {
4300
4423
  enum Type {
@@ -4726,6 +4849,14 @@ declare namespace ಠ_ಠ.clutz {
4726
4849
  declare namespace ಠ_ಠ.clutz {
4727
4850
  type DocumentPictureInPictureOptions = { height ? : number , width ? : number } ;
4728
4851
  }
4852
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/playstation.js
4853
+ declare namespace msdk.device {
4854
+ function getDisplayInfo ( ) : Promise < { resolution : string } > ;
4855
+ }
4856
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/playstation.js
4857
+ declare namespace msdk.device {
4858
+ function getDisplayInfoImmediate ( ) : Promise < { resolution : string } > ;
4859
+ }
4729
4860
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/polyfill.js
4730
4861
  declare namespace window {
4731
4862
  let shakaMediaKeysPolyfill : boolean ;
@@ -4839,8 +4970,9 @@ declare namespace shaka.extern {
4839
4970
  * @param deltaTimeMs The duration, in milliseconds, that the request took to complete.
4840
4971
  * @param numBytes The total number of bytes transferred.
4841
4972
  * @param allowSwitch Indicate if the segment is allowed to switch to another stream.
4973
+ * @param request A reference to the request
4842
4974
  */
4843
- segmentDownloaded (deltaTimeMs : number , numBytes : number , allowSwitch : boolean ) : any ;
4975
+ segmentDownloaded (deltaTimeMs : number , numBytes : number , allowSwitch : boolean , request ? : shaka.extern.Request ) : any ;
4844
4976
  /**
4845
4977
  * Set CMSD manager.
4846
4978
  */
@@ -4948,6 +5080,7 @@ declare namespace shaka.extern {
4948
5080
  * in the player.
4949
5081
  */
4950
5082
  interface IAdManager extends EventTarget {
5083
+ addMediaTailorTrackingUrl (url : string ) : any ;
4951
5084
  /**
4952
5085
  * Called by the Player to provide an updated configuration any time it
4953
5086
  * changes.
@@ -5061,6 +5194,10 @@ declare namespace shaka.extern {
5061
5194
  type MPEG_PES = { data : Uint8Array , dts : number | null , nalus : shaka.extern.VideoNalu [] , packetLength : number , pts : number | null } ;
5062
5195
  }
5063
5196
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/codecs.js
5197
+ declare namespace shaka.extern {
5198
+ type SpatialVideoInfo = { hfov : number | null , projection : string | null } ;
5199
+ }
5200
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/codecs.js
5064
5201
  declare namespace shaka.extern {
5065
5202
  type VideoNalu = { data : Uint8Array , fullData : Uint8Array , time : number | null , type : number } ;
5066
5203
  }
@@ -5088,7 +5225,7 @@ declare namespace shaka.extern {
5088
5225
  }
5089
5226
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
5090
5227
  declare namespace shaka.extern {
5091
- 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 } ;
5228
+ 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 } ;
5092
5229
  }
5093
5230
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
5094
5231
  declare namespace shaka.extern {
@@ -5115,6 +5252,34 @@ declare namespace shaka.extern {
5115
5252
  type Period = { audioStreams : shaka.extern.Stream [] , id : string , imageStreams : shaka.extern.Stream [] , textStreams : shaka.extern.Stream [] , videoStreams : shaka.extern.Stream [] } ;
5116
5253
  }
5117
5254
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
5255
+ declare namespace shaka.extern {
5256
+ /**
5257
+ * SegmentIndex minimal API.
5258
+ */
5259
+ interface SegmentIndex {
5260
+ /**
5261
+ * Finds the position of the segment for the given time, in seconds, relative
5262
+ * to the start of the presentation. Returns the position of the segment
5263
+ * with the largest end time if more than one segment is known for the given
5264
+ * time.
5265
+ */
5266
+ find (time : number ) : number | null ;
5267
+ /**
5268
+ * Gets the SegmentReference for the segment at the given position.
5269
+ * @param position The position of the segment as returned by find().
5270
+ */
5271
+ get (position : number ) : shaka.media.SegmentReference | null ;
5272
+ /**
5273
+ * Gets number of already evicted segments.
5274
+ */
5275
+ getNumEvicted ( ) : number ;
5276
+ /**
5277
+ * Get number of references.
5278
+ */
5279
+ getNumReferences ( ) : number ;
5280
+ }
5281
+ }
5282
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
5118
5283
  declare namespace shaka.extern {
5119
5284
  type ServiceDescription = { maxLatency : number | null , maxPlaybackRate : number | null , minLatency : number | null , minPlaybackRate : number | null } ;
5120
5285
  }
@@ -5128,7 +5293,7 @@ declare namespace shaka.extern {
5128
5293
  }
5129
5294
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
5130
5295
  declare namespace shaka.extern {
5131
- type aes128Key = { cryptoKey ? : webCrypto.CryptoKey | null , fetchKey ? : shaka.extern.CreateSegmentIndexFunction , firstMediaSequenceNumber : number , iv ? : Uint8Array , method : string } ;
5296
+ type aesKey = { bitsKey : number , blockCipherMode : string , cryptoKey ? : webCrypto.CryptoKey | null , fetchKey ? : shaka.extern.CreateSegmentIndexFunction , firstMediaSequenceNumber : number , iv ? : Uint8Array } ;
5132
5297
  }
5133
5298
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
5134
5299
  declare namespace shaka.extern {
@@ -5228,7 +5393,7 @@ declare namespace shaka.extern {
5228
5393
  }
5229
5394
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
5230
5395
  declare namespace shaka.extern {
5231
- 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 [] } ;
5396
+ 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 [] } ;
5232
5397
  }
5233
5398
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
5234
5399
  declare namespace shaka.extern {
@@ -5491,7 +5656,7 @@ declare namespace shaka.extern {
5491
5656
  }
5492
5657
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5493
5658
  declare namespace shaka.extern {
5494
- type AdsConfiguration = { customPlayheadTracker : boolean } ;
5659
+ type AdsConfiguration = { customPlayheadTracker : boolean , skipPlayDetection : boolean } ;
5495
5660
  }
5496
5661
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5497
5662
  declare namespace shaka.extern {
@@ -5515,7 +5680,7 @@ declare namespace shaka.extern {
5515
5680
  }
5516
5681
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5517
5682
  declare namespace shaka.extern {
5518
- type CmcdConfiguration = { contentId : string , enabled : boolean , sessionId : string , useHeaders : boolean } ;
5683
+ type CmcdConfiguration = { contentId : string , enabled : boolean , includeKeys : string [] , rtpSafetyFactor : number , sessionId : string , useHeaders : boolean } ;
5519
5684
  }
5520
5685
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5521
5686
  declare namespace shaka.extern {
@@ -5523,7 +5688,7 @@ declare namespace shaka.extern {
5523
5688
  }
5524
5689
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5525
5690
  declare namespace shaka.extern {
5526
- 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 } ;
5691
+ 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 } ;
5527
5692
  }
5528
5693
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5529
5694
  declare namespace shaka.extern {
@@ -5543,7 +5708,7 @@ declare namespace shaka.extern {
5543
5708
  }
5544
5709
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5545
5710
  declare namespace shaka.extern {
5546
- 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 } ;
5711
+ 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 } ;
5547
5712
  }
5548
5713
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5549
5714
  declare namespace shaka.extern {
@@ -5571,7 +5736,7 @@ declare namespace shaka.extern {
5571
5736
  }
5572
5737
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5573
5738
  declare namespace shaka.extern {
5574
- type MediaSourceConfiguration = { codecSwitchingStrategy : shaka.config.CodecSwitchingStrategy , forceTransmux : boolean , insertFakeEncryptionInInit : boolean , sourceBufferExtraFeatures : string } ;
5739
+ type MediaSourceConfiguration = { addExtraFeaturesToSourceBuffer : (a : string ) => string , codecSwitchingStrategy : shaka.config.CodecSwitchingStrategy , forceTransmux : boolean , insertFakeEncryptionInInit : boolean , modifyCueCallback : shaka.extern.TextParser.ModifyCueCallback } ;
5575
5740
  }
5576
5741
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5577
5742
  declare namespace shaka.extern {
@@ -5583,7 +5748,7 @@ declare namespace shaka.extern {
5583
5748
  }
5584
5749
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5585
5750
  declare namespace shaka.extern {
5586
- type MssManifestConfiguration = { keySystemsBySystemId : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , sequenceMode : boolean } ;
5751
+ type MssManifestConfiguration = { keySystemsBySystemId : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , manifestPreprocessorTXml : (a : shaka.extern.xml.Node ) => any , sequenceMode : boolean } ;
5587
5752
  }
5588
5753
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5589
5754
  declare namespace shaka.extern {
@@ -5595,7 +5760,7 @@ declare namespace shaka.extern {
5595
5760
  }
5596
5761
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5597
5762
  declare namespace shaka.extern {
5598
- 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 } ;
5763
+ 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 } ;
5599
5764
  }
5600
5765
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5601
5766
  declare namespace shaka.extern {
@@ -5611,23 +5776,27 @@ declare namespace shaka.extern {
5611
5776
  }
5612
5777
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5613
5778
  declare namespace shaka.extern {
5614
- 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 } ;
5779
+ 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 } ;
5615
5780
  }
5616
5781
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5617
5782
  declare namespace shaka.extern {
5618
- 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 } ;
5783
+ 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 } ;
5619
5784
  }
5620
5785
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5621
5786
  declare namespace shaka.extern {
5622
5787
  type SupportType = { drm : { [ key: string ]: shaka.extern.DrmSupportType | null } , manifest : { [ key: string ]: boolean } , media : { [ key: string ]: boolean } } ;
5623
5788
  }
5624
5789
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5790
+ declare namespace shaka.extern {
5791
+ type TextDisplayerConfiguration = { captionsUpdatePeriod : number } ;
5792
+ }
5793
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5625
5794
  declare namespace shaka.extern {
5626
5795
  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 } ;
5627
5796
  }
5628
5797
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5629
5798
  declare namespace shaka.extern {
5630
- type TimelineRegionInfo = { endTime : number , eventElement : Element | null , id : string , schemeIdUri : string , startTime : number , value : string } ;
5799
+ type TimelineRegionInfo = { endTime : number , eventElement : Element | null , eventNode : shaka.extern.xml.Node | null , id : string , schemeIdUri : string , startTime : number , value : string } ;
5631
5800
  }
5632
5801
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5633
5802
  declare namespace shaka.extern {
@@ -5641,6 +5810,10 @@ declare namespace shaka.extern {
5641
5810
  declare namespace shaka.extern {
5642
5811
  type TrackList = shaka.extern.Track [] ;
5643
5812
  }
5813
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5814
+ declare namespace shaka.extern.xml {
5815
+ type Node = { attributes : { [ key: string ]: string } , children : any [] , parent : any , tagName : string } ;
5816
+ }
5644
5817
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
5645
5818
  declare namespace shaka.extern {
5646
5819
  interface TextDisplayer extends shaka.util.IDestroyable {
@@ -5649,6 +5822,10 @@ declare namespace shaka.extern {
5649
5822
  * @param cues Text cues to be appended.
5650
5823
  */
5651
5824
  append (cues : shaka.text.Cue [] ) : any ;
5825
+ /**
5826
+ * Sets the TextDisplayer configuration.
5827
+ */
5828
+ configure (config : shaka.extern.TextDisplayerConfiguration ) : any ;
5652
5829
  destroy ( ) : Promise < any > ;
5653
5830
  /**
5654
5831
  * Returns true if text is currently visible.
@@ -5705,6 +5882,16 @@ declare namespace shaka.extern {
5705
5882
  }
5706
5883
  }
5707
5884
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
5885
+ declare namespace shaka.extern.TextParser {
5886
+ /**
5887
+ * A callback used for editing cues before appending.
5888
+ * Provides the cue, the URI of the captions file the cue was parsed from, and
5889
+ * the time context that was used when generating that cue.
5890
+ * You can edit the cue object passed in.
5891
+ */
5892
+ type ModifyCueCallback = (a : shaka.text.Cue , b : string | null , c : shaka.extern.TextParser.TimeContext ) => any ;
5893
+ }
5894
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
5708
5895
  declare namespace shaka.extern.TextParser {
5709
5896
  /**
5710
5897
  * A collection of time offsets used to adjust text cue times.
@@ -5755,6 +5942,18 @@ declare namespace ಠ_ಠ.clutz {
5755
5942
  */
5756
5943
  function tippy (element : Element , config : object ) : any ;
5757
5944
  }
5945
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5946
+ declare namespace webapis.productinfo {
5947
+ function is8KPanelSupported ( ) : boolean ;
5948
+ }
5949
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5950
+ declare namespace webapis.productinfo {
5951
+ function isUdPanelSupported ( ) : boolean ;
5952
+ }
5953
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5954
+ declare namespace webapis.systeminfo {
5955
+ function getMaxVideoResolution ( ) : { height : number , width : number } ;
5956
+ }
5758
5957
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/webkitmediakeys.js
5759
5958
  declare namespace ಠ_ಠ.clutz {
5760
5959
  class WebKitMediaKeyError {
@@ -5790,6 +5989,18 @@ declare namespace ಠ_ಠ.clutz {
5790
5989
  static isTypeSupported (keySystem : string , contentType : string ) : boolean ;
5791
5990
  }
5792
5991
  }
5992
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/webos.js
5993
+ declare namespace PalmSystem {
5994
+ let deviceInfo : string ;
5995
+ }
5996
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/xbox.js
5997
+ declare namespace Windows.Media.Protection {
5998
+ enum ProtectionCapabilityResult {
5999
+ maybe = 'Maybe' ,
6000
+ notSupported = 'NotSupported' ,
6001
+ probably = 'Probably' ,
6002
+ }
6003
+ }
5793
6004
  // Generated from /home/runner/work/shaka-player/shaka-player/ui/externs/ui.js
5794
6005
  declare namespace shaka.extern {
5795
6006
  /**
@@ -5907,7 +6118,7 @@ nameSpan : HTMLElement ;
5907
6118
  }
5908
6119
  // Generated from /home/runner/work/shaka-player/shaka-player/ui/externs/ui.js
5909
6120
  declare namespace shaka.extern {
5910
- type UIConfiguration = { addBigPlayButton : boolean , addSeekBar : boolean , castAndroidReceiverCompatible : boolean , castReceiverAppId : string , clearBufferOnQualityChange : boolean , contextMenuElements : string [] , controlPanelElements : string [] , customContextMenu : boolean , doubleClickForFullscreen : boolean , enableFullscreenOnRotation : boolean , enableKeyboardPlaybackControls : boolean , enableTooltips : boolean , fadeDelay : number , fastForwardRates : number [] , forceLandscapeOnFullscreen : boolean , fullScreenElement : HTMLElement | null , keyboardLargeSeekDistance : number , keyboardSeekDistance : number , overflowMenuButtons : string [] , playbackRates : number [] , preferDocumentPictureInPicture : boolean , rewindRates : number [] , seekBarColors : shaka.extern.UISeekBarColors , seekOnTaps : boolean , showAudioChannelCountVariants : boolean , showUnbufferedStart : boolean , singleClickForPlayAndPause : boolean , statisticsList : string [] , tapSeekDistance : number , trackLabelFormat : shaka.ui.Overlay.TrackLabelFormat , volumeBarColors : shaka.extern.UIVolumeBarColors } ;
6121
+ type UIConfiguration = { addBigPlayButton : boolean , addSeekBar : boolean , castAndroidReceiverCompatible : boolean , castReceiverAppId : string , clearBufferOnQualityChange : boolean , contextMenuElements : string [] , controlPanelElements : string [] , customContextMenu : boolean , defaultVrProjectionMode : string , displayInVrMode : boolean , doubleClickForFullscreen : boolean , enableFullscreenOnRotation : boolean , enableKeyboardPlaybackControls : boolean , enableTooltips : boolean , fadeDelay : number , fastForwardRates : number [] , forceLandscapeOnFullscreen : boolean , fullScreenElement : HTMLElement | null , keyboardLargeSeekDistance : number , keyboardSeekDistance : number , overflowMenuButtons : string [] , playbackRates : number [] , preferDocumentPictureInPicture : boolean , refreshTickInSeconds : number , rewindRates : number [] , seekBarColors : shaka.extern.UISeekBarColors , seekOnTaps : boolean , showAudioChannelCountVariants : boolean , showUnbufferedStart : boolean , singleClickForPlayAndPause : boolean , statisticsList : string [] , tapSeekDistance : number , textTrackLabelFormat : shaka.ui.Overlay.TrackLabelFormat , trackLabelFormat : shaka.ui.Overlay.TrackLabelFormat , volumeBarColors : shaka.extern.UIVolumeBarColors } ;
5911
6122
  }
5912
6123
  // Generated from /home/runner/work/shaka-player/shaka-player/ui/externs/ui.js
5913
6124
  declare namespace shaka.extern {