shaka-player 3.3.4 → 4.0.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 (201) hide show
  1. package/.github/config.yml +1 -0
  2. package/.github/workflows/build-and-test.yaml +0 -1
  3. package/.github/workflows/demo-version-index.yaml +8 -0
  4. package/.github/workflows/release-please.yaml +19 -3
  5. package/.github/workflows/selenium-lab-tests.yaml +0 -1
  6. package/.github/workflows/sync-labels.yaml +33 -0
  7. package/.github/workflows/update-issues.yaml +29 -0
  8. package/.github/workflows/validate-pr-title.yaml +35 -0
  9. package/AUTHORS +1 -0
  10. package/CHANGELOG.md +209 -28
  11. package/CONTRIBUTORS +1 -0
  12. package/README.md +10 -7
  13. package/app-engine/demo-version-index/README.md +3 -3
  14. package/app-engine/demo-version-index/app.yaml +27 -1
  15. package/app-engine/demo-version-index/generate.py +164 -0
  16. package/app-engine/demo-version-index/main.py +4 -155
  17. package/app-engine/demo-version-index/requirements.txt +0 -1
  18. package/build/README.md +2 -2
  19. package/build/compiler.py +1 -1
  20. package/build/generateTsDefs.py +0 -2
  21. package/build/misspellings.txt +1 -0
  22. package/build/shaka-lab.yaml +0 -2
  23. package/build/test.py +7 -1
  24. package/build/types/core +0 -1
  25. package/build/types/polyfill +0 -3
  26. package/demo/common/asset.js +17 -1
  27. package/demo/common/assets.js +29 -0
  28. package/demo/common/message_ids.js +6 -3
  29. package/demo/config.js +10 -11
  30. package/demo/custom.js +39 -0
  31. package/demo/demo_utils.js +0 -1
  32. package/demo/locales/en.json +6 -3
  33. package/demo/locales/source.json +22 -10
  34. package/demo/main.js +9 -6
  35. package/demo/search.js +2 -1
  36. package/dist/controls.css +1 -1
  37. package/dist/demo.compiled.debug.js +71 -64
  38. package/dist/demo.compiled.debug.map +3 -3
  39. package/dist/demo.compiled.js +71 -64
  40. package/dist/demo.compiled.map +3 -3
  41. package/dist/demo.css +1 -1
  42. package/dist/demo.css.map +1 -1
  43. package/dist/deps.js +16 -20
  44. package/dist/locales.js +33 -31
  45. package/dist/receiver.compiled.debug.js +32 -28
  46. package/dist/receiver.compiled.debug.map +3 -3
  47. package/dist/receiver.compiled.js +32 -28
  48. package/dist/receiver.compiled.map +3 -3
  49. package/dist/shaka-player.compiled.d.ts +78 -82
  50. package/dist/shaka-player.compiled.debug.d.ts +78 -82
  51. package/dist/shaka-player.compiled.debug.externs.js +127 -126
  52. package/dist/shaka-player.compiled.debug.js +471 -523
  53. package/dist/shaka-player.compiled.debug.map +4 -4
  54. package/dist/shaka-player.compiled.externs.js +127 -126
  55. package/dist/shaka-player.compiled.js +844 -858
  56. package/dist/shaka-player.compiled.map +4 -4
  57. package/dist/shaka-player.ui.d.ts +80 -82
  58. package/dist/shaka-player.ui.debug.d.ts +80 -82
  59. package/dist/shaka-player.ui.debug.externs.js +135 -126
  60. package/dist/shaka-player.ui.debug.js +531 -581
  61. package/dist/shaka-player.ui.debug.map +4 -4
  62. package/dist/shaka-player.ui.externs.js +135 -126
  63. package/dist/shaka-player.ui.js +991 -1001
  64. package/dist/shaka-player.ui.map +4 -4
  65. package/docs/tutorials/config.md +0 -2
  66. package/docs/tutorials/drm-config.md +5 -0
  67. package/docs/tutorials/fairplay.md +7 -22
  68. package/docs/tutorials/faq.md +0 -11
  69. package/docs/tutorials/index.json +2 -8
  70. package/docs/tutorials/plugins.md +1 -3
  71. package/docs/tutorials/upgrade.md +85 -11
  72. package/externs/polyfill.js +15 -0
  73. package/externs/shaka/manifest.js +5 -1
  74. package/externs/shaka/net.js +12 -0
  75. package/externs/shaka/offline.js +5 -1
  76. package/externs/shaka/player.js +39 -21
  77. package/externs/shaka/text.js +12 -12
  78. package/externs/sourcebuffer.js +15 -0
  79. package/karma.conf.js +4 -0
  80. package/lib/ads/client_side_ad.js +13 -2
  81. package/lib/ads/client_side_ad_manager.js +22 -4
  82. package/lib/cast/cast_utils.js +0 -1
  83. package/lib/dash/content_protection.js +85 -5
  84. package/lib/dash/dash_parser.js +3 -3
  85. package/lib/hls/hls_parser.js +391 -747
  86. package/lib/hls/manifest_text_parser.js +2 -3
  87. package/lib/media/drm_engine.js +102 -37
  88. package/lib/media/gap_jumping_controller.js +10 -45
  89. package/lib/media/media_source_engine.js +157 -31
  90. package/lib/media/playhead.js +2 -5
  91. package/lib/media/presentation_timeline.js +1 -2
  92. package/lib/media/segment_index.js +13 -46
  93. package/lib/media/segment_reference.js +47 -1
  94. package/lib/media/streaming_engine.js +28 -11
  95. package/lib/media/time_ranges_utils.js +4 -9
  96. package/lib/net/networking_engine.js +3 -0
  97. package/lib/offline/indexeddb/storage_mechanism.js +4 -2
  98. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  99. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  100. package/lib/offline/manifest_converter.js +1 -0
  101. package/lib/offline/storage.js +100 -132
  102. package/lib/player.js +181 -307
  103. package/lib/polyfill/media_capabilities.js +12 -6
  104. package/lib/polyfill/mediasource.js +0 -28
  105. package/lib/polyfill/patchedmediakeys_nop.js +2 -0
  106. package/lib/polyfill/patchedmediakeys_webkit.js +2 -0
  107. package/lib/text/cue.js +0 -6
  108. package/lib/text/lrc_text_parser.js +8 -0
  109. package/lib/text/mp4_ttml_parser.js +8 -0
  110. package/lib/text/mp4_vtt_parser.js +8 -0
  111. package/lib/text/sbv_text_parser.js +8 -0
  112. package/lib/text/simple_text_displayer.js +1 -7
  113. package/lib/text/srt_text_parser.js +8 -0
  114. package/lib/text/ssa_text_parser.js +8 -0
  115. package/lib/text/text_engine.js +19 -3
  116. package/lib/text/ttml_text_parser.js +8 -0
  117. package/lib/text/ui_text_displayer.js +1 -7
  118. package/lib/text/vtt_text_parser.js +27 -5
  119. package/lib/text/web_vtt_generator.js +1 -7
  120. package/lib/util/config_utils.js +25 -0
  121. package/lib/util/error.js +16 -13
  122. package/lib/util/fairplay_utils.js +109 -0
  123. package/lib/util/functional.js +0 -42
  124. package/lib/util/manifest_parser_utils.js +1 -1
  125. package/lib/util/mime_utils.js +50 -1
  126. package/lib/util/periods.js +5 -4
  127. package/lib/util/platform.js +45 -0
  128. package/lib/util/player_configuration.js +26 -20
  129. package/lib/util/pssh.js +23 -4
  130. package/lib/util/stream_utils.js +96 -24
  131. package/lib/util/uint8array_utils.js +0 -16
  132. package/lib/util/xml_utils.js +1 -1
  133. package/package.json +4 -1
  134. package/roadmap.md +19 -19
  135. package/shaka-player.uncompiled.js +0 -3
  136. package/test/cast/cast_utils_unit.js +1 -0
  137. package/test/dash/dash_parser_content_protection_unit.js +44 -0
  138. package/test/dash/dash_parser_manifest_unit.js +0 -24
  139. package/test/dash/dash_parser_segment_template_unit.js +3 -4
  140. package/test/demo/demo_unit.js +2 -1
  141. package/test/hls/hls_live_unit.js +121 -220
  142. package/test/hls/hls_parser_unit.js +515 -432
  143. package/test/hls/manifest_text_parser_unit.js +19 -0
  144. package/test/media/drm_engine_unit.js +86 -120
  145. package/test/media/media_source_engine_integration.js +26 -3
  146. package/test/media/media_source_engine_unit.js +7 -6
  147. package/test/media/playhead_unit.js +27 -191
  148. package/test/media/segment_index_unit.js +15 -25
  149. package/test/media/streaming_engine_integration.js +4 -39
  150. package/test/media/streaming_engine_unit.js +3 -2
  151. package/test/media/time_ranges_utils_unit.js +0 -5
  152. package/test/offline/indexeddb_storage_unit.js +1 -1
  153. package/test/offline/manifest_convert_unit.js +34 -4
  154. package/test/offline/offline_manifest_parser_unit.js +1 -0
  155. package/test/offline/storage_compatibility_unit.js +1 -1
  156. package/test/offline/storage_integration.js +5 -4
  157. package/test/player_external.js +7 -7
  158. package/test/player_integration.js +22 -10
  159. package/test/player_src_equals_integration.js +81 -83
  160. package/test/player_unit.js +124 -1
  161. package/test/test/boot.js +9 -0
  162. package/test/test/externs/filters.js +4 -0
  163. package/test/test/util/fake_media_source_engine.js +11 -4
  164. package/test/test/util/manifest_generator.js +3 -1
  165. package/test/test/util/manifest_parser_util.js +4 -1
  166. package/test/test/util/offline_utils.js +1 -0
  167. package/test/test/util/simple_fakes.js +31 -2
  168. package/test/test/util/streaming_engine_util.js +1 -0
  169. package/test/test/util/test_scheme.js +24 -1
  170. package/test/test/util/util.js +4 -4
  171. package/test/text/cue_integration.js +2 -2
  172. package/test/text/lrc_text_parser_unit.js +6 -7
  173. package/test/text/mp4_ttml_parser_unit.js +6 -4
  174. package/test/text/mp4_vtt_parser_unit.js +6 -5
  175. package/test/text/sbv_text_parser_unit.js +5 -6
  176. package/test/text/srt_text_parser_unit.js +5 -6
  177. package/test/text/ssa_text_parser_unit.js +17 -29
  178. package/test/text/text_engine_unit.js +45 -5
  179. package/test/text/ttml_text_parser_unit.js +77 -77
  180. package/test/text/vtt_text_parser_unit.js +116 -59
  181. package/test/ui/ui_integration.js +0 -16
  182. package/test/ui/ui_unit.js +27 -0
  183. package/test/util/cmcd_manager_unit.js +3 -0
  184. package/test/util/mime_utils_unit.js +54 -0
  185. package/test/util/periods_unit.js +79 -0
  186. package/test/util/stream_utils_unit.js +23 -7
  187. package/ui/controls.js +65 -40
  188. package/ui/fullscreen_button.js +26 -6
  189. package/ui/less/containers.less +3 -3
  190. package/ui/locales/en.json +1 -0
  191. package/ui/locales/source.json +5 -0
  192. package/ui/resolution_selection.js +31 -33
  193. package/ui/ui.js +0 -17
  194. package/docs/tutorials/gsoc-ideas-list.md +0 -3
  195. package/docs/tutorials/upgrade-v2-5.md +0 -441
  196. package/docs/tutorials/upgrade-v3.md +0 -38
  197. package/lib/polyfill/mathround.js +0 -49
  198. package/lib/polyfill/patchedmediakeys_apple.js +0 -744
  199. package/lib/polyfill/patchedmediakeys_ms.js +0 -698
  200. package/lib/util/mutex.js +0 -52
  201. package/test/util/functional_unit.js +0 -82
