shaka-player 4.6.3 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (608) hide show
  1. package/README.md +1 -0
  2. package/dist/controls.css +1 -1
  3. package/dist/controls.css.map +1 -1
  4. package/dist/deps.js +13 -9
  5. package/dist/locales.js +33 -33
  6. package/dist/shaka-player.compiled.d.ts +47 -4
  7. package/dist/shaka-player.compiled.debug.d.ts +47 -4
  8. package/dist/shaka-player.compiled.debug.externs.js +50 -2
  9. package/dist/shaka-player.compiled.debug.js +408 -376
  10. package/dist/shaka-player.compiled.debug.map +4 -4
  11. package/dist/shaka-player.compiled.externs.js +50 -2
  12. package/dist/shaka-player.compiled.js +1134 -1118
  13. package/dist/shaka-player.compiled.map +4 -4
  14. package/dist/shaka-player.ui.d.ts +69 -5
  15. package/dist/shaka-player.ui.debug.d.ts +69 -5
  16. package/dist/shaka-player.ui.debug.externs.js +82 -2
  17. package/dist/shaka-player.ui.debug.js +457 -420
  18. package/dist/shaka-player.ui.debug.map +4 -4
  19. package/dist/shaka-player.ui.externs.js +82 -2
  20. package/dist/shaka-player.ui.js +1305 -1289
  21. package/dist/shaka-player.ui.map +4 -4
  22. package/externs/mediasession.js +7 -0
  23. package/externs/shaka/abr_manager.js +8 -0
  24. package/externs/shaka/manifest.js +3 -3
  25. package/externs/shaka/player.js +59 -4
  26. package/lib/abr/simple_abr_manager.js +41 -15
  27. package/lib/ads/client_side_ad_manager.js +4 -0
  28. package/lib/ads/media_tailor_ad_manager.js +5 -0
  29. package/lib/ads/server_side_ad_manager.js +4 -0
  30. package/lib/cea/cea708_service.js +1 -1
  31. package/lib/cea/cea708_window.js +95 -7
  32. package/lib/dash/dash_parser.js +55 -11
  33. package/lib/hls/hls_parser.js +17 -5
  34. package/lib/media/adaptation_set_criteria.js +76 -10
  35. package/lib/media/drm_engine.js +0 -3
  36. package/lib/media/media_source_engine.js +42 -18
  37. package/lib/media/segment_reference.js +12 -0
  38. package/lib/media/streaming_engine.js +58 -5
  39. package/lib/media/video_wrapper.js +4 -3
  40. package/lib/player.js +95 -11
  41. package/lib/text/simple_text_displayer.js +8 -7
  42. package/lib/text/text_utils.js +39 -13
  43. package/lib/text/ui_text_displayer.js +20 -11
  44. package/lib/text/web_vtt_generator.js +1 -1
  45. package/lib/util/cmsd_manager.js +269 -0
  46. package/lib/util/content_steering_manager.js +5 -1
  47. package/lib/util/mime_utils.js +6 -2
  48. package/lib/util/periods.js +108 -39
  49. package/lib/util/player_configuration.js +19 -5
  50. package/lib/util/stream_utils.js +82 -13
  51. package/package.json +1 -1
  52. package/ui/audio_language_selection.js +3 -0
  53. package/ui/controls.js +60 -0
  54. package/ui/externs/ui.js +12 -1
  55. package/ui/hidden_fast_forward_button.js +32 -0
  56. package/ui/hidden_rewind_button.js +32 -0
  57. package/ui/hidden_seek_button.js +121 -0
  58. package/ui/less/buttons.less +50 -0
  59. package/ui/less/containers.less +18 -0
  60. package/ui/resolution_selection.js +2 -0
  61. package/ui/ui.js +2 -0
  62. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -75
  63. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -26
  64. package/.github/ISSUE_TEMPLATE/question.md +0 -26
  65. package/.github/config.yml +0 -1
  66. package/.github/workflows/appspot.yaml +0 -39
  67. package/.github/workflows/build-and-test.yaml +0 -222
  68. package/.github/workflows/compute-incremental-coverage.py +0 -265
  69. package/.github/workflows/custom-actions/prep-for-appspot/action.yaml +0 -56
  70. package/.github/workflows/custom-actions/set-commit-status/action.yaml +0 -37
  71. package/.github/workflows/deflake.yaml +0 -31
  72. package/.github/workflows/demo-version-index.yaml +0 -43
  73. package/.github/workflows/nightly-demo.yaml +0 -42
  74. package/.github/workflows/release-please.yaml +0 -193
  75. package/.github/workflows/report-incremental-coverage.yaml +0 -39
  76. package/.github/workflows/safari-homedir-launcher.sh +0 -18
  77. package/.github/workflows/selenium-lab-tests.yaml +0 -370
  78. package/.github/workflows/shaka-bot-commands/command-help.sh +0 -27
  79. package/.github/workflows/shaka-bot-commands/command-test.sh +0 -56
  80. package/.github/workflows/shaka-bot-commands/lib.sh +0 -83
  81. package/.github/workflows/shaka-bot-commands/main.sh +0 -51
  82. package/.github/workflows/sync-labels.yaml +0 -33
  83. package/.github/workflows/talk-to-shaka-bot.yaml +0 -29
  84. package/.github/workflows/update-issues.yaml +0 -31
  85. package/.github/workflows/update-screenshots.yaml +0 -142
  86. package/.github/workflows/validate-pr-title.yaml +0 -27
  87. package/CHANGELOG.md +0 -5764
  88. package/CODE_OF_CONDUCT.md +0 -93
  89. package/CONTRIBUTING.md +0 -76
  90. package/demo/TengwarTelcontar.woff2 +0 -0
  91. package/demo/app_logo_144.png +0 -0
  92. package/demo/app_logo_192.png +0 -0
  93. package/demo/app_logo_256.png +0 -0
  94. package/demo/app_logo_384.png +0 -0
  95. package/demo/app_logo_512.png +0 -0
  96. package/demo/app_manifest.json +0 -29
  97. package/demo/asset_card.js +0 -410
  98. package/demo/autoTemplate.txt +0 -61
  99. package/demo/cast_receiver/idle1.jpg +0 -0
  100. package/demo/cast_receiver/idle2.jpg +0 -0
  101. package/demo/cast_receiver/idle3.jpg +0 -0
  102. package/demo/cast_receiver/index.html +0 -75
  103. package/demo/cast_receiver/receiver_app.css +0 -111
  104. package/demo/cast_receiver/receiver_app.js +0 -158
  105. package/demo/close_button.js +0 -60
  106. package/demo/common/asset.js +0 -511
  107. package/demo/common/assets.js +0 -1635
  108. package/demo/config.js +0 -859
  109. package/demo/custom.js +0 -907
  110. package/demo/customWarning.txt +0 -8
  111. package/demo/demo.less +0 -591
  112. package/demo/demo_uncompiled.js +0 -11
  113. package/demo/demo_utils.js +0 -113
  114. package/demo/favicon.ico +0 -0
  115. package/demo/front.js +0 -156
  116. package/demo/icons/README.md +0 -4
  117. package/demo/icons/baseline-audiotrack-24px.svg +0 -1
  118. package/demo/icons/baseline-closed_caption-24px.svg +0 -1
  119. package/demo/icons/baseline-fast_forward-24px.svg +0 -1
  120. package/demo/icons/baseline-language-24px.svg +0 -1
  121. package/demo/icons/baseline-live_tv-24px.svg +0 -1
  122. package/demo/icons/baseline-subtitles-24px.svg +0 -1
  123. package/demo/icons/baseline-surround_sound-24px.svg +0 -1
  124. package/demo/icons/custom_ad.svg +0 -1
  125. package/demo/icons/custom_box_with_text.svg +0 -1
  126. package/demo/icons/custom_clear_key.svg +0 -1
  127. package/demo/icons/custom_high_definition.svg +0 -1
  128. package/demo/icons/custom_playready.svg +0 -1
  129. package/demo/icons/custom_ultra_high_definition.svg +0 -1
  130. package/demo/icons/custom_widevine.svg +0 -1
  131. package/demo/index.html +0 -173
  132. package/demo/input.js +0 -270
  133. package/demo/input_container.js +0 -218
  134. package/demo/load.js +0 -156
  135. package/demo/main.js +0 -1854
  136. package/demo/search.js +0 -452
  137. package/demo/service_worker.js +0 -355
  138. package/demo/shaka_logo_trans.png +0 -0
  139. package/demo/tooltip.js +0 -29
  140. package/demo/visualizer.js +0 -335
  141. package/demo/visualizer_button.js +0 -84
  142. package/dist/demo.compiled.debug.js +0 -340
  143. package/dist/demo.compiled.debug.map +0 -8
  144. package/dist/demo.compiled.js +0 -340
  145. package/dist/demo.compiled.map +0 -8
  146. package/dist/demo.css +0 -6
  147. package/dist/demo.css.map +0 -1
  148. package/dist/receiver.compiled.debug.js +0 -187
  149. package/dist/receiver.compiled.debug.map +0 -8
  150. package/dist/receiver.compiled.js +0 -187
  151. package/dist/receiver.compiled.map +0 -8
  152. package/docs/announcement-list-join-group.png +0 -0
  153. package/docs/api-mainpage.md +0 -28
  154. package/docs/design/REDESIGN.md +0 -283
  155. package/docs/design/architecture.md +0 -13
  156. package/docs/design/bg-fetch-after.gv +0 -29
  157. package/docs/design/bg-fetch-after.gv.png +0 -0
  158. package/docs/design/bg-fetch-before.gv +0 -18
  159. package/docs/design/bg-fetch-before.gv.png +0 -0
  160. package/docs/design/bg-fetch.md +0 -134
  161. package/docs/design/cast.gv +0 -35
  162. package/docs/design/cast.gv.png +0 -0
  163. package/docs/design/chromecast.md +0 -151
  164. package/docs/design/codec_preferences.md +0 -158
  165. package/docs/design/dash-audio-channels.md +0 -123
  166. package/docs/design/dash-manifests.md +0 -248
  167. package/docs/design/dash-timeline.svg +0 -4
  168. package/docs/design/dataflow.gv +0 -66
  169. package/docs/design/dataflow.gv.png +0 -0
  170. package/docs/design/export.md +0 -70
  171. package/docs/design/fuzzy-locale-matching.md +0 -40
  172. package/docs/design/gap-jumping.md +0 -151
  173. package/docs/design/lcevc-architecture.png +0 -0
  174. package/docs/design/lcevc-demo.png +0 -0
  175. package/docs/design/lcevc-integration.md +0 -72
  176. package/docs/design/locale_compatibility.svg +0 -1
  177. package/docs/design/locales_tree.svg +0 -1
  178. package/docs/design/localization-design-principles.md +0 -158
  179. package/docs/design/newdemo.gv +0 -83
  180. package/docs/design/newdemo.gv.png +0 -0
  181. package/docs/design/offline.gv +0 -43
  182. package/docs/design/offline.gv.png +0 -0
  183. package/docs/design/offline.md +0 -153
  184. package/docs/design/ownership.gv +0 -76
  185. package/docs/design/ownership.gv.png +0 -0
  186. package/docs/design/preload.md +0 -299
  187. package/docs/design/preload.png +0 -0
  188. package/docs/design/talking-about-languages.md +0 -46
  189. package/docs/design/timeline.svg +0 -152
  190. package/docs/design/ui.md +0 -31
  191. package/docs/design/ui_player_relationships.svg +0 -1
  192. package/docs/jsdoc-plugin.js +0 -74
  193. package/docs/jsdoc-template/README.md +0 -1
  194. package/docs/jsdoc-template/publish.js +0 -879
  195. package/docs/jsdoc-template/static/fonts/OpenSans-Bold-webfont.eot +0 -0
  196. package/docs/jsdoc-template/static/fonts/OpenSans-Bold-webfont.svg +0 -1830
  197. package/docs/jsdoc-template/static/fonts/OpenSans-Bold-webfont.woff +0 -0
  198. package/docs/jsdoc-template/static/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  199. package/docs/jsdoc-template/static/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  200. package/docs/jsdoc-template/static/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  201. package/docs/jsdoc-template/static/fonts/OpenSans-Italic-webfont.eot +0 -0
  202. package/docs/jsdoc-template/static/fonts/OpenSans-Italic-webfont.svg +0 -1830
  203. package/docs/jsdoc-template/static/fonts/OpenSans-Italic-webfont.woff +0 -0
  204. package/docs/jsdoc-template/static/fonts/OpenSans-Light-webfont.eot +0 -0
  205. package/docs/jsdoc-template/static/fonts/OpenSans-Light-webfont.svg +0 -1831
  206. package/docs/jsdoc-template/static/fonts/OpenSans-Light-webfont.woff +0 -0
  207. package/docs/jsdoc-template/static/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  208. package/docs/jsdoc-template/static/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  209. package/docs/jsdoc-template/static/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  210. package/docs/jsdoc-template/static/fonts/OpenSans-Regular-webfont.eot +0 -0
  211. package/docs/jsdoc-template/static/fonts/OpenSans-Regular-webfont.svg +0 -1831
  212. package/docs/jsdoc-template/static/fonts/OpenSans-Regular-webfont.woff +0 -0
  213. package/docs/jsdoc-template/static/scripts/linenumber.js +0 -44
  214. package/docs/jsdoc-template/static/scripts/show-widget.js +0 -55
  215. package/docs/jsdoc-template/static/styles/jsdoc-default.css +0 -438
  216. package/docs/jsdoc-template/tmpl/augments.tmpl +0 -10
  217. package/docs/jsdoc-template/tmpl/container.tmpl +0 -205
  218. package/docs/jsdoc-template/tmpl/details.tmpl +0 -152
  219. package/docs/jsdoc-template/tmpl/example.tmpl +0 -2
  220. package/docs/jsdoc-template/tmpl/examples.tmpl +0 -13
  221. package/docs/jsdoc-template/tmpl/exceptions.tmpl +0 -32
  222. package/docs/jsdoc-template/tmpl/layout.tmpl +0 -50
  223. package/docs/jsdoc-template/tmpl/mainpage.tmpl +0 -14
  224. package/docs/jsdoc-template/tmpl/members.tmpl +0 -47
  225. package/docs/jsdoc-template/tmpl/method.tmpl +0 -140
  226. package/docs/jsdoc-template/tmpl/modifies.tmpl +0 -14
  227. package/docs/jsdoc-template/tmpl/params.tmpl +0 -131
  228. package/docs/jsdoc-template/tmpl/properties.tmpl +0 -125
  229. package/docs/jsdoc-template/tmpl/returns.tmpl +0 -19
  230. package/docs/jsdoc-template/tmpl/source.tmpl +0 -8
  231. package/docs/jsdoc-template/tmpl/tutorial.tmpl +0 -21
  232. package/docs/jsdoc-template/tmpl/type.tmpl +0 -7
  233. package/docs/jsdoc.conf.json +0 -38
  234. package/docs/shaka-player-logo.png +0 -0
  235. package/docs/style.md +0 -174
  236. package/docs/tutorials/a11y.md +0 -64
  237. package/docs/tutorials/ad_monetization.md +0 -292
  238. package/docs/tutorials/application-level-redirects.md +0 -94
  239. package/docs/tutorials/architecture.md +0 -32
  240. package/docs/tutorials/basic-usage.md +0 -89
  241. package/docs/tutorials/blob-url.md +0 -15
  242. package/docs/tutorials/config.md +0 -148
  243. package/docs/tutorials/debugging.md +0 -189
  244. package/docs/tutorials/drm-config.md +0 -274
  245. package/docs/tutorials/errors.md +0 -95
  246. package/docs/tutorials/fairplay.md +0 -242
  247. package/docs/tutorials/faq.md +0 -252
  248. package/docs/tutorials/index.json +0 -29
  249. package/docs/tutorials/lcevc.md +0 -118
  250. package/docs/tutorials/license-server-auth.md +0 -248
  251. package/docs/tutorials/license-wrapping.md +0 -168
  252. package/docs/tutorials/manifest-parser.md +0 -365
  253. package/docs/tutorials/network-and-buffering-config.md +0 -119
  254. package/docs/tutorials/offline.md +0 -683
  255. package/docs/tutorials/plugins.md +0 -184
  256. package/docs/tutorials/selenium-grid-config.md +0 -174
  257. package/docs/tutorials/service-worker.md +0 -106
  258. package/docs/tutorials/ui-customization.md +0 -288
  259. package/docs/tutorials/ui.md +0 -230
  260. package/docs/tutorials/upgrade-manifest.md +0 -281
  261. package/docs/tutorials/upgrade.md +0 -104
  262. package/docs/tutorials/welcome.md +0 -108
  263. package/docs/tutorials/widevine-service-certs.md +0 -45
  264. package/karma.conf.js +0 -879
  265. package/maintained-branches.md +0 -15
  266. package/roadmap.md +0 -186
  267. package/test/abr/simple_abr_manager_unit.js +0 -398
  268. package/test/ads/ad_manager_unit.js +0 -260
  269. package/test/assumptions/uint8_array_unit.js +0 -22
  270. package/test/cast/cast_proxy_unit.js +0 -736
  271. package/test/cast/cast_receiver_integration.js +0 -488
  272. package/test/cast/cast_receiver_unit.js +0 -1183
  273. package/test/cast/cast_sender_unit.js +0 -973
  274. package/test/cast/cast_utils_unit.js +0 -311
  275. package/test/cea/cea608_memory_unit.js +0 -411
  276. package/test/cea/cea708_service_unit.js +0 -674
  277. package/test/cea/cea708_window_unit.js +0 -373
  278. package/test/cea/cea_decoder_unit.js +0 -615
  279. package/test/cea/dtvcc_packet_builder_unit.js +0 -158
  280. package/test/cea/dtvcc_packet_unit.js +0 -60
  281. package/test/cea/mp4_cea_parser_unit.js +0 -127
  282. package/test/codec_switching/codec_switching_integration.js +0 -182
  283. package/test/dash/dash_parser_content_protection_unit.js +0 -998
  284. package/test/dash/dash_parser_integration.js +0 -74
  285. package/test/dash/dash_parser_live_unit.js +0 -1542
  286. package/test/dash/dash_parser_manifest_unit.js +0 -3121
  287. package/test/dash/dash_parser_segment_base_unit.js +0 -421
  288. package/test/dash/dash_parser_segment_list_unit.js +0 -380
  289. package/test/dash/dash_parser_segment_template_unit.js +0 -910
  290. package/test/dash/mpd_utils_unit.js +0 -794
  291. package/test/demo/demo_unit.js +0 -108
  292. package/test/deprecate/enforcer_unit.js +0 -74
  293. package/test/deprecate/version_unit.js +0 -57
  294. package/test/hls/hls_live_unit.js +0 -1330
  295. package/test/hls/hls_parser_unit.js +0 -5276
  296. package/test/hls/manifest_text_parser_unit.js +0 -545
  297. package/test/media/adaptation_set_criteria_unit.js +0 -806
  298. package/test/media/adaptation_set_unit.js +0 -229
  299. package/test/media/buffering_observer_unit.js +0 -143
  300. package/test/media/closed_caption_parser_unit.js +0 -18
  301. package/test/media/content_workarounds_unit.js +0 -43
  302. package/test/media/drm_engine_integration.js +0 -356
  303. package/test/media/drm_engine_unit.js +0 -2778
  304. package/test/media/media_source_engine_integration.js +0 -691
  305. package/test/media/media_source_engine_unit.js +0 -1512
  306. package/test/media/mp4_segment_index_parser_unit.js +0 -80
  307. package/test/media/play_rate_controller_unit.js +0 -69
  308. package/test/media/playhead_unit.js +0 -1394
  309. package/test/media/presentation_timeline_unit.js +0 -477
  310. package/test/media/quality_observer_unit.js +0 -138
  311. package/test/media/region_observer_unit.js +0 -374
  312. package/test/media/region_timeline_unit.js +0 -139
  313. package/test/media/segment_index_unit.js +0 -1080
  314. package/test/media/segment_prefetch_unit.js +0 -243
  315. package/test/media/segment_reference_unit.js +0 -63
  316. package/test/media/stall_detector_unit.js +0 -184
  317. package/test/media/streaming_engine_integration.js +0 -632
  318. package/test/media/streaming_engine_unit.js +0 -4211
  319. package/test/media/time_ranges_utils_unit.js +0 -123
  320. package/test/media/webm_segment_index_parser_unit.js +0 -90
  321. package/test/mss/mss_parser_content_protection_unit.js +0 -49
  322. package/test/mss/mss_parser_unit.js +0 -474
  323. package/test/mss/mss_player_integration.js +0 -124
  324. package/test/net/data_uri_plugin_unit.js +0 -105
  325. package/test/net/http_plugin_unit.js +0 -439
  326. package/test/net/networking_engine_unit.js +0 -1236
  327. package/test/net/networking_utils_unit.js +0 -37
  328. package/test/offline/download_progress_estimator_unit.js +0 -90
  329. package/test/offline/indexeddb_storage_unit.js +0 -192
  330. package/test/offline/manifest_convert_unit.js +0 -622
  331. package/test/offline/offline_integration.js +0 -168
  332. package/test/offline/offline_manifest_parser_unit.js +0 -231
  333. package/test/offline/offline_scheme_unit.js +0 -154
  334. package/test/offline/offline_uri_unit.js +0 -59
  335. package/test/offline/storage_compatibility_unit.js +0 -344
  336. package/test/offline/storage_integration.js +0 -1858
  337. package/test/player_external.js +0 -237
  338. package/test/player_integration.js +0 -1371
  339. package/test/player_load_graph_integration.js +0 -865
  340. package/test/player_src_equals_external.js +0 -154
  341. package/test/player_src_equals_integration.js +0 -527
  342. package/test/player_unit.js +0 -4434
  343. package/test/polyfill/media_capabilities_unit.js +0 -277
  344. package/test/polyfill/patchedmediakeys_apple_unit.js +0 -130
  345. package/test/test/assets/3675/chunk-stream0-00001.m4s +0 -0
  346. package/test/test/assets/3675/chunk-stream0-00002.m4s +0 -0
  347. package/test/test/assets/3675/chunk-stream0-00003.m4s +0 -0
  348. package/test/test/assets/3675/chunk-stream0-00004.m4s +0 -0
  349. package/test/test/assets/3675/chunk-stream0-00005.m4s +0 -0
  350. package/test/test/assets/3675/chunk-stream0-00006.m4s +0 -0
  351. package/test/test/assets/3675/chunk-stream0-00007.m4s +0 -0
  352. package/test/test/assets/3675/dash_0.mpd +0 -30
  353. package/test/test/assets/3675/dash_1.mpd +0 -30
  354. package/test/test/assets/3675/dash_2.mpd +0 -30
  355. package/test/test/assets/3675/dash_3.mpd +0 -30
  356. package/test/test/assets/3675/dash_4.mpd +0 -30
  357. package/test/test/assets/3675/dash_5.mpd +0 -26
  358. package/test/test/assets/3675/init-stream0.m4s +0 -0
  359. package/test/test/assets/audio-xhe-aac.mp4 +0 -0
  360. package/test/test/assets/audio.ts +0 -0
  361. package/test/test/assets/captions-test.ts +0 -0
  362. package/test/test/assets/cea-init.mp4 +0 -0
  363. package/test/test/assets/cea-segment.mp4 +0 -0
  364. package/test/test/assets/chapters.srt +0 -11
  365. package/test/test/assets/chapters.vtt +0 -10
  366. package/test/test/assets/chapters2.vtt +0 -10
  367. package/test/test/assets/dash-aes-128/Fragments(video=0,format=mpd-time-csf) +0 -0
  368. package/test/test/assets/dash-aes-128/Fragments(video=20000000,format=mpd-time-csf) +0 -0
  369. package/test/test/assets/dash-aes-128/Fragments(video=40000000,format=mpd-time-csf) +0 -0
  370. package/test/test/assets/dash-aes-128/Fragments(video=60000000,format=mpd-time-csf) +0 -0
  371. package/test/test/assets/dash-aes-128/Fragments(video=i,format=mpd-time-csf) +0 -0
  372. package/test/test/assets/dash-aes-128/dash.mpd +0 -18
  373. package/test/test/assets/dash-aes-128/license +0 -1
  374. package/test/test/assets/dash-multi-codec/audio_en_2c_128k_aac.mp4 +0 -0
  375. package/test/test/assets/dash-multi-codec/audio_es_2c_64k_opus.webm +0 -0
  376. package/test/test/assets/dash-multi-codec/dash.mpd +0 -32
  377. package/test/test/assets/dash-multi-codec/video_144p_108k_h264.mp4 +0 -0
  378. package/test/test/assets/db-dump-v1.json +0 -1
  379. package/test/test/assets/db-dump-v2-broken.json +0 -1
  380. package/test/test/assets/db-dump-v2-clean.json +0 -1
  381. package/test/test/assets/db-dump-v3.json +0 -1
  382. package/test/test/assets/db-dump-v4-broken.json +0 -1
  383. package/test/test/assets/db-dump-v5.json +0 -1
  384. package/test/test/assets/empty_caption_video_init.mp4 +0 -0
  385. package/test/test/assets/empty_caption_video_segment.mp4 +0 -0
  386. package/test/test/assets/encrypted-sintel-audio-init.mp4 +0 -0
  387. package/test/test/assets/encrypted-sintel-audio-segment.mp4 +0 -0
  388. package/test/test/assets/encrypted-sintel-video-init.mp4 +0 -0
  389. package/test/test/assets/encrypted-sintel-video-segment.mp4 +0 -0
  390. package/test/test/assets/green-pixel.mp4 +0 -0
  391. package/test/test/assets/green-pixel.txt +0 -15
  392. package/test/test/assets/h265-cea-init.mp4 +0 -0
  393. package/test/test/assets/h265-cea-segment.mp4 +0 -0
  394. package/test/test/assets/hls-raw-aac/fileSequence0.aac +0 -0
  395. package/test/test/assets/hls-raw-aac/fileSequence1.aac +0 -0
  396. package/test/test/assets/hls-raw-aac/fileSequence2.aac +0 -0
  397. package/test/test/assets/hls-raw-aac/fileSequence3.aac +0 -0
  398. package/test/test/assets/hls-raw-aac/manifest.m3u8 +0 -4
  399. package/test/test/assets/hls-raw-aac/stream.m4a.m3u8 +0 -14
  400. package/test/test/assets/hls-raw-ac3/fileSequence0.ac3 +0 -0
  401. package/test/test/assets/hls-raw-ac3/fileSequence1.ac3 +0 -0
  402. package/test/test/assets/hls-raw-ac3/fileSequence2.ac3 +0 -0
  403. package/test/test/assets/hls-raw-ac3/fileSequence3.ac3 +0 -0
  404. package/test/test/assets/hls-raw-ac3/fileSequence4.ac3 +0 -0
  405. package/test/test/assets/hls-raw-ac3/fileSequence5.ac3 +0 -0
  406. package/test/test/assets/hls-raw-ac3/fileSequence6.ac3 +0 -0
  407. package/test/test/assets/hls-raw-ac3/fileSequence7.ac3 +0 -0
  408. package/test/test/assets/hls-raw-ac3/prog_index.m3u8 +0 -31
  409. package/test/test/assets/hls-raw-ec3/fileSequence0.ec3 +0 -0
  410. package/test/test/assets/hls-raw-ec3/fileSequence1.ec3 +0 -0
  411. package/test/test/assets/hls-raw-ec3/fileSequence2.ec3 +0 -0
  412. package/test/test/assets/hls-raw-ec3/fileSequence3.ec3 +0 -0
  413. package/test/test/assets/hls-raw-ec3/fileSequence4.ec3 +0 -0
  414. package/test/test/assets/hls-raw-ec3/fileSequence5.ec3 +0 -0
  415. package/test/test/assets/hls-raw-ec3/fileSequence6.ec3 +0 -0
  416. package/test/test/assets/hls-raw-ec3/fileSequence7.ec3 +0 -0
  417. package/test/test/assets/hls-raw-ec3/prog_index.m3u8 +0 -31
  418. package/test/test/assets/hls-raw-mp3/chunklist_w905519204.m3u8 +0 -13
  419. package/test/test/assets/hls-raw-mp3/media_w905519204_0.mp3 +0 -0
  420. package/test/test/assets/hls-raw-mp3/media_w905519204_1.mp3 +0 -0
  421. package/test/test/assets/hls-raw-mp3/media_w905519204_2.mp3 +0 -0
  422. package/test/test/assets/hls-raw-mp3/media_w905519204_3.mp3 +0 -0
  423. package/test/test/assets/hls-raw-mp3/playlist.m3u8 +0 -4
  424. package/test/test/assets/hls-ts-aac/playlist.m3u8 +0 -23
  425. package/test/test/assets/hls-ts-aac/segment_0.ts +0 -0
  426. package/test/test/assets/hls-ts-aac/segment_1.ts +0 -0
  427. package/test/test/assets/hls-ts-aac/segment_2.ts +0 -0
  428. package/test/test/assets/hls-ts-aac/segment_3.ts +0 -0
  429. package/test/test/assets/hls-ts-aac/segment_4.ts +0 -0
  430. package/test/test/assets/hls-ts-aac/segment_5.ts +0 -0
  431. package/test/test/assets/hls-ts-aac/segment_6.ts +0 -0
  432. package/test/test/assets/hls-ts-aac/segment_7.ts +0 -0
  433. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0000.ts +0 -0
  434. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0001.ts +0 -0
  435. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0002.ts +0 -0
  436. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0003.ts +0 -0
  437. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0004.ts +0 -0
  438. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0005.ts +0 -0
  439. package/test/test/assets/hls-ts-ac3/prog_index.m3u8 +0 -19
  440. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0000.ts +0 -0
  441. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0001.ts +0 -0
  442. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0002.ts +0 -0
  443. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0003.ts +0 -0
  444. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0004.ts +0 -0
  445. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0005.ts +0 -0
  446. package/test/test/assets/hls-ts-ec3/prog_index.m3u8 +0 -19
  447. package/test/test/assets/hls-ts-h264/fileSequence0.ts +0 -0
  448. package/test/test/assets/hls-ts-h264/fileSequence1.ts +0 -0
  449. package/test/test/assets/hls-ts-h264/fileSequence2.ts +0 -0
  450. package/test/test/assets/hls-ts-h264/fileSequence3.ts +0 -0
  451. package/test/test/assets/hls-ts-h264/fileSequence4.ts +0 -0
  452. package/test/test/assets/hls-ts-h264/fileSequence5.ts +0 -0
  453. package/test/test/assets/hls-ts-h264/prog_index.m3u8 +0 -25
  454. package/test/test/assets/hls-ts-h265/0.ts +0 -0
  455. package/test/test/assets/hls-ts-h265/hevc.m3u8 +0 -6
  456. package/test/test/assets/hls-ts-h265/index.m3u8 +0 -7
  457. package/test/test/assets/hls-ts-mp3/manifest.m3u8 +0 -13
  458. package/test/test/assets/hls-ts-mp3/media_w239891843_0.ts +0 -0
  459. package/test/test/assets/hls-ts-mp3/media_w239891843_1.ts +0 -0
  460. package/test/test/assets/hls-ts-mp3/media_w239891843_2.ts +0 -0
  461. package/test/test/assets/hls-ts-mp3/media_w239891843_3.ts +0 -0
  462. package/test/test/assets/hls-ts-muxed-aac-h264/chunk.m3u8 +0 -17
  463. package/test/test/assets/hls-ts-muxed-aac-h264/n_0_0_0.ts +0 -0
  464. package/test/test/assets/hls-ts-muxed-aac-h264/n_1_0_0.ts +0 -0
  465. package/test/test/assets/hls-ts-muxed-aac-h264/n_2_0_0.ts +0 -0
  466. package/test/test/assets/hls-ts-muxed-aac-h264/n_3_0_0.ts +0 -0
  467. package/test/test/assets/hls-ts-muxed-aac-h264/n_4_0_0.ts +0 -0
  468. package/test/test/assets/hls-ts-muxed-aac-h264/n_5_0_0.ts +0 -0
  469. package/test/test/assets/hls-ts-muxed-aac-h264/playlist.m3u8 +0 -4
  470. package/test/test/assets/hls-ts-muxed-aac-h265/0.ts +0 -0
  471. package/test/test/assets/hls-ts-muxed-aac-h265/1.ts +0 -0
  472. package/test/test/assets/hls-ts-muxed-aac-h265/media.m3u8 +0 -9
  473. package/test/test/assets/hls-ts-muxed-ac3-h264/media.m3u8 +0 -24
  474. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00000.ts +0 -0
  475. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00001.ts +0 -0
  476. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00002.ts +0 -0
  477. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00003.ts +0 -0
  478. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00004.ts +0 -0
  479. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00005.ts +0 -0
  480. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0000.ts +0 -0
  481. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0001.ts +0 -0
  482. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0002.ts +0 -0
  483. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0003.ts +0 -0
  484. package/test/test/assets/hls-ts-muxed-ec3-h264/prog_index.m3u8 +0 -14
  485. package/test/test/assets/hls-ts-muxed-mp3-h264/index.m3u8 +0 -23
  486. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-1-v1-a1.ts +0 -0
  487. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-2-v1-a1.ts +0 -0
  488. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-3-v1-a1.ts +0 -0
  489. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-4-v1-a1.ts +0 -0
  490. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-5-v1-a1.ts +0 -0
  491. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-6-v1-a1.ts +0 -0
  492. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-7-v1-a1.ts +0 -0
  493. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-8-v1-a1.ts +0 -0
  494. package/test/test/assets/id3-metadata.aac +0 -0
  495. package/test/test/assets/id3-metadata.ts +0 -0
  496. package/test/test/assets/index-segment.mp4 +0 -0
  497. package/test/test/assets/index-segment.webm +0 -0
  498. package/test/test/assets/init-segment.webm +0 -0
  499. package/test/test/assets/large_file.mpd +0 -4930
  500. package/test/test/assets/multidrm-audio-init.mp4 +0 -0
  501. package/test/test/assets/multidrm-audio-segment.mp4 +0 -0
  502. package/test/test/assets/multidrm-video-init.mp4 +0 -0
  503. package/test/test/assets/multidrm-video-segment.mp4 +0 -0
  504. package/test/test/assets/multiple-trun-init.mp4 +0 -0
  505. package/test/test/assets/multiple-trun-segment.mp4 +0 -0
  506. package/test/test/assets/sintel-audio-init.mp4 +0 -0
  507. package/test/test/assets/sintel-audio-segment.mp4 +0 -0
  508. package/test/test/assets/sintel-video-init.mp4 +0 -0
  509. package/test/test/assets/sintel-video-segment.mp4 +0 -0
  510. package/test/test/assets/small.mp4 +0 -0
  511. package/test/test/assets/text-clip-alt.vtt +0 -63
  512. package/test/test/assets/text-clip.vtt +0 -63
  513. package/test/test/assets/thumbnails-sprites.vtt +0 -10
  514. package/test/test/assets/thumbnails.vtt +0 -10
  515. package/test/test/assets/ttml-init.mp4 +0 -0
  516. package/test/test/assets/ttml-segment-multiplemdat.mp4 +0 -0
  517. package/test/test/assets/ttml-segment.mp4 +0 -0
  518. package/test/test/assets/video.ts +0 -0
  519. package/test/test/assets/vtt-init.mp4 +0 -0
  520. package/test/test/assets/vtt-segment-multi-payload.mp4 +0 -0
  521. package/test/test/assets/vtt-segment-no-duration.mp4 +0 -0
  522. package/test/test/assets/vtt-segment-settings.mp4 +0 -0
  523. package/test/test/assets/vtt-segment.mp4 +0 -0
  524. package/test/test/boot.js +0 -495
  525. package/test/test/externs/filters.js +0 -44
  526. package/test/test/externs/fontfaceonload.js +0 -29
  527. package/test/test/externs/jasmine.js +0 -670
  528. package/test/test/externs/karma.js +0 -26
  529. package/test/test/externs/require.js +0 -21
  530. package/test/test/externs/sprintf.js +0 -18
  531. package/test/test/namespace.js +0 -10
  532. package/test/test/util/canned_idb.js +0 -379
  533. package/test/test/util/cea_utils.js +0 -60
  534. package/test/test/util/dash_parser_util.js +0 -329
  535. package/test/test/util/fake_ad.js +0 -321
  536. package/test/test/util/fake_ad_manager.js +0 -122
  537. package/test/test/util/fake_demo_main.js +0 -144
  538. package/test/test/util/fake_drm_engine.js +0 -103
  539. package/test/test/util/fake_media_source_engine.js +0 -464
  540. package/test/test/util/fake_networking_engine.js +0 -381
  541. package/test/test/util/fake_segment_prefetch.js +0 -84
  542. package/test/test/util/fake_text_displayer.js +0 -60
  543. package/test/test/util/id3_generator.js +0 -100
  544. package/test/test/util/indexeddb_utils.js +0 -124
  545. package/test/test/util/jasmine_fetch.js +0 -382
  546. package/test/test/util/layout_tests.js +0 -434
  547. package/test/test/util/loader.js +0 -88
  548. package/test/test/util/manifest_generator.js +0 -705
  549. package/test/test/util/manifest_parser_util.js +0 -101
  550. package/test/test/util/mss_parser_util.js +0 -119
  551. package/test/test/util/offline_utils.js +0 -105
  552. package/test/test/util/simple_fakes.js +0 -535
  553. package/test/test/util/stream_generator.js +0 -676
  554. package/test/test/util/streaming_engine_util.js +0 -506
  555. package/test/test/util/test_scheme.js +0 -778
  556. package/test/test/util/ttml_utils.js +0 -77
  557. package/test/test/util/ui_utils.js +0 -183
  558. package/test/test/util/util.js +0 -374
  559. package/test/test/util/waiter.js +0 -406
  560. package/test/text/cue_integration.js +0 -51
  561. package/test/text/lrc_text_parser_unit.js +0 -98
  562. package/test/text/mp4_ttml_parser_unit.js +0 -171
  563. package/test/text/mp4_vtt_parser_unit.js +0 -195
  564. package/test/text/sbv_text_parser_unit.js +0 -81
  565. package/test/text/simple_text_displayer_unit.js +0 -468
  566. package/test/text/srt_text_parser_unit.js +0 -163
  567. package/test/text/ssa_text_parser_unit.js +0 -382
  568. package/test/text/text_displayer_layout_unit.js +0 -323
  569. package/test/text/text_engine_unit.js +0 -500
  570. package/test/text/text_track_integration.js +0 -186
  571. package/test/text/ttml_text_parser_unit.js +0 -2176
  572. package/test/text/ui_text_displayer_unit.js +0 -608
  573. package/test/text/vtt_text_parser_unit.js +0 -1363
  574. package/test/text/web_vtt_generator_unit.js +0 -144
  575. package/test/text/web_vtt_layout_integration.js +0 -524
  576. package/test/transmuxer/transmuxer_engine_integration.js +0 -69
  577. package/test/transmuxer/transmuxer_integration.js +0 -443
  578. package/test/ui/ad_ui_unit.js +0 -369
  579. package/test/ui/localization_unit.js +0 -508
  580. package/test/ui/ui_customization_unit.js +0 -208
  581. package/test/ui/ui_integration.js +0 -669
  582. package/test/ui/ui_unit.js +0 -902
  583. package/test/util/abortable_operation_unit.js +0 -624
  584. package/test/util/array_utils_unit.js +0 -58
  585. package/test/util/buffer_utils_unit.js +0 -185
  586. package/test/util/cmcd_manager_unit.js +0 -440
  587. package/test/util/content_steering_manager_unit.js +0 -427
  588. package/test/util/data_view_reader_unit.js +0 -254
  589. package/test/util/ebml_parser_unit.js +0 -297
  590. package/test/util/event_manager_unit.js +0 -185
  591. package/test/util/fake_event_target_unit.js +0 -123
  592. package/test/util/id3_utils_unit.js +0 -168
  593. package/test/util/iterables_unit.js +0 -68
  594. package/test/util/language_utils_unit.js +0 -240
  595. package/test/util/manifest_parser_utils_unit.js +0 -55
  596. package/test/util/mime_utils_unit.js +0 -64
  597. package/test/util/mp4_box_parsers_unit.js +0 -246
  598. package/test/util/mp4_parser_unit.js +0 -373
  599. package/test/util/multi_map_unit.js +0 -94
  600. package/test/util/object_utils_unit.js +0 -79
  601. package/test/util/periods_unit.js +0 -1623
  602. package/test/util/pssh_unit.js +0 -226
  603. package/test/util/state_history_unit.js +0 -101
  604. package/test/util/stream_utils_unit.js +0 -1068
  605. package/test/util/string_utils_unit.js +0 -166
  606. package/test/util/text_parser_unit.js +0 -165
  607. package/test/util/ts_parser_unit.js +0 -77
  608. package/test/util/xml_utils_unit.js +0 -444
