shaka-player 4.3.9 → 4.4.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 (321) hide show
  1. package/.github/workflows/build-and-test.yaml +11 -18
  2. package/.github/workflows/compute-incremental-coverage.py +3 -0
  3. package/.github/workflows/release-please.yaml +7 -0
  4. package/.github/workflows/selenium-lab-tests.yaml +45 -10
  5. package/AUTHORS +9 -0
  6. package/CHANGELOG.md +295 -190
  7. package/CONTRIBUTORS +8 -0
  8. package/LICENSE +32 -0
  9. package/README.md +63 -10
  10. package/demo/autoTemplate.txt +40 -5
  11. package/demo/close_button.js +11 -0
  12. package/demo/common/asset.js +13 -1
  13. package/demo/common/assets.js +112 -28
  14. package/demo/common/message_ids.js +25 -1
  15. package/demo/config.js +69 -10
  16. package/demo/customWarning.txt +2 -2
  17. package/demo/index.html +3 -1
  18. package/demo/locales/en.json +26 -2
  19. package/demo/locales/source.json +105 -9
  20. package/demo/main.js +57 -9
  21. package/demo/search.js +3 -1
  22. package/demo/service_worker.js +3 -0
  23. package/dist/controls.css +1 -1
  24. package/dist/controls.css.map +1 -1
  25. package/dist/demo.compiled.debug.js +132 -118
  26. package/dist/demo.compiled.debug.map +3 -3
  27. package/dist/demo.compiled.js +132 -118
  28. package/dist/demo.compiled.map +3 -3
  29. package/dist/deps.js +46 -28
  30. package/dist/locales.js +31 -31
  31. package/dist/receiver.compiled.debug.js +60 -52
  32. package/dist/receiver.compiled.debug.map +3 -3
  33. package/dist/receiver.compiled.js +60 -52
  34. package/dist/receiver.compiled.map +3 -3
  35. package/dist/shaka-player.compiled.d.ts +676 -391
  36. package/dist/shaka-player.compiled.debug.d.ts +676 -391
  37. package/dist/shaka-player.compiled.debug.externs.js +1188 -616
  38. package/dist/shaka-player.compiled.debug.js +1046 -700
  39. package/dist/shaka-player.compiled.debug.map +4 -4
  40. package/dist/shaka-player.compiled.externs.js +1188 -616
  41. package/dist/shaka-player.compiled.js +1094 -933
  42. package/dist/shaka-player.compiled.map +4 -4
  43. package/dist/shaka-player.ui.d.ts +677 -392
  44. package/dist/shaka-player.ui.debug.d.ts +677 -392
  45. package/dist/shaka-player.ui.debug.externs.js +1023 -451
  46. package/dist/shaka-player.ui.debug.js +1101 -738
  47. package/dist/shaka-player.ui.debug.map +4 -4
  48. package/dist/shaka-player.ui.externs.js +1023 -451
  49. package/dist/shaka-player.ui.js +1244 -1071
  50. package/dist/shaka-player.ui.map +4 -4
  51. package/docs/tutorials/ad_monetization.md +15 -1
  52. package/docs/tutorials/application-level-redirects.md +1 -1
  53. package/docs/tutorials/config.md +9 -5
  54. package/docs/tutorials/drm-config.md +61 -0
  55. package/docs/tutorials/fairplay.md +19 -4
  56. package/docs/tutorials/license-server-auth.md +4 -4
  57. package/docs/tutorials/license-wrapping.md +2 -2
  58. package/docs/tutorials/ui-customization.md +7 -3
  59. package/docs/tutorials/ui.md +7 -7
  60. package/docs/tutorials/upgrade.md +3 -0
  61. package/externs/ima.js +123 -2
  62. package/externs/isoboxer.js +217 -0
  63. package/externs/mediakeys.js +18 -0
  64. package/externs/mux.js +1 -105
  65. package/externs/pictureinpicture.js +48 -0
  66. package/externs/shaka/ads.js +61 -1
  67. package/externs/shaka/cea.js +110 -0
  68. package/externs/shaka/codecs.js +32 -0
  69. package/externs/shaka/manifest.js +101 -1
  70. package/externs/shaka/manifest_parser.js +0 -10
  71. package/externs/shaka/net.js +36 -7
  72. package/externs/shaka/offline.js +8 -1
  73. package/externs/shaka/player.js +220 -21
  74. package/externs/shaka/text.js +1 -382
  75. package/externs/shaka/transmuxer.js +59 -0
  76. package/karma.conf.js +15 -0
  77. package/lib/abr/simple_abr_manager.js +6 -3
  78. package/lib/ads/ad_manager.js +60 -2
  79. package/lib/ads/client_side_ad.js +86 -0
  80. package/lib/ads/client_side_ad_manager.js +93 -5
  81. package/lib/ads/server_side_ad.js +86 -0
  82. package/lib/ads/server_side_ad_manager.js +13 -0
  83. package/lib/cast/cast_utils.js +1 -0
  84. package/lib/cea/cea608_data_channel.js +24 -14
  85. package/lib/cea/cea608_memory.js +5 -2
  86. package/lib/cea/cea708_service.js +8 -9
  87. package/lib/cea/cea708_window.js +1 -2
  88. package/lib/cea/cea_decoder.js +23 -6
  89. package/lib/cea/cea_utils.js +25 -2
  90. package/lib/cea/dummy_caption_decoder.js +21 -0
  91. package/lib/cea/dummy_cea_parser.js +1 -3
  92. package/lib/cea/mp4_cea_parser.js +15 -10
  93. package/lib/cea/ts_cea_parser.js +69 -0
  94. package/lib/dash/content_protection.js +32 -2
  95. package/lib/dash/dash_parser.js +93 -31
  96. package/lib/dash/mpd_utils.js +6 -25
  97. package/lib/dash/segment_base.js +12 -14
  98. package/lib/dash/segment_list.js +10 -6
  99. package/lib/dash/segment_template.js +349 -32
  100. package/lib/dependencies/all.js +8 -0
  101. package/lib/hls/hls_classes.js +33 -8
  102. package/lib/hls/hls_parser.js +805 -191
  103. package/lib/hls/manifest_text_parser.js +4 -14
  104. package/lib/media/adaptation_set_criteria.js +43 -3
  105. package/lib/media/closed_caption_parser.js +74 -12
  106. package/lib/media/drm_engine.js +189 -49
  107. package/lib/media/gap_jumping_controller.js +1 -1
  108. package/lib/media/manifest_parser.js +34 -0
  109. package/lib/media/media_source_capabilities.js +10 -0
  110. package/lib/media/media_source_engine.js +475 -231
  111. package/lib/media/playhead.js +1 -1
  112. package/lib/media/presentation_timeline.js +62 -0
  113. package/lib/media/segment_index.js +50 -14
  114. package/lib/media/segment_prefetch.js +277 -0
  115. package/lib/media/segment_reference.js +70 -4
  116. package/lib/media/streaming_engine.js +258 -81
  117. package/lib/media/video_wrapper.js +15 -7
  118. package/lib/mss/content_protection.js +353 -0
  119. package/lib/mss/mss_parser.js +1081 -0
  120. package/lib/net/networking_engine.js +60 -10
  121. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  122. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  123. package/lib/offline/manifest_converter.js +6 -0
  124. package/lib/offline/storage.js +2 -4
  125. package/lib/player.js +309 -105
  126. package/lib/polyfill/media_capabilities.js +43 -3
  127. package/lib/polyfill/patchedmediakeys_apple.js +5 -0
  128. package/lib/polyfill/patchedmediakeys_nop.js +5 -0
  129. package/lib/polyfill/patchedmediakeys_webkit.js +5 -0
  130. package/lib/text/cue.js +208 -130
  131. package/lib/text/lrc_text_parser.js +2 -2
  132. package/lib/text/mp4_vtt_parser.js +2 -2
  133. package/lib/text/sbv_text_parser.js +1 -1
  134. package/lib/text/simple_text_displayer.js +2 -1
  135. package/lib/text/srt_text_parser.js +9 -1
  136. package/lib/text/ssa_text_parser.js +2 -2
  137. package/lib/text/text_engine.js +3 -21
  138. package/lib/text/text_utils.js +71 -20
  139. package/lib/text/ui_text_displayer.js +14 -14
  140. package/lib/text/vtt_text_parser.js +22 -14
  141. package/lib/transmuxer/aac_transmuxer.js +224 -0
  142. package/lib/transmuxer/ac3.js +142 -0
  143. package/lib/transmuxer/ac3_transmuxer.js +212 -0
  144. package/lib/transmuxer/adts.js +232 -0
  145. package/lib/transmuxer/ec3.js +103 -0
  146. package/lib/transmuxer/ec3_transmuxer.js +212 -0
  147. package/lib/transmuxer/h264.js +324 -0
  148. package/lib/transmuxer/mp3_transmuxer.js +204 -0
  149. package/lib/transmuxer/mpeg_audio.js +196 -0
  150. package/lib/transmuxer/mpeg_ts_transmuxer.js +182 -0
  151. package/lib/transmuxer/mss_transmuxer.js +389 -0
  152. package/lib/{media/transmuxer.js → transmuxer/muxjs_transmuxer.js} +34 -80
  153. package/lib/transmuxer/transmuxer_engine.js +161 -0
  154. package/lib/transmuxer/ts_transmuxer.js +738 -0
  155. package/lib/util/cmcd_manager.js +131 -71
  156. package/lib/util/error.js +62 -26
  157. package/lib/util/exp_golomb.js +220 -0
  158. package/lib/util/fairplay_utils.js +64 -13
  159. package/lib/util/id3_utils.js +56 -3
  160. package/lib/util/language_utils.js +11 -8
  161. package/lib/util/manifest_parser_utils.js +3 -0
  162. package/lib/util/mime_utils.js +44 -7
  163. package/lib/util/mp4_box_parsers.js +233 -5
  164. package/lib/util/mp4_generator.js +1381 -0
  165. package/lib/util/periods.js +40 -34
  166. package/lib/util/platform.js +25 -3
  167. package/lib/util/player_configuration.js +38 -1
  168. package/lib/util/stream_utils.js +138 -27
  169. package/lib/util/text_parser.js +1 -1
  170. package/lib/util/ts_parser.js +470 -47
  171. package/lib/util/xml_utils.js +16 -3
  172. package/maintained-branches.md +2 -2
  173. package/package.json +4 -2
  174. package/roadmap.md +21 -6
  175. package/shaka-player.uncompiled.js +18 -0
  176. package/test/abr/simple_abr_manager_unit.js +32 -4
  177. package/test/ads/ad_manager_unit.js +18 -2
  178. package/test/cast/cast_utils_unit.js +7 -2
  179. package/test/cea/cea608_memory_unit.js +24 -0
  180. package/test/cea/cea_decoder_unit.js +33 -0
  181. package/test/dash/dash_parser_content_protection_unit.js +93 -3
  182. package/test/dash/dash_parser_live_unit.js +56 -13
  183. package/test/dash/dash_parser_manifest_unit.js +70 -2
  184. package/test/dash/dash_parser_segment_base_unit.js +14 -9
  185. package/test/dash/dash_parser_segment_template_unit.js +286 -6
  186. package/test/demo/demo_unit.js +5 -1
  187. package/test/hls/hls_live_unit.js +188 -28
  188. package/test/hls/hls_parser_unit.js +250 -109
  189. package/test/hls/manifest_text_parser_unit.js +18 -13
  190. package/test/media/adaptation_set_criteria_unit.js +46 -14
  191. package/test/media/adaptation_set_unit.js +2 -0
  192. package/test/media/drm_engine_integration.js +11 -8
  193. package/test/media/drm_engine_unit.js +220 -7
  194. package/test/media/media_source_engine_integration.js +122 -38
  195. package/test/media/media_source_engine_unit.js +133 -153
  196. package/test/media/playhead_unit.js +3 -0
  197. package/test/media/presentation_timeline_unit.js +51 -0
  198. package/test/media/segment_index_unit.js +52 -0
  199. package/test/media/segment_prefetch_unit.js +243 -0
  200. package/test/media/streaming_engine_integration.js +9 -3
  201. package/test/media/streaming_engine_unit.js +440 -59
  202. package/test/mss/mss_parser_content_protection_unit.js +49 -0
  203. package/test/mss/mss_parser_unit.js +472 -0
  204. package/test/mss/mss_player_integration.js +123 -0
  205. package/test/offline/manifest_convert_unit.js +9 -0
  206. package/test/offline/storage_integration.js +6 -1
  207. package/test/player_integration.js +4 -1
  208. package/test/player_unit.js +386 -133
  209. package/test/polyfill/media_capabilities_unit.js +18 -0
  210. package/test/test/assets/hls-raw-aac/fileSequence0.aac +0 -0
  211. package/test/test/assets/hls-raw-aac/fileSequence1.aac +0 -0
  212. package/test/test/assets/hls-raw-aac/fileSequence2.aac +0 -0
  213. package/test/test/assets/hls-raw-aac/fileSequence3.aac +0 -0
  214. package/test/test/assets/hls-raw-aac/manifest.m3u8 +4 -0
  215. package/test/test/assets/hls-raw-aac/stream.m4a.m3u8 +14 -0
  216. package/test/test/assets/hls-raw-ac3/fileSequence0.ac3 +0 -0
  217. package/test/test/assets/hls-raw-ac3/fileSequence1.ac3 +0 -0
  218. package/test/test/assets/hls-raw-ac3/fileSequence2.ac3 +0 -0
  219. package/test/test/assets/hls-raw-ac3/fileSequence3.ac3 +0 -0
  220. package/test/test/assets/hls-raw-ac3/fileSequence4.ac3 +0 -0
  221. package/test/test/assets/hls-raw-ac3/fileSequence5.ac3 +0 -0
  222. package/test/test/assets/hls-raw-ac3/fileSequence6.ac3 +0 -0
  223. package/test/test/assets/hls-raw-ac3/fileSequence7.ac3 +0 -0
  224. package/test/test/assets/hls-raw-ac3/prog_index.m3u8 +31 -0
  225. package/test/test/assets/hls-raw-ec3/fileSequence0.ec3 +0 -0
  226. package/test/test/assets/hls-raw-ec3/fileSequence1.ec3 +0 -0
  227. package/test/test/assets/hls-raw-ec3/fileSequence2.ec3 +0 -0
  228. package/test/test/assets/hls-raw-ec3/fileSequence3.ec3 +0 -0
  229. package/test/test/assets/hls-raw-ec3/fileSequence4.ec3 +0 -0
  230. package/test/test/assets/hls-raw-ec3/fileSequence5.ec3 +0 -0
  231. package/test/test/assets/hls-raw-ec3/fileSequence6.ec3 +0 -0
  232. package/test/test/assets/hls-raw-ec3/fileSequence7.ec3 +0 -0
  233. package/test/test/assets/hls-raw-ec3/prog_index.m3u8 +31 -0
  234. package/test/test/assets/hls-raw-mp3/chunklist_w905519204.m3u8 +13 -0
  235. package/test/test/assets/hls-raw-mp3/media_w905519204_0.mp3 +0 -0
  236. package/test/test/assets/hls-raw-mp3/media_w905519204_1.mp3 +0 -0
  237. package/test/test/assets/hls-raw-mp3/media_w905519204_2.mp3 +0 -0
  238. package/test/test/assets/hls-raw-mp3/media_w905519204_3.mp3 +0 -0
  239. package/test/test/assets/hls-raw-mp3/playlist.m3u8 +4 -0
  240. package/test/test/assets/hls-ts-aac/playlist.m3u8 +23 -0
  241. package/test/test/assets/hls-ts-aac/segment_0.ts +0 -0
  242. package/test/test/assets/hls-ts-aac/segment_1.ts +0 -0
  243. package/test/test/assets/hls-ts-aac/segment_2.ts +0 -0
  244. package/test/test/assets/hls-ts-aac/segment_3.ts +0 -0
  245. package/test/test/assets/hls-ts-aac/segment_4.ts +0 -0
  246. package/test/test/assets/hls-ts-aac/segment_5.ts +0 -0
  247. package/test/test/assets/hls-ts-aac/segment_6.ts +0 -0
  248. package/test/test/assets/hls-ts-aac/segment_7.ts +0 -0
  249. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0000.ts +0 -0
  250. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0001.ts +0 -0
  251. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0002.ts +0 -0
  252. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0003.ts +0 -0
  253. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0004.ts +0 -0
  254. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0005.ts +0 -0
  255. package/test/test/assets/hls-ts-ac3/prog_index.m3u8 +19 -0
  256. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0000.ts +0 -0
  257. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0001.ts +0 -0
  258. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0002.ts +0 -0
  259. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0003.ts +0 -0
  260. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0004.ts +0 -0
  261. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0005.ts +0 -0
  262. package/test/test/assets/hls-ts-ec3/prog_index.m3u8 +19 -0
  263. package/test/test/assets/hls-ts-h264/fileSequence0.ts +0 -0
  264. package/test/test/assets/hls-ts-h264/fileSequence1.ts +0 -0
  265. package/test/test/assets/hls-ts-h264/fileSequence2.ts +0 -0
  266. package/test/test/assets/hls-ts-h264/fileSequence3.ts +0 -0
  267. package/test/test/assets/hls-ts-h264/fileSequence4.ts +0 -0
  268. package/test/test/assets/hls-ts-h264/fileSequence5.ts +0 -0
  269. package/test/test/assets/hls-ts-h264/prog_index.m3u8 +25 -0
  270. package/test/test/assets/hls-ts-mp3/manifest.m3u8 +13 -0
  271. package/test/test/assets/hls-ts-mp3/media_w239891843_0.ts +0 -0
  272. package/test/test/assets/hls-ts-mp3/media_w239891843_1.ts +0 -0
  273. package/test/test/assets/hls-ts-mp3/media_w239891843_2.ts +0 -0
  274. package/test/test/assets/hls-ts-mp3/media_w239891843_3.ts +0 -0
  275. package/test/test/assets/hls-ts-muxed-aac-h264/chunk.m3u8 +17 -0
  276. package/test/test/assets/hls-ts-muxed-aac-h264/n_0_0_0.ts +0 -0
  277. package/test/test/assets/hls-ts-muxed-aac-h264/n_1_0_0.ts +0 -0
  278. package/test/test/assets/hls-ts-muxed-aac-h264/n_2_0_0.ts +0 -0
  279. package/test/test/assets/hls-ts-muxed-aac-h264/n_3_0_0.ts +0 -0
  280. package/test/test/assets/hls-ts-muxed-aac-h264/n_4_0_0.ts +0 -0
  281. package/test/test/assets/hls-ts-muxed-aac-h264/n_5_0_0.ts +0 -0
  282. package/test/test/assets/hls-ts-muxed-aac-h264/playlist.m3u8 +4 -0
  283. package/test/test/boot.js +7 -2
  284. package/test/test/util/fake_ad.js +99 -0
  285. package/test/test/util/fake_ad_manager.js +7 -1
  286. package/test/test/util/fake_networking_engine.js +41 -14
  287. package/test/test/util/fake_segment_prefetch.js +81 -0
  288. package/test/test/util/manifest_generator.js +19 -5
  289. package/test/test/util/mss_parser_util.js +115 -0
  290. package/test/test/util/offline_utils.js +1 -0
  291. package/test/test/util/simple_fakes.js +12 -3
  292. package/test/test/util/streaming_engine_util.js +14 -4
  293. package/test/test/util/ttml_utils.js +2 -2
  294. package/test/test/util/ui_utils.js +5 -1
  295. package/test/text/cue_integration.js +1 -1
  296. package/test/text/srt_text_parser_unit.js +78 -0
  297. package/test/text/text_engine_unit.js +17 -8
  298. package/test/text/ui_text_displayer_unit.js +4 -4
  299. package/test/text/vtt_text_parser_unit.js +59 -40
  300. package/test/text/web_vtt_generator_unit.js +9 -3
  301. package/test/{media/transmuxer_integration.js → transmuxer/muxjs_transmuxer_integration.js} +30 -33
  302. package/test/transmuxer/transmuxer_engine_integration.js +60 -0
  303. package/test/transmuxer/transmuxer_integration.js +296 -0
  304. package/test/util/cmcd_manager_unit.js +162 -13
  305. package/test/util/language_utils_unit.js +9 -2
  306. package/test/util/mp4_box_parsers_unit.js +39 -4
  307. package/test/util/periods_unit.js +34 -26
  308. package/test/util/stream_utils_unit.js +60 -107
  309. package/ui/controls.js +19 -1
  310. package/ui/controls.less +1 -0
  311. package/ui/externs/ui.js +13 -3
  312. package/ui/language_utils.js +15 -0
  313. package/ui/less/thumbnails.less +26 -0
  314. package/ui/locales/oc.json +42 -0
  315. package/ui/pip_button.js +83 -2
  316. package/ui/range_element.js +15 -0
  317. package/ui/resolution_selection.js +9 -2
  318. package/ui/seek_bar.js +230 -1
  319. package/ui/ui.js +5 -0
  320. package/lib/cea/i_caption_decoder.js +0 -51
  321. package/lib/cea/i_cea_parser.js +0 -68