@@ -18,13 +18,6 @@ declare namespace shaka {
18
18
  * This returns the created track.
19
19
  */
20
20
  addChaptersTrack (uri : string , language : string , mimeType ? : string ) : Promise < shaka.extern.Track > ;
21
- /**
22
- * Adds the given text track to the loaded manifest. <code>load()</code> must
23
- * resolve before calling. The presentation must have a duration.
24
- * This returns the created track, which can immediately be selected by the
25
- * application. The track will not be automatically selected.
26
- */
27
- addTextTrack (uri : string , language : string , kind : string , mimeType ? : string , codec ? : string , label ? : string , forced ? : boolean ) : shaka.extern.Track ;
28
21
  /**
29
22
  * Adds the given text track to the loaded manifest. <code>load()</code> must
30
23
  * resolve before calling. The presentation must have a duration.
@@ -626,7 +619,7 @@ declare namespace shaka.ads {
626
619
  declare namespace shaka.ads {
627
620
  class ClientSideAd implements shaka.extern.IAd {
628
621
  private noStructuralTyping_shaka_ads_ClientSideAd : any;
629
- constructor (imaAd : google.ima.Ad , imaAdManager : google.ima.AdsManager ) ;
622
+ constructor (imaAd : google.ima.Ad , imaAdManager : google.ima.AdsManager , video : HTMLMediaElement | null ) ;
630
623
  canSkipNow ( ) : any ;
631
624
  getDuration ( ) : any ;
632
625
  getMinSuggestedDuration ( ) : any ;
@@ -881,7 +874,7 @@ declare namespace shaka.media {
881
874
  find (time : number ) : number | null ;
882
875
  fit (windowStart : number , windowEnd : number | null , c ? : boolean ) : any ;
883
876
  get (position : number ) : shaka.media.SegmentReference | null ;
884
- merge (references : shaka.media.SegmentReference [] ) : any ;
877
+ merge (references : any ) : any ;
885
878
  mergeAndEvict (references : shaka.media.SegmentReference [] , windowStart : number ) : any ;
886
879
  offset (offset : number ) : any ;
887
880
  release ( ) : any ;
@@ -1016,11 +1009,6 @@ declare namespace shaka.media {
1016
1009
  constructor (references : shaka.media.SegmentReference [] ) ;
1017
1010
  //!! Symbol.iterator inserted by Clutz for Iterable subtype
1018
1011
  [Symbol.iterator](): Iterator < shaka.media.SegmentReference > ;
1019
- /**
1020
- * SegmentIndex used to be an IDestroyable. Now it is an IReleasable.
1021
- * This method is provided for backward compatibility.
1022
- */
1023
- destroy ( ) : Promise < any > ;
1024
1012
  /**
1025
1013
  * Removes all SegmentReferences that end before the given time.
1026
1014
  * @param time The time in seconds.
@@ -1061,16 +1049,6 @@ declare namespace shaka.media {
1061
1049
  * This is mainly for testing.
1062
1050
  */
1063
1051
  markImmutable ( ) : any ;
1064
- /**
1065
- * Merges the given SegmentReferences. Supports extending the original
1066
- * references only. Will replace old references with equivalent new ones, and
1067
- * keep any unique old ones.
1068
- * Used, for example, by the DASH and HLS parser, where manifests may not list
1069
- * all available references, so we must keep available references in memory to
1070
- * fill the availability window.
1071
- * @param references The list of SegmentReferences, which must be sorted first by their start times (ascending) and second by their end times (ascending).
1072
- */
1073
- merge (references : shaka.media.SegmentReference [] ) : any ;
1074
1052
  /**
1075
1053
  * Merges the given SegmentReferences and evicts the ones that end before the
1076
1054
  * given time. Supports extending the original references only.
@@ -1114,10 +1092,6 @@ declare namespace shaka.media {
1114
1092
  constructor (segmentIndex : shaka.media.SegmentIndex | null , index : number , partialSegmentIndex : number ) ;
1115
1093
  current ( ) : shaka.media.SegmentReference | null ;
1116
1094
  next ( ) : any ;
1117
- /**
1118
- * Move the iterator to a given timestamp in the underlying SegmentIndex.
1119
- */
1120
- seek (time : number ) : shaka.media.SegmentReference | null ;
1121
1095
  }