@@ -1,93 +0,0 @@
1
- # Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, gender identity and expression, level of
9
- experience, education, socio-economic status, nationality, personal appearance,
10
- race, religion, or sexual identity and orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or reject
41
- comments, commits, code, wiki edits, issues, and other contributions that are
42
- not aligned to this Code of Conduct, or to ban temporarily or permanently any
43
- contributor for other behaviors that they deem inappropriate, threatening,
44
- offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
54
-
55
- This Code of Conduct also applies outside the project spaces when the Project
56
- Steward has a reasonable belief that an individual's behavior may have a
57
- negative impact on the project or its community.
58
-
59
- ## Conflict Resolution
60
-
61
- We do not believe that all conflict is bad; healthy debate and disagreement
62
- often yield positive results. However, it is never okay to be disrespectful or
63
- to engage in behavior that violates the project’s code of conduct.
64
-
65
- If you see someone violating the code of conduct, you are encouraged to address
66
- the behavior directly with those involved. Many issues can be resolved quickly
67
- and easily, and this gives people more control over the outcome of their
68
- dispute. If you are unable to resolve the matter for any reason, or if the
69
- behavior is threatening or harassing, report it. We are dedicated to providing
70
- an environment where participants feel welcome and safe.
71
-
72
- Reports should be directed to *shaka-player-maintainers@googlegroups.com*, the
73
- Project Steward(s) for *Shaka Player*. It is the Project Steward’s duty to
74
- receive and address reported violations of the code of conduct. They will then
75
- work with a committee consisting of representatives from the Open Source
76
- Programs Office and the Google Open Source Strategy team. If for any reason you
77
- are uncomfortable reaching out to the Project Steward, please email
78
- opensource@google.com.
79
-
80
- We will investigate every complaint, but you may not receive a direct response.
81
- We will use our discretion in determining when and how to follow up on reported
82
- incidents, which may range from not taking action to permanent expulsion from
83
- the project and project-sponsored spaces. We will notify the accused of the
84
- report and provide them an opportunity to discuss it before any action is taken.
85
- The identity of the reporter will be omitted from the details of the report
86
- supplied to the accused. In potentially harmful situations, such as ongoing
87
- harassment or threats to anyone's safety, we may take action without notice.
88
-
89
- ## Attribution
90
-
91
- This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
92
- available at
93
- https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
package/CONTRIBUTING.md DELETED
@@ -1,76 +0,0 @@
1
- # How to contribute #
2
-
3
- We'd love to accept your patches and contributions to this project. There are
4
- just a few small guidelines you need to follow.
5
-
6
- 1. File a bug at https://github.com/shaka-project/shaka-player/issues (if there
7
- isn't one already). If your patch is going to be large, you should start a
8
- discussion on GitHub first.
9
-
10
- Leave a comment to let us know that you are working on a PR for the issue.
11
- We'll assign the issue to you.
12
-
13
- 2. For legal reasons, all contributors must sign a Contributor License
14
- Agreement, either for an individual or corporation, before a patch can be
15
- accepted. (See below.)
16
-
17
- 3. Follow the normal process of [forking][] the project, and setup a new
18
- branch to work in. It's important that each group of changes be done in
19
- separate branches in order to ensure that a pull request only includes the
20
- commits related to that bug or feature.
21
-
22
- 4. Add an entry to the [AUTHORS][] and [CONTRIBUTORS][] files with your name
23
- and email. For corporate contributions, AUTHORS should contain an entry
24
- for your company.
25
-
26
- 5. Do your best to have [well-formed commit messages][] for each change.
27
- This provides consistency throughout the project, and ensures that commit
28
- messages are able to be formatted properly by various git tools.
29
-
30
- 6. Add or modify unit or integration tests for any new or modified
31
- functionality in your patch. For bug fixes, try to write a regression test
32
- that fails without your patch and passes with it. Our tests are written with
33
- [Jasmine](https://jasmine.github.io/).
34
-
35
- 7. Test all changes in both the compiler and linter with:
36
- ```sh
37
- python build/all.py
38
- ```
39
- Patches that do not compile or pass linter checks will not be accepted.
40
-
41
- 8. Test all changes in the unit and integration tests with:
42
- ```sh
43
- python build/test.py
44
- ```
45
- Patches that do not pass unit and integration tests will not be accepted.
46
-
47
- 9. Finally, push the commits to your fork and submit a [pull request][].
48
-
49
- [forking]: https://help.github.com/articles/fork-a-repo
50
- [AUTHORS]: AUTHORS
51
- [CONTRIBUTORS]: CONTRIBUTORS
52
- [well-formed commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
53
- [pull request]: https://help.github.com/articles/creating-a-pull-request
54
-
55
-
56
- ## Contributor License Agreement ##
57
-
58
- Contributions to any Google project must be accompanied by a Contributor
59
- License Agreement. This is not a copyright **assignment**, it simply gives
60
- Google permission to use and redistribute your contributions as part of the
61
- project.
62
-
63
- * If you are an individual writing original source code and you're sure you
64
- own the intellectual property, then you'll need to sign an [individual
65
- CLA][].
66
-
67
- * If you work for a company that wants to allow you to contribute your work,
68
- then you'll need to sign a [corporate CLA][].
69
-
70
- You generally only need to submit a CLA once, so if you've already submitted
71
- one (even if it was for a different project), you probably don't need to do it
72
- again.
73
-
74
- [individual CLA]: https://developers.google.com/open-source/cla/individual
75
- [corporate CLA]: https://developers.google.com/open-source/cla/corporate
76
-
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,29 +0,0 @@
1
- {
2
- "name": "Shaka Player Demo",
3
- "short_name": "Shaka Player",
4
- "icons": [{
5
- "src": "app_logo_144.png",
6
- "sizes": "144x144",
7
- "type": "image/png"
8
- }, {
9
- "src": "app_logo_192.png",
10
- "sizes": "192x192",
11
- "type": "image/png"
12
- }, {
13
- "src": "app_logo_256.png",
14
- "sizes": "256x256",
15
- "type": "image/png"
16
- }, {
17
- "src": "app_logo_384.png",
18
- "sizes": "384x384",
19
- "type": "image/png"
20
- }, {
21
- "src": "app_logo_512.png",
22
- "sizes": "512x512",
23
- "type": "image/png"
24
- }],
25
- "start_url": "./#build=compiled",
26
- "display": "standalone",
27
- "background_color": "#FFFFFF",
28
- "theme_color": "#2F3BA2"
29
- }
@@ -1,410 +0,0 @@
1
- /*! @license
2
- * Shaka Player
3
- * Copyright 2016 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- goog.provide('shakaDemo.AssetCard');
8
-
9
- goog.require('goog.asserts');
10
- goog.require('shakaAssets');
11
- goog.require('shakaDemo.Tooltips');
12
- goog.requireType('ShakaDemoAssetInfo');
13
-
14
- /**
15
- * Creates and contains an MDL card that presents info about the given asset.
16
- * @final
17
- */
18
- shakaDemo.AssetCard = class {
19
- /**
20
- * @param {!Element} parentDiv
21
- * @param {!ShakaDemoAssetInfo} asset
22
- * @param {boolean} isFeatured True if this card should use the "featured"
23
- * style, which use the asset's short name and have descriptions.
24
- * @param {function(!shakaDemo.AssetCard)} remakeButtonsFn
25
- */
26
- constructor(parentDiv, asset, isFeatured, remakeButtonsFn) {
27
- /** @private {!Element} */
28
- this.card_ = document.createElement('div');
29
- /** @private {!ShakaDemoAssetInfo} */
30
- this.asset_ = asset;
31
- /** @private {!Element} */
32
- this.actions_ = document.createElement('div');
33
- /** @private {!Element} */
34
- this.featureIconsContainer_ = document.createElement('div');
35
- /** @private {!Element} */
36
- this.progressCircle_ = document.createElement('div');
37
- const svgns = 'http://www.w3.org/2000/svg';
38
- /** @private {!Element} */
39
- this.progressCircleSvg_ = document.createElementNS(svgns, 'svg');
40
- /** @private {!Element} */
41
- this.progressCircleBack_ = document.createElementNS(svgns, 'circle');
42
- /** @private {!Element} */
43
- this.progressCircleBar_ = document.createElementNS(svgns, 'circle');
44
- /** @private {function(!shakaDemo.AssetCard)} */
45
- this.remakeButtonsFn_ = remakeButtonsFn;
46
-
47
- // Lay out the card.
48
- this.card_.classList.add('mdl-card-wide');
49
- this.card_.classList.add('mdl-card');
50
- this.card_.classList.add('mdl-shadow--2dp');
51
- this.card_.classList.add('asset-card');
52
-
53
- const titleDiv = document.createElement('div');
54
- titleDiv.classList.add('mdl-card__title');
55
- this.card_.appendChild(titleDiv);
56
- const titleText = document.createElement('h2');
57
- titleText.classList.add('mdl-card__title-text');
58
- titleText.textContent =
59
- isFeatured ? (asset.shortName || asset.name) : asset.name;
60
- titleDiv.appendChild(titleText);
61
-
62
- if (asset.iconUri) {
63
- const picture = document.createElement('picture');
64
-
65
- const webpSource =
66
- /** @type {!HTMLSourceElement} */(document.createElement('source'));
67
- webpSource.srcset = asset.iconUri.replace(/.png$/, '.webp');
68
- webpSource.type = 'image/webp';
69
-
70
- const pngSource =
71
- /** @type {!HTMLSourceElement} */(document.createElement('source'));
72
- pngSource.srcset = asset.iconUri;
73
- pngSource.type = 'image/png';
74
-
75
- const img =
76
- /** @type {!HTMLImageElement} */(document.createElement('img'));
77
- img.src = asset.iconUri;
78
- img.alt = ''; // Not necessary to understand the page
79
-
80
- picture.appendChild(webpSource);
81
- picture.appendChild(pngSource);
82
- picture.appendChild(img);
83
-
84
- this.card_.appendChild(picture);
85
- }
86
-
87
- if (asset.description && isFeatured) {
88
- const supportingText = document.createElement('div');
89
- supportingText.classList.add('mdl-card__supporting-text');
90
- supportingText.textContent = asset.description;
91
- this.card_.appendChild(supportingText);
92
- }
93
-
94
- this.card_.appendChild(this.featureIconsContainer_);
95
- this.addFeatureIcons_(asset);
96
-
97
- this.actions_.classList.add('mdl-card__actions');
98
- this.actions_.classList.add('mdl-card--border');
99
- this.card_.appendChild(this.actions_);
100
-
101
- this.progressCircle_.classList.add('hidden');
102
- this.progressCircle_.classList.add('progress-circle');
103
- this.card_.appendChild(this.progressCircle_);
104
- this.progressCircleSvg_.appendChild(this.progressCircleBack_);
105
- this.progressCircleSvg_.appendChild(this.progressCircleBar_);
106
- this.progressCircle_.appendChild(this.progressCircleSvg_);
107
- this.progressCircleSvg_.classList.add('progress-circle-svg');
108
- this.progressCircleBack_.classList.add('progress-circle-back');
109
- this.progressCircleBar_.classList.add('progress-circle-bar');
110
-
111
- parentDiv.appendChild(this.card_);
112
- // Remake buttons AFTER appending to parent div, so that any tooltips can
113
- // be placed.
114
- this.remakeButtons();
115
- }
116
-
117
- /**
118
- * @param {number} progress
119
- * @private
120
- */
121
- styleProgressCircle_(progress) {
122
- const svg = this.progressCircleSvg_;
123
- const bar = this.progressCircleBar_;
124
- const circleSize = 45;
125
- const circleThickness = 5;
126
- const circleRadius = (circleSize - circleThickness) / 2;
127
- const circumference = 2 * Math.PI * circleRadius;
128
-
129
- svg.setAttribute('viewBox', '0 0 ' + circleSize + ' ' + circleSize);
130
- bar.setAttribute('stroke-dasharray', circumference);
131
- bar.setAttribute('stroke-dashoffset', (circumference * (1 - progress)));
132
- }
133
-
134
- /**
135
- * @param {string} icon
136
- * @param {string} title
137
- * @private
138
- */
139
- addFeatureIcon_(icon, title) {
140
- const iconDiv = document.createElement('div');
141
- iconDiv.classList.add('feature-icon');
142
- iconDiv.setAttribute('icon', icon);
143
- this.featureIconsContainer_.appendChild(iconDiv);
144
-
145
- shakaDemo.Tooltips.make(iconDiv, title);
146
- }
147
-
148
- /**
149
- * @param {!ShakaDemoAssetInfo} asset
150
- * @private
151
- */
152
- addFeatureIcons_(asset) {
153
- const Feature = shakaAssets.Feature;
154
- const KeySystem = shakaAssets.KeySystem;
155
-
156
- const icons = new Map()
157
- .set(Feature.SUBTITLES, 'subtitles')
158
- .set(Feature.CAPTIONS, 'closed_caption')
159
- .set(Feature.LIVE, 'live')
160
- .set(Feature.TRICK_MODE, 'trick_mode')
161
- .set(Feature.HIGH_DEFINITION, 'high_definition')
162
- .set(Feature.ULTRA_HIGH_DEFINITION, 'ultra_high_definition')
163
- .set(Feature.SURROUND, 'surround_sound')
164
- .set(Feature.MULTIPLE_LANGUAGES, 'multiple_languages')
165
- .set(Feature.ADS, 'ad')
166
- .set(Feature.AUDIO_ONLY, 'audio_only');
167
-
168
- for (const feature of asset.features) {
169
- const icon = icons.get(feature);
170
- if (icon) {
171
- this.addFeatureIcon_(icon, feature);
172
- }
173
- }
174
-
175
- for (const drm of asset.drm) {
176
- switch (drm) {
177
- case KeySystem.WIDEVINE:
178
- this.addFeatureIcon_('widevine', drm);
179
- break;
180
- case KeySystem.CLEAR_KEY:
181
- this.addFeatureIcon_('clear_key', drm);
182
- break;
183
- case KeySystem.PLAYREADY:
184
- this.addFeatureIcon_('playready', drm);
185
- break;
186
- }
187
- }
188
- }
189
-
190
- /**
191
- * Modify an asset to make it clear that it is unsupported.
192
- * @param {string} unsupportedReason
193
- */
194
- markAsUnsupported(unsupportedReason) {
195
- this.card_.classList.add('asset-card-unsupported');
196
- this.makeUnsupportedButton_('Not Available', unsupportedReason);
197
- }
198
-
199
- /**
200
- * Make a button that represents the lack of a working button.
201
- * @param {?string} buttonName
202
- * @param {string} unsupportedReason
203
- * @return {!Element}
204
- * @private
205
- */
206
- makeUnsupportedButton_(buttonName, unsupportedReason) {
207
- const button = this.addButton(buttonName, () => {});
208
- button.setAttribute('disabled', '');
209
-
210
- // Tooltips don't work on disabled buttons (on some platforms), so
211
- // the button itself has to be "uprooted" and placed in a synthetic div
212
- // specifically to attach the tooltip to.
213
- const attachPoint = document.createElement('div');
214
- if (button.parentElement) {
215
- button.parentElement.removeChild(button);
216
- }
217
- attachPoint.classList.add('tooltip-attach-point');
218
- attachPoint.appendChild(button);
219
- this.actions_.appendChild(attachPoint);
220
- shakaDemo.Tooltips.make(attachPoint, unsupportedReason);
221
-
222
- return button;
223
- }
224
-
225
- /**
226
- * Select this card if the card's asset matches |asset|.
227
- * Used to simplify the implementation of "shaka-main-selected-asset-changed"
228
- * handlers.
229
- * @param {ShakaDemoAssetInfo} asset
230
- */
231
- selectByAsset(asset) {
232
- this.card_.classList.remove('selected');
233
- if (this.asset_ == asset) {
234
- this.card_.classList.add('selected');
235
- }
236
- }
237
-
238
- /** Remake the buttons of the card. */
239
- remakeButtons() {
240
- shaka.util.Dom.removeAllChildren(this.actions_);
241
- this.remakeButtonsFn_(this);
242
- }
243
-
244
- /**
245
- * Adds a button to the bottom of the card that controls storage behavior.
246
- * This is a separate function because it involves a significant amount of
247
- * custom behavior, such as the download bar.
248
- */
249
- addStoreButton() {
250
- /**
251
- * Makes the contents of the button into an MDL icon, and moves it into the
252
- * upper-righthand corner with CSS styles.
253
- * @param {!Element} button
254
- * @param {!Element} attachPoint If there is no attach point, just pass the
255
- * button in here.
256
- * @param {string} iconText
257
- */
258
- const styleAsDownloadButton = (button, attachPoint, iconText) => {
259
- attachPoint.classList.add('asset-card-corner-button');
260
- const icon = document.createElement('i');
261
- icon.textContent = iconText;
262
- icon.classList.add('material-icons-round');
263
- button.appendChild(icon);
264
- };
265
-
266
- const unsupportedReason = shakaDemoMain.getAssetUnsupportedReason(
267
- this.asset_, /* needOffline= */ true);
268
- if (!unsupportedReason) {
269
- goog.asserts.assert(this.asset_.storeCallback,
270
- 'A storage callback is expected for all supported assets!');
271
- }
272
- if (unsupportedReason) {
273
- // This can't be stored.
274
- const button = this.makeUnsupportedButton_(null, unsupportedReason);
275
- // As this is a unsupported button, it is wrapped in an "attach point";
276
- // that is the element this has to move with CSS, otherwise the tooltip
277
- // will end up coming out of the wrong place.
278
- const attachPoint = button.parentElement || button;
279
- styleAsDownloadButton(button, attachPoint, 'get_app');
280
- return;
281
- }
282
- if (this.asset_.isStored()) {
283
- const deleteButton = this.addButton(null, () => {
284
- this.attachDeleteDialog_(deleteButton);
285
- });
286
- styleAsDownloadButton(deleteButton, deleteButton, 'offline_pin');
287
- } else {
288
- const downloadButton = this.addButton(null, async () => {
289
- downloadButton.disabled = true;
290
- await this.asset_.storeCallback();
291
- this.remakeButtons();
292
- });
293
- styleAsDownloadButton(downloadButton, downloadButton, 'get_app');
294
- }
295
- }
296
-
297
- /**
298
- * @param {!HTMLButtonElement} deleteButton
299
- * @private
300
- */
301
- attachDeleteDialog_(deleteButton) {
302
- const parentDiv = this.card_.parentElement;
303
- if (!parentDiv) {
304
- return;
305
- }
306
-
307
- this.makeYesNoDialogue_(parentDiv, 'Delete the offline copy?', async () => {
308
- deleteButton.disabled = true;
309
- await this.asset_.unstoreCallback();
310
- });
311
- }
312
-
313
- /**
314
- * @param {!Element} parentDiv
315
- * @param {string} text
316
- * @param {function():Promise} callback
317
- * @private
318
- */
319
- makeYesNoDialogue_(parentDiv, text, callback) {
320
- const dialog =
321
- /** @type {!HTMLDialogElement} */(document.createElement('dialog'));
322
- dialog.classList.add('mdl-dialog');
323
- parentDiv.appendChild(dialog);
324
- if (!dialog.showModal) {
325
- dialogPolyfill.registerDialog(dialog);
326
- }
327
-
328
- const textElement = document.createElement('h2');
329
- textElement.classList.add('mdl-typography--title');
330
- textElement.textContent = text;
331
- dialog.appendChild(textElement);
332
-
333
- const buttonsDiv = document.createElement('div');
334
- dialog.appendChild(buttonsDiv);
335
- const makeButton = (text, fn) => {
336
- const button = document.createElement('button');
337
- button.textContent = text;
338
- button.classList.add('mdl-button');
339
- button.classList.add('mdl-button--colored');
340
- button.classList.add('mdl-js-button');
341
- button.classList.add('mdl-js-ripple-effect');
342
- button.addEventListener('click', () => {
343
- fn();
344
- });
345
- buttonsDiv.appendChild(button);
346
- button.blur();
347
- };
348
- makeButton('Yes', async () => {
349
- dialog.close();
350
- await callback();
351
- this.remakeButtons();
352
- });
353
- makeButton('No', () => {
354
- dialog.close();
355
- });
356
-
357
- dialog.showModal();
358
- }
359
-
360
- /**
361
- * Updates the progress bar on the card.
362
- */
363
- updateProgress() {
364
- if (this.asset_.storedProgress < 1) {
365
- this.progressCircle_.classList.remove('hidden');
366
- for (const button of this.actions_.childNodes) {
367
- if (button instanceof HTMLButtonElement) {
368
- button.disabled = true;
369
- }
370
- }
371
- } else {
372
- this.progressCircle_.classList.add('hidden');
373
- for (const button of this.actions_.childNodes) {
374
- if (button instanceof HTMLButtonElement) {
375
- button.disabled = false;
376
- }
377
- }
378
- }
379
- this.styleProgressCircle_(this.asset_.storedProgress);
380
- }
381
-
382
- /**
383
- * Adds a button to the bottom of the card that will call |onClick| when
384
- * clicked. For example, a play or delete button.
385
- * @param {?string} name
386
- * @param {function()} onclick
387
- * @param {string=} yesNoDialogText
388
- * @return {!HTMLButtonElement}
389
- */
390
- addButton(name, onclick, yesNoDialogText) {
391
- const button =
392
- /** @type {!HTMLButtonElement} */(document.createElement('button'));
393
- button.classList.add('mdl-button');
394
- button.classList.add('mdl-button--colored');
395
- button.classList.add('mdl-js-button');
396
- button.classList.add('mdl-js-ripple-effect');
397
- button.textContent = name || '';
398
- button.addEventListener('click', () => {
399
- if (!button.hasAttribute('disabled')) {
400
- if (yesNoDialogText) {
401
- this.makeYesNoDialogue_(this.actions_, yesNoDialogText, onclick);
402
- } else {
403
- onclick();
404
- }
405
- }
406
- });
407
- this.actions_.appendChild(button);
408
- return button;
409
- }
410
- };
@@ -1,61 +0,0 @@
1
- **Have you read the [FAQ](https://bit.ly/ShakaFAQ) and checked for duplicate open issues?**
2
-
3
-
4
- **If the problem is related to FairPlay, have you read the tutorial?**
5
- <!-- NOTE: https://shaka-player-demo.appspot.com/docs/api/tutorial-fairplay.html -->
6
-
7
-
8
- **What version of Shaka Player are you using?**
9
- `RE:player`
10
- <!-- NOTE:
11
- Only some versions of the application are maintained, if your version
12
- is older, first update to a newer one. See:
13
- https://github.com/shaka-project/shaka-player/blob/main/maintained-branches.md
14
- --->
15
-
16
-
17
- **Can you reproduce the issue with our latest release version?**
18
-
19
-
20
- **Can you reproduce the issue with the latest code from `main`?**
21
-
22
-
23
- **Are you using the demo app or your own custom app?**
24
- The demo
25
-
26
-
27
- **If custom app, can you reproduce the issue using our demo app?**
28
- N/A
29
-
30
-
31
- **What browser and OS are you using?**
32
- `RE:browser`
33
-
34
-
35
- **For embedded devices (smart TVs, etc.), what model and firmware version are you using?**
36
- N/A
37
-
38
-
39
- **What are the manifest and license server URIs?**
40
- RE:customwarning
41
- RE:uris
42
-
43
-
44
- **What configuration are you using? What is the output of `player.getConfiguration()`?**
45
- <!-- NOTE:
46
- You can censor URLs to keep them private, but include them in the email. You
47
- can also use JSON.stringify(obj, null, 2) to print nicely on platforms that
48
- don't print objects well in the console. DON'T SEND '[object Object]'!
49
- -->
50
-
51
-
52
- **What did you do?**
53
- <!-- Steps to reproduce the bug -->
54
-
55
-
56
- **What did you expect to happen?**
57
-
58
-
59
- **What actually happened?**
60
- <!-- A clear and concise description of what the bug is -->
61
- <!-- If applicable, you may add screenshots to help explain your problem. -->
Binary file
Binary file
Binary file