shaka-player 3.3.0 → 3.3.3

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 (344) hide show
  1. package/.csslintrc +11 -1
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  3. package/.github/pull_request_template.md +6 -34
  4. package/.github/workflows/build-and-test.yaml +130 -0
  5. package/.github/workflows/custom-actions/prep-for-appspot/action.yaml +56 -0
  6. package/.github/workflows/custom-actions/set-commit-status/action.yaml +41 -0
  7. package/.github/workflows/demo-version-index.yaml +29 -0
  8. package/.github/workflows/nightly-demo.yaml +42 -0
  9. package/.github/workflows/release-please.yaml +145 -0
  10. package/.github/workflows/safari-homedir-launcher.sh +18 -0
  11. package/.github/workflows/selenium-lab-tests.yaml +93 -0
  12. package/AUTHORS +2 -0
  13. package/CHANGELOG.md +1722 -1640
  14. package/CONTRIBUTING.md +2 -2
  15. package/CONTRIBUTORS +2 -0
  16. package/README.md +7 -7
  17. package/app-engine/README.md +9 -0
  18. package/app-engine/demo-version-index/README.md +14 -0
  19. package/app-engine/demo-version-index/app.yaml +2 -0
  20. package/app-engine/demo-version-index/main.py +162 -0
  21. package/app-engine/demo-version-index/requirements.txt +6 -0
  22. package/app-engine/demo-version-index/templates/index.html +114 -0
  23. package/app-engine/shaka-player-demo/README.md +18 -0
  24. package/app-engine/shaka-player-demo/app.yaml +61 -0
  25. package/app-engine/shaka-player-demo/main.py +95 -0
  26. package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
  27. package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
  28. package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
  29. package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
  30. package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
  31. package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
  32. package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
  33. package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
  34. package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
  35. package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
  36. package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
  37. package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
  38. package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
  39. package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
  40. package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
  41. package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
  42. package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
  43. package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
  44. package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
  45. package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
  46. package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
  47. package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
  48. package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
  49. package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
  50. package/app-engine/shaka-player-demo/posters/sources.txt +46 -0
  51. package/app-engine/shaka-player-demo/posters/standard.png +0 -0
  52. package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
  53. package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
  54. package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
  55. package/app-engine/shaka-player-demo/posters.py +110 -0
  56. package/app-engine/shaka-player-demo/requirements.txt +5 -0
  57. package/app-engine/shaka-player-demo/time.txt +1 -0
  58. package/build/README.md +1 -1
  59. package/build/checkversion.py +1 -1
  60. package/build/conformance.textproto +196 -169
  61. package/build/docker/Dockerfile +20 -0
  62. package/build/docker/docker-compose.yml +10 -0
  63. package/build/gendeps.py +18 -15
  64. package/build/shaka-lab.yaml +163 -0
  65. package/build/shakaBuildHelpers.py +4 -29
  66. package/build/test.py +93 -28
  67. package/build/types/polyfill +1 -0
  68. package/build/wrapper.template.js +2 -2
  69. package/demo/TengwarTelcontar.woff2 +0 -0
  70. package/demo/asset_card.js +1 -2
  71. package/demo/cast_receiver/index.html +1 -1
  72. package/demo/cast_receiver/receiver_app.css +14 -14
  73. package/demo/common/assets.js +2 -0
  74. package/demo/config.js +0 -1
  75. package/demo/custom.js +0 -1
  76. package/demo/customWarning.txt +2 -2
  77. package/demo/demo.less +29 -18
  78. package/demo/demo_uncompiled.js +1 -13
  79. package/demo/index.html +1 -1
  80. package/demo/main.js +3 -3
  81. package/dist/controls.css +3 -3
  82. package/dist/controls.css.map +1 -1
  83. package/dist/demo.compiled.debug.js +191 -194
  84. package/dist/demo.compiled.debug.map +4 -4
  85. package/dist/demo.compiled.js +191 -194
  86. package/dist/demo.compiled.map +4 -4
  87. package/dist/demo.css +1 -1
  88. package/dist/demo.css.map +1 -1
  89. package/dist/deps.js +233 -226
  90. package/dist/locales.js +30 -30
  91. package/dist/receiver.compiled.debug.js +43 -45
  92. package/dist/receiver.compiled.debug.map +4 -4
  93. package/dist/receiver.compiled.js +43 -45
  94. package/dist/receiver.compiled.map +4 -4
  95. package/dist/shaka-player.compiled.d.ts +272 -238
  96. package/dist/shaka-player.compiled.debug.d.ts +272 -238
  97. package/dist/shaka-player.compiled.debug.externs.js +53 -16
  98. package/dist/shaka-player.compiled.debug.js +393 -394
  99. package/dist/shaka-player.compiled.debug.map +4 -4
  100. package/dist/shaka-player.compiled.externs.js +53 -16
  101. package/dist/shaka-player.compiled.js +840 -843
  102. package/dist/shaka-player.compiled.map +4 -4
  103. package/dist/shaka-player.ui.d.ts +318 -293
  104. package/dist/shaka-player.ui.debug.d.ts +318 -293
  105. package/dist/shaka-player.ui.debug.externs.js +55 -27
  106. package/dist/shaka-player.ui.debug.js +415 -417
  107. package/dist/shaka-player.ui.debug.map +4 -4
  108. package/dist/shaka-player.ui.externs.js +55 -27
  109. package/dist/shaka-player.ui.js +997 -1000
  110. package/dist/shaka-player.ui.map +4 -4
  111. package/docs/design/REDESIGN.md +33 -33
  112. package/docs/design/bg-fetch.md +2 -2
  113. package/docs/design/codec_preferences.md +1 -1
  114. package/docs/design/dash-audio-channels.md +3 -3
  115. package/docs/design/dash-manifests.md +1 -1
  116. package/docs/design/gap-jumping.md +3 -3
  117. package/docs/design/preload.md +2 -2
  118. package/docs/tutorials/faq.md +8 -8
  119. package/docs/tutorials/index.json +1 -0
  120. package/docs/tutorials/plugins.md +3 -3
  121. package/docs/tutorials/selenium-grid-config.md +122 -0
  122. package/docs/tutorials/welcome.md +10 -2
  123. package/externs/cmcd.js +186 -0
  124. package/externs/shaka/player.js +8 -0
  125. package/externs/shaka/text.js +10 -0
  126. package/karma.conf.js +156 -45
  127. package/lib/abr/simple_abr_manager.js +12 -6
  128. package/lib/ads/ad_manager.js +1 -0
  129. package/lib/cast/cast_proxy.js +6 -4
  130. package/lib/cast/cast_receiver.js +3 -0
  131. package/lib/cea/cea608_data_channel.js +2 -2
  132. package/lib/cea/cea708_service.js +5 -4
  133. package/lib/cea/mp4_cea_parser.js +11 -5
  134. package/lib/cea/sei_processor.js +6 -3
  135. package/lib/dash/dash_parser.js +40 -30
  136. package/lib/dash/mpd_utils.js +4 -5
  137. package/lib/dash/segment_list.js +1 -2
  138. package/lib/dash/segment_template.js +3 -3
  139. package/lib/hls/hls_parser.js +41 -9
  140. package/lib/hls/manifest_text_parser.js +4 -3
  141. package/lib/media/adaptation_set.js +1 -2
  142. package/lib/media/content_workarounds.js +2 -2
  143. package/lib/media/drm_engine.js +3 -2
  144. package/lib/media/media_source_engine.js +3 -2
  145. package/lib/media/mp4_segment_index_parser.js +1 -4
  146. package/lib/media/playhead.js +2 -2
  147. package/lib/media/presentation_timeline.js +18 -8
  148. package/lib/media/quality_observer.js +17 -34
  149. package/lib/media/region_observer.js +39 -33
  150. package/lib/media/region_timeline.js +17 -19
  151. package/lib/media/segment_index.js +2 -1
  152. package/lib/media/segment_reference.js +19 -1
  153. package/lib/media/streaming_engine.js +12 -9
  154. package/lib/media/time_ranges_utils.js +1 -3
  155. package/lib/media/video_wrapper.js +1 -1
  156. package/lib/net/networking_engine.js +5 -1
  157. package/lib/offline/storage.js +12 -13
  158. package/lib/player.js +87 -41
  159. package/lib/polyfill/all.js +2 -3
  160. package/lib/polyfill/encryption_scheme.js +1 -1
  161. package/lib/polyfill/media_capabilities.js +32 -17
  162. package/lib/polyfill/mediasource.js +1 -1
  163. package/lib/polyfill/symbol.js +46 -0
  164. package/lib/text/cue.js +7 -1
  165. package/lib/text/simple_text_displayer.js +2 -1
  166. package/lib/text/ttml_text_parser.js +92 -63
  167. package/lib/text/ui_text_displayer.js +18 -12
  168. package/lib/util/buffer_utils.js +1 -3
  169. package/lib/util/cmcd_manager.js +47 -201
  170. package/lib/util/ebml_parser.js +3 -3
  171. package/lib/util/error.js +1 -1
  172. package/lib/util/fake_event_target.js +21 -1
  173. package/lib/util/iterables.js +0 -46
  174. package/lib/util/mp4_box_parsers.js +1 -4
  175. package/lib/util/mp4_parser.js +5 -7
  176. package/lib/util/periods.js +10 -11
  177. package/lib/util/platform.js +3 -3
  178. package/lib/util/pssh.js +1 -4
  179. package/lib/util/stream_utils.js +88 -11
  180. package/lib/util/string_utils.js +3 -5
  181. package/lib/util/uint8array_utils.js +3 -5
  182. package/lib/util/xml_utils.js +34 -7
  183. package/package.json +62 -40
  184. package/roadmap.md +17 -17
  185. package/shaka-player.uncompiled.js +1 -0
  186. package/test/abr/simple_abr_manager_unit.js +3 -8
  187. package/test/ads/ad_manager_unit.js +0 -6
  188. package/test/cast/cast_proxy_unit.js +0 -8
  189. package/test/cast/cast_receiver_integration.js +1 -18
  190. package/test/cast/cast_receiver_unit.js +1 -9
  191. package/test/cast/cast_sender_unit.js +0 -6
  192. package/test/cast/cast_utils_unit.js +0 -13
  193. package/test/cea/cea608_memory_unit.js +0 -5
  194. package/test/cea/cea708_service_unit.js +0 -7
  195. package/test/cea/cea708_window_unit.js +0 -5
  196. package/test/cea/cea_decoder_unit.js +0 -6
  197. package/test/cea/dtvcc_packet_builder_unit.js +0 -3
  198. package/test/cea/dtvcc_packet_unit.js +0 -5
  199. package/test/cea/mp4_cea_parser_unit.js +0 -4
  200. package/test/dash/dash_parser_content_protection_unit.js +1 -10
  201. package/test/dash/dash_parser_live_unit.js +45 -15
  202. package/test/dash/dash_parser_manifest_unit.js +4 -17
  203. package/test/dash/dash_parser_segment_base_unit.js +1 -8
  204. package/test/dash/dash_parser_segment_list_unit.js +1 -7
  205. package/test/dash/dash_parser_segment_template_unit.js +0 -9
  206. package/test/dash/mpd_utils_unit.js +3 -11
  207. package/test/demo/demo_unit.js +0 -5
  208. package/test/deprecate/enforcer_unit.js +0 -4
  209. package/test/deprecate/version_unit.js +0 -2
  210. package/test/hls/hls_live_unit.js +2 -14
  211. package/test/hls/hls_parser_unit.js +76 -15
  212. package/test/hls/manifest_text_parser_unit.js +0 -10
  213. package/test/media/adaptation_set_criteria_unit.js +3 -7
  214. package/test/media/adaptation_set_unit.js +0 -2
  215. package/test/media/buffering_observer_unit.js +1 -4
  216. package/test/media/closed_caption_parser_unit.js +0 -3
  217. package/test/media/drm_engine_integration.js +2 -15
  218. package/test/media/drm_engine_unit.js +7 -27
  219. package/test/media/manifest_parser_unit.js +0 -4
  220. package/test/media/media_source_engine_integration.js +0 -7
  221. package/test/media/media_source_engine_unit.js +1 -14
  222. package/test/media/mp4_segment_index_parser_unit.js +0 -4
  223. package/test/media/play_rate_controller_unit.js +0 -4
  224. package/test/media/playhead_unit.js +8 -16
  225. package/test/media/presentation_timeline_unit.js +4 -7
  226. package/test/media/quality_observer_unit.js +4 -5
  227. package/test/media/region_observer_unit.js +40 -10
  228. package/test/media/region_timeline_unit.js +40 -25
  229. package/test/media/segment_index_unit.js +0 -6
  230. package/test/media/segment_reference_unit.js +0 -3
  231. package/test/media/stall_detector_unit.js +0 -5
  232. package/test/media/streaming_engine_integration.js +11 -37
  233. package/test/media/streaming_engine_unit.js +155 -34
  234. package/test/media/time_ranges_utils_unit.js +0 -2
  235. package/test/media/transmuxer_integration.js +0 -6
  236. package/test/media/webm_segment_index_parser_unit.js +0 -4
  237. package/test/net/data_uri_plugin_unit.js +0 -7
  238. package/test/net/http_plugin_unit.js +0 -9
  239. package/test/net/networking_engine_unit.js +0 -11
  240. package/test/offline/download_progress_estimator_unit.js +0 -2
  241. package/test/offline/indexeddb_storage_unit.js +0 -6
  242. package/test/offline/manifest_convert_unit.js +0 -8
  243. package/test/offline/offline_integration.js +1 -10
  244. package/test/offline/offline_manifest_parser_unit.js +0 -6
  245. package/test/offline/offline_scheme_unit.js +0 -8
  246. package/test/offline/offline_uri_unit.js +0 -2
  247. package/test/offline/storage_compatibility_unit.js +1 -14
  248. package/test/offline/storage_integration.js +1 -27
  249. package/test/player_external.js +2 -10
  250. package/test/player_integration.js +63 -36
  251. package/test/player_load_graph_integration.js +1 -6
  252. package/test/player_src_equals_external.js +3 -9
  253. package/test/player_src_equals_integration.js +41 -15
  254. package/test/player_unit.js +71 -46
  255. package/test/routing/walker_unit.js +0 -8
  256. package/test/test/assets/chapters.vtt +2 -2
  257. package/test/test/assets/chapters2.vtt +10 -0
  258. package/test/test/assets/large_file.mpd +1 -1
  259. package/test/test/boot.js +75 -22
  260. package/test/test/externs/jasmine.js +2 -2
  261. package/test/test/externs/karma.js +4 -0
  262. package/test/test/namespace.js +10 -0
  263. package/test/test/util/canned_idb.js +0 -8
  264. package/test/test/util/cea_utils.js +0 -6
  265. package/test/test/util/dash_parser_util.js +0 -13
  266. package/test/test/util/fake_ad.js +0 -3
  267. package/test/test/util/fake_ad_manager.js +0 -9
  268. package/test/test/util/fake_demo_main.js +0 -5
  269. package/test/test/util/fake_drm_engine.js +0 -6
  270. package/test/test/util/fake_media_source_engine.js +0 -7
  271. package/test/test/util/fake_networking_engine.js +0 -5
  272. package/test/test/util/fake_text_displayer.js +0 -5
  273. package/test/test/util/indexeddb_utils.js +1 -10
  274. package/test/test/util/jasmine_fetch.js +0 -1
  275. package/test/test/util/loader.js +0 -18
  276. package/test/test/util/manifest_generator.js +9 -14
  277. package/test/test/util/manifest_parser_util.js +0 -6
  278. package/test/test/util/offline_utils.js +0 -5
  279. package/test/test/util/simple_fakes.js +9 -26
  280. package/test/test/util/stream_generator.js +0 -14
  281. package/test/test/util/streaming_engine_util.js +0 -15
  282. package/test/test/util/test_scheme.js +1 -19
  283. package/test/test/util/ttml_utils.js +79 -0
  284. package/test/test/util/ui_utils.js +0 -9
  285. package/test/test/util/util.js +15 -26
  286. package/test/test/util/waiter.js +84 -43
  287. package/test/text/cue_integration.js +0 -4
  288. package/test/text/lrc_text_parser_unit.js +0 -4
  289. package/test/text/mp4_ttml_parser_unit.js +10 -23
  290. package/test/text/mp4_vtt_parser_unit.js +1 -7
  291. package/test/text/sbv_text_parser_unit.js +0 -4
  292. package/test/text/simple_text_displayer_unit.js +1 -8
  293. package/test/text/srt_text_parser_unit.js +0 -4
  294. package/test/text/ssa_text_parser_unit.js +0 -5
  295. package/test/text/text_engine_unit.js +2 -7
  296. package/test/text/text_track_integration.js +0 -2
  297. package/test/text/ttml_text_parser_unit.js +499 -239
  298. package/test/text/ui_text_displayer_unit.js +44 -41
  299. package/test/text/vtt_text_parser_unit.js +0 -9
  300. package/test/text/web_vtt_generator_unit.js +0 -3
  301. package/test/ui/ad_ui_unit.js +0 -11
  302. package/test/ui/localization_unit.js +0 -3
  303. package/test/ui/text_displayer_layout_unit.js +9 -19
  304. package/test/ui/ui_customization_unit.js +0 -6
  305. package/test/ui/ui_integration.js +0 -16
  306. package/test/ui/ui_unit.js +1 -17
  307. package/test/util/abortable_operation_unit.js +4 -9
  308. package/test/util/array_utils_unit.js +0 -2
  309. package/test/util/buffer_utils_unit.js +0 -2
  310. package/test/util/cmcd_manager_unit.js +29 -18
  311. package/test/util/data_view_reader_unit.js +0 -4
  312. package/test/util/ebml_parser_unit.js +0 -4
  313. package/test/util/event_manager_unit.js +0 -3
  314. package/test/util/fake_event_target_unit.js +0 -5
  315. package/test/util/functional_unit.js +1 -1
  316. package/test/util/iterables_unit.js +0 -64
  317. package/test/util/language_utils_unit.js +0 -3
  318. package/test/util/manifest_parser_utils_unit.js +0 -2
  319. package/test/util/mp4_box_parsers_unit.js +0 -5
  320. package/test/util/mp4_parser_unit.js +0 -4
  321. package/test/util/multi_map_unit.js +0 -3
  322. package/test/util/object_utils_unit.js +0 -2
  323. package/test/util/periods_unit.js +14 -7
  324. package/test/util/pssh_unit.js +0 -5
  325. package/test/util/state_history_unit.js +0 -2
  326. package/test/util/stream_utils_unit.js +39 -38
  327. package/test/util/string_utils_unit.js +0 -6
  328. package/test/util/text_parser_unit.js +0 -2
  329. package/test/util/xml_utils_unit.js +0 -4
  330. package/third_party/closure-uri/uri.js +21 -0
  331. package/ui/controls.js +3 -0
  332. package/ui/less/ad_controls.less +4 -4
  333. package/ui/less/buttons.less +5 -5
  334. package/ui/less/containers.less +9 -11
  335. package/ui/less/overflow_menu.less +4 -4
  336. package/ui/less/range_elements.less +5 -0
  337. package/ui/less/tooltip.less +1 -1
  338. package/ui/locales/sjn-translations.yaml +257 -0
  339. package/ui/locales/sjn.json +42 -0
  340. package/ui/localization.js +12 -36
  341. package/ui/text_selection.js +1 -0
  342. package/externs/media_capabilities.js +0 -16
  343. package/externs/svgelement.js +0 -18
  344. package/externs/webcrypto.js +0 -18
