shaka-player 4.3.11 → 4.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/AUTHORS +9 -0
  2. package/CHANGELOG.md +303 -202
  3. package/CONTRIBUTORS +8 -0
  4. package/LICENSE +32 -0
  5. package/README.md +63 -10
  6. package/demo/autoTemplate.txt +40 -5
  7. package/demo/close_button.js +11 -0
  8. package/demo/common/asset.js +13 -1
  9. package/demo/common/assets.js +53 -3
  10. package/demo/common/message_ids.js +25 -1
  11. package/demo/config.js +69 -10
  12. package/demo/customWarning.txt +2 -2
  13. package/demo/index.html +3 -1
  14. package/demo/locales/en.json +26 -2
  15. package/demo/locales/source.json +105 -9
  16. package/demo/main.js +52 -9
  17. package/demo/search.js +3 -1
  18. package/demo/service_worker.js +3 -0
  19. package/dist/controls.css +1 -1
  20. package/dist/controls.css.map +1 -1
  21. package/dist/demo.compiled.debug.js +124 -112
  22. package/dist/demo.compiled.debug.map +3 -3
  23. package/dist/demo.compiled.js +124 -112
  24. package/dist/demo.compiled.map +3 -3
  25. package/dist/deps.js +46 -28
  26. package/dist/locales.js +33 -33
  27. package/dist/receiver.compiled.debug.js +52 -46
  28. package/dist/receiver.compiled.debug.map +3 -3
  29. package/dist/receiver.compiled.js +52 -46
  30. package/dist/receiver.compiled.map +3 -3
  31. package/dist/shaka-player.compiled.d.ts +676 -391
  32. package/dist/shaka-player.compiled.debug.d.ts +676 -391
  33. package/dist/shaka-player.compiled.debug.externs.js +1188 -616
  34. package/dist/shaka-player.compiled.debug.js +1043 -699
  35. package/dist/shaka-player.compiled.debug.map +4 -4
  36. package/dist/shaka-player.compiled.externs.js +1188 -616
  37. package/dist/shaka-player.compiled.js +1091 -929
  38. package/dist/shaka-player.compiled.map +4 -4
  39. package/dist/shaka-player.ui.d.ts +677 -392
  40. package/dist/shaka-player.ui.debug.d.ts +677 -392
  41. package/dist/shaka-player.ui.debug.externs.js +1023 -451
  42. package/dist/shaka-player.ui.debug.js +1098 -737
  43. package/dist/shaka-player.ui.debug.map +4 -4
  44. package/dist/shaka-player.ui.externs.js +1023 -451
  45. package/dist/shaka-player.ui.js +1246 -1071
  46. package/dist/shaka-player.ui.map +4 -4
  47. package/docs/tutorials/ad_monetization.md +15 -1
  48. package/docs/tutorials/application-level-redirects.md +1 -1
  49. package/docs/tutorials/config.md +9 -5
  50. package/docs/tutorials/drm-config.md +61 -0
  51. package/docs/tutorials/fairplay.md +19 -4
  52. package/docs/tutorials/license-server-auth.md +4 -4
  53. package/docs/tutorials/license-wrapping.md +2 -2
  54. package/docs/tutorials/ui-customization.md +7 -3
  55. package/docs/tutorials/ui.md +7 -7
  56. package/docs/tutorials/upgrade.md +3 -0
  57. package/externs/ima.js +123 -2
  58. package/externs/isoboxer.js +217 -0
  59. package/externs/mediakeys.js +18 -0
  60. package/externs/mux.js +1 -105
  61. package/externs/pictureinpicture.js +48 -0
  62. package/externs/shaka/ads.js +61 -1
  63. package/externs/shaka/cea.js +110 -0
  64. package/externs/shaka/codecs.js +32 -0
  65. package/externs/shaka/manifest.js +101 -1
  66. package/externs/shaka/manifest_parser.js +0 -10
  67. package/externs/shaka/net.js +36 -7
  68. package/externs/shaka/offline.js +8 -1
  69. package/externs/shaka/player.js +220 -21
  70. package/externs/shaka/text.js +1 -382
  71. package/externs/shaka/transmuxer.js +60 -0
  72. package/karma.conf.js +13 -0
  73. package/lib/abr/simple_abr_manager.js +6 -3
  74. package/lib/ads/ad_manager.js +60 -2
  75. package/lib/ads/client_side_ad.js +86 -0
  76. package/lib/ads/client_side_ad_manager.js +79 -3
  77. package/lib/ads/server_side_ad.js +86 -0
  78. package/lib/ads/server_side_ad_manager.js +13 -0
  79. package/lib/cast/cast_utils.js +1 -0
  80. package/lib/cea/cea608_data_channel.js +24 -14
  81. package/lib/cea/cea608_memory.js +5 -2
  82. package/lib/cea/cea708_service.js +8 -9
  83. package/lib/cea/cea708_window.js +1 -2
  84. package/lib/cea/cea_decoder.js +23 -6
  85. package/lib/cea/cea_utils.js +25 -2
  86. package/lib/cea/dummy_caption_decoder.js +21 -0
  87. package/lib/cea/dummy_cea_parser.js +1 -3
  88. package/lib/cea/mp4_cea_parser.js +15 -10
  89. package/lib/cea/ts_cea_parser.js +69 -0
  90. package/lib/dash/content_protection.js +32 -2
  91. package/lib/dash/dash_parser.js +93 -31
  92. package/lib/dash/mpd_utils.js +6 -25
  93. package/lib/dash/segment_base.js +12 -14
  94. package/lib/dash/segment_list.js +10 -6
  95. package/lib/dash/segment_template.js +349 -32
  96. package/lib/dependencies/all.js +8 -0
  97. package/lib/hls/hls_classes.js +33 -8
  98. package/lib/hls/hls_parser.js +805 -191
  99. package/lib/hls/manifest_text_parser.js +4 -14
  100. package/lib/media/adaptation_set_criteria.js +43 -3
  101. package/lib/media/closed_caption_parser.js +74 -12
  102. package/lib/media/drm_engine.js +189 -49
  103. package/lib/media/gap_jumping_controller.js +1 -1
  104. package/lib/media/manifest_parser.js +34 -0
  105. package/lib/media/media_source_capabilities.js +10 -0
  106. package/lib/media/media_source_engine.js +495 -231
  107. package/lib/media/playhead.js +1 -1
  108. package/lib/media/presentation_timeline.js +62 -0
  109. package/lib/media/segment_index.js +50 -14
  110. package/lib/media/segment_prefetch.js +277 -0
  111. package/lib/media/segment_reference.js +70 -4
  112. package/lib/media/streaming_engine.js +258 -81
  113. package/lib/media/video_wrapper.js +15 -7
  114. package/lib/mss/content_protection.js +353 -0
  115. package/lib/mss/mss_parser.js +1082 -0
  116. package/lib/net/networking_engine.js +60 -10
  117. package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
  118. package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
  119. package/lib/offline/manifest_converter.js +6 -0
  120. package/lib/offline/storage.js +2 -4
  121. package/lib/player.js +309 -105
  122. package/lib/polyfill/media_capabilities.js +43 -3
  123. package/lib/polyfill/patchedmediakeys_apple.js +5 -0
  124. package/lib/polyfill/patchedmediakeys_nop.js +5 -0
  125. package/lib/polyfill/patchedmediakeys_webkit.js +5 -0
  126. package/lib/text/cue.js +208 -130
  127. package/lib/text/lrc_text_parser.js +2 -2
  128. package/lib/text/mp4_vtt_parser.js +2 -2
  129. package/lib/text/sbv_text_parser.js +1 -1
  130. package/lib/text/simple_text_displayer.js +1 -1
  131. package/lib/text/srt_text_parser.js +9 -1
  132. package/lib/text/ssa_text_parser.js +2 -2
  133. package/lib/text/text_engine.js +3 -21
  134. package/lib/text/text_utils.js +71 -20
  135. package/lib/text/ui_text_displayer.js +14 -14
  136. package/lib/text/vtt_text_parser.js +22 -14
  137. package/lib/transmuxer/aac_transmuxer.js +224 -0
  138. package/lib/transmuxer/ac3.js +142 -0
  139. package/lib/transmuxer/ac3_transmuxer.js +213 -0
  140. package/lib/transmuxer/adts.js +232 -0
  141. package/lib/transmuxer/ec3.js +103 -0
  142. package/lib/transmuxer/ec3_transmuxer.js +213 -0
  143. package/lib/transmuxer/h264.js +324 -0
  144. package/lib/transmuxer/mp3_transmuxer.js +205 -0
  145. package/lib/transmuxer/mpeg_audio.js +196 -0
  146. package/lib/transmuxer/mpeg_ts_transmuxer.js +182 -0
  147. package/lib/transmuxer/mss_transmuxer.js +389 -0
  148. package/lib/{media/transmuxer.js → transmuxer/muxjs_transmuxer.js} +34 -80
  149. package/lib/transmuxer/transmuxer_engine.js +161 -0
  150. package/lib/transmuxer/ts_transmuxer.js +721 -0
  151. package/lib/util/cmcd_manager.js +131 -71
  152. package/lib/util/error.js +62 -26
  153. package/lib/util/exp_golomb.js +220 -0
  154. package/lib/util/fairplay_utils.js +64 -13
  155. package/lib/util/id3_utils.js +56 -3
  156. package/lib/util/language_utils.js +11 -8
  157. package/lib/util/manifest_parser_utils.js +3 -0
  158. package/lib/util/mime_utils.js +44 -7
  159. package/lib/util/mp4_box_parsers.js +233 -5
  160. package/lib/util/mp4_generator.js +1388 -0
  161. package/lib/util/periods.js +40 -34
  162. package/lib/util/platform.js +17 -3
  163. package/lib/util/player_configuration.js +38 -1
  164. package/lib/util/stream_utils.js +138 -27
  165. package/lib/util/text_parser.js +1 -1
  166. package/lib/util/ts_parser.js +460 -74
  167. package/lib/util/xml_utils.js +16 -3
  168. package/maintained-branches.md +2 -2
  169. package/package.json +3 -1
  170. package/roadmap.md +21 -6
  171. package/shaka-player.uncompiled.js +18 -0
  172. package/test/abr/simple_abr_manager_unit.js +32 -4
  173. package/test/ads/ad_manager_unit.js +18 -2
  174. package/test/cast/cast_utils_unit.js +7 -2
  175. package/test/cea/cea608_memory_unit.js +24 -0
  176. package/test/cea/cea_decoder_unit.js +33 -0
  177. package/test/dash/dash_parser_content_protection_unit.js +93 -3
  178. package/test/dash/dash_parser_live_unit.js +56 -13
  179. package/test/dash/dash_parser_manifest_unit.js +70 -2
  180. package/test/dash/dash_parser_segment_base_unit.js +14 -9
  181. package/test/dash/dash_parser_segment_template_unit.js +286 -6
  182. package/test/demo/demo_unit.js +5 -1
  183. package/test/hls/hls_live_unit.js +188 -28
  184. package/test/hls/hls_parser_unit.js +250 -109
  185. package/test/hls/manifest_text_parser_unit.js +18 -13
  186. package/test/media/adaptation_set_criteria_unit.js +46 -14
  187. package/test/media/adaptation_set_unit.js +2 -0
  188. package/test/media/drm_engine_integration.js +11 -8
  189. package/test/media/drm_engine_unit.js +220 -7
  190. package/test/media/media_source_engine_integration.js +124 -40
  191. package/test/media/media_source_engine_unit.js +133 -153
  192. package/test/media/playhead_unit.js +3 -0
  193. package/test/media/presentation_timeline_unit.js +51 -0
  194. package/test/media/segment_index_unit.js +52 -0
  195. package/test/media/segment_prefetch_unit.js +243 -0
  196. package/test/media/streaming_engine_integration.js +9 -3
  197. package/test/media/streaming_engine_unit.js +440 -59
  198. package/test/mss/mss_parser_content_protection_unit.js +49 -0
  199. package/test/mss/mss_parser_unit.js +472 -0
  200. package/test/mss/mss_player_integration.js +123 -0
  201. package/test/offline/manifest_convert_unit.js +9 -0
  202. package/test/offline/storage_integration.js +6 -1
  203. package/test/player_unit.js +386 -133
  204. package/test/polyfill/media_capabilities_unit.js +18 -0
  205. package/test/test/assets/hls-raw-aac/fileSequence0.aac +0 -0
  206. package/test/test/assets/hls-raw-aac/fileSequence1.aac +0 -0
  207. package/test/test/assets/hls-raw-aac/fileSequence2.aac +0 -0
  208. package/test/test/assets/hls-raw-aac/fileSequence3.aac +0 -0
  209. package/test/test/assets/hls-raw-aac/manifest.m3u8 +4 -0
  210. package/test/test/assets/hls-raw-aac/stream.m4a.m3u8 +14 -0
  211. package/test/test/assets/hls-raw-ac3/fileSequence0.ac3 +0 -0
  212. package/test/test/assets/hls-raw-ac3/fileSequence1.ac3 +0 -0
  213. package/test/test/assets/hls-raw-ac3/fileSequence2.ac3 +0 -0
  214. package/test/test/assets/hls-raw-ac3/fileSequence3.ac3 +0 -0
  215. package/test/test/assets/hls-raw-ac3/fileSequence4.ac3 +0 -0
  216. package/test/test/assets/hls-raw-ac3/fileSequence5.ac3 +0 -0
  217. package/test/test/assets/hls-raw-ac3/fileSequence6.ac3 +0 -0
  218. package/test/test/assets/hls-raw-ac3/fileSequence7.ac3 +0 -0
  219. package/test/test/assets/hls-raw-ac3/prog_index.m3u8 +31 -0
  220. package/test/test/assets/hls-raw-ec3/fileSequence0.ec3 +0 -0
  221. package/test/test/assets/hls-raw-ec3/fileSequence1.ec3 +0 -0
  222. package/test/test/assets/hls-raw-ec3/fileSequence2.ec3 +0 -0
  223. package/test/test/assets/hls-raw-ec3/fileSequence3.ec3 +0 -0
  224. package/test/test/assets/hls-raw-ec3/fileSequence4.ec3 +0 -0
  225. package/test/test/assets/hls-raw-ec3/fileSequence5.ec3 +0 -0
  226. package/test/test/assets/hls-raw-ec3/fileSequence6.ec3 +0 -0
  227. package/test/test/assets/hls-raw-ec3/fileSequence7.ec3 +0 -0
  228. package/test/test/assets/hls-raw-ec3/prog_index.m3u8 +31 -0
  229. package/test/test/assets/hls-raw-mp3/chunklist_w905519204.m3u8 +13 -0
  230. package/test/test/assets/hls-raw-mp3/media_w905519204_0.mp3 +0 -0
  231. package/test/test/assets/hls-raw-mp3/media_w905519204_1.mp3 +0 -0
  232. package/test/test/assets/hls-raw-mp3/media_w905519204_2.mp3 +0 -0
  233. package/test/test/assets/hls-raw-mp3/media_w905519204_3.mp3 +0 -0
  234. package/test/test/assets/hls-raw-mp3/playlist.m3u8 +4 -0
  235. package/test/test/assets/hls-ts-aac/playlist.m3u8 +23 -0
  236. package/test/test/assets/hls-ts-aac/segment_0.ts +0 -0
  237. package/test/test/assets/hls-ts-aac/segment_1.ts +0 -0
  238. package/test/test/assets/hls-ts-aac/segment_2.ts +0 -0
  239. package/test/test/assets/hls-ts-aac/segment_3.ts +0 -0
  240. package/test/test/assets/hls-ts-aac/segment_4.ts +0 -0
  241. package/test/test/assets/hls-ts-aac/segment_5.ts +0 -0
  242. package/test/test/assets/hls-ts-aac/segment_6.ts +0 -0
  243. package/test/test/assets/hls-ts-aac/segment_7.ts +0 -0
  244. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0000.ts +0 -0
  245. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0001.ts +0 -0
  246. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0002.ts +0 -0
  247. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0003.ts +0 -0
  248. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0004.ts +0 -0
  249. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0005.ts +0 -0
  250. package/test/test/assets/hls-ts-ac3/prog_index.m3u8 +19 -0
  251. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0000.ts +0 -0
  252. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0001.ts +0 -0
  253. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0002.ts +0 -0
  254. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0003.ts +0 -0
  255. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0004.ts +0 -0
  256. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0005.ts +0 -0
  257. package/test/test/assets/hls-ts-ec3/prog_index.m3u8 +19 -0
  258. package/test/test/assets/hls-ts-h264/fileSequence0.ts +0 -0
  259. package/test/test/assets/hls-ts-h264/fileSequence1.ts +0 -0
  260. package/test/test/assets/hls-ts-h264/fileSequence2.ts +0 -0
  261. package/test/test/assets/hls-ts-h264/fileSequence3.ts +0 -0
  262. package/test/test/assets/hls-ts-h264/fileSequence4.ts +0 -0
  263. package/test/test/assets/hls-ts-h264/fileSequence5.ts +0 -0
  264. package/test/test/assets/hls-ts-h264/prog_index.m3u8 +25 -0
  265. package/test/test/assets/hls-ts-mp3/manifest.m3u8 +13 -0
  266. package/test/test/assets/hls-ts-mp3/media_w239891843_0.ts +0 -0
  267. package/test/test/assets/hls-ts-mp3/media_w239891843_1.ts +0 -0
  268. package/test/test/assets/hls-ts-mp3/media_w239891843_2.ts +0 -0
  269. package/test/test/assets/hls-ts-mp3/media_w239891843_3.ts +0 -0
  270. package/test/test/assets/hls-ts-muxed-aac-h264/chunk.m3u8 +17 -0
  271. package/test/test/assets/hls-ts-muxed-aac-h264/n_0_0_0.ts +0 -0
  272. package/test/test/assets/hls-ts-muxed-aac-h264/n_1_0_0.ts +0 -0
  273. package/test/test/assets/hls-ts-muxed-aac-h264/n_2_0_0.ts +0 -0
  274. package/test/test/assets/hls-ts-muxed-aac-h264/n_3_0_0.ts +0 -0
  275. package/test/test/assets/hls-ts-muxed-aac-h264/n_4_0_0.ts +0 -0
  276. package/test/test/assets/hls-ts-muxed-aac-h264/n_5_0_0.ts +0 -0
  277. package/test/test/assets/hls-ts-muxed-aac-h264/playlist.m3u8 +4 -0
  278. package/test/test/boot.js +7 -2
  279. package/test/test/util/fake_ad.js +99 -0
  280. package/test/test/util/fake_ad_manager.js +7 -1
  281. package/test/test/util/fake_networking_engine.js +41 -14
  282. package/test/test/util/fake_segment_prefetch.js +81 -0
  283. package/test/test/util/manifest_generator.js +19 -5
  284. package/test/test/util/mss_parser_util.js +115 -0
  285. package/test/test/util/offline_utils.js +1 -0
  286. package/test/test/util/simple_fakes.js +12 -3
  287. package/test/test/util/streaming_engine_util.js +14 -4
  288. package/test/test/util/ttml_utils.js +2 -2
  289. package/test/text/cue_integration.js +1 -1
  290. package/test/text/srt_text_parser_unit.js +78 -0
  291. package/test/text/text_engine_unit.js +17 -8
  292. package/test/text/ui_text_displayer_unit.js +4 -4
  293. package/test/text/vtt_text_parser_unit.js +59 -40
  294. package/test/text/web_vtt_generator_unit.js +9 -3
  295. package/test/{media/transmuxer_integration.js → transmuxer/muxjs_transmuxer_integration.js} +30 -33
  296. package/test/transmuxer/transmuxer_engine_integration.js +60 -0
  297. package/test/transmuxer/transmuxer_integration.js +296 -0
  298. package/test/util/cmcd_manager_unit.js +162 -13
  299. package/test/util/language_utils_unit.js +9 -2
  300. package/test/util/mp4_box_parsers_unit.js +39 -4
  301. package/test/util/periods_unit.js +34 -26
  302. package/test/util/stream_utils_unit.js +60 -107
  303. package/ui/controls.js +19 -1
  304. package/ui/controls.less +1 -0
  305. package/ui/externs/ui.js +11 -1
  306. package/ui/language_utils.js +15 -0
  307. package/ui/less/thumbnails.less +26 -0
  308. package/ui/locales/oc.json +42 -0
  309. package/ui/pip_button.js +83 -2
  310. package/ui/range_element.js +15 -0
  311. package/ui/resolution_selection.js +9 -2
  312. package/ui/seek_bar.js +223 -0
  313. package/ui/ui.js +5 -0
  314. package/lib/cea/i_caption_decoder.js +0 -51
  315. 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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
