shaka-player 4.6.4 → 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 (598) 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 +9 -5
  5. package/dist/locales.js +29 -29
  6. package/dist/shaka-player.compiled.d.ts +46 -3
  7. package/dist/shaka-player.compiled.debug.d.ts +46 -3
  8. package/dist/shaka-player.compiled.debug.externs.js +45 -0
  9. package/dist/shaka-player.compiled.debug.js +382 -351
  10. package/dist/shaka-player.compiled.debug.map +4 -4
  11. package/dist/shaka-player.compiled.externs.js +45 -0
  12. package/dist/shaka-player.compiled.js +1135 -1121
  13. package/dist/shaka-player.compiled.map +4 -4
  14. package/dist/shaka-player.ui.d.ts +68 -4
  15. package/dist/shaka-player.ui.debug.d.ts +68 -4
  16. package/dist/shaka-player.ui.debug.externs.js +77 -0
  17. package/dist/shaka-player.ui.debug.js +428 -392
  18. package/dist/shaka-player.ui.debug.map +4 -4
  19. package/dist/shaka-player.ui.externs.js +77 -0
  20. package/dist/shaka-player.ui.js +1304 -1290
  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/cea/cea708_service.js +1 -1
  28. package/lib/cea/cea708_window.js +95 -7
  29. package/lib/dash/dash_parser.js +55 -11
  30. package/lib/media/adaptation_set_criteria.js +76 -10
  31. package/lib/media/media_source_engine.js +42 -18
  32. package/lib/media/segment_reference.js +12 -0
  33. package/lib/media/streaming_engine.js +55 -3
  34. package/lib/player.js +92 -6
  35. package/lib/util/cmsd_manager.js +269 -0
  36. package/lib/util/content_steering_manager.js +5 -1
  37. package/lib/util/mime_utils.js +6 -2
  38. package/lib/util/periods.js +108 -39
  39. package/lib/util/player_configuration.js +19 -5
  40. package/lib/util/stream_utils.js +82 -13
  41. package/package.json +1 -1
  42. package/ui/audio_language_selection.js +3 -0
  43. package/ui/controls.js +60 -0
  44. package/ui/externs/ui.js +12 -1
  45. package/ui/hidden_fast_forward_button.js +32 -0
  46. package/ui/hidden_rewind_button.js +32 -0
  47. package/ui/hidden_seek_button.js +121 -0
  48. package/ui/less/buttons.less +50 -0
  49. package/ui/less/containers.less +18 -0
  50. package/ui/resolution_selection.js +2 -0
  51. package/ui/ui.js +2 -0
  52. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -75
  53. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -26
  54. package/.github/ISSUE_TEMPLATE/question.md +0 -26
  55. package/.github/config.yml +0 -1
  56. package/.github/workflows/appspot.yaml +0 -39
  57. package/.github/workflows/build-and-test.yaml +0 -222
  58. package/.github/workflows/compute-incremental-coverage.py +0 -265
  59. package/.github/workflows/custom-actions/prep-for-appspot/action.yaml +0 -56
  60. package/.github/workflows/custom-actions/set-commit-status/action.yaml +0 -37
  61. package/.github/workflows/deflake.yaml +0 -31
  62. package/.github/workflows/demo-version-index.yaml +0 -43
  63. package/.github/workflows/nightly-demo.yaml +0 -42
  64. package/.github/workflows/release-please.yaml +0 -193
  65. package/.github/workflows/report-incremental-coverage.yaml +0 -39
  66. package/.github/workflows/safari-homedir-launcher.sh +0 -18
  67. package/.github/workflows/selenium-lab-tests.yaml +0 -370
  68. package/.github/workflows/shaka-bot-commands/command-help.sh +0 -27
  69. package/.github/workflows/shaka-bot-commands/command-test.sh +0 -56
  70. package/.github/workflows/shaka-bot-commands/lib.sh +0 -83
  71. package/.github/workflows/shaka-bot-commands/main.sh +0 -51
  72. package/.github/workflows/sync-labels.yaml +0 -33
  73. package/.github/workflows/talk-to-shaka-bot.yaml +0 -29
  74. package/.github/workflows/update-issues.yaml +0 -31
  75. package/.github/workflows/update-screenshots.yaml +0 -142
  76. package/.github/workflows/validate-pr-title.yaml +0 -27
  77. package/CHANGELOG.md +0 -5774
  78. package/CODE_OF_CONDUCT.md +0 -93
  79. package/CONTRIBUTING.md +0 -76
  80. package/demo/TengwarTelcontar.woff2 +0 -0
  81. package/demo/app_logo_144.png +0 -0
  82. package/demo/app_logo_192.png +0 -0
  83. package/demo/app_logo_256.png +0 -0
  84. package/demo/app_logo_384.png +0 -0
  85. package/demo/app_logo_512.png +0 -0
  86. package/demo/app_manifest.json +0 -29
  87. package/demo/asset_card.js +0 -410
  88. package/demo/autoTemplate.txt +0 -61
  89. package/demo/cast_receiver/idle1.jpg +0 -0
  90. package/demo/cast_receiver/idle2.jpg +0 -0
  91. package/demo/cast_receiver/idle3.jpg +0 -0
  92. package/demo/cast_receiver/index.html +0 -75
  93. package/demo/cast_receiver/receiver_app.css +0 -111
  94. package/demo/cast_receiver/receiver_app.js +0 -158
  95. package/demo/close_button.js +0 -60
  96. package/demo/common/asset.js +0 -510
  97. package/demo/common/assets.js +0 -1634
  98. package/demo/config.js +0 -859
  99. package/demo/custom.js +0 -907
  100. package/demo/customWarning.txt +0 -8
  101. package/demo/demo.less +0 -591
  102. package/demo/demo_uncompiled.js +0 -11
  103. package/demo/demo_utils.js +0 -113
  104. package/demo/favicon.ico +0 -0
  105. package/demo/front.js +0 -156
  106. package/demo/icons/README.md +0 -4
  107. package/demo/icons/baseline-audiotrack-24px.svg +0 -1
  108. package/demo/icons/baseline-closed_caption-24px.svg +0 -1
  109. package/demo/icons/baseline-fast_forward-24px.svg +0 -1
  110. package/demo/icons/baseline-language-24px.svg +0 -1
  111. package/demo/icons/baseline-live_tv-24px.svg +0 -1
  112. package/demo/icons/baseline-subtitles-24px.svg +0 -1
  113. package/demo/icons/baseline-surround_sound-24px.svg +0 -1
  114. package/demo/icons/custom_ad.svg +0 -1
  115. package/demo/icons/custom_box_with_text.svg +0 -1
  116. package/demo/icons/custom_clear_key.svg +0 -1
  117. package/demo/icons/custom_high_definition.svg +0 -1
  118. package/demo/icons/custom_playready.svg +0 -1
  119. package/demo/icons/custom_ultra_high_definition.svg +0 -1
  120. package/demo/icons/custom_widevine.svg +0 -1
  121. package/demo/index.html +0 -173
  122. package/demo/input.js +0 -270
  123. package/demo/input_container.js +0 -218
  124. package/demo/load.js +0 -156
  125. package/demo/main.js +0 -1854
  126. package/demo/search.js +0 -452
  127. package/demo/service_worker.js +0 -355
  128. package/demo/shaka_logo_trans.png +0 -0
  129. package/demo/tooltip.js +0 -29
  130. package/demo/visualizer.js +0 -335
  131. package/demo/visualizer_button.js +0 -84
  132. package/dist/demo.compiled.debug.js +0 -340
  133. package/dist/demo.compiled.debug.map +0 -8
  134. package/dist/demo.compiled.js +0 -340
  135. package/dist/demo.compiled.map +0 -8
  136. package/dist/demo.css +0 -6
  137. package/dist/demo.css.map +0 -1
  138. package/dist/receiver.compiled.debug.js +0 -187
  139. package/dist/receiver.compiled.debug.map +0 -8
  140. package/dist/receiver.compiled.js +0 -187
  141. package/dist/receiver.compiled.map +0 -8
  142. package/docs/announcement-list-join-group.png +0 -0
  143. package/docs/api-mainpage.md +0 -28
  144. package/docs/design/REDESIGN.md +0 -283
  145. package/docs/design/architecture.md +0 -13
  146. package/docs/design/bg-fetch-after.gv +0 -29
  147. package/docs/design/bg-fetch-after.gv.png +0 -0
  148. package/docs/design/bg-fetch-before.gv +0 -18
  149. package/docs/design/bg-fetch-before.gv.png +0 -0
  150. package/docs/design/bg-fetch.md +0 -134
  151. package/docs/design/cast.gv +0 -35
  152. package/docs/design/cast.gv.png +0 -0
  153. package/docs/design/chromecast.md +0 -151
  154. package/docs/design/codec_preferences.md +0 -158
  155. package/docs/design/dash-audio-channels.md +0 -123
  156. package/docs/design/dash-manifests.md +0 -248
  157. package/docs/design/dash-timeline.svg +0 -4
  158. package/docs/design/dataflow.gv +0 -66
  159. package/docs/design/dataflow.gv.png +0 -0
  160. package/docs/design/export.md +0 -70
  161. package/docs/design/fuzzy-locale-matching.md +0 -40
  162. package/docs/design/gap-jumping.md +0 -151
  163. package/docs/design/lcevc-architecture.png +0 -0
  164. package/docs/design/lcevc-demo.png +0 -0
  165. package/docs/design/lcevc-integration.md +0 -72
  166. package/docs/design/locale_compatibility.svg +0 -1
  167. package/docs/design/locales_tree.svg +0 -1
  168. package/docs/design/localization-design-principles.md +0 -158
  169. package/docs/design/newdemo.gv +0 -83
  170. package/docs/design/newdemo.gv.png +0 -0
  171. package/docs/design/offline.gv +0 -43
  172. package/docs/design/offline.gv.png +0 -0
  173. package/docs/design/offline.md +0 -153
  174. package/docs/design/ownership.gv +0 -76
  175. package/docs/design/ownership.gv.png +0 -0
  176. package/docs/design/preload.md +0 -299
  177. package/docs/design/preload.png +0 -0
  178. package/docs/design/talking-about-languages.md +0 -46
  179. package/docs/design/timeline.svg +0 -152
  180. package/docs/design/ui.md +0 -31
  181. package/docs/design/ui_player_relationships.svg +0 -1
  182. package/docs/jsdoc-plugin.js +0 -74
  183. package/docs/jsdoc-template/README.md +0 -1
  184. package/docs/jsdoc-template/publish.js +0 -879
  185. package/docs/jsdoc-template/static/fonts/OpenSans-Bold-webfont.eot +0 -0
  186. package/docs/jsdoc-template/static/fonts/OpenSans-Bold-webfont.svg +0 -1830
  187. package/docs/jsdoc-template/static/fonts/OpenSans-Bold-webfont.woff +0 -0
  188. package/docs/jsdoc-template/static/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  189. package/docs/jsdoc-template/static/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
  190. package/docs/jsdoc-template/static/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  191. package/docs/jsdoc-template/static/fonts/OpenSans-Italic-webfont.eot +0 -0
  192. package/docs/jsdoc-template/static/fonts/OpenSans-Italic-webfont.svg +0 -1830
  193. package/docs/jsdoc-template/static/fonts/OpenSans-Italic-webfont.woff +0 -0
  194. package/docs/jsdoc-template/static/fonts/OpenSans-Light-webfont.eot +0 -0
  195. package/docs/jsdoc-template/static/fonts/OpenSans-Light-webfont.svg +0 -1831
  196. package/docs/jsdoc-template/static/fonts/OpenSans-Light-webfont.woff +0 -0
  197. package/docs/jsdoc-template/static/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  198. package/docs/jsdoc-template/static/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
  199. package/docs/jsdoc-template/static/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  200. package/docs/jsdoc-template/static/fonts/OpenSans-Regular-webfont.eot +0 -0
  201. package/docs/jsdoc-template/static/fonts/OpenSans-Regular-webfont.svg +0 -1831
  202. package/docs/jsdoc-template/static/fonts/OpenSans-Regular-webfont.woff +0 -0
  203. package/docs/jsdoc-template/static/scripts/linenumber.js +0 -44
  204. package/docs/jsdoc-template/static/scripts/show-widget.js +0 -55
  205. package/docs/jsdoc-template/static/styles/jsdoc-default.css +0 -438
  206. package/docs/jsdoc-template/tmpl/augments.tmpl +0 -10
  207. package/docs/jsdoc-template/tmpl/container.tmpl +0 -205
  208. package/docs/jsdoc-template/tmpl/details.tmpl +0 -152
  209. package/docs/jsdoc-template/tmpl/example.tmpl +0 -2
  210. package/docs/jsdoc-template/tmpl/examples.tmpl +0 -13
  211. package/docs/jsdoc-template/tmpl/exceptions.tmpl +0 -32
  212. package/docs/jsdoc-template/tmpl/layout.tmpl +0 -50
  213. package/docs/jsdoc-template/tmpl/mainpage.tmpl +0 -14
  214. package/docs/jsdoc-template/tmpl/members.tmpl +0 -47
  215. package/docs/jsdoc-template/tmpl/method.tmpl +0 -140
  216. package/docs/jsdoc-template/tmpl/modifies.tmpl +0 -14
  217. package/docs/jsdoc-template/tmpl/params.tmpl +0 -131
  218. package/docs/jsdoc-template/tmpl/properties.tmpl +0 -125
  219. package/docs/jsdoc-template/tmpl/returns.tmpl +0 -19
  220. package/docs/jsdoc-template/tmpl/source.tmpl +0 -8
  221. package/docs/jsdoc-template/tmpl/tutorial.tmpl +0 -21
  222. package/docs/jsdoc-template/tmpl/type.tmpl +0 -7
  223. package/docs/jsdoc.conf.json +0 -38
  224. package/docs/shaka-player-logo.png +0 -0
  225. package/docs/style.md +0 -174
  226. package/docs/tutorials/a11y.md +0 -64
  227. package/docs/tutorials/ad_monetization.md +0 -292
  228. package/docs/tutorials/application-level-redirects.md +0 -94
  229. package/docs/tutorials/architecture.md +0 -32
  230. package/docs/tutorials/basic-usage.md +0 -89
  231. package/docs/tutorials/blob-url.md +0 -15
  232. package/docs/tutorials/config.md +0 -148
  233. package/docs/tutorials/debugging.md +0 -189
  234. package/docs/tutorials/drm-config.md +0 -274
  235. package/docs/tutorials/errors.md +0 -95
  236. package/docs/tutorials/fairplay.md +0 -242
  237. package/docs/tutorials/faq.md +0 -252
  238. package/docs/tutorials/index.json +0 -29
  239. package/docs/tutorials/lcevc.md +0 -118
  240. package/docs/tutorials/license-server-auth.md +0 -248
  241. package/docs/tutorials/license-wrapping.md +0 -168
  242. package/docs/tutorials/manifest-parser.md +0 -365
  243. package/docs/tutorials/network-and-buffering-config.md +0 -119
  244. package/docs/tutorials/offline.md +0 -683
  245. package/docs/tutorials/plugins.md +0 -184
  246. package/docs/tutorials/selenium-grid-config.md +0 -174
  247. package/docs/tutorials/service-worker.md +0 -106
  248. package/docs/tutorials/ui-customization.md +0 -288
  249. package/docs/tutorials/ui.md +0 -232
  250. package/docs/tutorials/upgrade-manifest.md +0 -281
  251. package/docs/tutorials/upgrade.md +0 -104
  252. package/docs/tutorials/welcome.md +0 -108
  253. package/docs/tutorials/widevine-service-certs.md +0 -45
  254. package/karma.conf.js +0 -879
  255. package/maintained-branches.md +0 -15
  256. package/roadmap.md +0 -186
  257. package/test/abr/simple_abr_manager_unit.js +0 -398
  258. package/test/ads/ad_manager_unit.js +0 -260
  259. package/test/assumptions/uint8_array_unit.js +0 -22
  260. package/test/cast/cast_proxy_unit.js +0 -736
  261. package/test/cast/cast_receiver_integration.js +0 -488
  262. package/test/cast/cast_receiver_unit.js +0 -1183
  263. package/test/cast/cast_sender_unit.js +0 -973
  264. package/test/cast/cast_utils_unit.js +0 -311
  265. package/test/cea/cea608_memory_unit.js +0 -411
  266. package/test/cea/cea708_service_unit.js +0 -674
  267. package/test/cea/cea708_window_unit.js +0 -373
  268. package/test/cea/cea_decoder_unit.js +0 -615
  269. package/test/cea/dtvcc_packet_builder_unit.js +0 -158
  270. package/test/cea/dtvcc_packet_unit.js +0 -60
  271. package/test/cea/mp4_cea_parser_unit.js +0 -127
  272. package/test/codec_switching/codec_switching_integration.js +0 -182
  273. package/test/dash/dash_parser_content_protection_unit.js +0 -998
  274. package/test/dash/dash_parser_integration.js +0 -74
  275. package/test/dash/dash_parser_live_unit.js +0 -1542
  276. package/test/dash/dash_parser_manifest_unit.js +0 -3121
  277. package/test/dash/dash_parser_segment_base_unit.js +0 -421
  278. package/test/dash/dash_parser_segment_list_unit.js +0 -380
  279. package/test/dash/dash_parser_segment_template_unit.js +0 -910
  280. package/test/dash/mpd_utils_unit.js +0 -794
  281. package/test/demo/demo_unit.js +0 -108
  282. package/test/deprecate/enforcer_unit.js +0 -74
  283. package/test/deprecate/version_unit.js +0 -57
  284. package/test/hls/hls_live_unit.js +0 -1330
  285. package/test/hls/hls_parser_unit.js +0 -5276
  286. package/test/hls/manifest_text_parser_unit.js +0 -545
  287. package/test/media/adaptation_set_criteria_unit.js +0 -806
  288. package/test/media/adaptation_set_unit.js +0 -229
  289. package/test/media/buffering_observer_unit.js +0 -143
  290. package/test/media/closed_caption_parser_unit.js +0 -18
  291. package/test/media/content_workarounds_unit.js +0 -43
  292. package/test/media/drm_engine_integration.js +0 -356
  293. package/test/media/drm_engine_unit.js +0 -2805
  294. package/test/media/media_source_engine_integration.js +0 -691
  295. package/test/media/media_source_engine_unit.js +0 -1512
  296. package/test/media/mp4_segment_index_parser_unit.js +0 -80
  297. package/test/media/play_rate_controller_unit.js +0 -69
  298. package/test/media/playhead_unit.js +0 -1394
  299. package/test/media/presentation_timeline_unit.js +0 -477
  300. package/test/media/quality_observer_unit.js +0 -138
  301. package/test/media/region_observer_unit.js +0 -374
  302. package/test/media/region_timeline_unit.js +0 -139
  303. package/test/media/segment_index_unit.js +0 -1080
  304. package/test/media/segment_prefetch_unit.js +0 -243
  305. package/test/media/segment_reference_unit.js +0 -63
  306. package/test/media/stall_detector_unit.js +0 -184
  307. package/test/media/streaming_engine_integration.js +0 -632
  308. package/test/media/streaming_engine_unit.js +0 -4211
  309. package/test/media/time_ranges_utils_unit.js +0 -123
  310. package/test/media/webm_segment_index_parser_unit.js +0 -90
  311. package/test/mss/mss_parser_content_protection_unit.js +0 -49
  312. package/test/mss/mss_parser_unit.js +0 -474
  313. package/test/mss/mss_player_integration.js +0 -124
  314. package/test/net/data_uri_plugin_unit.js +0 -105
  315. package/test/net/http_plugin_unit.js +0 -439
  316. package/test/net/networking_engine_unit.js +0 -1236
  317. package/test/net/networking_utils_unit.js +0 -37
  318. package/test/offline/download_progress_estimator_unit.js +0 -90
  319. package/test/offline/indexeddb_storage_unit.js +0 -192
  320. package/test/offline/manifest_convert_unit.js +0 -622
  321. package/test/offline/offline_integration.js +0 -168
  322. package/test/offline/offline_manifest_parser_unit.js +0 -231
  323. package/test/offline/offline_scheme_unit.js +0 -154
  324. package/test/offline/offline_uri_unit.js +0 -59
  325. package/test/offline/storage_compatibility_unit.js +0 -344
  326. package/test/offline/storage_integration.js +0 -1858
  327. package/test/player_external.js +0 -237
  328. package/test/player_integration.js +0 -1371
  329. package/test/player_load_graph_integration.js +0 -865
  330. package/test/player_src_equals_external.js +0 -154
  331. package/test/player_src_equals_integration.js +0 -527
  332. package/test/player_unit.js +0 -4434
  333. package/test/polyfill/media_capabilities_unit.js +0 -277
  334. package/test/polyfill/patchedmediakeys_apple_unit.js +0 -130
  335. package/test/test/assets/3675/chunk-stream0-00001.m4s +0 -0
  336. package/test/test/assets/3675/chunk-stream0-00002.m4s +0 -0
  337. package/test/test/assets/3675/chunk-stream0-00003.m4s +0 -0
  338. package/test/test/assets/3675/chunk-stream0-00004.m4s +0 -0
  339. package/test/test/assets/3675/chunk-stream0-00005.m4s +0 -0
  340. package/test/test/assets/3675/chunk-stream0-00006.m4s +0 -0
  341. package/test/test/assets/3675/chunk-stream0-00007.m4s +0 -0
  342. package/test/test/assets/3675/dash_0.mpd +0 -30
  343. package/test/test/assets/3675/dash_1.mpd +0 -30
  344. package/test/test/assets/3675/dash_2.mpd +0 -30
  345. package/test/test/assets/3675/dash_3.mpd +0 -30
  346. package/test/test/assets/3675/dash_4.mpd +0 -30
  347. package/test/test/assets/3675/dash_5.mpd +0 -26
  348. package/test/test/assets/3675/init-stream0.m4s +0 -0
  349. package/test/test/assets/audio-xhe-aac.mp4 +0 -0
  350. package/test/test/assets/audio.ts +0 -0
  351. package/test/test/assets/captions-test.ts +0 -0
  352. package/test/test/assets/cea-init.mp4 +0 -0
  353. package/test/test/assets/cea-segment.mp4 +0 -0
  354. package/test/test/assets/chapters.srt +0 -11
  355. package/test/test/assets/chapters.vtt +0 -10
  356. package/test/test/assets/chapters2.vtt +0 -10
  357. package/test/test/assets/dash-aes-128/Fragments(video=0,format=mpd-time-csf) +0 -0
  358. package/test/test/assets/dash-aes-128/Fragments(video=20000000,format=mpd-time-csf) +0 -0
  359. package/test/test/assets/dash-aes-128/Fragments(video=40000000,format=mpd-time-csf) +0 -0
  360. package/test/test/assets/dash-aes-128/Fragments(video=60000000,format=mpd-time-csf) +0 -0
  361. package/test/test/assets/dash-aes-128/Fragments(video=i,format=mpd-time-csf) +0 -0
  362. package/test/test/assets/dash-aes-128/dash.mpd +0 -18
  363. package/test/test/assets/dash-aes-128/license +0 -1
  364. package/test/test/assets/dash-multi-codec/audio_en_2c_128k_aac.mp4 +0 -0
  365. package/test/test/assets/dash-multi-codec/audio_es_2c_64k_opus.webm +0 -0
  366. package/test/test/assets/dash-multi-codec/dash.mpd +0 -32
  367. package/test/test/assets/dash-multi-codec/video_144p_108k_h264.mp4 +0 -0
  368. package/test/test/assets/db-dump-v1.json +0 -1
  369. package/test/test/assets/db-dump-v2-broken.json +0 -1
  370. package/test/test/assets/db-dump-v2-clean.json +0 -1
  371. package/test/test/assets/db-dump-v3.json +0 -1
  372. package/test/test/assets/db-dump-v4-broken.json +0 -1
  373. package/test/test/assets/db-dump-v5.json +0 -1
  374. package/test/test/assets/empty_caption_video_init.mp4 +0 -0
  375. package/test/test/assets/empty_caption_video_segment.mp4 +0 -0
  376. package/test/test/assets/encrypted-sintel-audio-init.mp4 +0 -0
  377. package/test/test/assets/encrypted-sintel-audio-segment.mp4 +0 -0
  378. package/test/test/assets/encrypted-sintel-video-init.mp4 +0 -0
  379. package/test/test/assets/encrypted-sintel-video-segment.mp4 +0 -0
  380. package/test/test/assets/green-pixel.mp4 +0 -0
  381. package/test/test/assets/green-pixel.txt +0 -15
  382. package/test/test/assets/h265-cea-init.mp4 +0 -0
  383. package/test/test/assets/h265-cea-segment.mp4 +0 -0
  384. package/test/test/assets/hls-raw-aac/fileSequence0.aac +0 -0
  385. package/test/test/assets/hls-raw-aac/fileSequence1.aac +0 -0
  386. package/test/test/assets/hls-raw-aac/fileSequence2.aac +0 -0
  387. package/test/test/assets/hls-raw-aac/fileSequence3.aac +0 -0
  388. package/test/test/assets/hls-raw-aac/manifest.m3u8 +0 -4
  389. package/test/test/assets/hls-raw-aac/stream.m4a.m3u8 +0 -14
  390. package/test/test/assets/hls-raw-ac3/fileSequence0.ac3 +0 -0
  391. package/test/test/assets/hls-raw-ac3/fileSequence1.ac3 +0 -0
  392. package/test/test/assets/hls-raw-ac3/fileSequence2.ac3 +0 -0
  393. package/test/test/assets/hls-raw-ac3/fileSequence3.ac3 +0 -0
  394. package/test/test/assets/hls-raw-ac3/fileSequence4.ac3 +0 -0
  395. package/test/test/assets/hls-raw-ac3/fileSequence5.ac3 +0 -0
  396. package/test/test/assets/hls-raw-ac3/fileSequence6.ac3 +0 -0
  397. package/test/test/assets/hls-raw-ac3/fileSequence7.ac3 +0 -0
  398. package/test/test/assets/hls-raw-ac3/prog_index.m3u8 +0 -31
  399. package/test/test/assets/hls-raw-ec3/fileSequence0.ec3 +0 -0
  400. package/test/test/assets/hls-raw-ec3/fileSequence1.ec3 +0 -0
  401. package/test/test/assets/hls-raw-ec3/fileSequence2.ec3 +0 -0
  402. package/test/test/assets/hls-raw-ec3/fileSequence3.ec3 +0 -0
  403. package/test/test/assets/hls-raw-ec3/fileSequence4.ec3 +0 -0
  404. package/test/test/assets/hls-raw-ec3/fileSequence5.ec3 +0 -0
  405. package/test/test/assets/hls-raw-ec3/fileSequence6.ec3 +0 -0
  406. package/test/test/assets/hls-raw-ec3/fileSequence7.ec3 +0 -0
  407. package/test/test/assets/hls-raw-ec3/prog_index.m3u8 +0 -31
  408. package/test/test/assets/hls-raw-mp3/chunklist_w905519204.m3u8 +0 -13
  409. package/test/test/assets/hls-raw-mp3/media_w905519204_0.mp3 +0 -0
  410. package/test/test/assets/hls-raw-mp3/media_w905519204_1.mp3 +0 -0
  411. package/test/test/assets/hls-raw-mp3/media_w905519204_2.mp3 +0 -0
  412. package/test/test/assets/hls-raw-mp3/media_w905519204_3.mp3 +0 -0
  413. package/test/test/assets/hls-raw-mp3/playlist.m3u8 +0 -4
  414. package/test/test/assets/hls-ts-aac/playlist.m3u8 +0 -23
  415. package/test/test/assets/hls-ts-aac/segment_0.ts +0 -0
  416. package/test/test/assets/hls-ts-aac/segment_1.ts +0 -0
  417. package/test/test/assets/hls-ts-aac/segment_2.ts +0 -0
  418. package/test/test/assets/hls-ts-aac/segment_3.ts +0 -0
  419. package/test/test/assets/hls-ts-aac/segment_4.ts +0 -0
  420. package/test/test/assets/hls-ts-aac/segment_5.ts +0 -0
  421. package/test/test/assets/hls-ts-aac/segment_6.ts +0 -0
  422. package/test/test/assets/hls-ts-aac/segment_7.ts +0 -0
  423. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0000.ts +0 -0
  424. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0001.ts +0 -0
  425. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0002.ts +0 -0
  426. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0003.ts +0 -0
  427. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0004.ts +0 -0
  428. package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0005.ts +0 -0
  429. package/test/test/assets/hls-ts-ac3/prog_index.m3u8 +0 -19
  430. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0000.ts +0 -0
  431. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0001.ts +0 -0
  432. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0002.ts +0 -0
  433. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0003.ts +0 -0
  434. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0004.ts +0 -0
  435. package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0005.ts +0 -0
  436. package/test/test/assets/hls-ts-ec3/prog_index.m3u8 +0 -19
  437. package/test/test/assets/hls-ts-h264/fileSequence0.ts +0 -0
  438. package/test/test/assets/hls-ts-h264/fileSequence1.ts +0 -0
  439. package/test/test/assets/hls-ts-h264/fileSequence2.ts +0 -0
  440. package/test/test/assets/hls-ts-h264/fileSequence3.ts +0 -0
  441. package/test/test/assets/hls-ts-h264/fileSequence4.ts +0 -0
  442. package/test/test/assets/hls-ts-h264/fileSequence5.ts +0 -0
  443. package/test/test/assets/hls-ts-h264/prog_index.m3u8 +0 -25
  444. package/test/test/assets/hls-ts-h265/0.ts +0 -0
  445. package/test/test/assets/hls-ts-h265/hevc.m3u8 +0 -6
  446. package/test/test/assets/hls-ts-h265/index.m3u8 +0 -7
  447. package/test/test/assets/hls-ts-mp3/manifest.m3u8 +0 -13
  448. package/test/test/assets/hls-ts-mp3/media_w239891843_0.ts +0 -0
  449. package/test/test/assets/hls-ts-mp3/media_w239891843_1.ts +0 -0
  450. package/test/test/assets/hls-ts-mp3/media_w239891843_2.ts +0 -0
  451. package/test/test/assets/hls-ts-mp3/media_w239891843_3.ts +0 -0
  452. package/test/test/assets/hls-ts-muxed-aac-h264/chunk.m3u8 +0 -17
  453. package/test/test/assets/hls-ts-muxed-aac-h264/n_0_0_0.ts +0 -0
  454. package/test/test/assets/hls-ts-muxed-aac-h264/n_1_0_0.ts +0 -0
  455. package/test/test/assets/hls-ts-muxed-aac-h264/n_2_0_0.ts +0 -0
  456. package/test/test/assets/hls-ts-muxed-aac-h264/n_3_0_0.ts +0 -0
  457. package/test/test/assets/hls-ts-muxed-aac-h264/n_4_0_0.ts +0 -0
  458. package/test/test/assets/hls-ts-muxed-aac-h264/n_5_0_0.ts +0 -0
  459. package/test/test/assets/hls-ts-muxed-aac-h264/playlist.m3u8 +0 -4
  460. package/test/test/assets/hls-ts-muxed-aac-h265/0.ts +0 -0
  461. package/test/test/assets/hls-ts-muxed-aac-h265/1.ts +0 -0
  462. package/test/test/assets/hls-ts-muxed-aac-h265/media.m3u8 +0 -9
  463. package/test/test/assets/hls-ts-muxed-ac3-h264/media.m3u8 +0 -24
  464. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00000.ts +0 -0
  465. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00001.ts +0 -0
  466. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00002.ts +0 -0
  467. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00003.ts +0 -0
  468. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00004.ts +0 -0
  469. package/test/test/assets/hls-ts-muxed-ac3-h264/s_00005.ts +0 -0
  470. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0000.ts +0 -0
  471. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0001.ts +0 -0
  472. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0002.ts +0 -0
  473. package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0003.ts +0 -0
  474. package/test/test/assets/hls-ts-muxed-ec3-h264/prog_index.m3u8 +0 -14
  475. package/test/test/assets/hls-ts-muxed-mp3-h264/index.m3u8 +0 -23
  476. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-1-v1-a1.ts +0 -0
  477. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-2-v1-a1.ts +0 -0
  478. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-3-v1-a1.ts +0 -0
  479. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-4-v1-a1.ts +0 -0
  480. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-5-v1-a1.ts +0 -0
  481. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-6-v1-a1.ts +0 -0
  482. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-7-v1-a1.ts +0 -0
  483. package/test/test/assets/hls-ts-muxed-mp3-h264/seg-8-v1-a1.ts +0 -0
  484. package/test/test/assets/id3-metadata.aac +0 -0
  485. package/test/test/assets/id3-metadata.ts +0 -0
  486. package/test/test/assets/index-segment.mp4 +0 -0
  487. package/test/test/assets/index-segment.webm +0 -0
  488. package/test/test/assets/init-segment.webm +0 -0
  489. package/test/test/assets/large_file.mpd +0 -4930
  490. package/test/test/assets/multidrm-audio-init.mp4 +0 -0
  491. package/test/test/assets/multidrm-audio-segment.mp4 +0 -0
  492. package/test/test/assets/multidrm-video-init.mp4 +0 -0
  493. package/test/test/assets/multidrm-video-segment.mp4 +0 -0
  494. package/test/test/assets/multiple-trun-init.mp4 +0 -0
  495. package/test/test/assets/multiple-trun-segment.mp4 +0 -0
  496. package/test/test/assets/sintel-audio-init.mp4 +0 -0
  497. package/test/test/assets/sintel-audio-segment.mp4 +0 -0
  498. package/test/test/assets/sintel-video-init.mp4 +0 -0
  499. package/test/test/assets/sintel-video-segment.mp4 +0 -0
  500. package/test/test/assets/small.mp4 +0 -0
  501. package/test/test/assets/text-clip-alt.vtt +0 -63
  502. package/test/test/assets/text-clip.vtt +0 -63
  503. package/test/test/assets/thumbnails-sprites.vtt +0 -10
  504. package/test/test/assets/thumbnails.vtt +0 -10
  505. package/test/test/assets/ttml-init.mp4 +0 -0
  506. package/test/test/assets/ttml-segment-multiplemdat.mp4 +0 -0
  507. package/test/test/assets/ttml-segment.mp4 +0 -0
  508. package/test/test/assets/video.ts +0 -0
  509. package/test/test/assets/vtt-init.mp4 +0 -0
  510. package/test/test/assets/vtt-segment-multi-payload.mp4 +0 -0
  511. package/test/test/assets/vtt-segment-no-duration.mp4 +0 -0
  512. package/test/test/assets/vtt-segment-settings.mp4 +0 -0
  513. package/test/test/assets/vtt-segment.mp4 +0 -0
  514. package/test/test/boot.js +0 -495
  515. package/test/test/externs/filters.js +0 -44
  516. package/test/test/externs/fontfaceonload.js +0 -29
  517. package/test/test/externs/jasmine.js +0 -670
  518. package/test/test/externs/karma.js +0 -26
  519. package/test/test/externs/require.js +0 -21
  520. package/test/test/externs/sprintf.js +0 -18
  521. package/test/test/namespace.js +0 -10
  522. package/test/test/util/canned_idb.js +0 -379
  523. package/test/test/util/cea_utils.js +0 -60
  524. package/test/test/util/dash_parser_util.js +0 -329
  525. package/test/test/util/fake_ad.js +0 -321
  526. package/test/test/util/fake_ad_manager.js +0 -122
  527. package/test/test/util/fake_demo_main.js +0 -144
  528. package/test/test/util/fake_drm_engine.js +0 -103
  529. package/test/test/util/fake_media_source_engine.js +0 -464
  530. package/test/test/util/fake_networking_engine.js +0 -381
  531. package/test/test/util/fake_segment_prefetch.js +0 -84
  532. package/test/test/util/fake_text_displayer.js +0 -60
  533. package/test/test/util/id3_generator.js +0 -100
  534. package/test/test/util/indexeddb_utils.js +0 -124
  535. package/test/test/util/jasmine_fetch.js +0 -382
  536. package/test/test/util/layout_tests.js +0 -435
  537. package/test/test/util/loader.js +0 -88
  538. package/test/test/util/manifest_generator.js +0 -705
  539. package/test/test/util/manifest_parser_util.js +0 -101
  540. package/test/test/util/mss_parser_util.js +0 -119
  541. package/test/test/util/offline_utils.js +0 -105
  542. package/test/test/util/simple_fakes.js +0 -535
  543. package/test/test/util/stream_generator.js +0 -676
  544. package/test/test/util/streaming_engine_util.js +0 -506
  545. package/test/test/util/test_scheme.js +0 -778
  546. package/test/test/util/ttml_utils.js +0 -77
  547. package/test/test/util/ui_utils.js +0 -183
  548. package/test/test/util/util.js +0 -374
  549. package/test/test/util/waiter.js +0 -406
  550. package/test/text/cue_integration.js +0 -51
  551. package/test/text/lrc_text_parser_unit.js +0 -98
  552. package/test/text/mp4_ttml_parser_unit.js +0 -171
  553. package/test/text/mp4_vtt_parser_unit.js +0 -195
  554. package/test/text/sbv_text_parser_unit.js +0 -81
  555. package/test/text/simple_text_displayer_unit.js +0 -468
  556. package/test/text/srt_text_parser_unit.js +0 -163
  557. package/test/text/ssa_text_parser_unit.js +0 -382
  558. package/test/text/text_displayer_layout_unit.js +0 -323
  559. package/test/text/text_engine_unit.js +0 -500
  560. package/test/text/text_track_integration.js +0 -186
  561. package/test/text/ttml_text_parser_unit.js +0 -2176
  562. package/test/text/ui_text_displayer_unit.js +0 -608
  563. package/test/text/vtt_text_parser_unit.js +0 -1363
  564. package/test/text/web_vtt_generator_unit.js +0 -144
  565. package/test/text/web_vtt_layout_integration.js +0 -524
  566. package/test/transmuxer/transmuxer_engine_integration.js +0 -69
  567. package/test/transmuxer/transmuxer_integration.js +0 -443
  568. package/test/ui/ad_ui_unit.js +0 -369
  569. package/test/ui/localization_unit.js +0 -508
  570. package/test/ui/ui_customization_unit.js +0 -208
  571. package/test/ui/ui_integration.js +0 -669
  572. package/test/ui/ui_unit.js +0 -902
  573. package/test/util/abortable_operation_unit.js +0 -624
  574. package/test/util/array_utils_unit.js +0 -58
  575. package/test/util/buffer_utils_unit.js +0 -185
  576. package/test/util/cmcd_manager_unit.js +0 -440
  577. package/test/util/content_steering_manager_unit.js +0 -427
  578. package/test/util/data_view_reader_unit.js +0 -254
  579. package/test/util/ebml_parser_unit.js +0 -297
  580. package/test/util/event_manager_unit.js +0 -185
  581. package/test/util/fake_event_target_unit.js +0 -123
  582. package/test/util/id3_utils_unit.js +0 -168
  583. package/test/util/iterables_unit.js +0 -68
  584. package/test/util/language_utils_unit.js +0 -240
  585. package/test/util/manifest_parser_utils_unit.js +0 -55
  586. package/test/util/mime_utils_unit.js +0 -64
  587. package/test/util/mp4_box_parsers_unit.js +0 -246
  588. package/test/util/mp4_parser_unit.js +0 -373
  589. package/test/util/multi_map_unit.js +0 -94
  590. package/test/util/object_utils_unit.js +0 -79
  591. package/test/util/periods_unit.js +0 -1623
  592. package/test/util/pssh_unit.js +0 -226
  593. package/test/util/state_history_unit.js +0 -101
  594. package/test/util/stream_utils_unit.js +0 -1068
  595. package/test/util/string_utils_unit.js +0 -166
  596. package/test/util/text_parser_unit.js +0 -165
  597. package/test/util/ts_parser_unit.js +0 -77
  598. 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