@@ -178,6 +178,10 @@ shaka.text.Cue.prototype.id;
178
178
  * @override
179
179
  */
180
180
  shaka.text.Cue.prototype.nestedCues;
181
+ /**
182
+ * @override
183
+ */
184
+ shaka.text.Cue.prototype.isContainer;
181
185
  /**
182
186
  * @override
183
187
  */
@@ -1116,11 +1120,24 @@ shaka.util.FakeEvent = class {
1116
1120
  */
1117
1121
  constructor(type, dict) {}
1118
1122
  };
1123
+ /**
1124
+ * An interface to standardize how objects release internal references
1125
+ * synchronously. If an object needs to asynchronously release references, then
1126
+ * it should use 'shaka.util.IDestroyable'.
1127
+ * @interface
1128
+ */
1129
+ shaka.util.IReleasable = class {
1130
+ /**
1131
+ * Request that this object release all internal references.
1132
+ */
1133
+ release() {}
1134
+ };
1119
1135
  /**
1120
1136
  * @summary A work-alike for EventTarget. Only DOM elements may be true
1121
1137
  * EventTargets, but this can be used as a base class to provide event dispatch
1122
1138
  * to non-DOM classes. Only FakeEvents should be dispatched.
1123
1139
  * @implements {EventTarget}
1140
+ * @implements {shaka.util.IReleasable}
1124
1141
  */
