shaka-player 3.2.3 → 3.2.6

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 (325) hide show
  1. package/.csslintrc +11 -1
  2. package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
  3. package/.github/workflows/build-and-test.yaml +130 -0
  4. package/.github/workflows/custom-actions/prep-for-appspot/action.yaml +56 -0
  5. package/.github/workflows/custom-actions/set-commit-status/action.yaml +41 -0
  6. package/.github/workflows/demo-version-index.yaml +29 -0
  7. package/.github/workflows/nightly-demo.yaml +42 -0
  8. package/.github/workflows/release-please.yaml +147 -0
  9. package/.github/workflows/safari-homedir-launcher.sh +18 -0
  10. package/.github/workflows/selenium-lab-tests.yaml +93 -0
  11. package/AUTHORS +2 -0
  12. package/CHANGELOG.md +1587 -1551
  13. package/CONTRIBUTING.md +2 -2
  14. package/CONTRIBUTORS +2 -0
  15. package/README.md +7 -7
  16. package/app-engine/README.md +9 -0
  17. package/app-engine/demo-version-index/README.md +14 -0
  18. package/app-engine/demo-version-index/app.yaml +2 -0
  19. package/app-engine/demo-version-index/main.py +162 -0
  20. package/app-engine/demo-version-index/requirements.txt +6 -0
  21. package/app-engine/demo-version-index/templates/index.html +114 -0
  22. package/app-engine/shaka-player-demo/README.md +18 -0
  23. package/app-engine/shaka-player-demo/app.yaml +61 -0
  24. package/app-engine/shaka-player-demo/main.py +95 -0
  25. package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
  26. package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
  27. package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
  28. package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
  29. package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
  30. package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
  31. package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
  32. package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
  33. package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
  34. package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
  35. package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
  36. package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
  37. package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
  38. package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
  39. package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
  40. package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
  41. package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
  42. package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
  43. package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
  44. package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
  45. package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
  46. package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
  47. package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
  48. package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
  49. package/app-engine/shaka-player-demo/posters/sources.txt +46 -0
  50. package/app-engine/shaka-player-demo/posters/standard.png +0 -0
  51. package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
  52. package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
  53. package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
  54. package/app-engine/shaka-player-demo/posters.py +110 -0
  55. package/app-engine/shaka-player-demo/requirements.txt +5 -0
  56. package/app-engine/shaka-player-demo/time.txt +1 -0
  57. package/build/README.md +1 -1
  58. package/build/checkversion.py +1 -1
  59. package/build/conformance.textproto +13 -0
  60. package/build/docker/Dockerfile +20 -0
  61. package/build/docker/docker-compose.yml +10 -0
  62. package/build/gendeps.py +18 -15
  63. package/build/generateTsDefs.py +2 -0
  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/wrapper.template.js +2 -2
  68. package/demo/TengwarTelcontar.woff2 +0 -0
  69. package/demo/asset_card.js +1 -2
  70. package/demo/cast_receiver/index.html +1 -1
  71. package/demo/cast_receiver/receiver_app.css +14 -14
  72. package/demo/common/assets.js +2 -0
  73. package/demo/config.js +0 -1
  74. package/demo/custom.js +0 -1
  75. package/demo/customWarning.txt +2 -2
  76. package/demo/demo.less +29 -18
  77. package/demo/demo_uncompiled.js +1 -13
  78. package/demo/index.html +1 -1
  79. package/demo/main.js +3 -3
  80. package/dist/controls.css +2 -2
  81. package/dist/controls.css.map +1 -1
  82. package/dist/demo.compiled.debug.js +191 -194
  83. package/dist/demo.compiled.debug.map +4 -4
  84. package/dist/demo.compiled.js +191 -194
  85. package/dist/demo.compiled.map +4 -4
  86. package/dist/demo.css +1 -1
  87. package/dist/demo.css.map +1 -1
  88. package/dist/deps.js +225 -219
  89. package/dist/locales.js +27 -27
  90. package/dist/receiver.compiled.debug.js +43 -45
  91. package/dist/receiver.compiled.debug.map +4 -4
  92. package/dist/receiver.compiled.js +43 -45
  93. package/dist/receiver.compiled.map +4 -4
  94. package/dist/shaka-player.compiled.d.ts +228 -225
  95. package/dist/shaka-player.compiled.debug.d.ts +228 -225
  96. package/dist/shaka-player.compiled.debug.externs.js +21 -15
  97. package/dist/shaka-player.compiled.debug.js +326 -333
  98. package/dist/shaka-player.compiled.debug.map +4 -4
  99. package/dist/shaka-player.compiled.externs.js +21 -15
  100. package/dist/shaka-player.compiled.js +818 -821
  101. package/dist/shaka-player.compiled.map +4 -4
  102. package/dist/shaka-player.ui.d.ts +272 -278
  103. package/dist/shaka-player.ui.debug.d.ts +272 -278
  104. package/dist/shaka-player.ui.debug.externs.js +23 -26
  105. package/dist/shaka-player.ui.debug.js +259 -267
  106. package/dist/shaka-player.ui.debug.map +4 -4
  107. package/dist/shaka-player.ui.externs.js +23 -26
  108. package/dist/shaka-player.ui.js +963 -968
  109. package/dist/shaka-player.ui.map +4 -4
  110. package/docs/design/REDESIGN.md +33 -33
  111. package/docs/design/codec_preferences.md +1 -1
  112. package/docs/design/dash-audio-channels.md +3 -3
  113. package/docs/design/dash-manifests.md +1 -1
  114. package/docs/design/gap-jumping.md +3 -3
  115. package/docs/design/preload.md +2 -2
  116. package/docs/tutorials/faq.md +8 -8
  117. package/docs/tutorials/index.json +1 -0
  118. package/docs/tutorials/plugins.md +3 -3
  119. package/docs/tutorials/selenium-grid-config.md +122 -0
  120. package/docs/tutorials/welcome.md +10 -2
  121. package/karma.conf.js +156 -45
  122. package/lib/abr/simple_abr_manager.js +12 -6
  123. package/lib/ads/ad_manager.js +1 -0
  124. package/lib/cast/cast_proxy.js +6 -4
  125. package/lib/cast/cast_receiver.js +3 -0
  126. package/lib/cea/cea608_data_channel.js +2 -2
  127. package/lib/cea/cea708_service.js +5 -4
  128. package/lib/cea/mp4_cea_parser.js +11 -5
  129. package/lib/cea/sei_processor.js +6 -3
  130. package/lib/dash/dash_parser.js +40 -30
  131. package/lib/dash/mpd_utils.js +4 -5
  132. package/lib/dash/segment_list.js +1 -2
  133. package/lib/dash/segment_template.js +3 -3
  134. package/lib/hls/hls_parser.js +11 -9
  135. package/lib/hls/manifest_text_parser.js +4 -3
  136. package/lib/media/adaptation_set.js +1 -2
  137. package/lib/media/content_workarounds.js +2 -2
  138. package/lib/media/drm_engine.js +3 -2
  139. package/lib/media/media_source_engine.js +3 -2
  140. package/lib/media/mp4_segment_index_parser.js +1 -4
  141. package/lib/media/playhead.js +2 -2
  142. package/lib/media/presentation_timeline.js +18 -8
  143. package/lib/media/region_observer.js +39 -33
  144. package/lib/media/region_timeline.js +17 -19
  145. package/lib/media/streaming_engine.js +7 -7
  146. package/lib/media/time_ranges_utils.js +1 -3
  147. package/lib/media/video_wrapper.js +1 -1
  148. package/lib/net/networking_engine.js +5 -1
  149. package/lib/offline/storage.js +12 -13
  150. package/lib/player.js +58 -24
  151. package/lib/polyfill/all.js +2 -3
  152. package/lib/polyfill/encryption_scheme.js +1 -1
  153. package/lib/polyfill/media_capabilities.js +3 -3
  154. package/lib/polyfill/mediasource.js +1 -1
  155. package/lib/text/cue.js +1 -1
  156. package/lib/text/simple_text_displayer.js +2 -1
  157. package/lib/text/ttml_text_parser.js +8 -5
  158. package/lib/text/ui_text_displayer.js +1 -1
  159. package/lib/util/buffer_utils.js +1 -3
  160. package/lib/util/ebml_parser.js +3 -3
  161. package/lib/util/error.js +1 -1
  162. package/lib/util/fake_event_target.js +21 -1
  163. package/lib/util/iterables.js +0 -46
  164. package/lib/util/mp4_box_parsers.js +1 -4
  165. package/lib/util/mp4_parser.js +5 -7
  166. package/lib/util/periods.js +8 -9
  167. package/lib/util/platform.js +3 -3
  168. package/lib/util/pssh.js +1 -4
  169. package/lib/util/stream_utils.js +4 -3
  170. package/lib/util/string_utils.js +3 -5
  171. package/lib/util/uint8array_utils.js +3 -5
  172. package/lib/util/xml_utils.js +15 -7
  173. package/package.json +62 -40
  174. package/roadmap.md +17 -17
  175. package/test/abr/simple_abr_manager_unit.js +3 -8
  176. package/test/ads/ad_manager_unit.js +0 -6
  177. package/test/cast/cast_proxy_unit.js +0 -8
  178. package/test/cast/cast_receiver_integration.js +1 -18
  179. package/test/cast/cast_receiver_unit.js +1 -9
  180. package/test/cast/cast_sender_unit.js +0 -6
  181. package/test/cast/cast_utils_unit.js +0 -13
  182. package/test/cea/cea608_memory_unit.js +0 -5
  183. package/test/cea/cea708_service_unit.js +0 -7
  184. package/test/cea/cea708_window_unit.js +0 -5
  185. package/test/cea/cea_decoder_unit.js +0 -6
  186. package/test/cea/dtvcc_packet_builder_unit.js +0 -3
  187. package/test/cea/dtvcc_packet_unit.js +0 -5
  188. package/test/cea/mp4_cea_parser_unit.js +0 -4
  189. package/test/dash/dash_parser_content_protection_unit.js +1 -10
  190. package/test/dash/dash_parser_live_unit.js +45 -15
  191. package/test/dash/dash_parser_manifest_unit.js +4 -17
  192. package/test/dash/dash_parser_segment_base_unit.js +1 -8
  193. package/test/dash/dash_parser_segment_list_unit.js +1 -7
  194. package/test/dash/dash_parser_segment_template_unit.js +0 -9
  195. package/test/dash/mpd_utils_unit.js +3 -11
  196. package/test/demo/demo_unit.js +0 -5
  197. package/test/deprecate/enforcer_unit.js +0 -4
  198. package/test/deprecate/version_unit.js +0 -2
  199. package/test/hls/hls_live_unit.js +2 -14
  200. package/test/hls/hls_parser_unit.js +76 -15
  201. package/test/hls/manifest_text_parser_unit.js +0 -10
  202. package/test/media/adaptation_set_criteria_unit.js +3 -7
  203. package/test/media/adaptation_set_unit.js +0 -2
  204. package/test/media/buffering_observer_unit.js +1 -4
  205. package/test/media/closed_caption_parser_unit.js +0 -3
  206. package/test/media/drm_engine_integration.js +2 -15
  207. package/test/media/drm_engine_unit.js +4 -24
  208. package/test/media/manifest_parser_unit.js +0 -4
  209. package/test/media/media_source_engine_integration.js +0 -7
  210. package/test/media/media_source_engine_unit.js +1 -14
  211. package/test/media/mp4_segment_index_parser_unit.js +0 -4
  212. package/test/media/play_rate_controller_unit.js +0 -4
  213. package/test/media/playhead_unit.js +8 -16
  214. package/test/media/presentation_timeline_unit.js +4 -7
  215. package/test/media/region_observer_unit.js +40 -10
  216. package/test/media/region_timeline_unit.js +40 -25
  217. package/test/media/segment_index_unit.js +0 -6
  218. package/test/media/segment_reference_unit.js +0 -3
  219. package/test/media/stall_detector_unit.js +0 -5
  220. package/test/media/streaming_engine_integration.js +9 -36
  221. package/test/media/streaming_engine_unit.js +11 -35
  222. package/test/media/time_ranges_utils_unit.js +0 -2
  223. package/test/media/transmuxer_integration.js +0 -6
  224. package/test/media/webm_segment_index_parser_unit.js +0 -4
  225. package/test/net/data_uri_plugin_unit.js +0 -7
  226. package/test/net/http_plugin_unit.js +0 -9
  227. package/test/net/networking_engine_unit.js +0 -11
  228. package/test/offline/download_progress_estimator_unit.js +0 -2
  229. package/test/offline/indexeddb_storage_unit.js +0 -6
  230. package/test/offline/manifest_convert_unit.js +0 -8
  231. package/test/offline/offline_integration.js +1 -10
  232. package/test/offline/offline_manifest_parser_unit.js +0 -6
  233. package/test/offline/offline_scheme_unit.js +0 -8
  234. package/test/offline/offline_uri_unit.js +0 -2
  235. package/test/offline/storage_compatibility_unit.js +1 -14
  236. package/test/offline/storage_integration.js +1 -25
  237. package/test/player_external.js +2 -10
  238. package/test/player_integration.js +21 -28
  239. package/test/player_load_graph_integration.js +1 -6
  240. package/test/player_src_equals_external.js +3 -9
  241. package/test/player_src_equals_integration.js +0 -7
  242. package/test/player_unit.js +52 -37
  243. package/test/routing/walker_unit.js +0 -8
  244. package/test/test/assets/large_file.mpd +1 -1
  245. package/test/test/boot.js +75 -22
  246. package/test/test/externs/jasmine.js +2 -2
  247. package/test/test/externs/karma.js +4 -0
  248. package/test/test/namespace.js +10 -0
  249. package/test/test/util/canned_idb.js +0 -8
  250. package/test/test/util/cea_utils.js +0 -6
  251. package/test/test/util/dash_parser_util.js +0 -13
  252. package/test/test/util/fake_ad.js +0 -3
  253. package/test/test/util/fake_ad_manager.js +0 -9
  254. package/test/test/util/fake_demo_main.js +0 -5
  255. package/test/test/util/fake_drm_engine.js +0 -6
  256. package/test/test/util/fake_media_source_engine.js +0 -7
  257. package/test/test/util/fake_networking_engine.js +0 -5
  258. package/test/test/util/fake_text_displayer.js +0 -5
  259. package/test/test/util/indexeddb_utils.js +1 -10
  260. package/test/test/util/jasmine_fetch.js +0 -1
  261. package/test/test/util/loader.js +0 -18
  262. package/test/test/util/manifest_generator.js +9 -14
  263. package/test/test/util/manifest_parser_util.js +0 -6
  264. package/test/test/util/offline_utils.js +0 -5
  265. package/test/test/util/simple_fakes.js +9 -26
  266. package/test/test/util/stream_generator.js +0 -14
  267. package/test/test/util/streaming_engine_util.js +0 -15
  268. package/test/test/util/test_scheme.js +1 -19
  269. package/test/test/util/ttml_utils.js +0 -2
  270. package/test/test/util/ui_utils.js +0 -9
  271. package/test/test/util/util.js +15 -26
  272. package/test/test/util/waiter.js +84 -43
  273. package/test/text/cue_integration.js +0 -4
  274. package/test/text/lrc_text_parser_unit.js +0 -4
  275. package/test/text/mp4_ttml_parser_unit.js +0 -6
  276. package/test/text/mp4_vtt_parser_unit.js +1 -7
  277. package/test/text/sbv_text_parser_unit.js +0 -4
  278. package/test/text/simple_text_displayer_unit.js +1 -8
  279. package/test/text/srt_text_parser_unit.js +0 -4
  280. package/test/text/ssa_text_parser_unit.js +0 -5
  281. package/test/text/text_engine_unit.js +2 -7
  282. package/test/text/text_track_integration.js +0 -2
  283. package/test/text/ttml_text_parser_unit.js +2 -11
  284. package/test/text/ui_text_displayer_unit.js +44 -41
  285. package/test/text/vtt_text_parser_unit.js +0 -9
  286. package/test/text/web_vtt_generator_unit.js +0 -3
  287. package/test/ui/ad_ui_unit.js +0 -11
  288. package/test/ui/localization_unit.js +0 -3
  289. package/test/ui/text_displayer_layout_unit.js +9 -19
  290. package/test/ui/ui_customization_unit.js +0 -6
  291. package/test/ui/ui_integration.js +0 -16
  292. package/test/ui/ui_unit.js +1 -17
  293. package/test/util/abortable_operation_unit.js +4 -9
  294. package/test/util/array_utils_unit.js +0 -2
  295. package/test/util/buffer_utils_unit.js +0 -2
  296. package/test/util/data_view_reader_unit.js +0 -4
  297. package/test/util/ebml_parser_unit.js +0 -4
  298. package/test/util/event_manager_unit.js +0 -3
  299. package/test/util/fake_event_target_unit.js +0 -5
  300. package/test/util/functional_unit.js +1 -1
  301. package/test/util/iterables_unit.js +0 -64
  302. package/test/util/language_utils_unit.js +0 -3
  303. package/test/util/manifest_parser_utils_unit.js +0 -2
  304. package/test/util/mp4_box_parsers_unit.js +0 -5
  305. package/test/util/mp4_parser_unit.js +0 -4
  306. package/test/util/multi_map_unit.js +0 -3
  307. package/test/util/object_utils_unit.js +0 -2
  308. package/test/util/periods_unit.js +14 -7
  309. package/test/util/pssh_unit.js +0 -5
  310. package/test/util/state_history_unit.js +0 -2
  311. package/test/util/stream_utils_unit.js +3 -8
  312. package/test/util/string_utils_unit.js +0 -6
  313. package/test/util/text_parser_unit.js +0 -2
  314. package/test/util/xml_utils_unit.js +0 -4
  315. package/ui/controls.js +3 -0
  316. package/ui/less/ad_controls.less +6 -6
  317. package/ui/less/buttons.less +6 -6
  318. package/ui/less/containers.less +9 -11
  319. package/ui/less/overflow_menu.less +4 -4
  320. package/ui/less/range_elements.less +7 -2
  321. package/ui/locales/sjn-translations.yaml +257 -0
  322. package/ui/locales/sjn.json +42 -0
  323. package/ui/localization.js +12 -36
  324. package/ui/seek_bar.js +2 -1
  325. package/externs/svgelement.js +0 -18