1122
1096
  }
1123
1097
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -1128,7 +1102,7 @@ declare namespace shaka.media {
1128
1102
  */
1129
1103
  class SegmentReference {
1130
1104
  private noStructuralTyping_shaka_media_SegmentReference : any;
1131
- 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 ) ;
1105
+ 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 ) ;
1132
1106
  /**
1133
1107
  * Returns the offset from the start of the resource to the end of the
1134
1108
  * segment, inclusive. A value of null indicates that the segment extends to
@@ -1148,6 +1122,10 @@ declare namespace shaka.media {
1148
1122
  * Returns the segment's start time in seconds.
1149
1123
  */
1150
1124
  getStartTime ( ) : number ;
1125
+ /**
1126
+ * Returns the segment's status.
1127
+ */
1128
+ getStatus ( ) : shaka.media.SegmentReference.Status ;
1151
1129
  /**
1152
1130
  * Returns the segment's explicit tile duration.
1153
1131
  * Only defined in image segments.
@@ -1161,6 +1139,26 @@ declare namespace shaka.media {
1161
1139
  * Creates and returns the URIs of the resource containing the segment.
1162
1140
  */
1163
1141
  getUris ( ) : string [] ;
1142
+ /**
1143
+ * Mark the reference as unavailable.
1144
+ */
1145
+ markAsUnavailable ( ) : any ;
1146
+ }
1147
+ }
1148
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1149
+ declare namespace shaka.media.SegmentReference {
1150
+ /**
1151
+ * Rather than using booleans to communicate what the state of the reference,
1152
+ * we have this enum.
1153
+ */
1154
+ /**
1155
+ * Rather than using booleans to communicate what the state of the reference,
1156
+ * we have this enum.
1157
+ */
1158
+ enum Status {
1159
+ AVAILABLE = 0.0 ,
1160
+ MISSING = 2.0 ,
1161
+ UNAVAILABLE = 1.0 ,
1164
1162
  }
1165
1163
  }