1125
1142
  shaka.util.FakeEventTarget = class {
1126
1143
  /** */
@@ -1158,6 +1175,10 @@ shaka.util.FakeEventTarget = class {
1158
1175
  * @override
1159
1176
  */
1160
1177
  dispatchEvent(event) {}
1178
+ /**
1179
+ * @override
1180
+ */
1181
+ release() {}
1161
1182
  };
1162
1183
  /**
1163
1184
  * These are the listener types defined in the closure extern for EventTarget.
@@ -1340,18 +1361,6 @@ shaka.net.NetworkingEngine.OnHeadersReceived;
1340
1361
  * reason (e.g. even if the download was aborted).
1341
1362
  */
1342
1363
  shaka.net.NetworkingEngine.OnDownloadFailed;
1343
- /**
1344
- * An interface to standardize how objects release internal references
1345
- * synchronously. If an object needs to asynchronously release references, then
1346
- * it should use 'shaka.util.IDestroyable'.
1347
- * @interface
1348
- */
1349
- shaka.util.IReleasable = class {
1350
- /**
1351
- * Request that this object release all internal references.
1352
- */
1353
- release() {}
1354
- };
1355
1364
  /**
1356
1365
  * @summary
1357
1366
  * An EventManager maintains a collection of "event
@@ -1705,8 +1714,12 @@ shaka.media.SegmentReference = class {
1705
1714
  * The value is a grid-item-dimension consisting of two positive decimal
1706
1715
  * integers in the format: column-x-row ('4x3'). It describes the
1707
1716
  * arrangement of Images in a Grid. The minimum valid LAYOUT is '1x1'.
1717
+ * @param {?number=} tileDuration
1718
+ * The explicit duration of an individual tile within the tiles grid.
1719
+ * If not provided, the duration should be automatically calculated based on
1720
+ * the duration of the reference.
1708
1721
  */
1709
- constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout) {}
1722
+ constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration) {}
1710
1723
  /**
1711
1724
  * Creates and returns the URIs of the resource containing the segment.
1712
1725
  * @return {!Array.<string>}
@@ -1740,6 +1753,12 @@ shaka.media.SegmentReference = class {
1740
1753
  * @return {?string}
1741
1754
  */