@@ -966,11 +966,24 @@ shaka.util.FakeEvent = class {
966
966
  */
967
967
  constructor(type, dict) {}
968
968
  };
969
+ /**
970
+ * An interface to standardize how objects release internal references
971
+ * synchronously. If an object needs to asynchronously release references, then
972
+ * it should use 'shaka.util.IDestroyable'.
973
+ * @interface
974
+ */
975
+ shaka.util.IReleasable = class {
976
+ /**
977
+ * Request that this object release all internal references.
978
+ */
979
+ release() {}
980
+ };
969
981
  /**
970
982
  * @summary A work-alike for EventTarget. Only DOM elements may be true
971
983
  * EventTargets, but this can be used as a base class to provide event dispatch
972
984
  * to non-DOM classes. Only FakeEvents should be dispatched.
973
985
  * @implements {EventTarget}
986
+ * @implements {shaka.util.IReleasable}
974
987
  */
975
988
  shaka.util.FakeEventTarget = class {
976
989
  /** */
@@ -1008,6 +1021,10 @@ shaka.util.FakeEventTarget = class {
1008
1021
  * @override
1009
1022
  */
1010
1023
  dispatchEvent(event) {}
1024
+ /**
1025
+ * @override
1026
+ */
1027
+ release() {}
1011
1028
  };
1012
1029
  /**
1013
1030
  * These are the listener types defined in the closure extern for EventTarget.
@@ -1165,18 +1182,6 @@ shaka.net.NetworkingEngine.PluginPriority = {
1165
1182
  'PREFERRED': 2,
1166
1183
  'APPLICATION': 3
1167
1184
  };
1168
- /**
1169
- * An interface to standardize how objects release internal references
1170
- * synchronously. If an object needs to asynchronously release references, then
1171
- * it should use 'shaka.util.IDestroyable'.
1172
- * @interface
1173
- */
1174
- shaka.util.IReleasable = class {
1175
- /**
1176
- * Request that this object release all internal references.
1177
- */
1178
- release() {}
1179
- };
1180
1185
  /**
1181
1186
  * @summary
1182
1187
  * An EventManager maintains a collection of "event
@@ -1693,8 +1698,9 @@ shaka.media.PresentationTimeline = class {
1693
1698
  * Gets the presentation's current segment availability end time. Segments
1694
1699
  * starting after this time should be assumed to be unavailable.
1695
1700
  * @return {number} The current segment availability end time, in seconds,
1696
- * relative to the start of the presentation. Always returns the
1697
- * presentation's duration for video-on-demand.
1701
+ * relative to the start of the presentation. For VOD, the availability
1702
+ * end time is the content's duration. If the Player's playRangeEnd
1703
+ * configuration is used, this can override the duration.
1698
1704
  */
1699
1705
  getSegmentAvailabilityEnd() {}
1700
1706
  /**
@@ -3440,7 +3446,7 @@ shaka.polyfill.Aria = class {
3440
3446
  * @summary A polyfill to add support for EncryptionScheme queries in EME.
3441
3447
  * @see https://wicg.github.io/encrypted-media-encryption-scheme/
3442
3448
  * @see https://github.com/w3c/encrypted-media/pull/457
3443
- * @see https://github.com/google/eme-encryption-scheme-polyfill
3449
+ * @see https://github.com/shaka-project/eme-encryption-scheme-polyfill
3444
3450
  */
3445
3451
  shaka.polyfill.EncryptionScheme = class {
3446
3452
  /**