@@ -102,6 +102,10 @@ declare namespace shaka {
102
102
  * EME yet, this will return <code>null</code>.
103
103
  */
104
104
  drmInfo ( ) : shaka.extern.DrmInfo | null ;
105
+ /**
106
+ * Returns the active sessions metadata
107
+ */
108
+ getActiveSessionsMetadata ( ) : shaka.extern.DrmSessionMetadata [] ;
105
109
  /**
106
110
  * Returns a shaka.ads.AdManager instance, responsible for Dynamic
107
111
  * Ad Insertion functionality.
@@ -180,6 +184,10 @@ declare namespace shaka {
180
184
  * not loaded any content, this will return <code>null</code>.
181
185
  */
182
186
  getManifestParserFactory ( ) : ( shaka.extern.ManifestParser.Factory ) | null ;
187
+ /**
188
+ * Get the current manifest type.
189
+ */
190
+ getManifestType ( ) : string | null ;
183
191
  /**
184
192
  * Get the media element that the player is currently using to play loaded
185
193
  * content. If the player has not loaded content, this will return
@@ -318,7 +326,7 @@ declare namespace shaka {
318
326
  * language, role and channel count, and chooses a new variant if need be.
319
327
  * If the player has not loaded any content, this will be a no-op.
320
328
  */
321
- selectAudioLanguage (language : string , role ? : string , channelsCount ? : number ) : any ;
329
+ selectAudioLanguage (language : string , role ? : string , channelsCount ? : number , safeMargin ? : number ) : any ;
322
330
  /**
323
331
  * Sets the current text language and current text role to the selected
324
332
  * language and role, and chooses a new variant if need be. If the player has
@@ -356,8 +364,10 @@ declare namespace shaka {
356
364
  * Select variant tracks that have a given label. This assumes the
357
365
  * label uniquely identifies an audio stream, so all the variants
358
366
  * are expected to have the same variant.audio.
367
+ * @param clearBuffer Optional clear buffer or not when switch to new variant Defaults to true if not provided
368
+ * @param safeMargin Optional amount of buffer (in seconds) to retain when clearing the buffer. Defaults to 0 if not provided. Ignored if clearBuffer is false.
359
369
  */
360
- selectVariantsByLabel (label : string ) : any ;
370
+ selectVariantsByLabel (label : string , clearBuffer ? : boolean , safeMargin ? : number ) : any ;
361
371
  /**
362
372
  * Set the maximum resolution that the platform's hardware can handle.
363
373
  * This will be called automatically by <code>shaka.cast.CastReceiver</code>
@@ -490,9 +500,10 @@ declare namespace shaka.ads {
490
500
  */
491
501
  class AdManager extends shaka.util.FakeEventTarget implements shaka.extern.IAdManager , shaka.util.IReleasable {
492
502
  private noStructuralTyping_shaka_ads_AdManager : any;
503
+ configure (config : any ) : any ;
493
504
  getServerSideCuePoints ( ) : shaka.extern.AdCuePoint [] ;
494
505
  getStats ( ) : shaka.extern.AdsStats ;
495
- initClientSide (adContainer : any , video : any ) : any ;
506
+ initClientSide (adContainer : any , video : any , adsRenderingSettings : any ) : any ;
496
507
  initServerSide (adContainer : any , video : any ) : any ;
497
508
  onAssetUnload ( ) : any ;
498
509
  onCueMetadataChange (value : any ) : any ;
@@ -503,6 +514,7 @@ declare namespace shaka.ads {
503
514
  requestClientSideAds (imaRequest : any ) : any ;
504
515
  requestServerSideStream (imaRequest : google.ima.dai.api.StreamRequest , backupUrl ? : string ) : Promise < string > ;
505
516
  setLocale (locale : any ) : any ;
517
+ updateClientSideAdsRenderingSettings (adsRenderingSettings : any ) : any ;
506
518
  /**
507
519
  * The event name for when a sequence of ads has been loaded.
508
520
  */
@@ -532,6 +544,10 @@ declare namespace shaka.ads {
532
544
  * The event name for when the ad's duration changed.
533
545
  */
534
546
  static AD_DURATION_CHANGED : string ;
547
+ /**
548
+ * The event name for when the ad manager dispatch errors.
549
+ */
550
+ static AD_ERROR : string ;
535
551
  /**
536
552
  * The event name for when an ad playhead crosses first quartile.
537
553
  */
@@ -636,14 +652,23 @@ declare namespace shaka.ads {
636
652
  private noStructuralTyping_shaka_ads_ClientSideAd : any;
637
653
  constructor (imaAd : google.ima.Ad , imaAdManager : google.ima.AdsManager , video : HTMLMediaElement | null ) ;
638
654
  canSkipNow ( ) : any ;
655
+ getAdId ( ) : any ;
656
+ getAdvertiserName ( ) : any ;
657
+ getCreativeAdId ( ) : any ;
639
658
  getDescription ( ) : any ;
640
659
  getDuration ( ) : any ;
660
+ getMediaUrl ( ) : any ;
641
661
  getMinSuggestedDuration ( ) : any ;
662
+ getPodIndex ( ) : any ;
642
663
  getPositionInSequence ( ) : any ;
643
664
  getRemainingTime ( ) : any ;
644
665
  getSequenceLength ( ) : any ;
666
+ getTimeOffset ( ) : any ;
645
667
  getTimeUntilSkippable ( ) : any ;
646
668
  getTitle ( ) : any ;
669
+ getVastMediaBitrate ( ) : any ;
670
+ getVastMediaHeight ( ) : any ;
671
+ getVastMediaWidth ( ) : any ;
647
672
  getVolume ( ) : any ;
648
673
  isLinear ( ) : any ;
649
674
  isMuted ( ) : any ;
@@ -664,14 +689,23 @@ declare namespace shaka.ads {
664
689
  private noStructuralTyping_shaka_ads_ServerSideAd : any;
665
690
  constructor (imaAd : google.ima.dai.api.Ad | null , video : HTMLMediaElement | null ) ;
666
691
  canSkipNow ( ) : any ;
692
+ getAdId ( ) : any ;
693
+ getAdvertiserName ( ) : any ;
694
+ getCreativeAdId ( ) : any ;
667
695
  getDescription ( ) : any ;
668
696
  getDuration ( ) : any ;
697
+ getMediaUrl ( ) : any ;
669
698
  getMinSuggestedDuration ( ) : any ;
699
+ getPodIndex ( ) : any ;
670
700
  getPositionInSequence ( ) : any ;
671
701
  getRemainingTime ( ) : any ;
672
702
  getSequenceLength ( ) : any ;
703
+ getTimeOffset ( ) : any ;
673
704
  getTimeUntilSkippable ( ) : any ;
674
705
  getTitle ( ) : any ;
706
+ getVastMediaBitrate ( ) : any ;
707
+ getVastMediaHeight ( ) : any ;
708
+ getVastMediaWidth ( ) : any ;
675
709
  getVolume ( ) : any ;
676
710
  isLinear ( ) : any ;
677
711
  isMuted ( ) : any ;
@@ -779,6 +813,40 @@ declare namespace shaka.cast {
779
813
  }
780
814
  }
781
815
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
816
+ declare namespace shaka.cea {
817
+ /**
818
+ * CEA-X08 captions decoder.
819
+ */
820
+ class CeaDecoder implements shaka.extern.ICaptionDecoder {
821
+ private noStructuralTyping_shaka_cea_CeaDecoder : any;
822
+ clear ( ) : any ;
823
+ decode ( ) : shaka.extern.ICaptionDecoder.ClosedCaption [] ;
824
+ extract (userDataSeiMessage : Uint8Array , pts : number ) : any ;
825
+ }
826
+ }
827
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
828
+ declare namespace shaka.cea {
829
+ /**
830
+ * MPEG4 stream parser used for extracting 708 closed captions data.
831
+ */
832
+ class Mp4CeaParser implements shaka.extern.ICeaParser {
833
+ private noStructuralTyping_shaka_cea_Mp4CeaParser : any;
834
+ init (initSegment : ArrayBuffer | ArrayBufferView ) : any ;
835
+ parse (mediaSegment : ArrayBuffer | ArrayBufferView ) : shaka.extern.ICeaParser.CaptionPacket [] ;
836
+ }
837
+ }
838
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
839
+ declare namespace shaka.cea {
840
+ /**
841
+ * MPEG TS CEA parser.
842
+ */
843
+ class TsCeaParser implements shaka.extern.ICeaParser {
844
+ private noStructuralTyping_shaka_cea_TsCeaParser : any;
845
+ init (initSegment : ArrayBuffer | ArrayBufferView ) : any ;
846
+ parse (mediaSegment : ArrayBuffer | ArrayBufferView ) : shaka.extern.ICeaParser.CaptionPacket [] ;
847
+ }
848
+ }
849
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
782
850
  declare namespace shaka.config {
783
851
  enum AutoShowText {
784
852
  ALWAYS = 1.0 ,
@@ -821,6 +889,7 @@ declare namespace shaka {
821
889
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
822
890
  declare namespace shaka.dependencies {
823
891
  enum Allowed {
892
+ ISOBoxer = 'ISOBoxer' ,
824
893
  muxjs = 'muxjs' ,
825
894
  }
826
895
  }
@@ -850,6 +919,38 @@ declare namespace shaka.lcevc {
850
919
  }
851
920
  }
852
921
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
922
+ declare namespace shaka.media {
923
+ /**
924
+ * Closed Caption Parser provides all operations for parsing the closed captions
925
+ * embedded in Dash videos streams.
926
+ */
927
+ class ClosedCaptionParser implements shaka.media.IClosedCaptionParser {
928
+ private noStructuralTyping_shaka_media_ClosedCaptionParser : any;
929
+ /**
930
+ * Closed Caption Parser provides all operations for parsing the closed captions
931
+ * embedded in Dash videos streams.
932
+ */
933
+ constructor (mimeType : string ) ;
934
+ static findDecoder ( ) : ( shaka.extern.CaptionDecoderPlugin ) | null ;
935
+ static findParser (mimeType : string ) : ( shaka.extern.CeaParserPlugin ) | null ;
936
+ static registerDecoder (plugin : shaka.extern.CaptionDecoderPlugin ) : any ;
937
+ static registerParser (mimeType : string , plugin : shaka.extern.CeaParserPlugin ) : any ;
938
+ static unregisterDecoder ( ) : any ;
939
+ static unregisterParser (mimeType : string ) : any ;
940
+ }
941
+ }
942
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
943
+ declare namespace shaka.media {
944
+ /**
945
+ * The IClosedCaptionParser defines the interface to provide all operations for
946
+ * parsing the closed captions embedded in Dash videos streams.
947
+ * TODO: Remove this interface and move method definitions
948
+ * directly to ClosedCaptonParser.
949
+ */
950
+ interface IClosedCaptionParser {
951
+ }
952
+ }
953
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
853
954
  declare namespace shaka.media {
854
955
  /**
855
956
  * Creates an InitSegmentReference, which provides the location to an
@@ -857,7 +958,7 @@ declare namespace shaka.media {
857
958
  */
858
959
  class InitSegmentReference {
859
960
  private noStructuralTyping_shaka_media_InitSegmentReference : any;
860
- constructor (uris : ( ) => string [] , startByte : number , endByte : number | null , mediaQuality ? : null | shaka.extern.MediaQualityInfo , timescale ? : number ) ;
961
+ constructor (uris : ( ) => string [] , startByte : number , endByte : number | null , mediaQuality ? : null | shaka.extern.MediaQualityInfo , timescale ? : null | number , segmentData ? : null | ArrayBuffer | ArrayBufferView ) ;
861
962
  /**
862
963
  * Returns the offset from the start of the resource to the end of the
863
964
  * segment, inclusive. A value of null indicates that the segment extends
@@ -895,6 +996,13 @@ declare namespace shaka.media {
895
996
  }
896
997
  }
897
998
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
999
+ declare namespace shaka.media.ManifestParser {
1000
+ enum AccessibilityPurpose {
1001
+ HARD_OF_HEARING = 'hard of hearing' ,
1002
+ VISUALLY_IMPAIRED = 'visually impaired' ,
1003
+ }
1004
+ }
1005
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
898
1006
  declare namespace shaka.media {
899
1007
  /**
900
1008
  * A meta-SegmentIndex composed of multiple other SegmentIndexes.
@@ -992,6 +1100,12 @@ declare namespace shaka.media {
992
1100
  * same stream.
993
1101
  */
994
1102
  notifySegments (references : shaka.media.SegmentReference [] ) : any ;
1103
+ /**
1104
+ * Gives PresentationTimeline a Stream's timeline so it can size and position
1105
+ * the segment availability window, and account for missing segment
1106
+ * information.
1107
+ */
1108
+ notifyTimeRange (timeline : shaka.media.PresentationTimeline.TimeRange [] , startOffset : number ) : any ;
995
1109
  /**
996
1110
  * Offsets the segment times by the given amount.
997
1111
  * @param offset The number of seconds to offset by. A positive number adjusts the segment times forward.
@@ -1052,6 +1166,10 @@ declare namespace shaka.media {
1052
1166
  }
1053
1167
  }
1054
1168
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1169
+ declare namespace shaka.media.PresentationTimeline {
1170
+ type TimeRange = { end : number , start : number , unscaledStart : number } ;
1171
+ }
1172
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1055
1173
  declare namespace shaka.media {
1056
1174
  /**
1057
1175
  * SegmentIndex.
@@ -1092,9 +1210,14 @@ declare namespace shaka.media {
1092
1210
  get (position : number ) : shaka.media.SegmentReference | null ;
1093
1211
  /**
1094
1212
  * Returns a new iterator that initially points to the segment that contains
1095
- * the given time. Like the normal iterator, next() must be called first to
1096
- * get to the first element. Returns null if we do not find a segment at the
1213
+ * the given time, or the nearest independent segment before it.
1214
+ * Like the normal iterator, next() must be called first to get to the first
1215
+ * element. Returns null if we do not find a segment at the
1097
1216
  * requested time.
1217
+ * The first segment returned by the iterator _MUST_ be an independent
1218
+ * segment. Assumes that only partial references can be dependent, based on
1219
+ * RFC 8216 rev 13, section 8.1: "Each (non-Partial) Media Segment in a Media
1220
+ * Playlist will contain at least one independent frame."
1098
1221
  */
1099
1222
  getIteratorForTime (time : number ) : shaka.media.SegmentIterator | null ;
1100
1223
  /**
@@ -1151,6 +1274,10 @@ declare namespace shaka.media {
1151
1274
  }
1152
1275
  }
1153
1276
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1277
+ declare namespace shaka.media.SegmentPrefetch {
1278
+ type FetchDispatcher = (a : shaka.media.InitSegmentReference | shaka.media.SegmentReference , b : shaka.extern.Stream , c ? : ( (a : ArrayBuffer | ArrayBufferView ) => Promise < any > ) | null ) => shaka.net.NetworkingEngine.PendingRequest ;
1279
+ }
1280
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1154
1281
  declare namespace shaka.media {
1155
1282
  /**
1156
1283
  * SegmentReference provides the start time, end time, and location to a media
@@ -1199,10 +1326,28 @@ declare namespace shaka.media {
1199
1326
  * Creates and returns the URIs of the resource containing the segment.
1200
1327
  */
1201
1328
  getUris ( ) : string [] ;
1329
+ /**
1330
+ * Returns true if the segment has a byterange optimization.
1331
+ */
1332
+ hasByterangeOptimization ( ) : boolean ;
1333
+ /**
1334
+ * Returns true if the segment is independent.
1335
+ */
1336
+ isIndependent ( ) : boolean ;
1202
1337
  /**
1203
1338
  * Returns true if the segment is preloaded.
1204
1339
  */
1205
1340
  isPreload ( ) : boolean ;
1341
+ /**
1342
+ * Mark the reference as byterange optimization.
1343
+ * The "byterange optimization" means that it is playable using MP4 low
1344
+ * latency streaming with chunked data.
1345
+ */
1346
+ markAsByterangeOptimization ( ) : any ;
1347
+ /**
1348
+ * Mark the reference as non-independent.
1349
+ */
1350
+ markAsNonIndependent ( ) : any ;
1206
1351
  /**
1207
1352
  * Mark the reference as preload.
1208
1353
  */
@@ -1248,6 +1393,20 @@ declare namespace shaka.media.SegmentReference {
1248
1393
  type ThumbnailSprite = { height : number , positionX : number , positionY : number , width : number } ;
1249
1394
  }
1250
1395
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1396
+ declare namespace shaka.mss {
1397
+ /**
1398
+ * Creates a new MSS parser.
1399
+ */
1400
+ class MssParser implements shaka.extern.ManifestParser {
1401
+ private noStructuralTyping_shaka_mss_MssParser : any;
1402
+ configure (config : any ) : any ;
1403
+ onExpirationUpdated (sessionId : any , expiration : any ) : any ;
1404
+ start (uri : any , playerInterface : any ) : any ;
1405
+ stop ( ) : any ;
1406
+ update ( ) : any ;
1407
+ }
1408
+ }
1409
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1251
1410
  declare namespace shaka.net {
1252
1411
  class DataUriPlugin {
1253
1412
  private noStructuralTyping_shaka_net_DataUriPlugin : any;
@@ -1288,7 +1447,7 @@ declare namespace shaka.net {
1288
1447
  * handle the actual request. A plugin is registered using registerScheme.
1289
1448
  * Each scheme has at most one plugin to handle the request.
1290
1449
  */
1291
- constructor (onProgressUpdated ? : (a : number , b : number ) => any , onHeadersReceived ? : shaka.net.NetworkingEngine.OnHeadersReceived , onDownloadFailed ? : shaka.net.NetworkingEngine.OnDownloadFailed ) ;
1450
+ constructor (onProgressUpdated ? : (a : number , b : number ) => any , onHeadersReceived ? : shaka.net.NetworkingEngine.OnHeadersReceived , onDownloadFailed ? : shaka.net.NetworkingEngine.OnDownloadFailed , onRequest ? : shaka.net.NetworkingEngine.OnRequest ) ;
1292
1451
  /**
1293
1452
  * Clears all request filters.
1294
1453
  */
@@ -1311,7 +1470,7 @@ declare namespace shaka.net {
1311
1470
  /**
1312
1471
  * Makes a network request and returns the resulting data.
1313
1472
  */
1314
- request (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : shaka.net.NetworkingEngine.PendingRequest ;
1473
+ request (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request , context ? : shaka.extern.RequestContext ) : shaka.net.NetworkingEngine.PendingRequest ;
1315
1474
  setForceHTTPS (forceHTTPS : boolean ) : any ;
1316
1475
  /**
1317
1476
  * Removes a request filter.
@@ -1344,6 +1503,31 @@ declare namespace shaka.net {
1344
1503
  }
1345
1504
  }
1346
1505
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1506
+ declare namespace shaka.net.NetworkingEngine {
1507
+ /**
1508
+ * A more advanced form of the RequestType structure, meant to describe
1509
+ * sub-types of basic request types.
1510
+ * For example, an INIT_SEGMENT is a sub-type of SEGMENT.
1511
+ * This is meant to allow for more specificity to be added to the request type
1512
+ * data, without breaking backwards compatibility.
1513
+ */
1514
+ /**
1515
+ * A more advanced form of the RequestType structure, meant to describe
1516
+ * sub-types of basic request types.
1517
+ * For example, an INIT_SEGMENT is a sub-type of SEGMENT.
1518
+ * This is meant to allow for more specificity to be added to the request type
1519
+ * data, without breaking backwards compatibility.
1520
+ */
1521
+ enum AdvancedRequestType {
1522
+ INIT_SEGMENT = 0.0 ,
1523
+ MASTER_PLAYLIST = 3.0 ,
1524
+ MEDIA_PLAYLIST = 2.0 ,
1525
+ MEDIA_SEGMENT = 1.0 ,
1526
+ MPD = 4.0 ,
1527
+ MSS = 5.0 ,
1528
+ }
1529
+ }
1530
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1347
1531
  declare namespace shaka.net.NetworkingEngine {
1348
1532
  /**
1349
1533
  * A wrapper class for the number of bytes remaining to be downloaded for the
@@ -1365,6 +1549,10 @@ declare namespace shaka.net.NetworkingEngine {
1365
1549
  type OnHeadersReceived = (a : { [ key: string ]: string } , b : shaka.extern.Request , c : shaka.net.NetworkingEngine.RequestType ) => any ;
1366
1550
  }
1367
1551
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1552
+ declare namespace shaka.net.NetworkingEngine {
1553
+ type OnRequest = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Request , c : shaka.extern.RequestContext | undefined ) => any ;
1554
+ }
1555
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1368
1556
  declare namespace shaka.net.NetworkingEngine {
1369
1557
  /**
1370
1558
  * A pending network request. This can track the current progress of the
@@ -1591,7 +1779,7 @@ declare namespace shaka.polyfill {
1591
1779
  static install ( ) : any ;
1592
1780
  /**
1593
1781
  * A copy of the MediaCapabilities instance, to prevent Safari from
1594
- * garbage-collecting the polyfilled method on it. We make it public and export
1782
+ * garbage-collecting the polyfilled method on it. We make it public and export
1595
1783
  * it to ensure that it is not stripped out by the compiler.
1596
1784
  */
1597
1785
  static originalMcap : any | null ;
@@ -1724,51 +1912,9 @@ declare namespace shaka.polyfill {
1724
1912
  }
1725
1913
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1726
1914
  declare namespace shaka.text {
1727
- class Cue implements shaka.extern.Cue {
1915
+ class Cue {
1728
1916
  private noStructuralTyping_shaka_text_Cue : any;
1729
1917
  constructor (startTime : number , endTime : number , payload : string ) ;
1730
- backgroundColor : any ;
1731
- backgroundImage : any ;
1732
- border : any ;
1733
- cellResolution : any ;
1734
- color : any ;
1735
- direction : any ;
1736
- /**
1737
- * Set the captions at the bottom of the text container by default.
1738
- */
1739
- displayAlign : any ;
1740
- endTime : any ;
1741
- fontFamily : any ;
1742
- fontSize : any ;
1743
- fontStyle : any ;
1744
- fontWeight : any ;
1745
- id : any ;
1746
- isContainer : any ;
1747
- letterSpacing : any ;
1748
- line : any ;
1749
- /**
1750
- * Line Alignment is set to start by default.
1751
- */
1752
- lineAlign : any ;
1753
- lineBreak : any ;
1754
- lineHeight : any ;
1755
- lineInterpretation : any ;
1756
- linePadding : any ;
1757
- nestedCues : any ;
1758
- opacity : any ;
1759
- payload : any ;
1760
- position : any ;
1761
- positionAlign : any ;
1762
- region : any ;
1763
- size : any ;
1764
- startTime : any ;
1765
- textAlign : any ;
1766
- textDecoration : any ;
1767
- textShadow : any ;
1768
- textStrokeColor : any ;
1769
- textStrokeWidth : any ;
1770
- wrapLine : any ;
1771
- writingMode : any ;
1772
1918
  }
1773
1919
  }
1774
1920
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -1782,14 +1928,14 @@ declare namespace shaka.text.Cue {
1782
1928
  * https://w3c.github.io/webvtt/#default-text-background
1783
1929
  */
1784
1930
  enum defaultTextBackgroundColor {
1785
- bg_black = '#000' ,
1786
- bg_blue = '#00F' ,
1787
- bg_cyan = '#0FF' ,
1788
- bg_lime = '#0F0' ,
1789
- bg_magenta = '#F0F' ,
1790
- bg_red = '#F00' ,
1791
- bg_white = '#FFF' ,
1792
- bg_yellow = '#FF0' ,
1931
+ bg_black = 'black' ,
1932
+ bg_blue = 'blue' ,
1933
+ bg_cyan = 'cyan' ,
1934
+ bg_lime = 'lime' ,
1935
+ bg_magenta = 'magenta' ,
1936
+ bg_red = 'red' ,
1937
+ bg_white = 'white' ,
1938
+ bg_yellow = 'yellow' ,
1793
1939
  }
1794
1940
  }
1795
1941
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -1803,14 +1949,14 @@ declare namespace shaka.text.Cue {
1803
1949
  * https://w3c.github.io/webvtt/#default-text-color
1804
1950
  */
1805
1951
  enum defaultTextColor {
1806
- black = '#000' ,
1807
- blue = '#00F' ,
1808
- cyan = '#0FF' ,
1809
- lime = '#0F0' ,
1810
- magenta = '#F0F' ,
1811
- red = '#F00' ,
1812
- white = '#FFF' ,
1813
- yellow = '#FF0' ,
1952
+ black = 'black' ,
1953
+ blue = 'blue' ,
1954
+ cyan = 'cyan' ,
1955
+ lime = 'lime' ,
1956
+ magenta = 'magenta' ,
1957
+ red = 'red' ,
1958
+ white = 'white' ,
1959
+ yellow = 'yellow' ,
1814
1960
  }
1815
1961
  }
1816
1962
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -1913,19 +2059,8 @@ declare namespace shaka.text.Cue {
1913
2059
  }
1914
2060
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
1915
2061
  declare namespace shaka.text {
1916
- class CueRegion implements shaka.extern.CueRegion {
2062
+ class CueRegion {
1917
2063
  private noStructuralTyping_shaka_text_CueRegion : any;
1918
- height : any ;
1919
- heightUnits : any ;
1920
- id : any ;
1921
- regionAnchorX : any ;
1922
- regionAnchorY : any ;
1923
- scroll : any ;
1924
- viewportAnchorUnits : any ;
1925
- viewportAnchorX : any ;
1926
- viewportAnchorY : any ;
1927
- width : any ;
1928
- widthUnits : any ;
1929
2064
  }
1930
2065
  }
1931
2066
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -2082,6 +2217,155 @@ declare namespace shaka.text {
2082
2217
  }
2083
2218
  }
2084
2219
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2220
+ declare namespace shaka.transmuxer {
2221
+ class AacTransmuxer implements shaka.extern.Transmuxer {
2222
+ private noStructuralTyping_shaka_transmuxer_AacTransmuxer : any;
2223
+ constructor (mimeType : string ) ;
2224
+ convertCodecs (contentType : any , mimeType : any ) : any ;
2225
+ destroy ( ) : any ;
2226
+ getOrginalMimeType ( ) : any ;
2227
+ /**
2228
+ * Check if the mime type and the content type is supported.
2229
+ */
2230
+ isSupported (mimeType : string , contentType ? : string ) : boolean ;
2231
+ transmux (data : any , stream : any , reference : any , duration : any ) : any ;
2232
+ }
2233
+ }
2234
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2235
+ declare namespace shaka.transmuxer {
2236
+ class Ac3Transmuxer implements shaka.extern.Transmuxer {
2237
+ private noStructuralTyping_shaka_transmuxer_Ac3Transmuxer : any;
2238
+ constructor (mimeType : string ) ;
2239
+ convertCodecs (contentType : any , mimeType : any ) : any ;
2240
+ destroy ( ) : any ;
2241
+ getOrginalMimeType ( ) : any ;
2242
+ /**
2243
+ * Check if the mime type and the content type is supported.
2244
+ */
2245
+ isSupported (mimeType : string , contentType ? : string ) : boolean ;
2246
+ transmux (data : any , stream : any , reference : any , duration : any ) : any ;
2247
+ }
2248
+ }
2249
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2250
+ declare namespace shaka.transmuxer {
2251
+ class Ec3Transmuxer implements shaka.extern.Transmuxer {
2252
+ private noStructuralTyping_shaka_transmuxer_Ec3Transmuxer : any;
2253
+ constructor (mimeType : string ) ;
2254
+ convertCodecs (contentType : any , mimeType : any ) : any ;
2255
+ destroy ( ) : any ;
2256
+ getOrginalMimeType ( ) : any ;
2257
+ /**
2258
+ * Check if the mime type and the content type is supported.
2259
+ */
2260
+ isSupported (mimeType : string , contentType ? : string ) : boolean ;
2261
+ transmux (data : any , stream : any , reference : any , duration : any ) : any ;
2262
+ }
2263
+ }
2264
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2265
+ declare namespace shaka.transmuxer {
2266
+ class Mp3Transmuxer implements shaka.extern.Transmuxer {
2267
+ private noStructuralTyping_shaka_transmuxer_Mp3Transmuxer : any;
2268
+ constructor (mimeType : string ) ;
2269
+ convertCodecs (contentType : any , mimeType : any ) : any ;
2270
+ destroy ( ) : any ;
2271
+ getOrginalMimeType ( ) : any ;
2272
+ /**
2273
+ * Check if the mime type and the content type is supported.
2274
+ */
2275
+ isSupported (mimeType : string , contentType ? : string ) : boolean ;
2276
+ transmux (data : any , stream : any , reference : any , duration : any ) : any ;
2277
+ }
2278
+ }
2279
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2280
+ declare namespace shaka.transmuxer {
2281
+ class MpegTsTransmuxer implements shaka.extern.Transmuxer {
2282
+ private noStructuralTyping_shaka_transmuxer_MpegTsTransmuxer : any;
2283
+ constructor (mimeType : string ) ;
2284
+ convertCodecs (contentType : any , mimeType : any ) : any ;
2285
+ destroy ( ) : any ;
2286
+ getOrginalMimeType ( ) : any ;
2287
+ /**
2288
+ * Check if the mime type and the content type is supported.
2289
+ */
2290
+ isSupported (mimeType : string , contentType ? : string ) : boolean ;
2291
+ transmux (data : any ) : any ;
2292
+ }
2293
+ }
2294
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2295
+ declare namespace shaka.transmuxer {
2296
+ class MssTransmuxer implements shaka.extern.Transmuxer {
2297
+ private noStructuralTyping_shaka_transmuxer_MssTransmuxer : any;
2298
+ constructor (mimeType : string ) ;
2299
+ convertCodecs (contentType : any , mimeType : any ) : any ;
2300
+ destroy ( ) : any ;
2301
+ getOrginalMimeType ( ) : any ;
2302
+ /**
2303
+ * Check if the mime type and the content type is supported.
2304
+ */
2305
+ isSupported (mimeType : string , contentType ? : string ) : boolean ;
2306
+ transmux (data : any , stream : any , reference : any ) : any ;
2307
+ }
2308
+ }
2309
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2310
+ declare namespace shaka.transmuxer {
2311
+ class MuxjsTransmuxer implements shaka.extern.Transmuxer {
2312
+ private noStructuralTyping_shaka_transmuxer_MuxjsTransmuxer : any;
2313
+ constructor (mimeType : string ) ;
2314
+ convertCodecs (contentType : any , mimeType : any ) : any ;
2315
+ destroy ( ) : any ;
2316
+ getOrginalMimeType ( ) : any ;
2317
+ /**
2318
+ * Check if the mime type and the content type is supported.
2319
+ */
2320
+ isSupported (mimeType : string , contentType ? : string ) : boolean ;
2321
+ transmux (data : any ) : any ;
2322
+ }
2323
+ }
2324
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2325
+ declare namespace shaka.transmuxer {
2326
+ class TransmuxerEngine implements shaka.util.IDestroyable {
2327
+ private noStructuralTyping_shaka_transmuxer_TransmuxerEngine : any;
2328
+ destroy ( ) : Promise < any > ;
2329
+ static findTransmuxer (mimeType : string , contentType ? : string ) : ( shaka.extern.TransmuxerPlugin ) | null ;
2330
+ static registerTransmuxer (mimeType : string , plugin : shaka.extern.TransmuxerPlugin , priority : number ) : any ;
2331
+ static unregisterTransmuxer (mimeType : string , priority : number ) : any ;
2332
+ }
2333
+ }
2334
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2335
+ declare namespace shaka.transmuxer.TransmuxerEngine {
2336
+ /**
2337
+ * Priority level for transmuxer plugins.
2338
+ * If multiple plugins are provided for the same mime type, only the
2339
+ * highest-priority one is used.
2340
+ */
2341
+ /**
2342
+ * Priority level for transmuxer plugins.
2343
+ * If multiple plugins are provided for the same mime type, only the
2344
+ * highest-priority one is used.
2345
+ */
2346
+ enum PluginPriority {
2347
+ APPLICATION = 4.0 ,
2348
+ FALLBACK = 1.0 ,
2349
+ PREFERRED = 3.0 ,
2350
+ PREFERRED_SECONDARY = 2.0 ,
2351
+ }
2352
+ }
2353
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2354
+ declare namespace shaka.transmuxer {
2355
+ class TsTransmuxer implements shaka.extern.Transmuxer {
2356
+ private noStructuralTyping_shaka_transmuxer_TsTransmuxer : any;
2357
+ constructor (mimeType : string ) ;
2358
+ convertCodecs (contentType : any , mimeType : any ) : any ;
2359
+ destroy ( ) : any ;
2360
+ getOrginalMimeType ( ) : any ;
2361
+ /**
2362
+ * Check if the mime type and the content type is supported.
2363
+ */
2364
+ isSupported (mimeType : string , contentType ? : string ) : boolean ;
2365
+ transmux (data : any , stream : any , reference : any , duration : any ) : any ;
2366
+ }
2367
+ }
2368
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2085
2369
  declare namespace shaka.util {
2086
2370
  /**
2087
2371
  * A utility to wrap abortable operations. Note that these are not cancelable.
@@ -2138,14 +2422,6 @@ declare namespace shaka.util {
2138
2422
  }
2139
2423
  }
2140
2424
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2141
- declare namespace shaka.util.CmcdManager {
2142
- type ManifestInfo = { format : shaka.util.CmcdManager.StreamingFormat } ;
2143
- }
2144
- // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2145
- declare namespace shaka.util.CmcdManager {
2146
- type SegmentInfo = { bandwidth ? : number , codecs : string , duration : number , init : boolean , mimeType : string , type : string } ;
2147
- }
2148
- // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2149
2425
  declare namespace shaka.util.CmcdManager {
2150
2426
  enum StreamingFormat {
2151
2427
  DASH = 'd' ,
@@ -2320,6 +2596,7 @@ declare namespace shaka.util.Error {
2320
2596
  EBML_BAD_FLOATING_POINT_SIZE = 3003.0 ,
2321
2597
  EBML_OVERFLOW = 3002.0 ,
2322
2598
  ENCRYPTED_CONTENT_WITHOUT_DRM_INFO = 6010.0 ,
2599
+ ERROR_CHECKING_HDCP_VERSION = 6019.0 ,
2323
2600
  EXPIRED = 6014.0 ,
2324
2601
  FAILED_TO_ATTACH_TO_VIDEO = 6003.0 ,
2325
2602
  FAILED_TO_CREATE_CDM = 6002.0 ,
@@ -2361,12 +2638,18 @@ declare namespace shaka.util.Error {
2361
2638
  MALFORMED_TEST_URI = 1008.0 ,
2362
2639
  MEDIA_SOURCE_OPERATION_FAILED = 3014.0 ,
2363
2640
  MEDIA_SOURCE_OPERATION_THREW = 3015.0 ,
2641
+ MIN_HDCP_VERSION_NOT_MATCH = 6018.0 ,
2364
2642
  MISSING_STORAGE_CELL = 9013.0 ,
2365
2643
  MISSING_TEXT_PLUGIN = 2014.0 ,
2366
2644
  MODIFY_OPERATION_NOT_SUPPORTED = 9016.0 ,
2367
2645
  MP4_SIDX_INVALID_TIMESCALE = 3005.0 ,
2368
2646
  MP4_SIDX_TYPE_NOT_SUPPORTED = 3006.0 ,
2369
2647
  MP4_SIDX_WRONG_BOX_TYPE = 3004.0 ,
2648
+ MSS_INVALID_XML = 4046.0 ,
2649
+ MSS_LIVE_CONTENT_NOT_SUPPORTED = 4047.0 ,
2650
+ MSS_MISSING_DATA_FOR_TRANSMUXING = 3020.0 ,
2651
+ MSS_TRANSMUXING_CODEC_UNKNOWN = 3021.0 ,
2652
+ MSS_TRANSMUXING_FAILED = 3022.0 ,
2370
2653
  NEW_KEY_OPERATION_NOT_SUPPORTED = 9011.0 ,
2371
2654
  NO_CAST_RECEIVERS = 8001.0 ,
2372
2655
  NO_INIT_DATA_FOR_OFFLINE = 9007.0 ,
@@ -2464,17 +2747,24 @@ declare namespace shaka.util.EventManager {
2464
2747
  type ListenerType = (a : Event ) => any ;
2465
2748
  }
2466
2749
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2750
+ declare namespace shaka.util {
2751
+ class ExpGolomb {
2752
+ private noStructuralTyping_shaka_util_ExpGolomb : any;
2753
+ constructor (data : Uint8Array ) ;
2754
+ }
2755
+ }
2756
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2467
2757
  declare namespace shaka.util {
2468
2758
  class FairPlayUtils {
2469
2759
  private noStructuralTyping_shaka_util_FairPlayUtils : any;
2470
2760
  /**
2471
2761
  * Common FairPlay response transform for some DRMs providers.
2472
2762
  */
2473
- static commonFairPlayResponse (type : shaka.net.NetworkingEngine.RequestType , response : shaka.extern.Response ) : any ;
2763
+ static commonFairPlayResponse (type : shaka.net.NetworkingEngine.RequestType , response : shaka.extern.Response , context ? : shaka.extern.RequestContext ) : any ;
2474
2764
  /**
2475
2765
  * Conax FairPlay request.
2476
2766
  */
2477
- static conaxFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
2767
+ static conaxFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request , context ? : shaka.extern.RequestContext ) : any ;
2478
2768
  /**
2479
2769
  * Conax initDataTransform configuration.
2480
2770
  */
@@ -2484,10 +2774,18 @@ declare namespace shaka.util {
2484
2774
  * based on the FairPlay example documentation.
2485
2775
  */
2486
2776
  static defaultGetContentId (initData : ArrayBuffer | ArrayBufferView ) : string ;
2777
+ /**
2778
+ * ExpressPlay FairPlay request.
2779
+ */
2780
+ static expressplayFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request , context ? : shaka.extern.RequestContext ) : any ;
2781
+ /**
2782
+ * ExpressPlay initDataTransform configuration.
2783
+ */
2784
+ static expressplayInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
2487
2785
  /**
2488
2786
  * EZDRM FairPlay request.
2489
2787
  */
2490
- static ezdrmFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
2788
+ static ezdrmFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request , context ? : shaka.extern.RequestContext ) : any ;
2491
2789
  /**
2492
2790
  * EZDRM initDataTransform configuration.
2493
2791
  */
@@ -2512,7 +2810,7 @@ declare namespace shaka.util {
2512
2810
  /**
2513
2811
  * Verimatrix FairPlay request.
2514
2812
  */
2515
- static verimatrixFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
2813
+ static verimatrixFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request , context ? : shaka.extern.RequestContext ) : any ;
2516
2814
  /**
2517
2815
  * Verimatrix initDataTransform configuration.
2518
2816
  */
@@ -2597,6 +2895,13 @@ declare namespace shaka.util {
2597
2895
  declare namespace shaka.util {
2598
2896
  class Id3Utils {
2599
2897
  private noStructuralTyping_shaka_util_Id3Utils : any;
2898
+ /**
2899
+ * Returns any adjacent ID3 tags found in data starting at offset, as one
2900
+ * block of data
2901
+ * @param id3Data - The ID3 data containing one or more ID3 tags
2902
+ * @param offset - The offset at which to start searching
2903
+ */
2904
+ static getID3Data (id3Data : Uint8Array | null , offset ? : number ) : Uint8Array ;
2600
2905
  /**
2601
2906
  * Returns an array of ID3 frames found in all the ID3 tags in the id3Data
2602
2907
  * @param id3Data - The ID3 data containing one or more ID3 tags
@@ -2724,9 +3029,14 @@ declare namespace shaka.util {
2724
3029
  private noStructuralTyping_shaka_util_MimeUtils : any;
2725
3030
  /**
2726
3031
  * Takes a MIME type and optional codecs string and produces the full MIME
2727
- * type.
3032
+ * type. Also remove the codecs for raw formats.
2728
3033
  */
2729
3034
  static getFullType (mimeType : string , codecs ? : string ) : string ;
3035
+ /**
3036
+ * Takes a MIME type and optional codecs string and produces the full MIME
3037
+ * type.
3038
+ */
3039
+ static getFullTypeWithAllCodecs (mimeType : string , codecs ? : string ) : string ;
2730
3040
  }
2731
3041
  }
2732
3042
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -2801,6 +3111,20 @@ declare namespace shaka.util.Mp4Parser {
2801
3111
  type CallbackType = (a : shaka.extern.ParsedBox ) => any ;
2802
3112
  }
2803
3113
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
3114
+ declare namespace shaka.util {
3115
+ /**
3116
+ * A utility to combine streams across periods.
3117
+ */
3118
+ class PeriodCombiner implements shaka.util.IReleasable {
3119
+ private noStructuralTyping_shaka_util_PeriodCombiner : any;
3120
+ combinePeriods (periods : shaka.extern.Period [] , isDynamic : boolean ) : Promise < any > ;
3121
+ getImageStreams ( ) : shaka.extern.Stream [] ;
3122
+ getTextStreams ( ) : shaka.extern.Stream [] ;
3123
+ getVariants ( ) : shaka.extern.Variant [] ;
3124
+ release ( ) : any ;
3125
+ }
3126
+ }
3127
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2804
3128
  declare namespace shaka.util {
2805
3129
  class PlayerConfiguration {
2806
3130
  private noStructuralTyping_shaka_util_PlayerConfiguration : any;
@@ -2813,6 +3137,13 @@ declare namespace shaka.util {
2813
3137
  }
2814
3138
  }
2815
3139
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
3140
+ declare namespace shaka.util {
3141
+ class StreamUtils {
3142
+ private noStructuralTyping_shaka_util_StreamUtils : any;
3143
+ static meetsRestrictions (variant : shaka.extern.Variant , restrictions : shaka.extern.Restrictions , maxHwRes : { height : number , width : number } ) : boolean ;
3144
+ }
3145
+ }
3146
+ // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
2816
3147
  declare namespace shaka.util {
2817
3148
  class StringUtils {
2818
3149
  private noStructuralTyping_shaka_util_StringUtils : any;
@@ -2879,6 +3210,57 @@ declare namespace shaka.util {
2879
3210
  declare namespace shaka.util {
2880
3211
  class TsParser {
2881
3212
  private noStructuralTyping_shaka_util_TsParser : any;
3213
+ /**
3214
+ * Clear previous data
3215
+ */
3216
+ clearData ( ) : any ;
3217
+ /**
3218
+ * Return the audio data
3219
+ */
3220
+ getAudioData ( ) : shaka.extern.MPEG_PES [] ;
3221
+ /**
3222
+ * Return the audio and video codecs
3223
+ */
3224
+ getCodecs ( ) : { audio : string | null , video : string | null } ;
3225
+ /**
3226
+ * Return the ID3 metadata
3227
+ */
3228
+ getMetadata ( ) : shaka.extern.ID3Metadata [] ;
3229
+ /**
3230
+ * Return the start time for the audio and video
3231
+ */
3232
+ getStartTime ( ) : { audio : number | null , video : number | null } ;
3233
+ /**
3234
+ * Return the audio data
3235
+ */
3236
+ getVideoData ( ) : shaka.extern.MPEG_PES [] ;
3237
+ /**
3238
+ * Return the video data
3239
+ */
3240
+ getVideoNalus ( ) : shaka.extern.VideoNalu [] ;
3241
+ /**
3242
+ * Return the video resolution
3243
+ */
3244
+ getVideoResolution ( ) : { height : string | null , width : string | null } ;
3245
+ /**
3246
+ * Parse the given data
3247
+ */
3248
+ parse (data : Uint8Array | null ) : shaka.util.TsParser ;
3249
+ /**
3250
+ * Parse AVC Nalus
3251
+ * The code is based on hls.js
3252
+ * Credit to https://github.com/video-dev/hls.js/blob/master/src/demux/tsdemuxer.ts
3253
+ */
3254
+ parseAvcNalus (pes : shaka.extern.MPEG_PES , nextPes ? : shaka.extern.MPEG_PES | null ) : shaka.extern.VideoNalu [] ;
3255
+ static Timescale : number ;
3256
+ /**
3257
+ * Check if the passed data corresponds to an MPEG2-TS
3258
+ */
3259
+ static probe (data : Uint8Array | null ) : boolean ;
3260
+ /**
3261
+ * Returns the synchronization offset
3262
+ */
3263
+ static syncOffset (data : Uint8Array | null ) : number ;
2882
3264
  }
2883
3265
  }
2884
3266
  // Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
@@ -3128,6 +3510,7 @@ declare namespace google.ima {
3128
3510
  skip ( ) : any ;
3129
3511
  start ( ) : any ;
3130
3512
  stop ( ) : any ;
3513
+ updateAdsRenderingSettings (adsRenderingSettings : google.ima.AdsRenderingSettings ) : any ;
3131
3514
  }
3132
3515
  }
3133
3516
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/ima.js
@@ -3137,6 +3520,10 @@ declare namespace google.ima.AdsManagerLoadedEvent {
3137
3520
  }
3138
3521
  }
3139
3522
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/ima.js
3523
+ declare namespace google.ima {
3524
+ type AdsRenderingSettings = { autoAlign : boolean , bitrate : number , enablePreloading : boolean , loadVideoTimeout : number , mimeTypes : string [] | null , playAdsAfterTime : number , restoreCustomPlaybackStateOnAdBreakComplete : boolean , uiElements : string [] | null , useStyledLinearAds : boolean , useStyledNonLinearAds : boolean } ;
3525
+ }
3526
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/ima.js
3140
3527
  declare namespace google.ima {
3141
3528
  type AdsRequest = { adTagUrl ? : string , adsResponse ? : string } ;
3142
3529
  }
@@ -3345,47 +3732,6 @@ declare namespace ಠ_ಠ.clutz {
3345
3732
  }
3346
3733
  }
3347
3734
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3348
- declare namespace muxjs.mp4 {
3349
- class CaptionParser {
3350
- private noStructuralTyping_muxjs_mp4_CaptionParser : any;
3351
- /**
3352
- * Clear the parsed closed captions data for new data.
3353
- */
3354
- clearParsedCaptions ( ) : any ;
3355
- /**
3356
- * Initializes the closed caption parser.
3357
- */
3358
- init ( ) : any ;
3359
- /**
3360
- * Return true if a new video track is selected or if the timescale is
3361
- * changed.
3362
- * @param videoTrackIds A list of video tracks found in the init segment.
3363
- * @param timescales The map of track Ids and the tracks' timescales in the init segment.
3364
- */
3365
- isNewInit (videoTrackIds : number [] , timescales : { [ key: number ]: number } ) : boolean ;
3366
- /**
3367
- * Parses embedded CEA closed captions and interacts with the underlying
3368
- * CaptionStream, and return the parsed captions.
3369
- * @param segment The fmp4 segment containing embedded captions
3370
- * @param videoTrackIds A list of video tracks found in the init segment.
3371
- * @param timescales The timescales found in the init segment.
3372
- */
3373
- parse (segment : Uint8Array , videoTrackIds : number [] , timescales : { [ key: number ]: number } ) : muxjs.mp4.ParsedClosedCaptions ;
3374
- /**
3375
- * Reset the captions stream.
3376
- */
3377
- resetCaptionStream ( ) : any ;
3378
- }
3379
- }
3380
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3381
- declare namespace muxjs.mp4 {
3382
- type ClosedCaption = { endPts : number , endTime : number , startPts : number , startTime : number , stream : string , text : string } ;
3383
- }
3384
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3385
- declare namespace muxjs.mp4 {
3386
- type ParsedClosedCaptions = { captionStreams : { [ key: string ]: boolean } | null , captions : muxjs.mp4.ClosedCaption [] } ;
3387
- }
3388
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3389
3735
  declare namespace muxjs.mp4 {
3390
3736
  class Transmuxer {
3391
3737
  private noStructuralTyping_muxjs_mp4_Transmuxer : any;
@@ -3408,16 +3754,27 @@ declare namespace muxjs.mp4 {
3408
3754
  */
3409
3755
  on (type : string , listener : Function | null ) : any ;
3410
3756
  push (data : Uint8Array ) : any ;
3411
- /**
3412
- * Reset captions.
3413
- */
3414
- resetCaptions ( ) : any ;
3415
3757
  setBaseMediaDecodeTime (time : number ) : any ;
3416
3758
  }
3417
3759
  }
3418
3760
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/mux.js
3419
3761
  declare namespace muxjs.mp4.Transmuxer {
3420
- type Segment = { captions : any [] , data : Uint8Array , initSegment : Uint8Array } ;
3762
+ type Segment = { data : Uint8Array , initSegment : Uint8Array } ;
3763
+ }
3764
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/pictureinpicture.js
3765
+ declare namespace ಠ_ಠ.clutz {
3766
+ class DocumentPictureInPicture implements EventTarget {
3767
+ private noStructuralTyping_DocumentPictureInPicture : any;
3768
+ addEventListener (type : any , listener : any , options : any ) : any ;
3769
+ dispatchEvent (event : any ) : any ;
3770
+ removeEventListener (type : any , listener : any , options : any ) : any ;
3771
+ requestWindow (options : DocumentPictureInPictureOptions ) : Promise < Window | null > ;
3772
+ window : Window | null ;
3773
+ }
3774
+ }
3775
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/pictureinpicture.js
3776
+ declare namespace ಠ_ಠ.clutz {
3777
+ type DocumentPictureInPictureOptions = { height ? : number , width ? : number } ;
3421
3778
  }
3422
3779
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/polyfill.js
3423
3780
  declare namespace window {
@@ -3588,18 +3945,27 @@ declare namespace shaka.extern {
3588
3945
  */
3589
3946
  interface IAd extends shaka.util.IReleasable {
3590
3947
  canSkipNow ( ) : boolean ;
3948
+ getAdId ( ) : string ;
3949
+ getAdvertiserName ( ) : string ;
3950
+ getCreativeAdId ( ) : string ;
3591
3951
  getDescription ( ) : string ;
3592
3952
  getDuration ( ) : number ;
3953
+ getMediaUrl ( ) : string | null ;
3593
3954
  /**
3594
3955
  * Gets the minimum suggested duration. Defaults to being equivalent to
3595
3956
  * getDuration() for server-side ads.
3596
3957
  */
3597
3958
  getMinSuggestedDuration ( ) : number ;
3959
+ getPodIndex ( ) : number ;
3598
3960
  getPositionInSequence ( ) : number ;
3599
3961
  getRemainingTime ( ) : number ;
3600
3962
  getSequenceLength ( ) : number ;
3963
+ getTimeOffset ( ) : number ;
3601
3964
  getTimeUntilSkippable ( ) : number ;
3602
3965
  getTitle ( ) : string ;
3966
+ getVastMediaBitrate ( ) : number ;
3967
+ getVastMediaHeight ( ) : number ;
3968
+ getVastMediaWidth ( ) : number ;
3603
3969
  getVolume ( ) : number ;
3604
3970
  isLinear ( ) : boolean ;
3605
3971
  isMuted ( ) : boolean ;
@@ -3620,13 +3986,19 @@ declare namespace shaka.extern {
3620
3986
  * in the player.
3621
3987
  */
3622
3988
  interface IAdManager extends EventTarget {
3989
+ /**
3990
+ * Called by the Player to provide an updated configuration any time it
3991
+ * changes.
3992
+ * Must be called at least once before init*().
3993
+ */
3994
+ configure (config : shaka.extern.AdsConfiguration ) : any ;
3623
3995
  getServerSideCuePoints ( ) : shaka.extern.AdCuePoint [] ;
3624
3996
  /**
3625
3997
  * Get statistics for the current playback session. If the player is not
3626
3998
  * playing content, this will return an empty stats object.
3627
3999
  */
3628
4000
  getStats ( ) : any ;
3629
- initClientSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
4001
+ initClientSide (adContainer : HTMLElement , video : HTMLMediaElement , adsRenderingSettings : google.ima.AdsRenderingSettings | null ) : any ;
3630
4002
  initServerSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
3631
4003
  onAssetUnload ( ) : any ;
3632
4004
  onCueMetadataChange (value : shaka.extern.MetadataFrame ) : any ;
@@ -3637,6 +4009,7 @@ declare namespace shaka.extern {
3637
4009
  requestClientSideAds (imaRequest : google.ima.AdsRequest ) : any ;
3638
4010
  requestServerSideStream (imaRequest : google.ima.dai.api.StreamRequest , backupUrl ? : string ) : Promise < string > ;
3639
4011
  setLocale (locale : string ) : any ;
4012
+ updateClientSideAdsRenderingSettings (adsRenderingSettings : google.ima.AdsRenderingSettings ) : any ;
3640
4013
  }
3641
4014
  }
3642
4015
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/ads.js
@@ -3646,6 +4019,78 @@ declare namespace shaka.extern.IAdManager {
3646
4019
  */
3647
4020
  type Factory = ( ) => shaka.extern.IAdManager ;
3648
4021
  }
4022
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/cea.js
4023
+ declare namespace shaka.extern {
4024
+ type CaptionDecoderPlugin = ( ) => shaka.extern.ICaptionDecoder ;
4025
+ }
4026
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/cea.js
4027
+ declare namespace shaka.extern {
4028
+ type CeaParserPlugin = ( ) => shaka.extern.ICeaParser ;
4029
+ }
4030
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/cea.js
4031
+ declare namespace shaka.extern {
4032
+ /**
4033
+ * Interface for decoding inband closed captions from packets.
4034
+ */
4035
+ interface ICaptionDecoder {
4036
+ /**
4037
+ * Clears the decoder state completely.
4038
+ * Should be used when an action renders the decoder state invalid,
4039
+ * e.g. unbuffered seeks.
4040
+ */
4041
+ clear ( ) : any ;
4042
+ /**
4043
+ * Decodes all currently extracted packets and then clears them.
4044
+ * This should be called once for a set of extracts (see comment on extract).
4045
+ */
4046
+ decode ( ) : shaka.extern.ICaptionDecoder.ClosedCaption [] ;
4047
+ /**
4048
+ * Extracts packets and prepares them for decoding. In a given media fragment,
4049
+ * all the caption packets found in its SEI messages should be extracted by
4050
+ * successive calls to extract(), followed by a single call to decode().
4051
+ * @param userDataSeiMessage This is a User Data registered by Rec.ITU-T T.35 SEI message. It is described in sections D.1.6 and D.2.6 of Rec. ITU-T H.264 (06/2019).
4052
+ * @param pts PTS when this packet was received, in seconds.
4053
+ */
4054
+ extract (userDataSeiMessage : Uint8Array , pts : number ) : any ;
4055
+ }
4056
+ }
4057
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/cea.js
4058
+ declare namespace shaka.extern.ICaptionDecoder {
4059
+ /**
4060
+ * Parsed Cue.
4061
+ */
4062
+ type ClosedCaption = { cue : shaka.text.Cue , stream : string } ;
4063
+ }
4064
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/cea.js
4065
+ declare namespace shaka.extern {
4066
+ /**
4067
+ * Interface for parsing inband closed caption data from MP4 streams.
4068
+ */
4069
+ interface ICeaParser {
4070
+ /**
4071
+ * Initializes the parser with init segment data.
4072
+ * @param initSegment init segment to parse.
4073
+ */
4074
+ init (initSegment : ArrayBuffer | ArrayBufferView ) : any ;
4075
+ /**
4076
+ * Parses the stream and extracts closed captions packets.
4077
+ * @param mediaSegment media segment to parse.
4078
+ */
4079
+ parse (mediaSegment : ArrayBuffer | ArrayBufferView ) : shaka.extern.ICeaParser.CaptionPacket [] ;
4080
+ }
4081
+ }
4082
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/cea.js
4083
+ declare namespace shaka.extern.ICeaParser {
4084
+ type CaptionPacket = { packet : Uint8Array , pts : number } ;
4085
+ }
4086
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/codecs.js
4087
+ declare namespace shaka.extern {
4088
+ type MPEG_PES = { data : Uint8Array | null , dts : number | null , packetLength : number , pts : number | null } ;
4089
+ }
4090
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/codecs.js
4091
+ declare namespace shaka.extern {
4092
+ type VideoNalu = { data : Uint8Array , fullData : Uint8Array , time : number | null , type : number } ;
4093
+ }
3649
4094
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/error.js
3650
4095
  declare namespace shaka.extern {
3651
4096
  interface Error {
@@ -3690,11 +4135,23 @@ declare namespace shaka.extern {
3690
4135
  }
3691
4136
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3692
4137
  declare namespace shaka.extern {
3693
- type Manifest = { imageStreams : shaka.extern.Stream [] , minBufferTime : number , offlineSessionIds : string [] , presentationTimeline : shaka.media.PresentationTimeline , sequenceMode : boolean , textStreams : shaka.extern.Stream [] , variants : shaka.extern.Variant [] } ;
4138
+ type Manifest = { ignoreManifestTimestampsInSegmentsMode : boolean , imageStreams : shaka.extern.Stream [] , minBufferTime : number , offlineSessionIds : string [] , presentationTimeline : shaka.media.PresentationTimeline , sequenceMode : boolean , serviceDescription : shaka.extern.ServiceDescription | null , textStreams : shaka.extern.Stream [] , type : string , variants : shaka.extern.Variant [] } ;
3694
4139
  }
3695
4140
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3696
4141
  declare namespace shaka.extern {
3697
- type Stream = { audioSamplingRate : number | null , bandwidth ? : number , channelsCount : number | null , closeSegmentIndex ? : ( ) => any , closedCaptions : Map < string , string > | null , codecs : string , createSegmentIndex : shaka.extern.CreateSegmentIndexFunction , drmInfos : shaka.extern.DrmInfo [] , emsgSchemeIdUris : string [] | null , encrypted : boolean , external : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height ? : number , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , matchedStreams ? : any [] , mimeType : string , originalId : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segmentIndex : shaka.media.SegmentIndex | null , spatialAudio : boolean , tilesLayout ? : string , trickModeVideo : any , type : string , width ? : number } ;
4142
+ type MssPrivateData = { codecPrivateData : string | null , duration : number , timescale : number } ;
4143
+ }
4144
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4145
+ declare namespace shaka.extern {
4146
+ type Period = { audioStreams : shaka.extern.Stream [] , id : string , imageStreams : shaka.extern.Stream [] , textStreams : shaka.extern.Stream [] , videoStreams : shaka.extern.Stream [] } ;
4147
+ }
4148
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4149
+ declare namespace shaka.extern {
4150
+ type ServiceDescription = { maxLatency : number | null , maxPlaybackRate : number | null } ;
4151
+ }
4152
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
4153
+ declare namespace shaka.extern {
4154
+ type Stream = { accessibilityPurpose : shaka.media.ManifestParser.AccessibilityPurpose | null , audioSamplingRate : number | null , bandwidth ? : number , channelsCount : number | null , closeSegmentIndex ? : ( ) => any , closedCaptions : Map < string , string > | null , codecs : string , createSegmentIndex : shaka.extern.CreateSegmentIndexFunction , drmInfos : shaka.extern.DrmInfo [] , emsgSchemeIdUris : string [] | null , encrypted : boolean , external : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height ? : number , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , matchedStreams ? : any [] , mimeType : string , mssPrivateData ? : shaka.extern.MssPrivateData , originalId : string | null , originalLanguage : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segmentIndex : shaka.media.SegmentIndex | null , spatialAudio : boolean , tilesLayout ? : string , trickModeVideo : any , type : string , width ? : number } ;
3698
4155
  }
3699
4156
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
3700
4157
  declare namespace shaka.extern {
@@ -3773,7 +4230,7 @@ declare namespace shaka.extern.ManifestParser {
3773
4230
  }
3774
4231
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest_parser.js
3775
4232
  declare namespace shaka.extern.ManifestParser {
3776
- type PlayerInterface = { enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , modifyManifestRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.ManifestInfo ) => any , modifySegmentRequest : (a : shaka.extern.Request , b : shaka.util.CmcdManager.SegmentInfo ) => any , networkingEngine : shaka.net.NetworkingEngine , newDrmInfo : (a : shaka.extern.Stream ) => any , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any , updateDuration : ( ) => any } ;
4233
+ type PlayerInterface = { enableLowLatencyMode : ( ) => any , filter : (a : shaka.extern.Manifest ) => Promise < any > , isAutoLowLatencyMode : ( ) => boolean , isLowLatencyMode : ( ) => boolean , makeTextStreamsForClosedCaptions : (a : shaka.extern.Manifest ) => any , networkingEngine : shaka.net.NetworkingEngine , newDrmInfo : (a : shaka.extern.Stream ) => any , onError : (a : shaka.util.Error ) => any , onEvent : shaka.util.EventManager.ListenerType , onTimelineRegionAdded : (a : shaka.extern.TimelineRegionInfo ) => any , updateDuration : ( ) => any } ;
3777
4234
  }
3778
4235
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/mp4_parser.js
3779
4236
  declare namespace shaka.extern {
@@ -3792,14 +4249,21 @@ declare namespace shaka.extern {
3792
4249
  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 [] } ;
3793
4250
  }
3794
4251
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
4252
+ declare namespace shaka.extern {
4253
+ type RequestContext = { segment ? : shaka.media.SegmentReference | null , stream ? : shaka.extern.Stream , type ? : shaka.net.NetworkingEngine.AdvancedRequestType } ;
4254
+ }
4255
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
3795
4256
  declare namespace shaka.extern {
3796
4257
  /**
3797
4258
  * Defines a filter for requests. This filter takes the request and modifies
3798
4259
  * it before it is sent to the scheme plugin.
3799
- * A request filter can run asynchronously by returning a promise; in this case,
3800
- * the request will not be sent until the promise is resolved.
4260
+ * The RequestType describes the basic type of the request (manifest, segment,
4261
+ * etc). The optional RequestContext will be provided where applicable to
4262
+ * provide additional infomation about the request. A request filter can run
4263
+ * asynchronously by returning a promise; in this case, the request will not be
4264
+ * sent until the promise is resolved.
3801
4265
  */
3802
- type RequestFilter = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Request ) => Promise < any > | void ;
4266
+ type RequestFilter = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Request , c ? : shaka.extern.RequestContext ) => Promise < any > | void ;
3803
4267
  }
3804
4268
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
3805
4269
  declare namespace shaka.extern {
@@ -3810,9 +4274,12 @@ declare namespace shaka.extern {
3810
4274
  /**
3811
4275
  * Defines a filter for responses. This filter takes the response and modifies
3812
4276
  * it before it is returned.
3813
- * A response filter can run asynchronously by returning a promise.
4277
+ * The RequestType describes the basic type of the request (manifest, segment,
4278
+ * etc). The optional RequestContext will be provided where applicable to
4279
+ * provide additional infomation about the request. A response filter can run
4280
+ * asynchronously by returning a promise.
3814
4281
  */
3815
- type ResponseFilter = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Response ) => Promise < any > | void ;
4282
+ type ResponseFilter = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Response , c ? : shaka.extern.RequestContext ) => Promise < any > | void ;
3816
4283
  }
3817
4284
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
3818
4285
  declare namespace shaka.extern {
@@ -3854,7 +4321,7 @@ declare namespace shaka.extern {
3854
4321
  }
3855
4322
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
3856
4323
  declare namespace shaka.extern {
3857
- 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 [] } ;
4324
+ 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 [] , type ? : string } ;
3858
4325
  }
3859
4326
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
3860
4327
  declare namespace shaka.extern {
@@ -3994,7 +4461,7 @@ declare namespace shaka.extern {
3994
4461
  }
3995
4462
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline.js
3996
4463
  declare namespace shaka.extern {
3997
- type StreamDB = { audioSamplingRate : number | null , channelsCount : number | null , closedCaptions : Map < string , string > | null , codecs : string , encrypted : boolean , external : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height : number | null , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , mimeType : string , originalId : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , width : number | null } ;
4464
+ type StreamDB = { audioSamplingRate : number | null , channelsCount : number | null , closedCaptions : Map < string , string > | null , codecs : string , encrypted : boolean , external : boolean , forced : boolean , frameRate ? : number , hdr ? : string , height : number | null , id : number , keyIds : Set < string > , kind ? : string , label : string | null , language : string , mimeType : string , originalId : string | null , originalLanguage ? : string | null , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , width : number | null } ;
3998
4465
  }
3999
4466
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/offline_compat_v1.js
4000
4467
  declare namespace shaka.extern {
@@ -4038,7 +4505,11 @@ declare namespace shaka.extern {
4038
4505
  }
4039
4506
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4040
4507
  declare namespace shaka.extern {
4041
- type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , defaultBandwidthEstimate : number , enabled : boolean , ignoreDevicePixelRatio : boolean , restrictToElementSize : boolean , restrictToScreenSize : boolean , restrictions : shaka.extern.Restrictions , switchInterval : number , useNetworkInformation : boolean } ;
4508
+ type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , clearBufferSwitch : boolean , defaultBandwidthEstimate : number , enabled : boolean , ignoreDevicePixelRatio : boolean , restrictToElementSize : boolean , restrictToScreenSize : boolean , restrictions : shaka.extern.Restrictions , safeMarginSwitch : number , switchInterval : number , useNetworkInformation : boolean } ;
4509
+ }
4510
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4511
+ declare namespace shaka.extern {
4512
+ type AdsConfiguration = { customPlayheadTracker : boolean } ;
4042
4513
  }
4043
4514
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4044
4515
  declare namespace shaka.extern {
@@ -4070,7 +4541,11 @@ declare namespace shaka.extern {
4070
4541
  }
4071
4542
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4072
4543
  declare namespace shaka.extern {
4073
- type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : shaka.extern.InitDataTransform , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , parseInbandPsshEnabled : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
4544
+ type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : shaka.extern.InitDataTransform , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , minHdcpVersion : string , parseInbandPsshEnabled : boolean , persistentSessionOnlinePlayback : boolean , persistentSessionsMetadata : shaka.extern.PersistentSessionMetadata [] , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
4545
+ }
4546
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4547
+ declare namespace shaka.extern {
4548
+ type DrmSessionMetadata = { initData : Uint8Array | null , initDataType : string | null , sessionId : string , sessionType : string } ;
4074
4549
  }
4075
4550
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4076
4551
  declare namespace shaka.extern {
@@ -4082,7 +4557,7 @@ declare namespace shaka.extern {
4082
4557
  }
4083
4558
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4084
4559
  declare namespace shaka.extern {
4085
- type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , useSafariBehaviorForLive : boolean } ;
4560
+ type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreManifestTimestampsInSegmentsMode : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , sequenceMode : boolean , useSafariBehaviorForLive : boolean } ;
4086
4561
  }
4087
4562
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4088
4563
  declare namespace shaka.extern {
@@ -4102,7 +4577,7 @@ declare namespace shaka.extern {
4102
4577
  }
4103
4578
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4104
4579
  declare namespace shaka.extern {
4105
- 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 } ;
4580
+ type ManifestConfiguration = { availabilityWindowOverride : number , dash : shaka.extern.DashManifestConfiguration , defaultPresentationDelay : number , disableAudio : boolean , disableText : boolean , disableThumbnails : boolean , disableVideo : boolean , hls : shaka.extern.HlsManifestConfiguration , mss : shaka.extern.MssManifestConfiguration , raiseFatalErrorOnManifestUpdateRequestFailure : boolean , retryParameters : shaka.extern.RetryParameters , segmentRelativeVttTiming : boolean } ;
4106
4581
  }
4107
4582
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4108
4583
  declare namespace shaka.extern {
@@ -4110,23 +4585,31 @@ declare namespace shaka.extern {
4110
4585
  }
4111
4586
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4112
4587
  declare namespace shaka.extern {
4113
- type MediaSourceConfiguration = { sourceBufferExtraFeatures : string } ;
4588
+ type MediaSourceConfiguration = { forceTransmux : boolean , insertFakeEncryptionInInit : boolean , sourceBufferExtraFeatures : string } ;
4114
4589
  }
4115
4590
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4116
4591
  declare namespace shaka.extern {
4117
- type MetadataFrame = { data : ArrayBuffer | null | string , description : string , key : string } ;
4592
+ type MetadataFrame = { data : ArrayBuffer | null | string | number , description : string , key : string } ;
4118
4593
  }
4119
4594
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4120
4595
  declare namespace shaka.extern {
4121
4596
  type MetadataRawFrame = { data : Uint8Array | null , size : number , type : string } ;
4122
4597
  }
4123
4598
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4599
+ declare namespace shaka.extern {
4600
+ type MssManifestConfiguration = { keySystemsBySystemId : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , sequenceMode : boolean } ;
4601
+ }
4602
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4124
4603
  declare namespace shaka.extern {
4125
4604
  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 } ;
4126
4605
  }
4127
4606
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4128
4607
  declare namespace shaka.extern {
4129
- type PlayerConfiguration = { abr : shaka.extern.AbrConfiguration , abrFactory : shaka.extern.AbrManager.Factory , autoShowText : shaka.config.AutoShowText , cmcd : shaka.extern.CmcdConfiguration , 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 , preferredAudioChannelCount : number , preferredAudioCodecs : string [] , preferredAudioLanguage : string , preferredDecodingAttributes : string [] , preferredTextLanguage : string , preferredTextRole : string , preferredVariantRole : string , preferredVideoCodecs : string [] , restrictions : shaka.extern.Restrictions , streaming : shaka.extern.StreamingConfiguration , textDisplayFactory : shaka.extern.TextDisplayer.Factory } ;
4608
+ type PersistentSessionMetadata = { initData : Uint8Array | null , initDataType : string | null , sessionId : string } ;
4609
+ }
4610
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4611
+ declare namespace shaka.extern {
4612
+ type PlayerConfiguration = { abr : shaka.extern.AbrConfiguration , abrFactory : shaka.extern.AbrManager.Factory , ads : shaka.extern.AdsConfiguration , autoShowText : shaka.config.AutoShowText , cmcd : shaka.extern.CmcdConfiguration , 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 , preferredAudioChannelCount : number , preferredAudioCodecs : string [] , preferredAudioLabel : string , preferredAudioLanguage : string , preferredDecodingAttributes : string [] , preferredTextLanguage : string , preferredTextRole : string , preferredVariantRole : string , preferredVideoCodecs : string [] , preferredVideoHdrLevel : string , restrictions : shaka.extern.Restrictions , streaming : shaka.extern.StreamingConfiguration , textDisplayFactory : shaka.extern.TextDisplayer.Factory } ;
4130
4613
  }
4131
4614
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4132
4615
  declare namespace shaka.extern {
@@ -4146,7 +4629,7 @@ declare namespace shaka.extern {
4146
4629
  }
4147
4630
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4148
4631
  declare namespace shaka.extern {
4149
- type StreamingConfiguration = { alwaysStreamText : boolean , autoLowLatencyMode : boolean , bufferBehind : number , bufferingGoal : number , dispatchAllEmsgBoxes : boolean , durationBackoff : number , failureCallback : (a : shaka.util.Error ) => any , forceHTTPS : boolean , forceTransmux : boolean , gapDetectionThreshold : number , ignoreTextStreamFailures : boolean , inaccurateManifestTolerance : number , lowLatencyMode : boolean , maxDisabledTime : number , observeQualityChanges : boolean , parsePrftBox : boolean , preferNativeHls : boolean , rebufferingGoal : number , retryParameters : shaka.extern.RetryParameters , safeSeekOffset : number , stallEnabled : boolean , stallSkip : number , stallThreshold : number , startAtSegmentBoundary : boolean , updateIntervalSeconds : number , useNativeHlsOnSafari : boolean } ;
4632
+ type StreamingConfiguration = { 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 , liveSyncPlaybackRate : number , lowLatencyMode : boolean , maxDisabledTime : 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 } ;
4150
4633
  }
4151
4634
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4152
4635
  declare namespace shaka.extern {
@@ -4162,7 +4645,7 @@ declare namespace shaka.extern {
4162
4645
  }
4163
4646
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4164
4647
  declare namespace shaka.extern {
4165
- 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 } ;
4648
+ type Track = { accessibilityPurpose : shaka.media.ManifestParser.AccessibilityPurpose | null , 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 , originalLanguage : 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 } ;
4166
4649
  }
4167
4650
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
4168
4651
  declare namespace shaka.extern {
@@ -4173,237 +4656,6 @@ declare namespace shaka.extern {
4173
4656
  type TrackList = shaka.extern.Track [] ;
4174
4657
  }
4175
4658
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
4176
- declare namespace shaka.extern {
4177
- interface Cue {
4178
- /**
4179
- * Text background color as a CSS color, e.g. "#FFFFFF" or "white".
4180
- */
4181
- backgroundColor : string ;
4182
- /**
4183
- * The URL of the background image, e.g. "data:[mime type];base64,[data]".
4184
- */
4185
- backgroundImage : string ;
4186
- /**
4187
- * The border around this cue as a CSS border.
4188
- */
4189
- border : string ;
4190
- /**
4191
- * The number of horizontal and vertical cells into which the Root Container
4192
- * Region area is divided.
4193
- */
4194
- cellResolution : { columns : number , rows : number } ;
4195
- /**
4196
- * Text color as a CSS color, e.g. "#FFFFFF" or "white".
4197
- */
4198
- color : string ;
4199
- /**
4200
- * Text direction of the cue.
4201
- */
4202
- direction : shaka.text.Cue.direction ;
4203
- /**
4204
- * Vertical alignments of the cues within their extents.
4205
- * 'BEFORE' means displaying the captions at the top of the text display
4206
- * container box, 'CENTER' means in the middle, 'AFTER' means at the bottom.
4207
- */
4208
- displayAlign : shaka.text.Cue.displayAlign ;
4209
- /**
4210
- * The end time of the cue in seconds, relative to the start of the
4211
- * presentation.
4212
- */
4213
- endTime : number ;
4214
- /**
4215
- * Text font family.
4216
- */
4217
- fontFamily : string ;
4218
- /**
4219
- * Text font size in px or em (e.g. '100px'/'100em').
4220
- */
4221
- fontSize : string ;
4222
- /**
4223
- * Text font style. Normal, italic or oblique.
4224
- */
4225
- fontStyle : shaka.text.Cue.fontStyle ;
4226
- /**
4227
- * Text font weight. Either normal or bold.
4228
- */
4229
- fontWeight : shaka.text.Cue.fontWeight ;
4230
- /**
4231
- * Id of the cue.
4232
- */
4233
- id : string ;
4234
- /**
4235
- * If true, this represents a container element that is "above" the main
4236
- * cues. For example, the <body> and <div> tags that contain the <p> tags
4237
- * in a TTML file. This controls the flow of the final cues; any nested cues
4238
- * within an "isContainer" cue will be laid out as separate lines.
4239
- */
4240
- isContainer : boolean ;
4241
- /**
4242
- * Text letter spacing as a CSS letter-spacing value.
4243
- */
4244
- letterSpacing : string ;
4245
- /**
4246
- * The offset from the display box in either number of lines or
4247
- * percentage depending on the value of lineInterpretation.
4248
- */
4249
- line : number | null ;
4250
- /**
4251
- * Line alignment of the cue box.
4252
- * Start alignment means the cue box’s top side (for horizontal cues), left
4253
- * side (for vertical growing right), or right side (for vertical growing
4254
- * left) is aligned at the line.
4255
- * Center alignment means the cue box is centered at the line.
4256
- * End alignment The cue box’s bottom side (for horizontal cues), right side
4257
- * (for vertical growing right), or left side (for vertical growing left) is
4258
- * aligned at the line.
4259
- */
4260
- lineAlign : shaka.text.Cue.lineAlign ;
4261
- /**
4262
- * Whether or not the cue only acts as a line break between two nested cues.
4263
- * Should only appear in nested cues.
4264
- */
4265
- lineBreak : boolean ;
4266
- /**
4267
- * Separation between line areas inside the cue box in px or em
4268
- * (e.g. '100px'/'100em'). If not specified, this should be no less than
4269
- * the largest font size applied to the text in the cue.
4270
- */
4271
- lineHeight : string ;
4272
- /**
4273
- * The way to interpret line field. (Either as an integer line number or
4274
- * percentage from the display box).
4275
- */
4276
- lineInterpretation : shaka.text.Cue.lineInterpretation ;
4277
- /**
4278
- * Text line padding as a CSS line-padding value.
4279
- */
4280
- linePadding : string ;
4281
- /**
4282
- * Nested cues, which should be laid out horizontally in one block.
4283
- * Top-level cues are blocks, and nested cues are inline elements.
4284
- * Cues can be nested arbitrarily deeply.
4285
- */
4286
- nestedCues : shaka.extern.Cue [] ;
4287
- /**
4288
- * Opacity of the cue element, from 0-1.
4289
- */
4290
- opacity : number ;
4291
- /**
4292
- * The text payload of the cue. If nestedCues is non-empty, this should be
4293
- * empty. Top-level block containers should have no payload of their own.
4294
- */
4295
- payload : string ;
4296
- /**
4297
- * The indent (in percent) of the cue box in the direction defined by the
4298
- * writing direction.
4299
- */
4300
- position : number | null ;
4301
- /**
4302
- * Position alignment of the cue.
4303
- */
4304
- positionAlign : shaka.text.Cue.positionAlign ;
4305
- /**
4306
- * The region to render the cue into. Only supported on top-level cues,
4307
- * because nested cues are inline elements.
4308
- */
4309
- region : shaka.extern.CueRegion | null ;
4310
- /**
4311
- * Size of the cue box (in percents), where 0 means "auto".
4312
- */
4313
- size : number ;
4314
- /**
4315
- * The start time of the cue in seconds, relative to the start of the
4316
- * presentation.
4317
- */
4318
- startTime : number ;
4319
- /**
4320
- * Alignment of the text inside the cue box.
4321
- */
4322
- textAlign : shaka.text.Cue.textAlign ;
4323
- /**
4324
- * Text decoration. A combination of underline, overline
4325
- * and line through. Empty array means no decoration.
4326
- */
4327
- textDecoration : shaka.text.Cue.textDecoration [] ;
4328
- /**
4329
- * Text shadow color as a CSS text-shadow value.
4330
- */
4331
- textShadow : string ;
4332
- /**
4333
- * Text stroke color as a CSS color, e.g. "#FFFFFF" or "white".
4334
- */
4335
- textStrokeColor : string ;
4336
- /**
4337
- * Text stroke width as a CSS stroke-width value.
4338
- */
4339
- textStrokeWidth : string ;
4340
- /**
4341
- * Whether or not line wrapping should be applied to the cue.
4342
- */
4343
- wrapLine : boolean ;
4344
- /**
4345
- * Text writing mode of the cue.
4346
- */
4347
- writingMode : shaka.text.Cue.writingMode ;
4348
- }
4349
- }
4350
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
4351
- declare namespace shaka.extern {
4352
- interface CueRegion {
4353
- /**
4354
- * The width of the rendering area in heightUnits.
4355
- */
4356
- height : number ;
4357
- /**
4358
- * The units (percentage, pixels or lines) the region height is in.
4359
- */
4360
- heightUnits : shaka.text.CueRegion.units ;
4361
- /**
4362
- * Region identifier.
4363
- */
4364
- id : string ;
4365
- /**
4366
- * The X offset to start the rendering area in percentage (0-100) of this
4367
- * region width.
4368
- */
4369
- regionAnchorX : number ;
4370
- /**
4371
- * The Y offset to start the rendering area in percentage (0-100) of the
4372
- * region height.
4373
- */
4374
- regionAnchorY : number ;
4375
- /**
4376
- * If scroll=UP, it means that cues in the region will be added to the
4377
- * bottom of the region and will push any already displayed cues in the
4378
- * region up. Otherwise (scroll=NONE) cues will stay fixed at the location
4379
- * they were first painted in.
4380
- */
4381
- scroll : shaka.text.CueRegion.scrollMode ;
4382
- /**
4383
- * The units (percentage or pixels) the region viewportAnchors are in.
4384
- */
4385
- viewportAnchorUnits : shaka.text.CueRegion.units ;
4386
- /**
4387
- * The X offset to start the rendering area in viewportAnchorUnits of the
4388
- * video width.
4389
- */
4390
- viewportAnchorX : number ;
4391
- /**
4392
- * The X offset to start the rendering area in viewportAnchorUnits of the
4393
- * video height.
4394
- */
4395
- viewportAnchorY : number ;
4396
- /**
4397
- * The width of the rendering area in widthUnits.
4398
- */
4399
- width : number ;
4400
- /**
4401
- * The units (percentage or pixels) the region width is in.
4402
- */
4403
- widthUnits : shaka.text.CueRegion.units ;
4404
- }
4405
- }
4406
- // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/text.js
4407
4659
  declare namespace shaka.extern {
4408
4660
  interface TextDisplayer extends shaka.util.IDestroyable {
4409
4661
  /**
@@ -4454,7 +4706,7 @@ declare namespace shaka.extern {
4454
4706
  * @param data The next section of buffer.
4455
4707
  * @param timeContext The time information that should be used to adjust the times values for each cue.
4456
4708
  */
4457
- parseMedia (data : Uint8Array , timeContext : shaka.extern.TextParser.TimeContext ) : shaka.extern.Cue [] ;
4709
+ parseMedia (data : Uint8Array , timeContext : shaka.extern.TextParser.TimeContext ) : shaka.text.Cue [] ;
4458
4710
  /**
4459
4711
  * Notifies the stream if the manifest is in sequence mode or not.
4460
4712
  */
@@ -4472,6 +4724,39 @@ declare namespace shaka.extern.TextParser {
4472
4724
  declare namespace shaka.extern {
4473
4725
  type TextParserPlugin = ( ) => shaka.extern.TextParser ;
4474
4726
  }
4727
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/transmuxer.js
4728
+ declare namespace shaka.extern {
4729
+ /**
4730
+ * An interface for transmuxer plugins.
4731
+ */
4732
+ interface Transmuxer {
4733
+ /**
4734
+ * For any stream, convert its codecs to MP4 codecs.
4735
+ */
4736
+ convertCodecs (contentType : string , mimeType : string ) : string ;
4737
+ /**
4738
+ * Destroy
4739
+ */
4740
+ destroy ( ) : any ;
4741
+ /**
4742
+ * Returns the original mimetype of the transmuxer.
4743
+ */
4744
+ getOrginalMimeType ( ) : string ;
4745
+ /**
4746
+ * Check if the mime type and the content type is supported.
4747
+ */
4748
+ isSupported (mimeType : string , contentType ? : string ) : boolean ;
4749
+ /**
4750
+ * Transmux a input data to MP4.
4751
+ * @param reference The segment reference, or null for init segments
4752
+ */
4753
+ transmux (data : ArrayBuffer | ArrayBufferView , stream : shaka.extern.Stream , reference : shaka.media.SegmentReference | null , duration : number ) : Promise < Uint8Array > ;
4754
+ }
4755
+ }
4756
+ // Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/transmuxer.js
4757
+ declare namespace shaka.extern {
4758
+ type TransmuxerPlugin = ( ) => shaka.extern.Transmuxer ;
4759
+ }
4475
4760
  // Generated from /home/runner/work/shaka-player/shaka-player/externs/tippy.js
4476
4761
  declare namespace ಠ_ಠ.clutz {
4477
4762
  /**