1169
+ declare namespace shaka.media.PresentationTimeline {
1170
+ type TimeRange = { end : number , start : number , unscaledStart : number } ;
1171
+ }
1172
+ // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
@@ -1913,19 +2059,8 @@ declare namespace shaka.text.Cue {
1913
2059
  }
1914
2060
  // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
@@ -2082,6 +2217,155 @@ declare namespace shaka.text {
2082
2217
  }
2083
2218
  }
2084
2219
  // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.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 , contentType : any ) : any ;
2366
+ }
2367
+ }
2368
+ // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
2085
2369
  declare namespace shaka.ui {
2086
2370
  class AdCounter extends shaka.ui.Element {
2087
2371
  private noStructuralTyping_shaka_ui_AdCounter : any;
@@ -2605,14 +2889,6 @@ declare namespace shaka.util {
2605
2889
  }
2606
2890
  }
2607
2891
  // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
2608
- declare namespace shaka.util.CmcdManager {
2609
- type ManifestInfo = { format : shaka.util.CmcdManager.StreamingFormat } ;
2610
- }
2611
- // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
2612
- declare namespace shaka.util.CmcdManager {
2613
- type SegmentInfo = { bandwidth ? : number , codecs : string , duration : number , init : boolean , mimeType : string , type : string } ;
2614
- }
2615
- // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
2616
2892
  declare namespace shaka.util.CmcdManager {
2617
2893
  enum StreamingFormat {
2618
2894
  DASH = 'd' ,
@@ -2787,6 +3063,7 @@ declare namespace shaka.util.Error {
2787
3063
  EBML_BAD_FLOATING_POINT_SIZE = 3003.0 ,
2788
3064
  EBML_OVERFLOW = 3002.0 ,
2789
3065
  ENCRYPTED_CONTENT_WITHOUT_DRM_INFO = 6010.0 ,
3066
+ ERROR_CHECKING_HDCP_VERSION = 6019.0 ,
2790
3067
  EXPIRED = 6014.0 ,
2791
3068
  FAILED_TO_ATTACH_TO_VIDEO = 6003.0 ,
2792
3069
  FAILED_TO_CREATE_CDM = 6002.0 ,
@@ -2828,12 +3105,18 @@ declare namespace shaka.util.Error {
2828
3105
  MALFORMED_TEST_URI = 1008.0 ,
2829
3106
  MEDIA_SOURCE_OPERATION_FAILED = 3014.0 ,
2830
3107
  MEDIA_SOURCE_OPERATION_THREW = 3015.0 ,
3108
+ MIN_HDCP_VERSION_NOT_MATCH = 6018.0 ,
2831
3109
  MISSING_STORAGE_CELL = 9013.0 ,
2832
3110
  MISSING_TEXT_PLUGIN = 2014.0 ,
2833
3111
  MODIFY_OPERATION_NOT_SUPPORTED = 9016.0 ,
2834
3112
  MP4_SIDX_INVALID_TIMESCALE = 3005.0 ,
2835
3113
  MP4_SIDX_TYPE_NOT_SUPPORTED = 3006.0 ,
2836
3114
  MP4_SIDX_WRONG_BOX_TYPE = 3004.0 ,
3115
+ MSS_INVALID_XML = 4046.0 ,
3116
+ MSS_LIVE_CONTENT_NOT_SUPPORTED = 4047.0 ,
3117
+ MSS_MISSING_DATA_FOR_TRANSMUXING = 3020.0 ,
3118
+ MSS_TRANSMUXING_CODEC_UNKNOWN = 3021.0 ,
3119
+ MSS_TRANSMUXING_FAILED = 3022.0 ,
2837
3120
  NEW_KEY_OPERATION_NOT_SUPPORTED = 9011.0 ,
2838
3121
  NO_CAST_RECEIVERS = 8001.0 ,
2839
3122
  NO_INIT_DATA_FOR_OFFLINE = 9007.0 ,
@@ -2931,17 +3214,24 @@ declare namespace shaka.util.EventManager {
2931
3214
  type ListenerType = (a : Event ) => any ;
2932
3215
  }
2933
3216
  // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
3217
+ declare namespace shaka.util {
3218
+ class ExpGolomb {
3219
+ private noStructuralTyping_shaka_util_ExpGolomb : any;
3220
+ constructor (data : Uint8Array ) ;
3221
+ }
3222
+ }
3223
+ // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
2934
3224
  declare namespace shaka.util {
2935
3225
  class FairPlayUtils {
2936
3226
  private noStructuralTyping_shaka_util_FairPlayUtils : any;
2937
3227
  /**
2938
3228
  * Common FairPlay response transform for some DRMs providers.
2939
3229
  */
2940
- static commonFairPlayResponse (type : shaka.net.NetworkingEngine.RequestType , response : shaka.extern.Response ) : any ;
3230
+ static commonFairPlayResponse (type : shaka.net.NetworkingEngine.RequestType , response : shaka.extern.Response , context ? : shaka.extern.RequestContext ) : any ;
2941
3231
  /**
2942
3232
  * Conax FairPlay request.
2943
3233
  */
2944
- static conaxFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
3234
+ static conaxFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request , context ? : shaka.extern.RequestContext ) : any ;
2945
3235
  /**
2946
3236
  * Conax initDataTransform configuration.
2947
3237
  */
@@ -2951,10 +3241,18 @@ declare namespace shaka.util {
2951
3241
  * based on the FairPlay example documentation.
2952
3242
  */
2953
3243
  static defaultGetContentId (initData : ArrayBuffer | ArrayBufferView ) : string ;
3244
+ /**
3245
+ * ExpressPlay FairPlay request.
3246
+ */
3247
+ static expressplayFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request , context ? : shaka.extern.RequestContext ) : any ;
3248
+ /**
3249
+ * ExpressPlay initDataTransform configuration.
3250
+ */
3251
+ static expressplayInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
2954
3252
  /**
2955
3253
  * EZDRM FairPlay request.
2956
3254
  */
2957
- static ezdrmFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
3255
+ static ezdrmFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request , context ? : shaka.extern.RequestContext ) : any ;
2958
3256
  /**
2959
3257
  * EZDRM initDataTransform configuration.
2960
3258
  */
@@ -2979,7 +3277,7 @@ declare namespace shaka.util {
2979
3277
  /**
2980
3278
  * Verimatrix FairPlay request.
2981
3279
  */
2982
- static verimatrixFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
3280
+ static verimatrixFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request , context ? : shaka.extern.RequestContext ) : any ;
2983
3281
  /**
2984
3282
  * Verimatrix initDataTransform configuration.
2985
3283
  */
@@ -3064,6 +3362,13 @@ declare namespace shaka.util {
3064
3362
  declare namespace shaka.util {
3065
3363
  class Id3Utils {
3066
3364
  private noStructuralTyping_shaka_util_Id3Utils : any;
3365
+ /**
3366
+ * Returns any adjacent ID3 tags found in data starting at offset, as one
3367
+ * block of data
3368
+ * @param id3Data - The ID3 data containing one or more ID3 tags
3369
+ * @param offset - The offset at which to start searching
3370
+ */
3371
+ static getID3Data (id3Data : Uint8Array | null , offset ? : number ) : Uint8Array ;
3067
3372
  /**
3068
3373
  * Returns an array of ID3 frames found in all the ID3 tags in the id3Data
3069
3374
  * @param id3Data - The ID3 data containing one or more ID3 tags
@@ -3191,9 +3496,14 @@ declare namespace shaka.util {
3191
3496
  private noStructuralTyping_shaka_util_MimeUtils : any;
3192
3497
  /**
3193
3498
  * Takes a MIME type and optional codecs string and produces the full MIME
3194
- * type.
3499
+ * type. Also remove the codecs for raw formats.
3195
3500
  */
3196
3501
  static getFullType (mimeType : string , codecs ? : string ) : string ;
3502
+ /**
3503
+ * Takes a MIME type and optional codecs string and produces the full MIME
3504
+ * type.
3505
+ */
3506
+ static getFullTypeWithAllCodecs (mimeType : string , codecs ? : string ) : string ;
3197
3507
  }
3198
3508
  }
3199
3509
  // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
@@ -3268,6 +3578,20 @@ declare namespace shaka.util.Mp4Parser {
3268
3578
  type CallbackType = (a : shaka.extern.ParsedBox ) => any ;
3269
3579
  }
3270
3580
  // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
3581
+ declare namespace shaka.util {
3582
+ /**
3583
+ * A utility to combine streams across periods.
3584
+ */
3585
+ class PeriodCombiner implements shaka.util.IReleasable {
3586
+ private noStructuralTyping_shaka_util_PeriodCombiner : any;
3587
+ combinePeriods (periods : shaka.extern.Period [] , isDynamic : boolean ) : Promise < any > ;
3588
+ getImageStreams ( ) : shaka.extern.Stream [] ;
3589
+ getTextStreams ( ) : shaka.extern.Stream [] ;
3590
+ getVariants ( ) : shaka.extern.Variant [] ;
3591
+ release ( ) : any ;
3592
+ }
3593
+ }
3594
+ // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
3271
3595
  declare namespace shaka.util {
3272
3596
  class PlayerConfiguration {
3273
3597
  private noStructuralTyping_shaka_util_PlayerConfiguration : any;
@@ -3280,6 +3604,13 @@ declare namespace shaka.util {
3280
3604
  }
3281
3605
  }
3282
3606
  // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
3607
+ declare namespace shaka.util {
3608
+ class StreamUtils {
3609
+ private noStructuralTyping_shaka_util_StreamUtils : any;
3610
+ static meetsRestrictions (variant : shaka.extern.Variant , restrictions : shaka.extern.Restrictions , maxHwRes : { height : number , width : number } ) : boolean ;
3611
+ }
3612
+ }
3613
+ // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
3283
3614
  declare namespace shaka.util {
3284
3615
  class StringUtils {
3285
3616
  private noStructuralTyping_shaka_util_StringUtils : any;
@@ -3346,6 +3677,57 @@ declare namespace shaka.util {
3346
3677
  declare namespace shaka.util {
3347
3678
  class TsParser {
3348
3679
  private noStructuralTyping_shaka_util_TsParser : any;
3680
+ /**
3681
+ * Clear previous data
3682
+ */
3683
+ clearData ( ) : any ;
3684
+ /**
3685
+ * Return the audio data
3686
+ */
3687
+ getAudioData ( ) : shaka.extern.MPEG_PES [] ;
3688
+ /**
3689
+ * Return the audio and video codecs
3690
+ */
3691
+ getCodecs ( ) : { audio : string | null , video : string | null } ;
3692
+ /**
3693
+ * Return the ID3 metadata
3694
+ */
3695
+ getMetadata ( ) : shaka.extern.ID3Metadata [] ;
3696
+ /**
3697
+ * Return the start time for the audio and video
3698
+ */
3699
+ getStartTime ( ) : { audio : number | null , video : number | null } ;
3700
+ /**
3701
+ * Return the audio data
3702
+ */
3703
+ getVideoData ( ) : shaka.extern.MPEG_PES [] ;
3704
+ /**
3705
+ * Return the video data
3706
+ */
3707
+ getVideoNalus ( ) : shaka.extern.VideoNalu [] ;
3708
+ /**
3709
+ * Return the video resolution
3710
+ */
3711
+ getVideoResolution ( ) : { height : string | null , width : string | null } ;
3712
+ /**
3713
+ * Parse the given data
3714
+ */
3715
+ parse (data : Uint8Array | null ) : shaka.util.TsParser ;
3716
+ /**
3717
+ * Parse AVC Nalus
3718
+ * The code is based on hls.js
3719
+ * Credit to https://github.com/video-dev/hls.js/blob/master/src/demux/tsdemuxer.ts
3720
+ */
3721
+ parseAvcNalus (pes : shaka.extern.MPEG_PES , nextPes ? : shaka.extern.MPEG_PES | null ) : shaka.extern.VideoNalu [] ;
3722
+ static Timescale : number ;
3723
+ /**
3724
+ * Check if the passed data corresponds to an MPEG2-TS
3725
+ */
3726
+ static probe (data : Uint8Array | null ) : boolean ;
3727
+ /**
3728
+ * Returns the synchronization offset
3729
+ */
3730
+ static syncOffset (data : Uint8Array | null ) : number ;
3349
3731
  }
3350
3732
  }
3351
3733
  // Generated from /home/joey/hacking/work/shaka-player-clean/dist/shaka-player.ui.externs.js
@@ -3595,6 +3977,7 @@ declare namespace google.ima {
3595
3977
  skip ( ) : any ;
3596
3978
  start ( ) : any ;
3597
3979
  stop ( ) : any ;
3980
+ updateAdsRenderingSettings (adsRenderingSettings : google.ima.AdsRenderingSettings ) : any ;
3598
3981
  }
3599
3982
  }
3600
3983
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/ima.js
@@ -3604,6 +3987,10 @@ declare namespace google.ima.AdsManagerLoadedEvent {
3604
3987
  }
3605
3988
  }
3606
3989
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/ima.js
3990
+ declare namespace google.ima {
3991
+ type AdsRenderingSettings = { autoAlign : boolean , bitrate : number , enablePreloading : boolean , loadVideoTimeout : number , mimeTypes : string [] | null , playAdsAfterTime : number , restoreCustomPlaybackStateOnAdBreakComplete : boolean , uiElements : string [] | null , useStyledLinearAds : boolean , useStyledNonLinearAds : boolean } ;
3992
+ }
3993
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/ima.js
3607
3994
  declare namespace google.ima {
3608
3995
  type AdsRequest = { adTagUrl ? : string , adsResponse ? : string } ;
3609
3996
  }
@@ -3812,47 +4199,6 @@ declare namespace ಠ_ಠ.clutz {
3812
4199
  }
3813
4200
  }
3814
4201
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/mux.js
3815
- declare namespace muxjs.mp4 {
3816
- class CaptionParser {
3817
- private noStructuralTyping_muxjs_mp4_CaptionParser : any;
3818
- /**
3819
- * Clear the parsed closed captions data for new data.
3820
- */
3821
- clearParsedCaptions ( ) : any ;
3822
- /**
3823
- * Initializes the closed caption parser.
3824
- */
3825
- init ( ) : any ;
3826
- /**
3827
- * Return true if a new video track is selected or if the timescale is
3828
- * changed.
3829
- * @param videoTrackIds A list of video tracks found in the init segment.
3830
- * @param timescales The map of track Ids and the tracks' timescales in the init segment.
3831
- */
3832
- isNewInit (videoTrackIds : number [] , timescales : { [ key: number ]: number } ) : boolean ;
3833
- /**
3834
- * Parses embedded CEA closed captions and interacts with the underlying
3835
- * CaptionStream, and return the parsed captions.
3836
- * @param segment The fmp4 segment containing embedded captions
3837
- * @param videoTrackIds A list of video tracks found in the init segment.
3838
- * @param timescales The timescales found in the init segment.
3839
- */
3840
- parse (segment : Uint8Array , videoTrackIds : number [] , timescales : { [ key: number ]: number } ) : muxjs.mp4.ParsedClosedCaptions ;
3841
- /**
3842
- * Reset the captions stream.
3843
- */
3844
- resetCaptionStream ( ) : any ;
3845
- }
3846
- }
3847
- // Generated from /home/joey/hacking/work/shaka-player-clean/externs/mux.js
3848
- declare namespace muxjs.mp4 {
3849
- type ClosedCaption = { endPts : number , endTime : number , startPts : number , startTime : number , stream : string , text : string } ;
3850
- }
3851
- // Generated from /home/joey/hacking/work/shaka-player-clean/externs/mux.js
3852
- declare namespace muxjs.mp4 {
3853
- type ParsedClosedCaptions = { captionStreams : { [ key: string ]: boolean } | null , captions : muxjs.mp4.ClosedCaption [] } ;
3854
- }
3855
- // Generated from /home/joey/hacking/work/shaka-player-clean/externs/mux.js
3856
4202
  declare namespace muxjs.mp4 {
3857
4203
  class Transmuxer {
3858
4204
  private noStructuralTyping_muxjs_mp4_Transmuxer : any;
@@ -3875,16 +4221,27 @@ declare namespace muxjs.mp4 {
3875
4221
  */
3876
4222
  on (type : string , listener : Function | null ) : any ;
3877
4223
  push (data : Uint8Array ) : any ;
3878
- /**
3879
- * Reset captions.
3880
- */
3881
- resetCaptions ( ) : any ;
3882
4224
  setBaseMediaDecodeTime (time : number ) : any ;
3883
4225
  }
3884
4226
  }
3885
4227
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/mux.js
3886
4228
  declare namespace muxjs.mp4.Transmuxer {
3887
- type Segment = { captions : any [] , data : Uint8Array , initSegment : Uint8Array } ;
4229
+ type Segment = { data : Uint8Array , initSegment : Uint8Array } ;
4230
+ }
4231
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/pictureinpicture.js
4232
+ declare namespace ಠ_ಠ.clutz {
4233
+ class DocumentPictureInPicture implements EventTarget {
4234
+ private noStructuralTyping_DocumentPictureInPicture : any;
4235
+ addEventListener (type : any , listener : any , options : any ) : any ;
4236
+ dispatchEvent (event : any ) : any ;
4237
+ removeEventListener (type : any , listener : any , options : any ) : any ;
4238
+ requestWindow (options : DocumentPictureInPictureOptions ) : Promise < Window | null > ;
4239
+ window : Window | null ;
4240
+ }
4241
+ }
4242
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/pictureinpicture.js
4243
+ declare namespace ಠ_ಠ.clutz {
4244
+ type DocumentPictureInPictureOptions = { height ? : number , width ? : number } ;
3888
4245
  }
3889
4246
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/polyfill.js
3890
4247
  declare namespace window {
@@ -4055,18 +4412,27 @@ declare namespace shaka.extern {
4055
4412
  */
4056
4413
  interface IAd extends shaka.util.IReleasable {
4057
4414
  canSkipNow ( ) : boolean ;
4415
+ getAdId ( ) : string ;
4416
+ getAdvertiserName ( ) : string ;
4417
+ getCreativeAdId ( ) : string ;
4058
4418
  getDescription ( ) : string ;
4059
4419
  getDuration ( ) : number ;
4420
+ getMediaUrl ( ) : string | null ;
4060
4421
  /**
4061
4422
  * Gets the minimum suggested duration. Defaults to being equivalent to
4062
4423
  * getDuration() for server-side ads.
4063
4424
  */
4064
4425
  getMinSuggestedDuration ( ) : number ;
4426
+ getPodIndex ( ) : number ;
4065
4427
  getPositionInSequence ( ) : number ;
4066
4428
  getRemainingTime ( ) : number ;
4067
4429
  getSequenceLength ( ) : number ;
4430
+ getTimeOffset ( ) : number ;
4068
4431
  getTimeUntilSkippable ( ) : number ;
4069
4432
  getTitle ( ) : string ;
4433
+ getVastMediaBitrate ( ) : number ;
4434
+ getVastMediaHeight ( ) : number ;
4435
+ getVastMediaWidth ( ) : number ;
4070
4436
  getVolume ( ) : number ;
4071
4437
  isLinear ( ) : boolean ;
4072
4438
  isMuted ( ) : boolean ;
@@ -4087,13 +4453,19 @@ declare namespace shaka.extern {
4087
4453
  * in the player.
4088
4454
  */
4089
4455
  interface IAdManager extends EventTarget {
4456
+ /**
4457
+ * Called by the Player to provide an updated configuration any time it
4458
+ * changes.
4459
+ * Must be called at least once before init*().
4460
+ */
4461
+ configure (config : shaka.extern.AdsConfiguration ) : any ;
4090
4462
  getServerSideCuePoints ( ) : shaka.extern.AdCuePoint [] ;
4091
4463
  /**
4092
4464
  * Get statistics for the current playback session. If the player is not
4093
4465
  * playing content, this will return an empty stats object.
4094
4466
  */
4095
4467
  getStats ( ) : any ;
4096
- initClientSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
4468
+ initClientSide (adContainer : HTMLElement , video : HTMLMediaElement , adsRenderingSettings : google.ima.AdsRenderingSettings | null ) : any ;
4097
4469
  initServerSide (adContainer : HTMLElement , video : HTMLMediaElement ) : any ;
4098
4470
  onAssetUnload ( ) : any ;
4099
4471
  onCueMetadataChange (value : shaka.extern.MetadataFrame ) : any ;
@@ -4104,6 +4476,7 @@ declare namespace shaka.extern {
4104
4476
  requestClientSideAds (imaRequest : google.ima.AdsRequest ) : any ;
4105
4477
  requestServerSideStream (imaRequest : google.ima.dai.api.StreamRequest , backupUrl ? : string ) : Promise < string > ;
4106
4478
  setLocale (locale : string ) : any ;
4479
+ updateClientSideAdsRenderingSettings (adsRenderingSettings : google.ima.AdsRenderingSettings ) : any ;
4107
4480
  }
4108
4481
  }
4109
4482
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/ads.js
@@ -4113,6 +4486,78 @@ declare namespace shaka.extern.IAdManager {
4113
4486
  */
4114
4487
  type Factory = ( ) => shaka.extern.IAdManager ;
4115
4488
  }
4489
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/cea.js
4490
+ declare namespace shaka.extern {
4491
+ type CaptionDecoderPlugin = ( ) => shaka.extern.ICaptionDecoder ;
4492
+ }
4493
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/cea.js
4494
+ declare namespace shaka.extern {
4495
+ type CeaParserPlugin = ( ) => shaka.extern.ICeaParser ;
4496
+ }
4497
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/cea.js
4498
+ declare namespace shaka.extern {
4499
+ /**
4500
+ * Interface for decoding inband closed captions from packets.
4501
+ */
4502
+ interface ICaptionDecoder {
4503
+ /**
4504
+ * Clears the decoder state completely.
4505
+ * Should be used when an action renders the decoder state invalid,
4506
+ * e.g. unbuffered seeks.
4507
+ */
4508
+ clear ( ) : any ;
4509
+ /**
4510
+ * Decodes all currently extracted packets and then clears them.
4511
+ * This should be called once for a set of extracts (see comment on extract).
4512
+ */
4513
+ decode ( ) : shaka.extern.ICaptionDecoder.ClosedCaption [] ;
4514
+ /**
4515
+ * Extracts packets and prepares them for decoding. In a given media fragment,
4516
+ * all the caption packets found in its SEI messages should be extracted by
4517
+ * successive calls to extract(), followed by a single call to decode().
4518
+ * @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).
4519
+ * @param pts PTS when this packet was received, in seconds.
4520
+ */
4521
+ extract (userDataSeiMessage : Uint8Array , pts : number ) : any ;
4522
+ }
4523
+ }
4524
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/cea.js
4525
+ declare namespace shaka.extern.ICaptionDecoder {
4526
+ /**
4527
+ * Parsed Cue.
4528
+ */
4529
+ type ClosedCaption = { cue : shaka.text.Cue , stream : string } ;
4530
+ }
4531
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/cea.js
4532
+ declare namespace shaka.extern {
4533
+ /**
4534
+ * Interface for parsing inband closed caption data from MP4 streams.
4535
+ */
4536
+ interface ICeaParser {
4537
+ /**
4538
+ * Initializes the parser with init segment data.
4539
+ * @param initSegment init segment to parse.
4540
+ */
4541
+ init (initSegment : ArrayBuffer | ArrayBufferView ) : any ;
4542
+ /**
4543
+ * Parses the stream and extracts closed captions packets.
4544
+ * @param mediaSegment media segment to parse.
4545
+ */
4546
+ parse (mediaSegment : ArrayBuffer | ArrayBufferView ) : shaka.extern.ICeaParser.CaptionPacket [] ;
4547
+ }
4548
+ }
4549
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/cea.js
4550
+ declare namespace shaka.extern.ICeaParser {
4551
+ type CaptionPacket = { packet : Uint8Array , pts : number } ;
4552
+ }
4553
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/codecs.js
4554
+ declare namespace shaka.extern {
4555
+ type MPEG_PES = { data : Uint8Array | null , dts : number | null , packetLength : number , pts : number | null } ;
4556
+ }
4557
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/codecs.js
4558
+ declare namespace shaka.extern {
4559
+ type VideoNalu = { data : Uint8Array , fullData : Uint8Array , time : number | null , type : number } ;
4560
+ }
4116
4561
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/error.js
4117
4562
  declare namespace shaka.extern {
4118
4563
  interface Error {
@@ -4157,11 +4602,23 @@ declare namespace shaka.extern {
4157
4602
  }
4158
4603
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/manifest.js
4159
4604
  declare namespace shaka.extern {
4160
- type Manifest = { imageStreams : shaka.extern.Stream [] , minBufferTime : number , offlineSessionIds : string [] , presentationTimeline : shaka.media.PresentationTimeline , sequenceMode : boolean , textStreams : shaka.extern.Stream [] , variants : shaka.extern.Variant [] } ;
4605
+ 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 [] } ;
4161
4606
  }
4162
4607
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/manifest.js
4163
4608
  declare namespace shaka.extern {
4164
- 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 } ;
4609
+ type MssPrivateData = { codecPrivateData : string | null , duration : number , timescale : number } ;
4610
+ }
4611
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/manifest.js
4612
+ declare namespace shaka.extern {
4613
+ type Period = { audioStreams : shaka.extern.Stream [] , id : string , imageStreams : shaka.extern.Stream [] , textStreams : shaka.extern.Stream [] , videoStreams : shaka.extern.Stream [] } ;
4614
+ }
4615
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/manifest.js
4616
+ declare namespace shaka.extern {
4617
+ type ServiceDescription = { maxLatency : number | null , maxPlaybackRate : number | null } ;
4618
+ }
4619
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/manifest.js
4620
+ declare namespace shaka.extern {
4621
+ 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 } ;
4165
4622
  }
4166
4623
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/manifest.js
4167
4624
  declare namespace shaka.extern {
@@ -4240,7 +4697,7 @@ declare namespace shaka.extern.ManifestParser {
4240
4697
  }
4241
4698
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/manifest_parser.js
4242
4699
  declare namespace shaka.extern.ManifestParser {
4243
- 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 } ;
4700
+ 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 } ;
4244
4701
  }
4245
4702
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/mp4_parser.js
4246
4703
  declare namespace shaka.extern {
@@ -4259,14 +4716,21 @@ declare namespace shaka.extern {
4259
4716
  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 [] } ;
4260
4717
  }
4261
4718
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/net.js
4719
+ declare namespace shaka.extern {
4720
+ type RequestContext = { segment ? : shaka.media.SegmentReference | null , stream ? : shaka.extern.Stream , type ? : shaka.net.NetworkingEngine.AdvancedRequestType } ;
4721
+ }
4722
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/net.js
4262
4723
  declare namespace shaka.extern {
4263
4724
  /**
4264
4725
  * Defines a filter for requests. This filter takes the request and modifies
4265
4726
  * it before it is sent to the scheme plugin.
4266
- * A request filter can run asynchronously by returning a promise; in this case,
4267
- * the request will not be sent until the promise is resolved.
4727
+ * The RequestType describes the basic type of the request (manifest, segment,
4728
+ * etc). The optional RequestContext will be provided where applicable to
4729
+ * provide additional infomation about the request. A request filter can run
4730
+ * asynchronously by returning a promise; in this case, the request will not be
4731
+ * sent until the promise is resolved.
4268
4732
  */
4269
- type RequestFilter = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Request ) => Promise < any > | void ;
4733
+ type RequestFilter = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Request , c ? : shaka.extern.RequestContext ) => Promise < any > | void ;
4270
4734
  }
4271
4735
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/net.js
4272
4736
  declare namespace shaka.extern {
@@ -4277,9 +4741,12 @@ declare namespace shaka.extern {
4277
4741
  /**
4278
4742
  * Defines a filter for responses. This filter takes the response and modifies
4279
4743
  * it before it is returned.
4280
- * A response filter can run asynchronously by returning a promise.
4744
+ * The RequestType describes the basic type of the request (manifest, segment,
4745
+ * etc). The optional RequestContext will be provided where applicable to
4746
+ * provide additional infomation about the request. A response filter can run
4747
+ * asynchronously by returning a promise.
4281
4748
  */
4282
- type ResponseFilter = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Response ) => Promise < any > | void ;
4749
+ type ResponseFilter = (a : shaka.net.NetworkingEngine.RequestType , b : shaka.extern.Response , c ? : shaka.extern.RequestContext ) => Promise < any > | void ;
4283
4750
  }
4284
4751
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/net.js
4285
4752
  declare namespace shaka.extern {
@@ -4321,7 +4788,7 @@ declare namespace shaka.extern {
4321
4788
  }
4322
4789
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/offline.js
4323
4790
  declare namespace shaka.extern {
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 [] } ;
4791
+ 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 } ;
4325
4792
  }
4326
4793
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/offline.js
4327
4794
  declare namespace shaka.extern {
@@ -4461,7 +4928,7 @@ declare namespace shaka.extern {
4461
4928
  }
4462
4929
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/offline.js
4463
4930
  declare namespace shaka.extern {
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 , pixelAspectRatio ? : string , primary : boolean , roles : string [] , segments : shaka.extern.SegmentDB [] , spatialAudio : boolean , tilesLayout ? : string , type : string , variantIds : number [] , width : number | null } ;
4931
+ 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 } ;
4465
4932
  }
4466
4933
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/offline_compat_v1.js
4467
4934
  declare namespace shaka.extern {
@@ -4505,7 +4972,11 @@ declare namespace shaka.extern {
4505
4972
  }
4506
4973
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4507
4974
  declare namespace shaka.extern {
4508
- 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 } ;
4975
+ 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 } ;
4976
+ }
4977
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4978
+ declare namespace shaka.extern {
4979
+ type AdsConfiguration = { customPlayheadTracker : boolean } ;
4509
4980
  }
4510
4981
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4511
4982
  declare namespace shaka.extern {
@@ -4537,7 +5008,11 @@ declare namespace shaka.extern {
4537
5008
  }
4538
5009
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4539
5010
  declare namespace shaka.extern {
4540
- 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 } ;
5011
+ 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 } ;
5012
+ }
5013
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
5014
+ declare namespace shaka.extern {
5015
+ type DrmSessionMetadata = { initData : Uint8Array | null , initDataType : string | null , sessionId : string , sessionType : string } ;
4541
5016
  }
4542
5017
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4543
5018
  declare namespace shaka.extern {
@@ -4549,7 +5024,7 @@ declare namespace shaka.extern {
4549
5024
  }
4550
5025
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4551
5026
  declare namespace shaka.extern {
4552
- type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , useSafariBehaviorForLive : boolean } ;
5027
+ type HlsManifestConfiguration = { defaultAudioCodec : string , defaultVideoCodec : string , ignoreImageStreamFailures : boolean , ignoreManifestProgramDateTime : boolean , ignoreManifestTimestampsInSegmentsMode : boolean , ignoreTextStreamFailures : boolean , liveSegmentsDelay : number , mediaPlaylistFullMimeType : string , sequenceMode : boolean , useSafariBehaviorForLive : boolean } ;
4553
5028
  }
4554
5029
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4555
5030
  declare namespace shaka.extern {
@@ -4569,7 +5044,7 @@ declare namespace shaka.extern {
4569
5044
  }
4570
5045
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4571
5046
  declare namespace shaka.extern {
4572
- 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 } ;
5047
+ 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 } ;
4573
5048
  }
4574
5049
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4575
5050
  declare namespace shaka.extern {
@@ -4577,23 +5052,31 @@ declare namespace shaka.extern {
4577
5052
  }
4578
5053
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4579
5054
  declare namespace shaka.extern {
4580
- type MediaSourceConfiguration = { sourceBufferExtraFeatures : string } ;
5055
+ type MediaSourceConfiguration = { forceTransmux : boolean , insertFakeEncryptionInInit : boolean , sourceBufferExtraFeatures : string } ;
4581
5056
  }
4582
5057
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4583
5058
  declare namespace shaka.extern {
4584
- type MetadataFrame = { data : ArrayBuffer | null | string , description : string , key : string } ;
5059
+ type MetadataFrame = { data : ArrayBuffer | null | string | number , description : string , key : string } ;
4585
5060
  }
4586
5061
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4587
5062
  declare namespace shaka.extern {
4588
5063
  type MetadataRawFrame = { data : Uint8Array | null , size : number , type : string } ;
4589
5064
  }
4590
5065
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
5066
+ declare namespace shaka.extern {
5067
+ type MssManifestConfiguration = { keySystemsBySystemId : { [ key: string ]: string } , manifestPreprocessor : (a : Element ) => any , sequenceMode : boolean } ;
5068
+ }
5069
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4591
5070
  declare namespace shaka.extern {
4592
5071
  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 } ;
4593
5072
  }
4594
5073
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4595
5074
  declare namespace shaka.extern {
4596
- 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 } ;
5075
+ type PersistentSessionMetadata = { initData : Uint8Array | null , initDataType : string | null , sessionId : string } ;
5076
+ }
5077
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
5078
+ declare namespace shaka.extern {
5079
+ 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 } ;
4597
5080
  }
4598
5081
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4599
5082
  declare namespace shaka.extern {
@@ -4613,7 +5096,7 @@ declare namespace shaka.extern {
4613
5096
  }
4614
5097
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4615
5098
  declare namespace shaka.extern {
4616
- 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 } ;
5099
+ 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 } ;
4617
5100
  }