1166
1164
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -1365,10 +1363,6 @@ declare namespace shaka.offline {
1365
1363
  * |getNetworkingEngine|.
1366
1364
  */
1367
1365
  getNetworkingEngine ( ) : shaka.net.NetworkingEngine | null ;
1368
- /**
1369
- * Returns true if an asset is currently downloading.
1370
- */
1371
- getStoreInProgress ( ) : boolean ;
1372
1366
  /**
1373
1367
  * Lists all the stored content available.
1374
1368
  */
@@ -1491,16 +1485,6 @@ declare namespace shaka.polyfill {
1491
1485
  }
1492
1486
  }
1493
1487
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1494
- declare namespace shaka.polyfill {
1495
- class MathRound {
1496
- private noStructuralTyping_shaka_polyfill_MathRound : any;
1497
- /**
1498
- * Install the polyfill if needed.
1499
- */
1500
- static install ( ) : any ;
1501
- }
1502
- }
1503
- // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1504
1488
  declare namespace shaka.polyfill {
1505
1489
  class MediaCapabilities {
1506
1490
  private noStructuralTyping_shaka_polyfill_MediaCapabilities : any;
@@ -1537,26 +1521,6 @@ declare namespace shaka.polyfill {
1537
1521
  }
1538
1522
  }
1539
1523
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1540
- declare namespace shaka.polyfill {
1541
- class PatchedMediaKeysApple {
1542
- private noStructuralTyping_shaka_polyfill_PatchedMediaKeysApple : any;
1543
- /**
1544
- * Installs the polyfill if needed.
1545
- */
1546
- static install ( ) : any ;
1547
- }
1548
- }
1549
- // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1550
- declare namespace shaka.polyfill {
1551
- class PatchedMediaKeysMs {
1552
- private noStructuralTyping_shaka_polyfill_PatchedMediaKeysMs : any;
1553
- /**
1554
- * Installs the polyfill if needed.
1555
- */
1556
- static install ( ) : any ;
1557
- }
1558
- }
1559
- // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
1560
1524
  declare namespace shaka.polyfill {
1561
1525
  class PatchedMediaKeysNop {
1562
1526
  private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
@@ -1685,7 +1649,6 @@ declare namespace shaka.text {
1685
1649
  positionAlign : any ;
1686
1650
  region : any ;
1687
1651
  size : any ;
1688
- spacer : any ;
1689
1652
  startTime : any ;
1690
1653
  textAlign : any ;
1691
1654
  textDecoration : any ;
@@ -1876,6 +1839,7 @@ declare namespace shaka.text {
1876
1839
  private noStructuralTyping_shaka_text_LrcTextParser : any;
1877
1840
  parseInit (data : any ) : any ;
1878
1841
  parseMedia (data : any , time : any ) : any ;
1842
+ setSequenceMode (sequenceMode : any ) : any ;
1879
1843
  }
1880
1844
  }
1881
1845
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -1884,6 +1848,7 @@ declare namespace shaka.text {
1884
1848
  private noStructuralTyping_shaka_text_Mp4TtmlParser : any;
1885
1849
  parseInit (data : any ) : any ;
1886
1850
  parseMedia (data : any , time : any ) : any ;
1851
+ setSequenceMode (sequenceMode : any ) : any ;
1887
1852
  }
1888
1853
  }
1889
1854
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -1892,6 +1857,7 @@ declare namespace shaka.text {
1892
1857
  private noStructuralTyping_shaka_text_Mp4VttParser : any;
1893
1858
  parseInit (data : any ) : any ;
1894
1859
  parseMedia (data : any , time : any ) : any ;
1860
+ setSequenceMode (sequenceMode : any ) : any ;
1895
1861
  }
1896
1862
  }
1897
1863
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -1900,6 +1866,7 @@ declare namespace shaka.text {
1900
1866
  private noStructuralTyping_shaka_text_SbvTextParser : any;
1901
1867
  parseInit (data : any ) : any ;
1902
1868
  parseMedia (data : any , time : any ) : any ;
1869
+ setSequenceMode (sequenceMode : any ) : any ;
1903
1870
  }
1904
1871
  }