1742
1755
  getTilesLayout() {}
1756
+ /**
1757
+ * Returns the segment's explicit tile duration.
1758
+ * Only defined in image segments.
1759
+ * @return {?number}
1760
+ */
1761
+ getTileDuration() {}
1743
1762
  };
1744
1763
  /**
1745
1764
  * PresentationTimeline.
@@ -1860,8 +1879,9 @@ shaka.media.PresentationTimeline = class {
1860
1879
  * Gets the presentation's current segment availability end time. Segments
1861
1880
  * starting after this time should be assumed to be unavailable.
1862
1881
  * @return {number} The current segment availability end time, in seconds,
1863
- * relative to the start of the presentation. Always returns the
1864
- * presentation's duration for video-on-demand.
1882
+ * relative to the start of the presentation. For VOD, the availability
1883
+ * end time is the content's duration. If the Player's playRangeEnd
1884
+ * configuration is used, this can override the duration.
1865
1885
  */
1866
1886
  getSegmentAvailabilityEnd() {}
1867
1887
  /**
@@ -3667,7 +3687,7 @@ shaka.polyfill.Aria = class {
3667
3687
  * @summary A polyfill to add support for EncryptionScheme queries in EME.
3668
3688
  * @see https://wicg.github.io/encrypted-media-encryption-scheme/
3669
3689
  * @see https://github.com/w3c/encrypted-media/pull/457
3670
- * @see https://github.com/google/eme-encryption-scheme-polyfill
3690
+ * @see https://github.com/shaka-project/eme-encryption-scheme-polyfill
3671
3691
  */