4618
5101
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4619
5102
  declare namespace shaka.extern {
@@ -4629,7 +5112,7 @@ declare namespace shaka.extern {
4629
5112
  }
4630
5113
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4631
5114
  declare namespace shaka.extern {
4632
- 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 } ;
5115
+ 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 } ;
4633
5116
  }
4634
5117
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/player.js
4635
5118
  declare namespace shaka.extern {
@@ -4640,237 +5123,6 @@ declare namespace shaka.extern {
4640
5123
  type TrackList = shaka.extern.Track [] ;
4641
5124
  }
4642
5125
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/text.js
4643
- declare namespace shaka.extern {
4644
- interface Cue {
4645
- /**
4646
- * Text background color as a CSS color, e.g. "#FFFFFF" or "white".
4647
- */
4648
- backgroundColor : string ;
4649
- /**
4650
- * The URL of the background image, e.g. "data:[mime type];base64,[data]".
4651
- */
4652
- backgroundImage : string ;
4653
- /**
4654
- * The border around this cue as a CSS border.
4655
- */
4656
- border : string ;
4657
- /**
4658
- * The number of horizontal and vertical cells into which the Root Container
4659
- * Region area is divided.
4660
- */
4661
- cellResolution : { columns : number , rows : number } ;
4662
- /**
4663
- * Text color as a CSS color, e.g. "#FFFFFF" or "white".
4664
- */
4665
- color : string ;
4666
- /**
4667
- * Text direction of the cue.
4668
- */
4669
- direction : shaka.text.Cue.direction ;
4670
- /**
4671
- * Vertical alignments of the cues within their extents.
4672
- * 'BEFORE' means displaying the captions at the top of the text display
4673
- * container box, 'CENTER' means in the middle, 'AFTER' means at the bottom.
4674
- */
4675
- displayAlign : shaka.text.Cue.displayAlign ;
4676
- /**
4677
- * The end time of the cue in seconds, relative to the start of the
4678
- * presentation.
4679
- */
4680
- endTime : number ;
4681
- /**
4682
- * Text font family.
4683
- */
4684
- fontFamily : string ;
4685
- /**
4686
- * Text font size in px or em (e.g. '100px'/'100em').
4687
- */
4688
- fontSize : string ;
4689
- /**
4690
- * Text font style. Normal, italic or oblique.
4691
- */
4692
- fontStyle : shaka.text.Cue.fontStyle ;
4693
- /**
4694
- * Text font weight. Either normal or bold.
4695
- */
4696
- fontWeight : shaka.text.Cue.fontWeight ;
4697
- /**
4698
- * Id of the cue.
4699
- */
4700
- id : string ;
4701
- /**
4702
- * If true, this represents a container element that is "above" the main
4703
- * cues. For example, the <body> and <div> tags that contain the <p> tags
4704
- * in a TTML file. This controls the flow of the final cues; any nested cues
4705
- * within an "isContainer" cue will be laid out as separate lines.
4706
- */
4707
- isContainer : boolean ;
4708
- /**
4709
- * Text letter spacing as a CSS letter-spacing value.
4710
- */
4711
- letterSpacing : string ;
4712
- /**
4713
- * The offset from the display box in either number of lines or
4714
- * percentage depending on the value of lineInterpretation.
4715
- */
4716
- line : number | null ;
4717
- /**
4718
- * Line alignment of the cue box.
4719
- * Start alignment means the cue box’s top side (for horizontal cues), left
4720
- * side (for vertical growing right), or right side (for vertical growing
4721
- * left) is aligned at the line.
4722
- * Center alignment means the cue box is centered at the line.
4723
- * End alignment The cue box’s bottom side (for horizontal cues), right side
4724
- * (for vertical growing right), or left side (for vertical growing left) is
4725
- * aligned at the line.
4726
- */
4727
- lineAlign : shaka.text.Cue.lineAlign ;
4728
- /**
4729
- * Whether or not the cue only acts as a line break between two nested cues.
4730
- * Should only appear in nested cues.
4731
- */
4732
- lineBreak : boolean ;
4733
- /**
4734
- * Separation between line areas inside the cue box in px or em
4735
- * (e.g. '100px'/'100em'). If not specified, this should be no less than
4736
- * the largest font size applied to the text in the cue.
4737
- */
4738
- lineHeight : string ;
4739
- /**
4740
- * The way to interpret line field. (Either as an integer line number or
4741
- * percentage from the display box).
4742
- */
4743
- lineInterpretation : shaka.text.Cue.lineInterpretation ;
4744
- /**
4745
- * Text line padding as a CSS line-padding value.
4746
- */
4747
- linePadding : string ;
4748
- /**
4749
- * Nested cues, which should be laid out horizontally in one block.
4750
- * Top-level cues are blocks, and nested cues are inline elements.
4751
- * Cues can be nested arbitrarily deeply.
4752
- */
4753
- nestedCues : shaka.extern.Cue [] ;
4754
- /**
4755
- * Opacity of the cue element, from 0-1.
4756
- */
4757
- opacity : number ;
4758
- /**
4759
- * The text payload of the cue. If nestedCues is non-empty, this should be
4760
- * empty. Top-level block containers should have no payload of their own.
4761
- */
4762
- payload : string ;
4763
- /**
4764
- * The indent (in percent) of the cue box in the direction defined by the
4765
- * writing direction.
4766
- */
4767
- position : number | null ;
4768
- /**
4769
- * Position alignment of the cue.
4770
- */
4771
- positionAlign : shaka.text.Cue.positionAlign ;
4772
- /**
4773
- * The region to render the cue into. Only supported on top-level cues,
4774
- * because nested cues are inline elements.
4775
- */
4776
- region : shaka.extern.CueRegion | null ;
4777
- /**
4778
- * Size of the cue box (in percents), where 0 means "auto".
4779
- */
4780
- size : number ;
4781
- /**
4782
- * The start time of the cue in seconds, relative to the start of the
4783
- * presentation.
4784
- */
4785
- startTime : number ;
4786
- /**
4787
- * Alignment of the text inside the cue box.
4788
- */
4789
- textAlign : shaka.text.Cue.textAlign ;
4790
- /**
4791
- * Text decoration. A combination of underline, overline
4792
- * and line through. Empty array means no decoration.
4793
- */
4794
- textDecoration : shaka.text.Cue.textDecoration [] ;
4795
- /**
4796
- * Text shadow color as a CSS text-shadow value.
4797
- */
4798
- textShadow : string ;
4799
- /**
4800
- * Text stroke color as a CSS color, e.g. "#FFFFFF" or "white".
4801
- */
4802
- textStrokeColor : string ;
4803
- /**
4804
- * Text stroke width as a CSS stroke-width value.
4805
- */
4806
- textStrokeWidth : string ;
4807
- /**
4808
- * Whether or not line wrapping should be applied to the cue.
4809
- */
4810
- wrapLine : boolean ;
4811
- /**
4812
- * Text writing mode of the cue.
4813
- */
4814
- writingMode : shaka.text.Cue.writingMode ;
4815
- }
4816
- }
4817
- // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/text.js
4818
- declare namespace shaka.extern {
4819
- interface CueRegion {
4820
- /**
4821
- * The width of the rendering area in heightUnits.
4822
- */
4823
- height : number ;
4824
- /**
4825
- * The units (percentage, pixels or lines) the region height is in.
4826
- */
4827
- heightUnits : shaka.text.CueRegion.units ;
4828
- /**
4829
- * Region identifier.
4830
- */
4831
- id : string ;
4832
- /**
4833
- * The X offset to start the rendering area in percentage (0-100) of this
4834
- * region width.
4835
- */
4836
- regionAnchorX : number ;
4837
- /**
4838
- * The Y offset to start the rendering area in percentage (0-100) of the
4839
- * region height.
4840
- */
4841
- regionAnchorY : number ;
4842
- /**
4843
- * If scroll=UP, it means that cues in the region will be added to the
4844
- * bottom of the region and will push any already displayed cues in the
4845
- * region up. Otherwise (scroll=NONE) cues will stay fixed at the location
4846
- * they were first painted in.
4847
- */
4848
- scroll : shaka.text.CueRegion.scrollMode ;
4849
- /**
4850
- * The units (percentage or pixels) the region viewportAnchors are in.
4851
- */
4852
- viewportAnchorUnits : shaka.text.CueRegion.units ;
4853
- /**
4854
- * The X offset to start the rendering area in viewportAnchorUnits of the
4855
- * video width.
4856
- */
4857
- viewportAnchorX : number ;
4858
- /**
4859
- * The X offset to start the rendering area in viewportAnchorUnits of the
4860
- * video height.
4861
- */
4862
- viewportAnchorY : number ;
4863
- /**
4864
- * The width of the rendering area in widthUnits.
4865
- */
4866
- width : number ;
4867
- /**
4868
- * The units (percentage or pixels) the region width is in.
4869
- */
4870
- widthUnits : shaka.text.CueRegion.units ;
4871
- }
4872
- }
4873
- // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/text.js
4874
5126
  declare namespace shaka.extern {
4875
5127
  interface TextDisplayer extends shaka.util.IDestroyable {
4876
5128
  /**
@@ -4921,7 +5173,7 @@ declare namespace shaka.extern {
4921
5173
  * @param data The next section of buffer.
4922
5174
  * @param timeContext The time information that should be used to adjust the times values for each cue.
4923
5175
  */
4924
- parseMedia (data : Uint8Array , timeContext : shaka.extern.TextParser.TimeContext ) : shaka.extern.Cue [] ;
5176
+ parseMedia (data : Uint8Array , timeContext : shaka.extern.TextParser.TimeContext ) : shaka.text.Cue [] ;
4925
5177
  /**
4926
5178
  * Notifies the stream if the manifest is in sequence mode or not.
4927
5179
  */
@@ -4939,6 +5191,39 @@ declare namespace shaka.extern.TextParser {
4939
5191
  declare namespace shaka.extern {
4940
5192
  type TextParserPlugin = ( ) => shaka.extern.TextParser ;
4941
5193
  }
5194
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/transmuxer.js
5195
+ declare namespace shaka.extern {
5196
+ /**
5197
+ * An interface for transmuxer plugins.
5198
+ */
5199
+ interface Transmuxer {
5200
+ /**
5201
+ * For any stream, convert its codecs to MP4 codecs.
5202
+ */
5203
+ convertCodecs (contentType : string , mimeType : string ) : string ;
5204
+ /**
5205
+ * Destroy
5206
+ */
5207
+ destroy ( ) : any ;
5208
+ /**
5209
+ * Returns the original mimetype of the transmuxer.
5210
+ */
5211
+ getOrginalMimeType ( ) : string ;
5212
+ /**
5213
+ * Check if the mime type and the content type is supported.
5214
+ */
5215
+ isSupported (mimeType : string , contentType ? : string ) : boolean ;
5216
+ /**
5217
+ * Transmux a input data to MP4.
5218
+ * @param reference The segment reference, or null for init segments
5219
+ */
5220
+ transmux (data : ArrayBuffer | ArrayBufferView , stream : shaka.extern.Stream , reference : shaka.media.SegmentReference | null , duration : number , contentType : string ) : Promise < Uint8Array > ;
5221
+ }
5222
+ }
5223
+ // Generated from /home/joey/hacking/work/shaka-player-clean/externs/shaka/transmuxer.js
5224
+ declare namespace shaka.extern {
5225
+ type TransmuxerPlugin = ( ) => shaka.extern.Transmuxer ;
5226
+ }
4942
5227
  // Generated from /home/joey/hacking/work/shaka-player-clean/externs/tippy.js
4943
5228
  declare namespace ಠ_ಠ.clutz {
4944
5229
  /**
@@ -5090,7 +5375,7 @@ nameSpan : HTMLElement ;
5090
5375
  }
5091
5376
  // Generated from /home/joey/hacking/work/shaka-player-clean/ui/externs/ui.js
5092
5377
  declare namespace shaka.extern {
5093
- type UIConfiguration = { addBigPlayButton : boolean , addSeekBar : boolean , castAndroidReceiverCompatible : boolean , castReceiverAppId : string , clearBufferOnQualityChange : boolean , contextMenuElements : string [] , controlPanelElements : string [] , customContextMenu : boolean , doubleClickForFullscreen : boolean , enableFullscreenOnRotation : boolean , enableKeyboardPlaybackControls : boolean , enableTooltips : boolean , fadeDelay : number , fastForwardRates : number [] , forceLandscapeOnFullscreen : boolean , keyboardSeekDistance : number , overflowMenuButtons : string [] , playbackRates : number [] , rewindRates : number [] , seekBarColors : shaka.extern.UISeekBarColors , showUnbufferedStart : boolean , singleClickForPlayAndPause : boolean , statisticsList : string [] , trackLabelFormat : shaka.ui.Overlay.TrackLabelFormat , volumeBarColors : shaka.extern.UIVolumeBarColors } ;
5378
+ type UIConfiguration = { addBigPlayButton : boolean , addSeekBar : boolean , castAndroidReceiverCompatible : boolean , castReceiverAppId : string , clearBufferOnQualityChange : boolean , contextMenuElements : string [] , controlPanelElements : string [] , customContextMenu : boolean , doubleClickForFullscreen : boolean , enableFullscreenOnRotation : boolean , enableKeyboardPlaybackControls : boolean , enableTooltips : boolean , fadeDelay : number , fastForwardRates : number [] , forceLandscapeOnFullscreen : boolean , fullScreenElement : HTMLElement | null , keyboardLargeSeekDistance : number , keyboardSeekDistance : number , overflowMenuButtons : string [] , playbackRates : number [] , rewindRates : number [] , seekBarColors : shaka.extern.UISeekBarColors , showUnbufferedStart : boolean , singleClickForPlayAndPause : boolean , statisticsList : string [] , trackLabelFormat : shaka.ui.Overlay.TrackLabelFormat , volumeBarColors : shaka.extern.UIVolumeBarColors } ;
5094
5379
  }
5095
5380
  // Generated from /home/joey/hacking/work/shaka-player-clean/ui/externs/ui.js
5096
5381
  declare namespace shaka.extern {