shaka-player 3.3.4 → 4.0.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 (184) hide show
  1. package/.github/workflows/build-and-test.yaml +0 -1
  2. package/.github/workflows/demo-version-index.yaml +8 -0
  3. package/.github/workflows/release-please.yaml +23 -2
  4. package/.github/workflows/selenium-lab-tests.yaml +0 -1
  5. package/.github/workflows/sync-labels.yaml +33 -0
  6. package/.github/workflows/update-issues.yaml +29 -0
  7. package/.github/workflows/validate-pr-title.yaml +35 -0
  8. package/AUTHORS +1 -0
  9. package/CHANGELOG.md +198 -32
  10. package/CONTRIBUTORS +1 -0
  11. package/README.md +10 -7
  12. package/app-engine/demo-version-index/README.md +3 -3
  13. package/app-engine/demo-version-index/app.yaml +27 -1
  14. package/app-engine/demo-version-index/generate.py +164 -0
  15. package/app-engine/demo-version-index/main.py +4 -155
  16. package/app-engine/demo-version-index/requirements.txt +0 -1
  17. package/build/README.md +2 -2
  18. package/build/compiler.py +1 -1
  19. package/build/generateTsDefs.py +0 -2
  20. package/build/shaka-lab.yaml +0 -2
  21. package/build/test.py +7 -1
  22. package/build/types/core +0 -1
  23. package/build/types/polyfill +0 -3
  24. package/demo/common/asset.js +17 -1
  25. package/demo/common/assets.js +29 -0
  26. package/demo/common/message_ids.js +6 -3
  27. package/demo/config.js +10 -11
  28. package/demo/custom.js +39 -0
  29. package/demo/demo_utils.js +0 -1
  30. package/demo/locales/en.json +6 -3
  31. package/demo/locales/source.json +22 -10
  32. package/demo/main.js +9 -6
  33. package/demo/search.js +2 -1
  34. package/dist/controls.css +1 -1
  35. package/dist/demo.compiled.debug.js +71 -64
  36. package/dist/demo.compiled.debug.map +3 -3
  37. package/dist/demo.compiled.js +71 -64
  38. package/dist/demo.compiled.map +3 -3
  39. package/dist/demo.css +1 -1
  40. package/dist/demo.css.map +1 -1
  41. package/dist/deps.js +16 -20
  42. package/dist/locales.js +31 -29
  43. package/dist/receiver.compiled.debug.js +32 -28
  44. package/dist/receiver.compiled.debug.map +3 -3
  45. package/dist/receiver.compiled.js +32 -28
  46. package/dist/receiver.compiled.map +3 -3
  47. package/dist/shaka-player.compiled.d.ts +78 -83
  48. package/dist/shaka-player.compiled.debug.d.ts +78 -83
  49. package/dist/shaka-player.compiled.debug.externs.js +126 -126
  50. package/dist/shaka-player.compiled.debug.js +426 -483
  51. package/dist/shaka-player.compiled.debug.map +4 -4
  52. package/dist/shaka-player.compiled.externs.js +126 -126
  53. package/dist/shaka-player.compiled.js +838 -856
  54. package/dist/shaka-player.compiled.map +4 -4
  55. package/dist/shaka-player.ui.d.ts +80 -83
  56. package/dist/shaka-player.ui.debug.d.ts +80 -83
  57. package/dist/shaka-player.ui.debug.externs.js +134 -126
  58. package/dist/shaka-player.ui.debug.js +488 -543
  59. package/dist/shaka-player.ui.debug.map +4 -4
  60. package/dist/shaka-player.ui.externs.js +134 -126
  61. package/dist/shaka-player.ui.js +980 -994
  62. package/dist/shaka-player.ui.map +4 -4
  63. package/docs/tutorials/config.md +0 -2
  64. package/docs/tutorials/drm-config.md +5 -0
  65. package/docs/tutorials/fairplay.md +7 -22
  66. package/docs/tutorials/faq.md +0 -11
  67. package/docs/tutorials/index.json +2 -8
  68. package/docs/tutorials/plugins.md +1 -3
  69. package/docs/tutorials/upgrade.md +83 -11
  70. package/externs/polyfill.js +15 -0
  71. package/externs/shaka/manifest.js +5 -1
  72. package/externs/shaka/net.js +12 -0
  73. package/externs/shaka/offline.js +5 -1
  74. package/externs/shaka/player.js +39 -32
  75. package/externs/shaka/text.js +12 -12
  76. package/externs/sourcebuffer.js +15 -0
  77. package/lib/ads/client_side_ad.js +13 -2
  78. package/lib/ads/client_side_ad_manager.js +22 -4
  79. package/lib/cast/cast_utils.js +0 -1
  80. package/lib/dash/content_protection.js +85 -5
  81. package/lib/dash/dash_parser.js +1 -1
  82. package/lib/hls/hls_parser.js +378 -743
  83. package/lib/hls/manifest_text_parser.js +2 -3
  84. package/lib/media/drm_engine.js +102 -53
  85. package/lib/media/gap_jumping_controller.js +10 -45
  86. package/lib/media/media_source_engine.js +87 -15
  87. package/lib/media/playhead.js +2 -5
  88. package/lib/media/presentation_timeline.js +1 -2
  89. package/lib/media/segment_index.js +13 -46
  90. package/lib/media/segment_reference.js +47 -1
  91. package/lib/media/streaming_engine.js +29 -11
  92. package/lib/media/time_ranges_utils.js +4 -9
  93. package/lib/net/networking_engine.js +3 -0
  94. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  95. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  96. package/lib/offline/manifest_converter.js +1 -0
  97. package/lib/offline/storage.js +100 -132
  98. package/lib/player.js +17 -201
  99. package/lib/polyfill/media_capabilities.js +12 -6
  100. package/lib/polyfill/mediasource.js +0 -28
  101. package/lib/polyfill/patchedmediakeys_nop.js +2 -0
  102. package/lib/polyfill/patchedmediakeys_webkit.js +2 -0
  103. package/lib/text/cue.js +0 -6
  104. package/lib/text/lrc_text_parser.js +8 -0
  105. package/lib/text/mp4_ttml_parser.js +8 -0
  106. package/lib/text/mp4_vtt_parser.js +8 -0
  107. package/lib/text/sbv_text_parser.js +8 -0
  108. package/lib/text/simple_text_displayer.js +1 -7
  109. package/lib/text/srt_text_parser.js +8 -0
  110. package/lib/text/ssa_text_parser.js +8 -0
  111. package/lib/text/text_engine.js +19 -3
  112. package/lib/text/ttml_text_parser.js +8 -0
  113. package/lib/text/ui_text_displayer.js +1 -7
  114. package/lib/text/vtt_text_parser.js +24 -2
  115. package/lib/text/web_vtt_generator.js +1 -7
  116. package/lib/util/error.js +9 -13
  117. package/lib/util/fairplay_utils.js +109 -0
  118. package/lib/util/functional.js +0 -42
  119. package/lib/util/mime_utils.js +2 -0
  120. package/lib/util/platform.js +45 -0
  121. package/lib/util/player_configuration.js +12 -6
  122. package/lib/util/pssh.js +23 -4
  123. package/lib/util/stream_utils.js +92 -22
  124. package/lib/util/uint8array_utils.js +0 -16
  125. package/lib/util/xml_utils.js +1 -1
  126. package/package.json +1 -1
  127. package/roadmap.md +19 -19
  128. package/shaka-player.uncompiled.js +0 -3
  129. package/test/cast/cast_utils_unit.js +1 -0
  130. package/test/dash/dash_parser_content_protection_unit.js +44 -0
  131. package/test/dash/dash_parser_manifest_unit.js +0 -24
  132. package/test/dash/dash_parser_segment_template_unit.js +3 -4
  133. package/test/demo/demo_unit.js +2 -1
  134. package/test/hls/hls_live_unit.js +99 -220
  135. package/test/hls/hls_parser_unit.js +515 -432
  136. package/test/media/drm_engine_unit.js +86 -120
  137. package/test/media/media_source_engine_integration.js +26 -3
  138. package/test/media/media_source_engine_unit.js +7 -6
  139. package/test/media/playhead_unit.js +27 -191
  140. package/test/media/segment_index_unit.js +15 -25
  141. package/test/media/streaming_engine_integration.js +4 -39
  142. package/test/media/streaming_engine_unit.js +3 -2
  143. package/test/media/time_ranges_utils_unit.js +0 -5
  144. package/test/offline/manifest_convert_unit.js +34 -4
  145. package/test/offline/offline_manifest_parser_unit.js +1 -0
  146. package/test/offline/storage_integration.js +5 -4
  147. package/test/player_external.js +0 -6
  148. package/test/player_integration.js +16 -0
  149. package/test/player_unit.js +26 -0
  150. package/test/test/util/fake_media_source_engine.js +11 -4
  151. package/test/test/util/manifest_generator.js +3 -1
  152. package/test/test/util/manifest_parser_util.js +4 -1
  153. package/test/test/util/offline_utils.js +1 -0
  154. package/test/test/util/streaming_engine_util.js +1 -0
  155. package/test/test/util/test_scheme.js +24 -1
  156. package/test/test/util/util.js +4 -4
  157. package/test/text/cue_integration.js +2 -2
  158. package/test/text/lrc_text_parser_unit.js +6 -7
  159. package/test/text/mp4_ttml_parser_unit.js +6 -4
  160. package/test/text/mp4_vtt_parser_unit.js +6 -5
  161. package/test/text/sbv_text_parser_unit.js +5 -6
  162. package/test/text/srt_text_parser_unit.js +5 -6
  163. package/test/text/ssa_text_parser_unit.js +17 -29
  164. package/test/text/text_engine_unit.js +45 -5
  165. package/test/text/ttml_text_parser_unit.js +77 -77
  166. package/test/text/vtt_text_parser_unit.js +55 -57
  167. package/test/ui/ui_integration.js +0 -16
  168. package/test/ui/ui_unit.js +27 -0
  169. package/test/util/cmcd_manager_unit.js +3 -0
  170. package/test/util/stream_utils_unit.js +23 -7
  171. package/ui/controls.js +65 -40
  172. package/ui/fullscreen_button.js +26 -6
  173. package/ui/less/containers.less +3 -3
  174. package/ui/locales/en.json +1 -0
  175. package/ui/locales/source.json +5 -0
  176. package/ui/resolution_selection.js +31 -33
  177. package/ui/ui.js +0 -17
  178. package/docs/tutorials/upgrade-v2-5.md +0 -441
  179. package/docs/tutorials/upgrade-v3.md +0 -38
  180. package/lib/polyfill/mathround.js +0 -49
  181. package/lib/polyfill/patchedmediakeys_apple.js +0 -744
  182. package/lib/polyfill/patchedmediakeys_ms.js +0 -698
  183. package/lib/util/mutex.js +0 -52
  184. 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
  /**
@@ -2705,11 +2678,10 @@ declare namespace shaka.util.Error {
2705
2678
  FAILED_TO_GENERATE_LICENSE_REQUEST = 6006.0 ,
2706
2679
  HLS_AES_128_ENCRYPTION_NOT_SUPPORTED = 4034.0 ,
2707
2680
  HLS_COULD_NOT_GUESS_CODECS = 4025.0 ,
2708
- HLS_COULD_NOT_PARSE_SEGMENT_START_TIME = 4030.0 ,
2709
2681
  HLS_INTERNAL_SKIP_STREAM = 4035.0 ,
2710
2682
  HLS_INVALID_PLAYLIST_HIERARCHY = 4017.0 ,
2711
2683
  HLS_KEYFORMATS_NOT_SUPPORTED = 4026.0 ,
2712
- HLS_MASTER_PLAYLIST_NOT_PROVIDED = 4022.0 ,
2684
+ HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED = 4040.0 ,
2713
2685
  HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND = 4020.0 ,
2714
2686
  HLS_PLAYLIST_HEADER_MISSING = 4015.0 ,
2715
2687
  HLS_REQUIRED_ATTRIBUTE_MISSING = 4023.0 ,
@@ -2841,6 +2813,10 @@ declare namespace shaka.util.EventManager {
2841
2813
  declare namespace shaka.util {
2842
2814
  class FairPlayUtils {
2843
2815
  private noStructuralTyping_shaka_util_FairPlayUtils : any;
2816
+ /**
2817
+ * Common FairPlay response transform for some DRMs providers.
2818
+ */
2819
+ static commonFairPlayResponse (type : shaka.net.NetworkingEngine.RequestType , response : shaka.extern.Response ) : any ;
2844
2820
  /**
2845
2821
  * Using the default method, extract a content ID from the init data. This is
2846
2822
  * based on the FairPlay example documentation.
@@ -2859,6 +2835,14 @@ declare namespace shaka.util {
2859
2835
  * @param cert The server certificate; this will throw if not provided.
2860
2836
  */