1905
1872
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -1926,6 +1893,7 @@ declare namespace shaka.text {
1926
1893
  private noStructuralTyping_shaka_text_SrtTextParser : any;
1927
1894
  parseInit (data : any ) : any ;
1928
1895
  parseMedia (data : any , time : any ) : any ;
1896
+ setSequenceMode (sequenceMode : any ) : any ;
1929
1897
  /**
1930
1898
  * Convert a SRT format to WebVTT
1931
1899
  */
@@ -1942,6 +1910,7 @@ declare namespace shaka.text {
1942
1910
  private noStructuralTyping_shaka_text_SsaTextParser : any;
1943
1911
  parseInit (data : any ) : any ;
1944
1912
  parseMedia (data : any , time : any ) : any ;
1913
+ setSequenceMode (sequenceMode : any ) : any ;
1945
1914
  }
1946
1915
  }
1947
1916
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -1961,6 +1930,7 @@ declare namespace shaka.text {
1961
1930
  private noStructuralTyping_shaka_text_TtmlTextParser : any;
1962
1931
  parseInit (data : any ) : any ;
1963
1932
  parseMedia (data : any , time : any ) : any ;
1933
+ setSequenceMode (sequenceMode : any ) : any ;
1964
1934
  }
1965
1935
  }
1966
1936
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -1989,6 +1959,7 @@ declare namespace shaka.text {
1989
1959
  private noStructuralTyping_shaka_text_VttTextParser : any;
1990
1960
  parseInit (data : any ) : any ;
1991
1961
  parseMedia (data : any , time : any ) : any ;
1962
+ setSequenceMode (sequenceMode : any ) : any ;
1992
1963
  }
1993
1964
  }
