shaka-player 4.7.13 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/AUTHORS +1 -0
  2. package/CONTRIBUTORS +1 -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 +44 -34
  9. package/dist/shaka-player.compiled.d.ts +194 -44
  10. package/dist/shaka-player.compiled.debug.d.ts +194 -44
  11. package/dist/shaka-player.compiled.debug.externs.js +474 -337
  12. package/dist/shaka-player.compiled.debug.js +949 -832
  13. package/dist/shaka-player.compiled.debug.map +4 -4
  14. package/dist/shaka-player.compiled.externs.js +474 -337
  15. package/dist/shaka-player.compiled.js +1237 -1171
  16. package/dist/shaka-player.compiled.map +4 -4
  17. package/dist/shaka-player.ui.d.ts +257 -47
  18. package/dist/shaka-player.ui.debug.d.ts +257 -47
  19. package/dist/shaka-player.ui.debug.externs.js +591 -376
  20. package/dist/shaka-player.ui.debug.js +1165 -965
  21. package/dist/shaka-player.ui.debug.map +4 -4
  22. package/dist/shaka-player.ui.externs.js +591 -376
  23. package/dist/shaka-player.ui.js +1521 -1404
  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 +230 -176
  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 +26 -21
  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 +40 -30
  59. package/lib/media/segment_prefetch.js +140 -43
  60. package/lib/media/segment_reference.js +31 -8
  61. package/lib/media/segment_utils.js +208 -25
  62. package/lib/media/streaming_engine.js +319 -63
  63. package/lib/mss/content_protection.js +31 -25
  64. package/lib/mss/mss_parser.js +74 -55
  65. package/lib/net/networking_engine.js +49 -4
  66. package/lib/offline/storage.js +3 -3
  67. package/lib/player.js +882 -673
  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 +152 -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 +61 -3
  87. package/lib/util/stats.js +16 -0
  88. package/lib/util/stream_utils.js +16 -6
  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.debug.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.debug.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 ) : 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
@@ -1326,7 +1362,7 @@ declare namespace shaka.media {
1326
1362
  */
1327
1363
  class SegmentReference {
1328
1364
  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 ) ;
1365
+ 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
1366
  /**
1331
1367
  * Returns the offset from the start of the resource to the end of the
1332
1368
  * segment, inclusive. A value of null indicates that the segment extends to
@@ -1337,6 +1373,10 @@ declare namespace shaka.media {
1337
1373
  * Returns the segment's end time in seconds.
1338
1374
  */
1339
1375
  getEndTime ( ) : number ;
1376
+ /**
1377
+ * Return the segment data.
1378
+ */
1379
+ getSegmentData ( ) : ArrayBuffer | ArrayBufferView | null ;
1340
1380
  /**
1341
1381
  * Returns the offset from the start of the resource to the
1342
1382
  * start of the segment.
@@ -1418,6 +1458,10 @@ declare namespace shaka.media {
1418
1458
  * @param offset The amount to add to the segment's start and end times.
1419
1459
  */
1420
1460
  offset (offset : number ) : any ;
1461
+ /**
1462
+ * Set the segment data.
1463
+ */
1464
+ setSegmentData (segmentData : ArrayBuffer | ArrayBufferView ) : any ;
1421
1465
  /**
1422
1466
  * Set the segment's thumbnail sprite.
1423
1467
  */
@@ -1506,7 +1550,7 @@ declare namespace shaka.net {
1506
1550
  * handle the actual request. A plugin is registered using registerScheme.
1507
1551
  * Each scheme has at most one plugin to handle the request.
1508
1552
  */
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 ) ;
1553
+ 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
1554
  /**
1511
1555
  * Clears all request filters.
1512
1556
  */
@@ -1612,6 +1656,10 @@ declare namespace shaka.net.NetworkingEngine {
1612
1656
  type OnRequest = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Request , c : shaka.extern.RequestContext | undefined ) => any ;
1613
1657
  }
1614
1658
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
1659
+ declare namespace shaka.net.NetworkingEngine {
1660
+ type OnResponse = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Response , c : shaka.extern.RequestContext | undefined ) => any ;
1661
+ }
1662
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
1615
1663
  declare namespace shaka.net.NetworkingEngine {
1616
1664
  type OnRetry = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.RequestContext | undefined , c : string , d : string ) => any ;