3672
3692
  shaka.polyfill.EncryptionScheme = class {
3673
3693
  /**
@@ -3710,6 +3730,13 @@ shaka.polyfill.MediaCapabilities = class {
3710
3730
  */
3711
3731
  static install() {}
3712
3732
  };
3733
+ /**
3734
+ * A copy of the MediaCapabilities instance, to prevent Safari from
3735
+ * garbage-collecting the polyfilled method on it. We make it public and export
3736
+ * it to ensure that it is not stripped out by the compiler.
3737
+ * @type {MediaCapabilities}
3738
+ */
3739
+ shaka.polyfill.MediaCapabilities.originalMcap;
3713
3740
  /**
3714
3741
  * @summary A polyfill to patch MSE bugs.
3715
3742
  */
@@ -3805,6 +3832,16 @@ shaka.polyfill.StorageEstimate = class {
3805
3832
  */
3806
3833
  static install() {}
3807
3834
  };
3835
+ /**
3836
+ * @summary A polyfill to provide Symbol.prototype.description in all browsers.
3837
+ * See: https://caniuse.com/mdn-javascript_builtins_symbol_description
3838
+ */
3839
+ shaka.polyfill.Symbol = class {
3840
+ /**
3841
+ * Install the polyfill if needed.
3842
+ */
3843
+ static install() {}
3844
+ };
3808
3845
  /**
3809
3846
  * @summary A polyfill to silence the play() Promise in HTML5 video.
3810
3847
  */