2861
2837
  static initDataTransform (initData : ArrayBuffer | ArrayBufferView , contentId : ArrayBuffer | ArrayBufferView | string , cert : ArrayBuffer | ArrayBufferView | null ) : Uint8Array ;
2838
+ /**
2839
+ * Check if FairPlay is supported.
2840
+ */
2841
+ static isFairPlaySupported ( ) : Promise < boolean > ;
2842
+ /**
2843
+ * SPC FairPlay request.
2844
+ */
2845
+ static spcFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
2862
2846
  }
2863
2847
  }
2864
2848
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
@@ -3050,6 +3034,17 @@ declare namespace shaka.util {
3050
3034
  }
3051
3035
  }
3052
3036
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3037
+ declare namespace shaka.util {
3038
+ class MimeUtils {
3039
+ private noStructuralTyping_shaka_util_MimeUtils : any;
3040
+ /**
3041
+ * Takes a MIME type and optional codecs string and produces the full MIME
3042
+ * type.
3043
+ */
3044
+ static getFullType (mimeType : string , codecs ? : string ) : string ;
3045
+ }
3046
+ }
3047
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
3053
3048
  declare namespace shaka.util {
3054
3049
  class Mp4Parser {
3055
3050
  private noStructuralTyping_shaka_util_Mp4Parser : any;
@@ -3117,6 +3112,7 @@ declare namespace shaka.util.Mp4Parser {
3117
3112
  declare namespace shaka.util {
3118
3113
  class PlayerConfiguration {
3119
3114
  private noStructuralTyping_shaka_util_PlayerConfiguration : any;
3115
+ static createDefault ( ) : shaka.extern.PlayerConfiguration ;
3120
3116
  /**
3121
3117
  * Merges the given configuration changes into the given destination. This
3122
3118
  * uses the default Player configurations as the template.
@@ -3195,10 +3191,6 @@ declare namespace shaka.util {
3195
3191
  * Concatenate buffers.
3196
3192
  */
3197
3193
  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
3194
  /**
3203
3195
  * Convert a base64 string to a Uint8Array. Accepts either the standard
3204
3196
  * alphabet or the alternate "base64url" alphabet.
@@ -3650,6 +3642,10 @@ declare namespace muxjs.mp4 {
3650
3642
  declare namespace muxjs.mp4.Transmuxer {
3651
3643
  type Segment = { captions : any [] , data : Uint8Array , initSegment : Uint8Array , metadata : any [] } ;
3652
3644
  }
3645
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/polyfill.js
3646
+ declare namespace window {
3647
+ let shakaMediaKeysPolyfill : boolean ;
3648
+ }
3653
3649
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/prefixed_eme.js
3654
3650
  declare namespace ಠ_ಠ.clutz {
3655
3651
  class MediaKeyError {
@@ -3895,7 +3891,7 @@ declare namespace shaka.extern {
3895
3891
  }
3896
3892
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3897
3893
  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 [] } ;
3894
+ 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
3895
  }
3900
3896
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3901
3897
  declare namespace shaka.extern {
@@ -3994,7 +3990,7 @@ declare namespace shaka.extern {
3994
3990
  }
3995
3991
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
3996
3992
  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 [] } ;
3993
+ 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
3994
  }
3999
3995
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4000
3996
  declare namespace shaka.extern {
@@ -4059,7 +4055,7 @@ declare namespace shaka.extern {
4059
4055
  }
4060
4056
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
4061
4057
  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 [] } ;
4058
+ 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
4059
  }
4064
4060
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
4065
4061
  declare namespace shaka.extern {
@@ -4275,7 +4271,7 @@ declare namespace shaka.extern {
4275
4271
  }
4276
4272
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4277
4273
  declare namespace shaka.extern {
4278
- type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array , logLicenseExchange : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
4274
+ type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , logLicenseExchange : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
4279
4275
  }
4280
4276
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4281
4277
  declare namespace shaka.extern {
@@ -4287,7 +4283,7 @@ declare namespace shaka.extern {
4287
4283
  }
4288
4284
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4289
4285
  declare namespace shaka.extern {
4290
- type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreTextStreamFailures : boolean , useFullSegmentsForStartTime : boolean } ;
4286
+ type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreTextStreamFailures : boolean , mediaPlaylistFullMimeType : string } ;
4291
4287
  }
4292
4288
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4293
4289
  declare namespace shaka.extern {
@@ -4299,7 +4295,7 @@ declare namespace shaka.extern {
4299
4295
  }
4300
4296
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4301
4297
  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 } ;
4298
+ 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
4299
  }
4304
4300
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4305
4301
  declare namespace shaka.extern {
@@ -4307,7 +4303,7 @@ declare namespace shaka.extern {
4307
4303
  }
4308
4304
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4309
4305
  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 } ;
4306
+ 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
4307
  }
4312
4308
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4313
4309
  declare namespace shaka.extern {
@@ -4327,7 +4323,7 @@ declare namespace shaka.extern {
4327
4323
  }
4328
4324
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4329
4325
  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 } ;
4326
+ 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
4327
  }
4332
4328
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4333
4329
  declare namespace shaka.extern {
@@ -4343,7 +4339,7 @@ declare namespace shaka.extern {
4343
4339
  }
4344
4340
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4345
4341
  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 } ;
4342
+ 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
4343
  }
4348
4344
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4349
4345
  declare namespace shaka.extern {
@@ -4492,7 +4488,6 @@ declare namespace shaka.extern {
4492
4488
  * Size of the cue box (in percents), where 0 means "auto".
4493
4489
  */
4494
4490
  size : number ;
4495
- spacer : boolean ;
4496
4491
  /**
4497
4492
  * The start time of the cue in seconds, relative to the start of the
4498
4493
  * presentation.
@@ -4633,6 +4628,10 @@ declare namespace shaka.extern {
4633
4628
  * @param timeContext The time information that should be used to adjust the times values for each cue.
4634
4629
  */
4635
4630
  parseMedia (data : Uint8Array , timeContext : shaka.extern.TextParser.TimeContext ) : shaka.extern.Cue [] ;
4631
+ /**
4632
+ * Notifies the stream if the manifest is in sequence mode or not.
4633
+ */
4634
+ setSequenceMode (sequenceMode : boolean ) : any ;
4636
4635
  }
4637
4636
  }
4638
4637
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
@@ -4640,7 +4639,7 @@ declare namespace shaka.extern.TextParser {
4640
4639
  /**
4641
4640
  * A collection of time offsets used to adjust text cue times.
4642
4641
  */
4643
- type TimeContext = { periodStart : number , segmentEnd : number , segmentStart : number } ;
4642
+ type TimeContext = { periodStart : number , segmentEnd : number , segmentStart : number , vttOffset : number } ;
4644
4643
  }
4645
4644
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
4646
4645
  declare namespace shaka.extern {
@@ -4807,5 +4806,3 @@ declare namespace shaka.extern {
4807
4806
  declare namespace shaka.extern {
4808
4807
  type UIVolumeBarColors = { base : string , level : string } ;
4809
4808
  }
4810
-
4811
- export default shaka;