1994
1965
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -2081,6 +2052,8 @@ declare namespace shaka.ui {
2081
2052
  hideAdUI ( ) : any ;
2082
2053
  hideSettingsMenus ( ) : any ;
2083
2054
  isCastAllowed ( ) : boolean ;
2055
+ isFullScreenEnabled ( ) : boolean ;
2056
+ isFullScreenSupported ( ) : boolean ;
2084
2057
  isOpaque ( ) : boolean ;
2085
2058
  isSeeking ( ) : boolean ;
2086
2059
  /**
@@ -2674,6 +2647,7 @@ declare namespace shaka.util.Error {
2674
2647
  CAST_CANCELED_BY_USER = 8004.0 ,
2675
2648
  CAST_CONNECTION_TIMED_OUT = 8005.0 ,
2676
2649
  CAST_RECEIVER_APP_UNAVAILABLE = 8006.0 ,
2650
+ CHAPTERS_TRACK_FAILED = 2015.0 ,
2677
2651
  CONTENT_NOT_LOADED = 7004.0 ,
2678
2652
  CONTENT_TRANSFORMATION_FAILED = 3019.0 ,
2679
2653
  CONTENT_UNSUPPORTED_BY_BROWSER = 4032.0 ,
@@ -2705,11 +2679,10 @@ declare namespace shaka.util.Error {
2705
2679
  FAILED_TO_GENERATE_LICENSE_REQUEST = 6006.0 ,
2706
2680
  HLS_AES_128_ENCRYPTION_NOT_SUPPORTED = 4034.0 ,
2707
2681
  HLS_COULD_NOT_GUESS_CODECS = 4025.0 ,
2708
- HLS_COULD_NOT_PARSE_SEGMENT_START_TIME = 4030.0 ,
2709
2682
  HLS_INTERNAL_SKIP_STREAM = 4035.0 ,
2710
2683
  HLS_INVALID_PLAYLIST_HIERARCHY = 4017.0 ,
2711
2684
  HLS_KEYFORMATS_NOT_SUPPORTED = 4026.0 ,
2712
- HLS_MASTER_PLAYLIST_NOT_PROVIDED = 4022.0 ,
2685
+ HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED = 4040.0 ,
2713
2686
  HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND = 4020.0 ,
2714
2687
  HLS_PLAYLIST_HEADER_MISSING = 4015.0 ,
2715
2688
  HLS_REQUIRED_ATTRIBUTE_MISSING = 4023.0 ,
@@ -2841,6 +2814,10 @@ declare namespace shaka.util.EventManager {
2841
2814
  declare namespace shaka.util {
2842
2815
  class FairPlayUtils {
2843
2816
  private noStructuralTyping_shaka_util_FairPlayUtils : any;
2817
+ /**
2818
+ * Common FairPlay response transform for some DRMs providers.
2819
+ */
2820
+ static commonFairPlayResponse (type : shaka.net.NetworkingEngine.RequestType , response : shaka.extern.Response ) : any ;
2844
2821
  /**
2845
2822
  * Using the default method, extract a content ID from the init data. This is
2846
2823
  * based on the FairPlay example documentation.
@@ -2859,6 +2836,14 @@ declare namespace shaka.util {
2859
2836
  * @param cert The server certificate; this will throw if not provided.
2860
2837
  */
2861
2838
  static initDataTransform (initData : ArrayBuffer | ArrayBufferView , contentId : ArrayBuffer | ArrayBufferView | string , cert : ArrayBuffer | ArrayBufferView | null ) : Uint8Array ;
2839
+ /**
2840
+ * Check if FairPlay is supported.
2841
+ */
2842
+ static isFairPlaySupported ( ) : Promise < boolean > ;
2843
+ /**
2844
+ * SPC FairPlay request.
2845
+ */
2846
+ static spcFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
2862
2847
  }
2863
2848
  }
2864
2849
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -3050,6 +3035,17 @@ declare namespace shaka.util {
3050
3035
  }
3051
3036
  }