1617
1665
  }
@@ -1669,6 +1717,10 @@ declare namespace shaka.net.NetworkingEngine {
1669
1717
  }
1670
1718
  }
1671
1719
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
1720
+ declare namespace shaka.net.NetworkingEngine {
1721
+ type onProgressUpdated = (a : number , b : number , c : boolean , d ? : shaka.extern.Request ) => any ;
1722
+ }
1723
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
1672
1724
  declare namespace shaka.offline {
1673
1725
  class OfflineScheme {
1674
1726
  private noStructuralTyping_shaka_offline_OfflineScheme : any;
@@ -2418,6 +2470,7 @@ declare namespace shaka.text {
2418
2470
  */
2419
2471
  constructor (video : HTMLMediaElement | null , label : string ) ;
2420
2472
  append (cues : any ) : any ;
2473
+ configure (config : any ) : any ;
2421
2474
  destroy ( ) : any ;
2422
2475
  isTextVisible ( ) : any ;
2423
2476
  remove (start : any , end : any ) : any ;
@@ -2460,6 +2513,7 @@ declare namespace shaka.text {
2460
2513
  class StubTextDisplayer implements shaka.extern.TextDisplayer {
2461
2514
  private noStructuralTyping_shaka_text_StubTextDisplayer : any;
2462
2515
  append (cues : any ) : any ;
2516
+ configure (config : any ) : any ;
2463
2517
  destroy ( ) : any ;
2464
2518
  isTextVisible ( ) : any ;
2465
2519
  remove (start : any , end : any ) : any ;
@@ -2499,8 +2553,9 @@ declare namespace shaka.text {
2499
2553
  * The text displayer plugin for the Shaka Player UI. Can also be used directly
2500
2554
  * by providing an appropriate container element.
2501
2555
  */
2502
- constructor (video : HTMLMediaElement | null , videoContainer : HTMLElement | null ) ;
2556
+ constructor (video : HTMLMediaElement | null , videoContainer : HTMLElement | null , config : shaka.extern.TextDisplayerConfiguration ) ;
2503
2557
  append (cues : any ) : any ;
2558
+ configure (config : any ) : any ;
2504
2559
  destroy ( ) : any ;
2505
2560
  isTextVisible ( ) : any ;
2506
2561
  remove (start : any , end : any ) : any ;
@@ -2717,12 +2772,16 @@ declare namespace shaka.ui {
2717
2772
  /**
2718
2773
  * A container for custom video controls.
2719
2774
  */
2720
- constructor (player : shaka.Player , videoContainer : HTMLElement , video : HTMLMediaElement , config : shaka.extern.UIConfiguration ) ;
2775
+ constructor (player : shaka.Player , videoContainer : HTMLElement , video : HTMLMediaElement , vrCanvas : HTMLCanvasElement | null , config : shaka.extern.UIConfiguration ) ;
2721
2776
  /**
2722
2777
  * This allows the application to inhibit casting.
2723
2778
  */
2724
2779
  allowCast (allow : boolean ) : any ;
2725
2780
  anySettingsMenusAreOpen ( ) : boolean ;
2781
+ /**
2782
+ * Returns if a VR is capable.
2783
+ */
2784
+ canPlayVR ( ) : boolean ;
2726
2785
  configure (config : shaka.extern.UIConfiguration ) : any ;
2727
2786
  destroy ( ) : Promise < any > ;
2728
2787
  getAd ( ) : shaka.extern.IAd | null ;
@@ -2736,16 +2795,44 @@ declare namespace shaka.ui {
2736
2795
  getLocalization ( ) : shaka.ui.Localization | null ;
2737
2796
  getPlayer ( ) : shaka.Player | null ;
2738
2797
  getServerSideAdContainer ( ) : HTMLElement ;
2798
+ /**
2799
+ * Returns the angle of the current field of view displayed in degrees.
2800
+ */
2801
+ getVRFieldOfView ( ) : number | null ;
2802
+ /**
2803
+ * Get the angle of the north.
2804
+ */
2805
+ getVRNorth ( ) : number | null ;
2739
2806
  getVideo ( ) : HTMLMediaElement | null ;
2740
2807
  getVideoContainer ( ) : HTMLElement ;
2741
2808
  hideAdUI ( ) : any ;
2742
2809
  hideSettingsMenus ( ) : any ;
2810
+ hideUI ( ) : any ;
2811
+ /**
2812
+ * Increment the pitch in X angle in degrees.
2813
+ * @param angle In degrees
2814
+ */
2815
+ incrementPitch (angle : number ) : any ;
2816
+ /**
2817
+ * Increment the roll in X angle in degrees.
2818
+ * @param angle In degrees
2819
+ */
2820
+ incrementRoll (angle : number ) : any ;
2821
+ /**
2822
+ * Increment the yaw in X angle in degrees.
2823
+ * @param angle In degrees
2824
+ */
2825
+ incrementYaw (angle : number ) : any ;
2743
2826
  isCastAllowed ( ) : boolean ;
2744
2827
  isFullScreenEnabled ( ) : boolean ;
2745
2828
  isFullScreenSupported ( ) : boolean ;
2746
2829
  isOpaque ( ) : boolean ;
2747
2830
  isPiPAllowed ( ) : boolean ;
2748
2831
  isPiPEnabled ( ) : boolean ;
2832
+ /**
2833
+ * Returns if a VR is supported.
2834
+ */
2835
+ isPlayingVR ( ) : boolean ;
2749
2836
  isSeeking ( ) : boolean ;
2750
2837
  /**
2751
2838
  * Used by the application to notify the controls that a load operation is
@@ -2765,9 +2852,23 @@ declare namespace shaka.ui {
2765
2852
  setEnabledShakaControls (enabled : boolean ) : any ;
2766
2853
  setLastTouchEventTime (time : number | null ) : any ;
2767
2854
  setSeeking (seeking : boolean ) : any ;
2855
+ /**
2856
+ * Changing the field of view increases or decreases the portion of the video
2857
+ * that is viewed at one time. If the field of view is decreased, a small
2858
+ * part of the video will be seen, but with more detail. If the field of view
2859
+ * is increased, a larger part of the video will be seen, but with less
2860
+ * detail.
2861
+ * @param fieldOfView In degrees
2862
+ */
2863
+ setVRFieldOfView (fieldOfView : number ) : any ;
2768
2864
  showAdUI ( ) : any ;
2865
+ showUI ( ) : any ;
2769
2866
  toggleFullScreen ( ) : any ;
2770
2867
  togglePiP ( ) : any ;
2868
+ /**
2869
+ * Toggle stereoscopic mode.
2870
+ */
2871
+ toggleStereoscopicMode ( ) : any ;
2771
2872
  static registerElement (name : string , factory : shaka.extern.IUIElement.Factory ) : any ;
2772
2873
  static registerSeekBar (factory : shaka.extern.IUISeekBar.Factory ) : any ;
2773
2874
  }
@@ -2943,7 +3044,7 @@ declare namespace shaka.ui {
2943
3044
  declare namespace shaka.ui {
2944
3045
  class Overlay implements shaka.util.IDestroyable {
2945
3046
  private noStructuralTyping_shaka_ui_Overlay : any;
2946
- constructor (player : shaka.Player , videoContainer : HTMLElement , video : HTMLMediaElement ) ;
3047
+ constructor (player : shaka.Player , videoContainer : HTMLElement , video : HTMLMediaElement , vrCanvas ? : HTMLCanvasElement | null ) ;
2947
3048
  configure (config : string | object , value ? : any ) : any ;
2948
3049
  destroy ( ) : Promise < any > ;
2949
3050
  getConfiguration ( ) : shaka.extern.UIConfiguration ;
@@ -3070,6 +3171,13 @@ declare namespace shaka.ui {
3070
3171
  }
3071
3172
  }
3072
3173
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
3174
+ declare namespace shaka.ui {
3175
+ class RecenterVRButton extends shaka.ui.Element {
3176
+ private noStructuralTyping_shaka_ui_RecenterVRButton : any;
3177
+ constructor (parent : HTMLElement , controls : shaka.ui.Controls ) ;
3178
+ }
3179
+ }
3180
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
3073
3181
  declare namespace shaka.ui {
3074
3182
  class RemoteButton extends shaka.ui.Element {
3075
3183
  private noStructuralTyping_shaka_ui_RemoteButton : any;
@@ -3156,6 +3264,13 @@ declare namespace shaka.ui {
3156
3264
  }
3157
3265
  }
3158
3266
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
3267
+ declare namespace shaka.ui {
3268
+ class ToggleStereoscopicButton extends shaka.ui.Element {
3269
+ private noStructuralTyping_shaka_ui_ToggleStereoscopicButton : any;
3270
+ constructor (parent : HTMLElement , controls : shaka.ui.Controls ) ;
3271
+ }
3272
+ }
3273
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
3159
3274
  declare namespace shaka.ui {
3160
3275
  class VolumeBar extends shaka.ui.RangeElement {
3161
3276
  private noStructuralTyping_shaka_ui_VolumeBar : any;
@@ -3510,6 +3625,7 @@ declare namespace shaka.util.Error {
3510
3625
  SEGMENT_MISSING = 1011.0 ,
3511
3626
  SERVER_CERTIFICATE_REQUEST_FAILED = 6017.0 ,
3512
3627
  SERVER_CERTIFICATE_REQUIRED = 6015.0 ,
3628
+ SRC_EQUALS_PRELOAD_NOT_SUPPORTED = 7005.0 ,
3513
3629
  SS_AD_MANAGER_NOT_INITIALIZED = 10003.0 ,
3514
3630
  SS_IMA_SDK_MISSING = 10002.0 ,
3515
3631
  STORAGE_LIMIT_REACHED = 9014.0 ,
@@ -3969,6 +4085,8 @@ declare namespace shaka.util {
3969
4085
  getTextStreams ( ) : shaka.extern.Stream [] ;
3970
4086
  getVariants ( ) : shaka.extern.Variant [] ;
3971
4087
  release ( ) : any ;
4088
+ setAllowMultiTypeVariants (allowed : boolean ) : any ;
4089
+ setUseStreamOnce (useOnce : boolean ) : any ;
3972
4090
  }
3973
4091
  }
3974
4092
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
@@ -4295,6 +4413,10 @@ declare namespace chrome.cast {
4295
4413
  declare namespace ಠ_ಠ.clutz {
4296
4414
  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
4415
  }
4416
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/hisense.js
4417
+ declare namespace window {
4418
+ function Hisense_Get4KSupportState ( ) : boolean ;
4419
+ }
4298
4420
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/ima.js
4299
4421
  declare namespace google.ima.AdErrorEvent {
4300
4422
  enum Type {
@@ -4726,6 +4848,14 @@ declare namespace ಠ_ಠ.clutz {
4726
4848
  declare namespace ಠ_ಠ.clutz {
4727
4849
  type DocumentPictureInPictureOptions = { height ? : number , width ? : number } ;
4728
4850
  }
4851
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/playstation.js
4852
+ declare namespace msdk.device {
4853
+ function getDisplayInfo ( ) : Promise < { resolution : string } > ;
4854
+ }
4855
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/playstation.js
4856
+ declare namespace msdk.device {
4857
+ function getDisplayInfoImmediate ( ) : Promise < { resolution : string } > ;
4858
+ }
4729
4859
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/polyfill.js
4730
4860
  declare namespace window {
4731
4861
  let shakaMediaKeysPolyfill : boolean ;
@@ -4839,8 +4969,9 @@ declare namespace shaka.extern {
4839
4969
  * @param deltaTimeMs The duration, in milliseconds, that the request took to complete.
4840
4970
  * @param numBytes The total number of bytes transferred.
4841
4971
  * @param allowSwitch Indicate if the segment is allowed to switch to another stream.
4972
+ * @param request A reference to the request
4842
4973
  */
4843
- segmentDownloaded (deltaTimeMs : number , numBytes : number , allowSwitch : boolean ) : any ;
4974
+ segmentDownloaded (deltaTimeMs : number , numBytes : number , allowSwitch : boolean , request ? : shaka.extern.Request ) : any ;
4844
4975
  /**
4845
4976
  * Set CMSD manager.
4846
4977
  */
@@ -4948,6 +5079,7 @@ declare namespace shaka.extern {
4948
5079
  * in the player.
4949
5080
  */
4950
5081
  interface IAdManager extends EventTarget {
5082
+ addMediaTailorTrackingUrl (url : string ) : any ;
4951
5083
  /**
4952
5084
  * Called by the Player to provide an updated configuration any time it
4953
5085
  * changes.
@@ -5061,6 +5193,10 @@ declare namespace shaka.extern {
5061
5193
  type MPEG_PES = { data : Uint8Array , dts : number | null , nalus : shaka.extern.VideoNalu [] , packetLength : number , pts : number | null } ;
5062
5194
  }
5063
5195
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/codecs.js
5196
+ declare namespace shaka.extern {
5197
+ type SpatialVideoInfo = { hfov : number | null , projection : string | null } ;
5198
+ }
5199
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/codecs.js
5064
5200
  declare namespace shaka.extern {
5065
5201
  type VideoNalu = { data : Uint8Array , fullData : Uint8Array , time : number | null , type : number } ;
5066
5202
  }
@@ -5088,7 +5224,7 @@ declare namespace shaka.extern {
5088
5224
  }
5089
5225
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
5090
5226
  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 } ;
5227
+ 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
5228
  }
5093
5229
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
5094
5230
  declare namespace shaka.extern {
@@ -5115,6 +5251,34 @@ declare namespace shaka.extern {
5115
5251
  type Period = { audioStreams : shaka.extern.Stream [] , id : string , imageStreams : shaka.extern.Stream [] , textStreams : shaka.extern.Stream [] , videoStreams : shaka.extern.Stream [] } ;
5116
5252
  }
5117
5253
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
5254
+ declare namespace shaka.extern {
5255
+ /**
5256
+ * SegmentIndex minimal API.
5257
+ */
5258
+ interface SegmentIndex {
5259
+ /**
5260
+ * Finds the position of the segment for the given time, in seconds, relative
5261
+ * to the start of the presentation. Returns the position of the segment
5262
+ * with the largest end time if more than one segment is known for the given
5263
+ * time.
5264
+ */
5265
+ find (time : number ) : number | null ;
5266
+ /**
5267
+ * Gets the SegmentReference for the segment at the given position.
5268
+ * @param position The position of the segment as returned by find().
5269
+ */
5270
+ get (position : number ) : shaka.media.SegmentReference | null ;
5271
+ /**
5272
+ * Gets number of already evicted segments.
5273
+ */
5274
+ getNumEvicted ( ) : number ;
5275
+ /**
5276
+ * Get number of references.
5277
+ */
5278
+ getNumReferences ( ) : number ;
5279
+ }
5280
+ }
5281
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
5118
5282
  declare namespace shaka.extern {
5119
5283
  type ServiceDescription = { maxLatency : number | null , maxPlaybackRate : number | null , minLatency : number | null , minPlaybackRate : number | null } ;
5120
5284
  }
@@ -5128,7 +5292,7 @@ declare namespace shaka.extern {
5128
5292
  }
5129
5293
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
5130
5294
  declare namespace shaka.extern {
5131
- type aes128Key = { cryptoKey ? : webCrypto.CryptoKey | null , fetchKey ? : shaka.extern.CreateSegmentIndexFunction , firstMediaSequenceNumber : number , iv ? : Uint8Array , method : string } ;
5295
+ type aesKey = { bitsKey : number , blockCipherMode : string , cryptoKey ? : webCrypto.CryptoKey | null , fetchKey ? : shaka.extern.CreateSegmentIndexFunction , firstMediaSequenceNumber : number , iv ? : Uint8Array } ;
5132
5296
  }
5133
5297
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
5134
5298
  declare namespace shaka.extern {
@@ -5228,7 +5392,7 @@ declare namespace shaka.extern {
5228
5392
  }
5229
5393
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
5230
5394
  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 [] } ;
5395
+ 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
5396
  }
5233
5397
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
5234
5398
  declare namespace shaka.extern {
@@ -5491,7 +5655,7 @@ declare namespace shaka.extern {
5491
5655
  }
5492
5656
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5493
5657
  declare namespace shaka.extern {
5494
- type AdsConfiguration = { customPlayheadTracker : boolean } ;
5658
+ type AdsConfiguration = { customPlayheadTracker : boolean , skipPlayDetection : boolean } ;
5495
5659
  }
5496
5660
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5497
5661
  declare namespace shaka.extern {
@@ -5515,7 +5679,7 @@ declare namespace shaka.extern {
5515
5679
  }
5516
5680
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5517
5681
  declare namespace shaka.extern {
5518
- type CmcdConfiguration = { contentId : string , enabled : boolean , sessionId : string , useHeaders : boolean } ;
5682
+ type CmcdConfiguration = { contentId : string , enabled : boolean , includeKeys : string [] , rtpSafetyFactor : number , sessionId : string , useHeaders : boolean } ;
5519
5683
  }
5520
5684
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5521
5685
  declare namespace shaka.extern {
@@ -5523,7 +5687,7 @@ declare namespace shaka.extern {
5523
5687
  }
5524
5688
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5525
5689
  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 } ;
5690
+ 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
5691
  }
5528
5692
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5529
5693
  declare namespace shaka.extern {
@@ -5543,7 +5707,7 @@ declare namespace shaka.extern {
5543
5707
  }
5544
5708
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5545
5709
  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 } ;
5710
+ 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
5711
  }
5548
5712
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5549
5713
  declare namespace shaka.extern {
@@ -5571,7 +5735,7 @@ declare namespace shaka.extern {
5571
5735
  }
5572
5736
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5573
5737
  declare namespace shaka.extern {
5574
- type MediaSourceConfiguration = { codecSwitchingStrategy : shaka.config.CodecSwitchingStrategy , forceTransmux : boolean , insertFakeEncryptionInInit : boolean , sourceBufferExtraFeatures : string } ;
5738
+ type MediaSourceConfiguration = { addExtraFeaturesToSourceBuffer : (a : string ) => string , codecSwitchingStrategy : shaka.config.CodecSwitchingStrategy , forceTransmux : boolean , insertFakeEncryptionInInit : boolean , modifyCueCallback : shaka.extern.TextParser.ModifyCueCallback } ;
5575
5739
  }
5576
5740
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5577
5741
  declare namespace shaka.extern {
@@ -5583,7 +5747,7 @@ declare namespace shaka.extern {
5583
5747
  }
5584
5748
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5585
5749
  declare namespace shaka.extern {
5586
- type MssManifestConfiguration = { keySystemsBySystemId : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , sequenceMode : boolean } ;
5750
+ type MssManifestConfiguration = { keySystemsBySystemId : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , manifestPreprocessorTXml : (a : shaka.extern.xml.Node ) => any , sequenceMode : boolean } ;
5587
5751
  }
5588
5752
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5589
5753
  declare namespace shaka.extern {
@@ -5595,7 +5759,7 @@ declare namespace shaka.extern {
5595
5759
  }
5596
5760
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5597
5761
  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 } ;
5762
+ 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
5763
  }
5600
5764
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5601
5765
  declare namespace shaka.extern {
@@ -5611,23 +5775,27 @@ declare namespace shaka.extern {
5611
5775
  }
5612
5776
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5613
5777
  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 } ;
5778
+ 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
5779
  }
5616
5780
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5617
5781
  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 } ;
5782
+ 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
5783
  }
5620
5784
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5621
5785
  declare namespace shaka.extern {
5622
5786
  type SupportType = { drm : { [ key: string ]: shaka.extern.DrmSupportType | null } , manifest : { [ key: string ]: boolean } , media : { [ key: string ]: boolean } } ;
5623
5787
  }
5624
5788
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5789
+ declare namespace shaka.extern {
5790
+ type TextDisplayerConfiguration = { captionsUpdatePeriod : number } ;
5791
+ }
5792
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5625
5793
  declare namespace shaka.extern {
5626
5794
  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
5795
  }
5628
5796
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5629
5797
  declare namespace shaka.extern {
5630
- type TimelineRegionInfo = { endTime : number , eventElement : Element | null , id : string , schemeIdUri : string , startTime : number , value : string } ;
5798
+ type TimelineRegionInfo = { endTime : number , eventElement : Element | null , eventNode : shaka.extern.xml.Node | null , id : string , schemeIdUri : string , startTime : number , value : string } ;
5631
5799
  }
5632
5800
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5633
5801
  declare namespace shaka.extern {
@@ -5641,6 +5809,10 @@ declare namespace shaka.extern {
5641
5809
  declare namespace shaka.extern {
5642
5810
  type TrackList = shaka.extern.Track [] ;
5643
5811
  }
5812
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
5813
+ declare namespace shaka.extern.xml {
5814
+ type Node = { attributes : { [ key: string ]: string } , children : any [] , parent : any , tagName : string } ;
5815
+ }
5644
5816
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
5645
5817
  declare namespace shaka.extern {
5646
5818
  interface TextDisplayer extends shaka.util.IDestroyable {
@@ -5649,6 +5821,10 @@ declare namespace shaka.extern {
5649
5821
  * @param cues Text cues to be appended.
5650
5822
  */
5651
5823
  append (cues : shaka.text.Cue [] ) : any ;
5824
+ /**
5825
+ * Sets the TextDisplayer configuration.
5826
+ */
5827
+ configure (config : shaka.extern.TextDisplayerConfiguration ) : any ;
5652
5828
  destroy ( ) : Promise < any > ;
5653
5829
  /**
5654
5830
  * Returns true if text is currently visible.
@@ -5705,6 +5881,16 @@ declare namespace shaka.extern {
5705
5881
  }
5706
5882
  }
5707
5883
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
5884
+ declare namespace shaka.extern.TextParser {
5885
+ /**
5886
+ * A callback used for editing cues before appending.
5887
+ * Provides the cue, the URI of the captions file the cue was parsed from, and
5888
+ * the time context that was used when generating that cue.
5889
+ * You can edit the cue object passed in.
5890
+ */
5891
+ type ModifyCueCallback = (a : shaka.text.Cue , b : string | null , c : shaka.extern.TextParser.TimeContext ) => any ;
5892
+ }
5893
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
5708
5894
  declare namespace shaka.extern.TextParser {
5709
5895
  /**
5710
5896
  * A collection of time offsets used to adjust text cue times.
@@ -5755,6 +5941,18 @@ declare namespace ಠ_ಠ.clutz {
5755
5941
  */
5756
5942
  function tippy (element : Element , config : object ) : any ;
5757
5943
  }
5944
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5945
+ declare namespace webapis.productinfo {
5946
+ function is8KPanelSupported ( ) : boolean ;
5947
+ }
5948
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5949
+ declare namespace webapis.productinfo {
5950
+ function isUdPanelSupported ( ) : boolean ;
5951
+ }
5952
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/tizen.js
5953
+ declare namespace webapis.systeminfo {
5954
+ function getMaxVideoResolution ( ) : { height : number , width : number } ;
5955
+ }
5758
5956
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/webkitmediakeys.js
5759
5957
  declare namespace ಠ_ಠ.clutz {
5760
5958
  class WebKitMediaKeyError {
@@ -5790,6 +5988,18 @@ declare namespace ಠ_ಠ.clutz {
5790
5988
  static isTypeSupported (keySystem : string , contentType : string ) : boolean ;
5791
5989
  }
5792
5990
  }
5991
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/webos.js
5992
+ declare namespace PalmSystem {
5993
+ let deviceInfo : string ;
5994
+ }
5995
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/xbox.js
5996
+ declare namespace Windows.Media.Protection {
5997
+ enum ProtectionCapabilityResult {
5998
+ maybe = 'Maybe' ,
5999
+ notSupported = 'NotSupported' ,
6000
+ probably = 'Probably' ,
6001
+ }
6002
+ }
5793
6003
  // Generated from /home/runner/work/shaka-player/shaka-player/ui/externs/ui.js
5794
6004
  declare namespace shaka.extern {
5795
6005
  /**
@@ -5907,7 +6117,7 @@ nameSpan : HTMLElement ;
5907
6117
  }
5908
6118
  // Generated from /home/runner/work/shaka-player/shaka-player/ui/externs/ui.js
5909
6119
  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 } ;
6120
+ 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
6121
  }
5912
6122
  // Generated from /home/runner/work/shaka-player/shaka-player/ui/externs/ui.js
5913
6123
  declare namespace shaka.extern {