3052
3037
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3038
+ declare namespace shaka.util {
3039
+ class MimeUtils {
3040
+ private noStructuralTyping_shaka_util_MimeUtils : any;
3041
+ /**
3042
+ * Takes a MIME type and optional codecs string and produces the full MIME
3043
+ * type.
3044
+ */
3045
+ static getFullType (mimeType : string , codecs ? : string ) : string ;
3046
+ }
3047
+ }
3048
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3053
3049
  declare namespace shaka.util {
3054
3050
  class Mp4Parser {
3055
3051
  private noStructuralTyping_shaka_util_Mp4Parser : any;
@@ -3117,6 +3113,7 @@ declare namespace shaka.util.Mp4Parser {
3117
3113
  declare namespace shaka.util {
3118
3114
  class PlayerConfiguration {
3119
3115
  private noStructuralTyping_shaka_util_PlayerConfiguration : any;
3116
+ static createDefault ( ) : shaka.extern.PlayerConfiguration ;
3120
3117
  /**
3121
3118
  * Merges the given configuration changes into the given destination. This
3122
3119
  * uses the default Player configurations as the template.
@@ -3195,10 +3192,6 @@ declare namespace shaka.util {
3195
3192
  * Concatenate buffers.
3196
3193
  */
3197
3194
  static concat ( ...varArgs : ( ArrayBuffer | ArrayBufferView ) [] ) : Uint8Array ;
3198
- /**
3199
- * Compare two Uint8Arrays for equality.
3200
- */
3201
- static equal (arr1 : Uint8Array | null , arr2 : Uint8Array | null ) : boolean ;
3202
3195
  /**
3203
3196
  * Convert a base64 string to a Uint8Array. Accepts either the standard
3204
3197
  * alphabet or the alternate "base64url" alphabet.
@@ -3650,6 +3643,10 @@ declare namespace muxjs.mp4 {
3650
3643
  declare namespace muxjs.mp4.Transmuxer {
3651
3644
  type Segment = { captions : any [] , data : Uint8Array , initSegment : Uint8Array , metadata : any [] } ;
3652
3645
  }
3646
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/polyfill.js
3647
+ declare namespace window {
3648
+ let shakaMediaKeysPolyfill : boolean ;
3649
+ }
3653
3650
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/prefixed_eme.js
3654
3651
  declare namespace ಠ_ಠ.clutz {
3655
3652
  class MediaKeyError {
@@ -3895,7 +3892,7 @@ declare namespace shaka.extern {
3895
3892
  }
3896
3893
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3897
3894
  declare namespace shaka.extern {
3898
- type Manifest = { imageStreams : shaka.extern.Stream [] , minBufferTime : number , offlineSessionIds : string [] , presentationTimeline : shaka.media.PresentationTimeline , textStreams : shaka.extern.Stream [] , variants : shaka.extern.Variant [] } ;
3895
+ type Manifest = { imageStreams : shaka.extern.Stream [] , minBufferTime : number , offlineSessionIds : string [] , presentationTimeline : shaka.media.PresentationTimeline , sequenceMode : boolean , textStreams : shaka.extern.Stream [] , variants : shaka.extern.Variant [] } ;
3899
3896
  }
3900
3897
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3901
3898
  declare namespace shaka.extern {
@@ -3994,7 +3991,7 @@ declare namespace shaka.extern {
3994
3991
  }
3995
3992
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
3996
3993
  declare namespace shaka.extern {
3997
- type Request = { allowCrossSiteCredentials : boolean , body : ArrayBuffer | ArrayBufferView | null , headers : { [ key: string ]: string } , licenseRequestType : string | null , method : string , retryParameters : shaka.extern.RetryParameters , sessionId : string | null , streamDataCallback : ( (a : ArrayBuffer | ArrayBufferView ) => Promise < any > ) | null , uris : string [] } ;
3994
+ 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 [] } ;
3998
3995
  }
3999
3996
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4000
3997
  declare namespace shaka.extern {
@@ -4059,7 +4056,7 @@ declare namespace shaka.extern {
4059
4056
  }
4060
4057
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
4061
4058
  declare namespace shaka.extern {
4062
- type ManifestDB = { appMetadata : object | null , creationTime : number , drmInfo : shaka.extern.DrmInfo | null , duration : number , expiration : number , isIncomplete ? : boolean , originalManifestUri : string , sessionIds : string [] , size : number , streams : shaka.extern.StreamDB [] } ;
4059
+ type ManifestDB = { appMetadata : object | null , creationTime : number , drmInfo : shaka.extern.DrmInfo | null , duration : number , expiration : number , isIncomplete ? : boolean , originalManifestUri : string , sequenceMode ? : boolean , sessionIds : string [] , size : number , streams : shaka.extern.StreamDB [] } ;
4063
4060
  }
4064
4061
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
4065
4062
  declare namespace shaka.extern {
@@ -4287,7 +4284,7 @@ declare namespace shaka.extern {
4287
4284
  }
4288
4285
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4289
4286
  declare namespace shaka.extern {
4290
- type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreTextStreamFailures : boolean , useFullSegmentsForStartTime : boolean } ;
4287
+ type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreTextStreamFailures : boolean , mediaPlaylistFullMimeType : string } ;
4291
4288
  }
4292
4289
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4293
4290
  declare namespace shaka.extern {
@@ -4299,7 +4296,7 @@ declare namespace shaka.extern {
4299
4296
  }
4300
4297
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4301
4298
  declare namespace shaka.extern {
4302
- type ManifestConfiguration = { availabilityWindowOverride : number , dash : shaka.extern.DashManifestConfiguration , defaultPresentationDelay : number , disableAudio : boolean , disableText : boolean , disableThumbnails : boolean , disableVideo : boolean , hls : shaka.extern.HlsManifestConfiguration , retryParameters : shaka.extern.RetryParameters } ;
4299
+ type ManifestConfiguration = { availabilityWindowOverride : number , dash : shaka.extern.DashManifestConfiguration , defaultPresentationDelay : number , disableAudio : boolean , disableText : boolean , disableThumbnails : boolean , disableVideo : boolean , hls : shaka.extern.HlsManifestConfiguration , retryParameters : shaka.extern.RetryParameters , segmentRelativeVttTiming : boolean } ;
4303
4300
  }
4304
4301
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4305
4302
  declare namespace shaka.extern {
@@ -4307,7 +4304,7 @@ declare namespace shaka.extern {
4307
4304
  }
4308
4305
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4309
4306
  declare namespace shaka.extern {
4310
- type OfflineConfiguration = { downloadSizeCallback : (a : number ) => Promise < boolean > , progressCallback : (a : shaka.extern.StoredContent , b : number ) => any , trackSelectionCallback : (a : shaka.extern.TrackList ) => Promise < shaka.extern.TrackList > , usePersistentLicense : boolean } ;
4307
+ type OfflineConfiguration = { downloadSizeCallback : (a : number ) => Promise < boolean > , numberOfParallelDownloads : number , progressCallback : (a : shaka.extern.StoredContent , b : number ) => any , trackSelectionCallback : (a : shaka.extern.TrackList ) => Promise < shaka.extern.TrackList > , usePersistentLicense : boolean } ;
4311
4308
  }
4312
4309
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4313
4310
  declare namespace shaka.extern {
@@ -4327,7 +4324,7 @@ declare namespace shaka.extern {
4327
4324
  }
4328
4325
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4329
4326
  declare namespace shaka.extern {
4330
- type StreamingConfiguration = { alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , dispatchAllEmsgBoxes : boolean , durationBackoff : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTPS : boolean , forceTransmuxTS : boolean , gapDetectionThreshold : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , jumpLargeGaps : boolean , lowLatencyMode : boolean , observeQualityChanges : boolean , preferNativeHls : boolean , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , smallGapLimit : number , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsOnSafari : boolean } ;
4327
+ type StreamingConfiguration = { alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , dispatchAllEmsgBoxes : boolean , durationBackoff : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTPS : boolean , forceTransmuxTS : boolean , gapDetectionThreshold : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , lowLatencyMode : boolean , observeQualityChanges : boolean , preferNativeHls : boolean , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsOnSafari : boolean } ;
4331
4328
  }
4332
4329
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4333
4330
  declare namespace shaka.extern {
@@ -4343,7 +4340,7 @@ declare namespace shaka.extern {
4343
4340
  }
4344
4341
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4345
4342
  declare namespace shaka.extern {
4346
- type Track = { active : boolean , audioBandwidth : number | null , audioCodec : string | null , audioId : number | null , audioRoles : string [] | null , audioSamplingRate : number | null , bandwidth : number , channelsCount : number | null , codecs : string | null , forced : boolean , frameRate : number | null , hdr : string | null , height : number | null , id : number , kind : string | null , label : string | null , language : string , mimeType : string | null , originalAudioId : string | null , originalImageId : string | null , originalTextId : string | null , originalVideoId : string | null , pixelAspectRatio : string | null , primary : boolean , roles : string [] , spatialAudio : boolean , tilesLayout : string | null , type : string , videoBandwidth : number | null , videoCodec : string | null , videoId : number | null , width : number | null } ;
4343
+ type Track = { active : boolean , audioBandwidth : number | null , audioCodec : string | null , audioId : number | null , audioMimeType : string | null , audioRoles : string [] | null , audioSamplingRate : number | null , bandwidth : number , channelsCount : number | null , codecs : string | null , forced : boolean , frameRate : number | null , hdr : string | null , height : number | null , id : number , kind : string | null , label : string | null , language : string , mimeType : string | null , originalAudioId : string | null , originalImageId : string | null , originalTextId : string | null , originalVideoId : string | null , pixelAspectRatio : string | null , primary : boolean , roles : string [] , spatialAudio : boolean , tilesLayout : string | null , type : string , videoBandwidth : number | null , videoCodec : string | null , videoId : number | null , videoMimeType : string | null , width : number | null } ;
4347
4344
  }
4348
4345
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4349
4346
  declare namespace shaka.extern {
@@ -4492,7 +4489,6 @@ declare namespace shaka.extern {
4492
4489
  * Size of the cue box (in percents), where 0 means "auto".
4493
4490
  */
4494
4491
  size : number ;
4495
- spacer : boolean ;
4496
4492
  /**
4497
4493
  * The start time of the cue in seconds, relative to the start of the
4498
4494
  * presentation.
@@ -4633,6 +4629,10 @@ declare namespace shaka.extern {
4633
4629
  * @param timeContext The time information that should be used to adjust the times values for each cue.
4634
4630
  */
4635
4631
  parseMedia (data : Uint8Array , timeContext : shaka.extern.TextParser.TimeContext ) : shaka.extern.Cue [] ;
4632
+ /**
4633
+ * Notifies the stream if the manifest is in sequence mode or not.
4634
+ */
4635
+ setSequenceMode (sequenceMode : boolean ) : any ;
4636
4636
  }
4637
4637
  }
4638
4638
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
@@ -4640,7 +4640,7 @@ declare namespace shaka.extern.TextParser {
4640
4640
  /**
4641
4641
  * A collection of time offsets used to adjust text cue times.
4642
4642
  */
4643
- type TimeContext = { periodStart : number , segmentEnd : number , segmentStart : number } ;
4643
+ type TimeContext = { periodStart : number , segmentEnd : number , segmentStart : number , vttOffset : number } ;
4644
4644
  }
4645
4645
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
4646
4646
  declare namespace shaka.extern {
@@ -4807,5 +4807,3 @@ declare namespace shaka.extern {
4807
4807
  declare namespace shaka.extern {
4808
4808
  type UIVolumeBarColors = { base : string , level : string } ;
4809
4809
  }
4810
-
4811
- export default shaka;