shaka-player 3.3.2 → 3.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.csslintrc +11 -1
- package/.github/ISSUE_TEMPLATE/bug_report.md +1 -1
- package/.github/pull_request_template.md +6 -34
- package/.github/workflows/build-and-test.yaml +130 -0
- package/.github/workflows/custom-actions/prep-for-appspot/action.yaml +56 -0
- package/.github/workflows/custom-actions/set-commit-status/action.yaml +41 -0
- package/.github/workflows/demo-version-index.yaml +29 -0
- package/.github/workflows/nightly-demo.yaml +42 -0
- package/.github/workflows/release-please.yaml +145 -0
- package/.github/workflows/safari-homedir-launcher.sh +18 -0
- package/.github/workflows/selenium-lab-tests.yaml +93 -0
- package/AUTHORS +2 -0
- package/CHANGELOG.md +1691 -1675
- package/CONTRIBUTING.md +2 -2
- package/CONTRIBUTORS +2 -0
- package/README.md +7 -7
- package/app-engine/README.md +9 -0
- package/app-engine/demo-version-index/README.md +14 -0
- package/app-engine/demo-version-index/app.yaml +2 -0
- package/app-engine/demo-version-index/main.py +162 -0
- package/app-engine/demo-version-index/requirements.txt +6 -0
- package/app-engine/demo-version-index/templates/index.html +114 -0
- package/app-engine/shaka-player-demo/README.md +18 -0
- package/app-engine/shaka-player-demo/app.yaml +61 -0
- package/app-engine/shaka-player-demo/main.py +95 -0
- package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
- package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
- package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
- package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
- package/app-engine/shaka-player-demo/posters/sources.txt +46 -0
- package/app-engine/shaka-player-demo/posters/standard.png +0 -0
- package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
- package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
- package/app-engine/shaka-player-demo/posters.py +110 -0
- package/app-engine/shaka-player-demo/requirements.txt +5 -0
- package/app-engine/shaka-player-demo/time.txt +1 -0
- package/build/README.md +1 -1
- package/build/checkversion.py +1 -1
- package/build/conformance.textproto +13 -0
- package/build/docker/Dockerfile +20 -0
- package/build/docker/docker-compose.yml +10 -0
- package/build/gendeps.py +18 -15
- package/build/shaka-lab.yaml +163 -0
- package/build/shakaBuildHelpers.py +4 -29
- package/build/test.py +87 -28
- package/build/types/polyfill +1 -0
- package/build/wrapper.template.js +2 -2
- package/demo/TengwarTelcontar.woff2 +0 -0
- package/demo/asset_card.js +1 -2
- package/demo/cast_receiver/index.html +1 -1
- package/demo/cast_receiver/receiver_app.css +14 -14
- package/demo/common/assets.js +2 -0
- package/demo/config.js +0 -1
- package/demo/custom.js +0 -1
- package/demo/customWarning.txt +2 -2
- package/demo/demo.less +29 -18
- package/demo/demo_uncompiled.js +1 -13
- package/demo/index.html +1 -1
- package/demo/main.js +3 -3
- package/dist/controls.css +3 -3
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +191 -194
- package/dist/demo.compiled.debug.map +4 -4
- package/dist/demo.compiled.js +191 -194
- package/dist/demo.compiled.map +4 -4
- package/dist/demo.css +1 -1
- package/dist/demo.css.map +1 -1
- package/dist/deps.js +233 -226
- package/dist/locales.js +31 -31
- package/dist/receiver.compiled.debug.js +43 -45
- package/dist/receiver.compiled.debug.map +4 -4
- package/dist/receiver.compiled.js +43 -45
- package/dist/receiver.compiled.map +4 -4
- package/dist/shaka-player.compiled.d.ts +246 -236
- package/dist/shaka-player.compiled.debug.d.ts +246 -236
- package/dist/shaka-player.compiled.debug.externs.js +14 -3
- package/dist/shaka-player.compiled.debug.js +214 -222
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +14 -3
- package/dist/shaka-player.compiled.js +845 -851
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +290 -280
- package/dist/shaka-player.ui.debug.d.ts +290 -280
- package/dist/shaka-player.ui.debug.externs.js +14 -3
- package/dist/shaka-player.ui.debug.js +295 -303
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +14 -3
- package/dist/shaka-player.ui.js +1000 -1006
- package/dist/shaka-player.ui.map +4 -4
- package/docs/design/REDESIGN.md +33 -33
- package/docs/design/bg-fetch.md +2 -2
- package/docs/design/codec_preferences.md +1 -1
- package/docs/design/dash-audio-channels.md +3 -3
- package/docs/design/dash-manifests.md +1 -1
- package/docs/design/gap-jumping.md +3 -3
- package/docs/design/preload.md +2 -2
- package/docs/tutorials/faq.md +8 -8
- package/docs/tutorials/index.json +1 -0
- package/docs/tutorials/plugins.md +3 -3
- package/docs/tutorials/selenium-grid-config.md +122 -0
- package/docs/tutorials/welcome.md +10 -2
- package/externs/cmcd.js +1 -1
- package/karma.conf.js +137 -30
- package/lib/abr/simple_abr_manager.js +12 -6
- package/lib/cast/cast_proxy.js +3 -4
- package/lib/cea/cea608_data_channel.js +2 -2
- package/lib/cea/cea708_service.js +5 -4
- package/lib/cea/mp4_cea_parser.js +11 -5
- package/lib/cea/sei_processor.js +6 -3
- package/lib/dash/dash_parser.js +9 -11
- package/lib/dash/mpd_utils.js +4 -5
- package/lib/dash/segment_list.js +1 -2
- package/lib/dash/segment_template.js +3 -3
- package/lib/hls/hls_parser.js +11 -9
- package/lib/hls/manifest_text_parser.js +3 -3
- package/lib/media/adaptation_set.js +1 -2
- package/lib/media/content_workarounds.js +2 -2
- package/lib/media/drm_engine.js +3 -2
- package/lib/media/media_source_engine.js +3 -2
- package/lib/media/mp4_segment_index_parser.js +1 -4
- package/lib/media/playhead.js +2 -2
- package/lib/media/presentation_timeline.js +18 -8
- package/lib/media/streaming_engine.js +6 -6
- package/lib/media/time_ranges_utils.js +1 -3
- package/lib/media/video_wrapper.js +1 -1
- package/lib/net/networking_engine.js +1 -1
- package/lib/offline/storage.js +4 -4
- package/lib/player.js +34 -16
- package/lib/polyfill/all.js +2 -3
- package/lib/polyfill/encryption_scheme.js +1 -1
- package/lib/polyfill/media_capabilities.js +3 -3
- package/lib/polyfill/mediasource.js +1 -1
- package/lib/polyfill/symbol.js +46 -0
- package/lib/text/cue.js +1 -1
- package/lib/text/simple_text_displayer.js +2 -1
- package/lib/text/ttml_text_parser.js +8 -5
- package/lib/text/ui_text_displayer.js +1 -1
- package/lib/util/buffer_utils.js +1 -3
- package/lib/util/ebml_parser.js +3 -3
- package/lib/util/error.js +1 -1
- package/lib/util/iterables.js +0 -46
- package/lib/util/mp4_box_parsers.js +1 -4
- package/lib/util/mp4_parser.js +5 -7
- package/lib/util/periods.js +10 -11
- package/lib/util/platform.js +3 -3
- package/lib/util/pssh.js +1 -4
- package/lib/util/stream_utils.js +4 -3
- package/lib/util/string_utils.js +3 -5
- package/lib/util/uint8array_utils.js +3 -5
- package/lib/util/xml_utils.js +15 -7
- package/package.json +61 -36
- package/roadmap.md +17 -17
- package/shaka-player.uncompiled.js +1 -0
- package/test/abr/simple_abr_manager_unit.js +3 -8
- package/test/ads/ad_manager_unit.js +0 -6
- package/test/cast/cast_proxy_unit.js +0 -8
- package/test/cast/cast_receiver_integration.js +1 -18
- package/test/cast/cast_receiver_unit.js +1 -9
- package/test/cast/cast_sender_unit.js +0 -6
- package/test/cast/cast_utils_unit.js +0 -13
- package/test/cea/cea608_memory_unit.js +0 -5
- package/test/cea/cea708_service_unit.js +0 -7
- package/test/cea/cea708_window_unit.js +0 -5
- package/test/cea/cea_decoder_unit.js +0 -6
- package/test/cea/dtvcc_packet_builder_unit.js +0 -3
- package/test/cea/dtvcc_packet_unit.js +0 -5
- package/test/cea/mp4_cea_parser_unit.js +0 -4
- package/test/dash/dash_parser_content_protection_unit.js +1 -10
- package/test/dash/dash_parser_live_unit.js +2 -15
- package/test/dash/dash_parser_manifest_unit.js +2 -16
- package/test/dash/dash_parser_segment_base_unit.js +1 -8
- package/test/dash/dash_parser_segment_list_unit.js +1 -7
- package/test/dash/dash_parser_segment_template_unit.js +0 -9
- package/test/dash/mpd_utils_unit.js +3 -11
- package/test/demo/demo_unit.js +0 -5
- package/test/deprecate/enforcer_unit.js +0 -4
- package/test/deprecate/version_unit.js +0 -2
- package/test/hls/hls_live_unit.js +2 -14
- package/test/hls/hls_parser_unit.js +2 -15
- package/test/hls/manifest_text_parser_unit.js +0 -10
- package/test/media/adaptation_set_criteria_unit.js +3 -7
- package/test/media/adaptation_set_unit.js +0 -2
- package/test/media/buffering_observer_unit.js +1 -4
- package/test/media/closed_caption_parser_unit.js +0 -3
- package/test/media/drm_engine_integration.js +2 -15
- package/test/media/drm_engine_unit.js +4 -24
- package/test/media/manifest_parser_unit.js +0 -4
- package/test/media/media_source_engine_integration.js +0 -7
- package/test/media/media_source_engine_unit.js +1 -14
- package/test/media/mp4_segment_index_parser_unit.js +0 -4
- package/test/media/play_rate_controller_unit.js +0 -4
- package/test/media/playhead_unit.js +8 -16
- package/test/media/presentation_timeline_unit.js +4 -7
- package/test/media/quality_observer_unit.js +0 -4
- package/test/media/region_observer_unit.js +1 -6
- package/test/media/region_timeline_unit.js +0 -3
- package/test/media/segment_index_unit.js +0 -6
- package/test/media/segment_reference_unit.js +0 -3
- package/test/media/stall_detector_unit.js +0 -5
- package/test/media/streaming_engine_integration.js +9 -36
- package/test/media/streaming_engine_unit.js +11 -35
- package/test/media/time_ranges_utils_unit.js +0 -2
- package/test/media/transmuxer_integration.js +0 -6
- package/test/media/webm_segment_index_parser_unit.js +0 -4
- package/test/net/data_uri_plugin_unit.js +0 -7
- package/test/net/http_plugin_unit.js +0 -9
- package/test/net/networking_engine_unit.js +0 -11
- package/test/offline/download_progress_estimator_unit.js +0 -2
- package/test/offline/indexeddb_storage_unit.js +0 -6
- package/test/offline/manifest_convert_unit.js +0 -8
- package/test/offline/offline_integration.js +1 -10
- package/test/offline/offline_manifest_parser_unit.js +0 -6
- package/test/offline/offline_scheme_unit.js +0 -8
- package/test/offline/offline_uri_unit.js +0 -2
- package/test/offline/storage_compatibility_unit.js +1 -14
- package/test/offline/storage_integration.js +1 -27
- package/test/player_external.js +2 -10
- package/test/player_integration.js +22 -28
- package/test/player_load_graph_integration.js +1 -6
- package/test/player_src_equals_external.js +3 -9
- package/test/player_src_equals_integration.js +0 -7
- package/test/player_unit.js +52 -37
- package/test/routing/walker_unit.js +0 -8
- package/test/test/assets/large_file.mpd +1 -1
- package/test/test/boot.js +75 -22
- package/test/test/externs/jasmine.js +2 -2
- package/test/test/externs/karma.js +4 -0
- package/test/test/namespace.js +10 -0
- package/test/test/util/canned_idb.js +0 -8
- package/test/test/util/cea_utils.js +0 -6
- package/test/test/util/dash_parser_util.js +0 -13
- package/test/test/util/fake_ad.js +0 -3
- package/test/test/util/fake_ad_manager.js +0 -9
- package/test/test/util/fake_demo_main.js +0 -5
- package/test/test/util/fake_drm_engine.js +0 -6
- package/test/test/util/fake_media_source_engine.js +0 -7
- package/test/test/util/fake_networking_engine.js +0 -5
- package/test/test/util/fake_text_displayer.js +0 -5
- package/test/test/util/indexeddb_utils.js +1 -10
- package/test/test/util/jasmine_fetch.js +0 -1
- package/test/test/util/loader.js +0 -18
- package/test/test/util/manifest_generator.js +9 -14
- package/test/test/util/manifest_parser_util.js +0 -6
- package/test/test/util/offline_utils.js +0 -5
- package/test/test/util/simple_fakes.js +9 -26
- package/test/test/util/stream_generator.js +0 -14
- package/test/test/util/streaming_engine_util.js +0 -15
- package/test/test/util/test_scheme.js +1 -19
- package/test/test/util/ttml_utils.js +0 -2
- package/test/test/util/ui_utils.js +0 -9
- package/test/test/util/util.js +5 -19
- package/test/test/util/waiter.js +84 -43
- package/test/text/cue_integration.js +0 -4
- package/test/text/lrc_text_parser_unit.js +0 -4
- package/test/text/mp4_ttml_parser_unit.js +0 -6
- package/test/text/mp4_vtt_parser_unit.js +1 -7
- package/test/text/sbv_text_parser_unit.js +0 -4
- package/test/text/simple_text_displayer_unit.js +1 -8
- package/test/text/srt_text_parser_unit.js +0 -4
- package/test/text/ssa_text_parser_unit.js +0 -5
- package/test/text/text_engine_unit.js +2 -7
- package/test/text/text_track_integration.js +0 -2
- package/test/text/ttml_text_parser_unit.js +2 -11
- package/test/text/ui_text_displayer_unit.js +44 -41
- package/test/text/vtt_text_parser_unit.js +0 -9
- package/test/text/web_vtt_generator_unit.js +0 -3
- package/test/ui/ad_ui_unit.js +0 -11
- package/test/ui/localization_unit.js +0 -3
- package/test/ui/text_displayer_layout_unit.js +1 -12
- package/test/ui/ui_customization_unit.js +0 -6
- package/test/ui/ui_integration.js +0 -16
- package/test/ui/ui_unit.js +1 -17
- package/test/util/abortable_operation_unit.js +4 -9
- package/test/util/array_utils_unit.js +0 -2
- package/test/util/buffer_utils_unit.js +0 -2
- package/test/util/cmcd_manager_unit.js +0 -3
- package/test/util/data_view_reader_unit.js +0 -4
- package/test/util/ebml_parser_unit.js +0 -4
- package/test/util/event_manager_unit.js +0 -3
- package/test/util/fake_event_target_unit.js +0 -5
- package/test/util/functional_unit.js +1 -1
- package/test/util/iterables_unit.js +0 -64
- package/test/util/language_utils_unit.js +0 -3
- package/test/util/manifest_parser_utils_unit.js +0 -2
- package/test/util/mp4_box_parsers_unit.js +0 -5
- package/test/util/mp4_parser_unit.js +0 -4
- package/test/util/multi_map_unit.js +0 -3
- package/test/util/object_utils_unit.js +0 -2
- package/test/util/periods_unit.js +14 -7
- package/test/util/pssh_unit.js +0 -5
- package/test/util/state_history_unit.js +0 -2
- package/test/util/stream_utils_unit.js +3 -8
- package/test/util/string_utils_unit.js +0 -6
- package/test/util/text_parser_unit.js +0 -2
- package/test/util/xml_utils_unit.js +0 -4
- package/ui/less/ad_controls.less +4 -4
- package/ui/less/buttons.less +5 -5
- package/ui/less/containers.less +9 -11
- package/ui/less/overflow_menu.less +4 -4
- package/ui/less/range_elements.less +5 -0
- package/ui/less/tooltip.less +1 -1
- package/ui/locales/sjn-translations.yaml +257 -0
- package/ui/locales/sjn.json +42 -0
- package/.github/workflows/build_and_test.yaml +0 -73
- package/.github/workflows/release.yaml +0 -53
- package/externs/svgelement.js +0 -18
- package/externs/webcrypto.js +0 -18
package/test/ui/ad_ui_unit.js
CHANGED
|
@@ -4,17 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.Player');
|
|
8
|
-
goog.require('shaka.ads.AdManager');
|
|
9
|
-
goog.require('shaka.test.FakeAd');
|
|
10
|
-
goog.require('shaka.test.FakeAdManager');
|
|
11
|
-
goog.require('shaka.test.UiUtils');
|
|
12
|
-
goog.require('shaka.test.Util');
|
|
13
|
-
goog.require('shaka.test.Waiter');
|
|
14
|
-
goog.require('shaka.ui.Locales');
|
|
15
|
-
goog.require('shaka.util.EventManager');
|
|
16
|
-
goog.requireType('shaka.ui.Localization');
|
|
17
|
-
|
|
18
7
|
describe('Ad UI', () => {
|
|
19
8
|
const UiUtils = shaka.test.UiUtils;
|
|
20
9
|
/** @type {!HTMLLinkElement} */
|
|
@@ -4,17 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.Player');
|
|
8
|
-
goog.require('shaka.test.FakeVideo');
|
|
9
|
-
goog.require('shaka.test.UiUtils');
|
|
10
|
-
goog.require('shaka.test.Util');
|
|
11
|
-
goog.require('shaka.test.Waiter');
|
|
12
|
-
goog.require('shaka.text.Cue');
|
|
13
|
-
goog.require('shaka.text.SimpleTextDisplayer');
|
|
14
|
-
goog.require('shaka.text.UITextDisplayer');
|
|
15
|
-
goog.require('shaka.ui.Overlay');
|
|
16
|
-
goog.require('shaka.util.EventManager');
|
|
17
|
-
|
|
18
7
|
// TODO: Move this suite to the text/ folder where it belongs
|
|
19
8
|
const supportsScreenshots = () => shaka.test.Util.supportsScreenshots();
|
|
20
9
|
filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
|
|
@@ -416,7 +405,7 @@ filterDescribe('TextDisplayer layout', supportsScreenshots, () => {
|
|
|
416
405
|
await checkScreenshot(prefix, 'flat-cue-bg');
|
|
417
406
|
});
|
|
418
407
|
|
|
419
|
-
// https://github.com/
|
|
408
|
+
// https://github.com/shaka-project/shaka-player/issues/2761
|
|
420
409
|
it('deeply-nested cues', async () => {
|
|
421
410
|
const makeCue = (text, fg = '', bg = '', nestedCues = []) => {
|
|
422
411
|
const cue = new shaka.text.Cue(0, 1, text);
|
|
@@ -4,12 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.test.UiUtils');
|
|
9
|
-
goog.require('shaka.test.Waiter');
|
|
10
|
-
goog.require('shaka.util.EventManager');
|
|
11
|
-
goog.requireType('shaka.ui.Overlay');
|
|
12
|
-
|
|
13
7
|
describe('UI Customization', () => {
|
|
14
8
|
const UiUtils = shaka.test.UiUtils;
|
|
15
9
|
/** @type {!HTMLLinkElement} */
|
|
@@ -4,22 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('mozilla.LanguageMapping');
|
|
9
|
-
goog.require('shaka.test.Loader');
|
|
10
|
-
goog.require('shaka.test.TestScheme');
|
|
11
|
-
goog.require('shaka.test.UiUtils');
|
|
12
|
-
goog.require('shaka.test.Util');
|
|
13
|
-
goog.require('shaka.test.Waiter');
|
|
14
|
-
goog.require('shaka.ui.Element');
|
|
15
|
-
goog.require('shaka.util.Dom');
|
|
16
|
-
goog.require('shaka.util.EventManager');
|
|
17
|
-
goog.require('shaka.util.Iterables');
|
|
18
|
-
goog.requireType('shaka.Player');
|
|
19
|
-
goog.requireType('shaka.ui.Controls');
|
|
20
|
-
goog.requireType('shaka.ui.Overlay');
|
|
21
|
-
|
|
22
|
-
|
|
23
7
|
describe('UI', () => {
|
|
24
8
|
const Util = shaka.test.Util;
|
|
25
9
|
const UiUtils = shaka.test.UiUtils;
|
package/test/ui/ui_unit.js
CHANGED
|
@@ -4,21 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.media.ManifestParser');
|
|
9
|
-
goog.require('shaka.test.FakeManifestParser');
|
|
10
|
-
goog.require('shaka.test.ManifestGenerator');
|
|
11
|
-
goog.require('shaka.test.UiUtils');
|
|
12
|
-
goog.require('shaka.test.Util');
|
|
13
|
-
goog.require('shaka.ui.OverflowMenu');
|
|
14
|
-
goog.require('shaka.ui.ResolutionSelection');
|
|
15
|
-
goog.require('shaka.util.Functional');
|
|
16
|
-
goog.require('shaka.util.Iterables');
|
|
17
|
-
goog.require('shaka.util.Platform');
|
|
18
|
-
goog.requireType('shaka.Player');
|
|
19
|
-
goog.requireType('shaka.ui.Controls');
|
|
20
|
-
goog.requireType('shaka.ui.Overlay');
|
|
21
|
-
|
|
22
7
|
describe('UI', () => {
|
|
23
8
|
const UiUtils = shaka.test.UiUtils;
|
|
24
9
|
const Util = shaka.test.Util;
|
|
@@ -137,8 +122,7 @@ describe('UI', () => {
|
|
|
137
122
|
// Four is just a random number I (ismena) came up with to test a
|
|
138
123
|
// multi-video use case. It could be replaces with any other
|
|
139
124
|
// (reasonable) number.
|
|
140
|
-
for (
|
|
141
|
-
shaka.util.Functional.ignored(_);
|
|
125
|
+
for (let i = 0; i < 4; i++) {
|
|
142
126
|
const video = /** @type {!HTMLVideoElement} */
|
|
143
127
|
(document.createElement('video'));
|
|
144
128
|
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.Util');
|
|
8
|
-
goog.require('shaka.util.AbortableOperation');
|
|
9
|
-
goog.require('shaka.util.Error');
|
|
10
|
-
goog.require('shaka.util.PublicPromise');
|
|
11
|
-
|
|
12
7
|
describe('AbortableOperation', () => {
|
|
13
8
|
const Util = shaka.test.Util;
|
|
14
9
|
|
|
@@ -392,10 +387,10 @@ describe('AbortableOperation', () => {
|
|
|
392
387
|
expect(value).toBe(500);
|
|
393
388
|
}).finally((ok) => {
|
|
394
389
|
expect(ok).toBe(true);
|
|
395
|
-
// The bug https://github.com/
|
|
396
|
-
// expectation fail because some stages were skipped.
|
|
397
|
-
// check, the test would pass, even though the bug shows
|
|
398
|
-
// basic functionality of 'chain'.
|
|
390
|
+
// The bug https://github.com/shaka-project/shaka-player/issues/1260
|
|
391
|
+
// makes this expectation fail because some stages were skipped.
|
|
392
|
+
// Without this check, the test would pass, even though the bug shows
|
|
393
|
+
// up first in the basic functionality of 'chain'.
|
|
399
394
|
expect(values).toEqual([100, 200, 300, 400, 500]);
|
|
400
395
|
});
|
|
401
396
|
await op.promise;
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.Util');
|
|
8
|
-
goog.require('shaka.util.EbmlParser');
|
|
9
|
-
goog.require('shaka.util.Error');
|
|
10
|
-
|
|
11
7
|
describe('EbmlParser', /** @suppress {accessControls} */ () => {
|
|
12
8
|
const Util = shaka.test.Util;
|
|
13
9
|
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.log');
|
|
8
|
-
goog.require('shaka.test.Util');
|
|
9
|
-
goog.require('shaka.util.FakeEvent');
|
|
10
|
-
goog.require('shaka.util.FakeEventTarget');
|
|
11
|
-
|
|
12
7
|
describe('FakeEventTarget', () => {
|
|
13
8
|
const Util = shaka.test.Util;
|
|
14
9
|
const originalLogError = shaka.log.error;
|
|
@@ -73,7 +73,7 @@ describe('Functional', () => {
|
|
|
73
73
|
expect(obj.val).toBe(1);
|
|
74
74
|
});
|
|
75
75
|
|
|
76
|
-
// Regression test for https://github.com/
|
|
76
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/2958
|
|
77
77
|
it('supports ES6 classes', () => {
|
|
78
78
|
const obj = Functional.callFactory(Es6Class);
|
|
79
79
|
expect(obj.val).toBe(1);
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.util.Iterables');
|
|
8
|
-
|
|
9
7
|
describe('Iterables', () => {
|
|
10
8
|
const Iterables = shaka.util.Iterables;
|
|
11
9
|
|
|
@@ -67,66 +65,4 @@ describe('Iterables', () => {
|
|
|
67
65
|
expect(Iterables.filter(input, (x) => x < 0)).toEqual([]);
|
|
68
66
|
});
|
|
69
67
|
});
|
|
70
|
-
|
|
71
|
-
describe('enumerate', () => {
|
|
72
|
-
function enumerate(it) {
|
|
73
|
-
return Array.from(Iterables.enumerate(it));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
it('works with no items', () => {
|
|
77
|
-
expect(enumerate([])).toEqual([]);
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
it('works with one item', () => {
|
|
81
|
-
expect(enumerate([999]))
|
|
82
|
-
.toEqual([{i: 0, item: 999, prev: undefined, next: undefined}]);
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
it('works with special values', () => {
|
|
86
|
-
expect(enumerate([[]]))
|
|
87
|
-
.toEqual([{i: 0, item: [], prev: undefined, next: undefined}]);
|
|
88
|
-
expect(enumerate([0]))
|
|
89
|
-
.toEqual([{i: 0, item: 0, prev: undefined, next: undefined}]);
|
|
90
|
-
expect(enumerate([null]))
|
|
91
|
-
.toEqual([{i: 0, item: null, prev: undefined, next: undefined}]);
|
|
92
|
-
expect(enumerate([undefined]))
|
|
93
|
-
.toEqual([{i: 0, item: undefined, prev: undefined, next: undefined}]);
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
it('works with two items', () => {
|
|
97
|
-
expect(enumerate([888, 999]))
|
|
98
|
-
.toEqual([
|
|
99
|
-
{i: 0, item: 888, prev: undefined, next: 999},
|
|
100
|
-
{i: 1, item: 999, prev: 888, next: undefined},
|
|
101
|
-
]);
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
it('works with three items', () => {
|
|
105
|
-
expect(enumerate([777, 888, 999]))
|
|
106
|
-
.toEqual([
|
|
107
|
-
{i: 0, item: 777, prev: undefined, next: 888},
|
|
108
|
-
{i: 1, item: 888, prev: 777, next: 999},
|
|
109
|
-
{i: 2, item: 999, prev: 888, next: undefined},
|
|
110
|
-
]);
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
it('keeps references', () => {
|
|
114
|
-
const expected = [
|
|
115
|
-
{a: 'x'},
|
|
116
|
-
{b: 'y'},
|
|
117
|
-
{c: 'z'},
|
|
118
|
-
];
|
|
119
|
-
const actual = enumerate(expected);
|
|
120
|
-
|
|
121
|
-
expect(actual[0].item).toBe(expected[0]);
|
|
122
|
-
expect(actual[0].next).toBe(expected[1]);
|
|
123
|
-
|
|
124
|
-
expect(actual[1].prev).toBe(expected[0]);
|
|
125
|
-
expect(actual[1].item).toBe(expected[1]);
|
|
126
|
-
expect(actual[1].next).toBe(expected[2]);
|
|
127
|
-
|
|
128
|
-
expect(actual[2].prev).toBe(expected[1]);
|
|
129
|
-
expect(actual[2].item).toBe(expected[2]);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
68
|
});
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.test.Util');
|
|
9
|
-
goog.require('shaka.util.Mp4BoxParsers');
|
|
10
|
-
goog.require('shaka.util.Mp4Parser');
|
|
11
|
-
|
|
12
7
|
describe('Mp4BoxParsers', () => {
|
|
13
8
|
const videoInitSegmentUri = '/base/test/test/assets/sintel-video-init.mp4';
|
|
14
9
|
const videoSegmentUri = '/base/test/test/assets/sintel-video-segment.mp4';
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.ManifestGenerator');
|
|
8
|
-
goog.require('shaka.util.ManifestParserUtils');
|
|
9
|
-
goog.require('shaka.util.PeriodCombiner');
|
|
10
|
-
|
|
11
7
|
describe('PeriodCombiner', () => {
|
|
12
8
|
// These test cases don't really read well as "it" statements. Phrasing them
|
|
13
9
|
// that way would make the names very long, so here we break with that
|
|
@@ -477,7 +473,7 @@ describe('PeriodCombiner', () => {
|
|
|
477
473
|
a3.originalId = 'a3';
|
|
478
474
|
a3.bandwidth = 97065;
|
|
479
475
|
a3.roles = ['role1', 'role2'];
|
|
480
|
-
|
|
476
|
+
a3.codecs = 'mp4a.40.2';
|
|
481
477
|
|
|
482
478
|
// a4 has a different label from a3, and should not
|
|
483
479
|
// be filtered out.
|
|
@@ -500,14 +496,24 @@ describe('PeriodCombiner', () => {
|
|
|
500
496
|
const t1 = makeTextStream('en');
|
|
501
497
|
t1.originalId = 't1';
|
|
502
498
|
t1.roles = ['role1'];
|
|
499
|
+
t1.bandwidth = 1158;
|
|
503
500
|
|
|
504
501
|
const t2 = makeTextStream('en');
|
|
505
502
|
t2.originalId = 't2';
|
|
506
503
|
t2.roles = ['role1', 'role2'];
|
|
504
|
+
t2.bandwidth = 1172;
|
|
507
505
|
|
|
508
506
|
const t3 = makeTextStream('en');
|
|
509
507
|
t3.originalId = 't3';
|
|
510
508
|
t3.roles = ['role1'];
|
|
509
|
+
t3.bandwidth = 1158;
|
|
510
|
+
|
|
511
|
+
// t4 has a different bandwidth from t3, and should not
|
|
512
|
+
// be filtered out.
|
|
513
|
+
const t4 = makeTextStream('en');
|
|
514
|
+
t4.originalId = 't4';
|
|
515
|
+
t4.roles = ['role1'];
|
|
516
|
+
t4.bandwidth = 1186;
|
|
511
517
|
|
|
512
518
|
// i1 and i3 are duplicates.
|
|
513
519
|
const i1 = makeImageStream(240);
|
|
@@ -539,6 +545,7 @@ describe('PeriodCombiner', () => {
|
|
|
539
545
|
t1,
|
|
540
546
|
t2,
|
|
541
547
|
t3,
|
|
548
|
+
t4,
|
|
542
549
|
],
|
|
543
550
|
imageStreams: [
|
|
544
551
|
i1,
|
|
@@ -565,7 +572,7 @@ describe('PeriodCombiner', () => {
|
|
|
565
572
|
}
|
|
566
573
|
|
|
567
574
|
const textStreams = combiner.getTextStreams();
|
|
568
|
-
expect(textStreams.length).toBe(
|
|
575
|
+
expect(textStreams.length).toBe(3);
|
|
569
576
|
|
|
570
577
|
// t3 should've been filtered out
|
|
571
578
|
const textIds = textStreams.map((t) => t.originalId);
|
|
@@ -1059,7 +1066,7 @@ describe('PeriodCombiner', () => {
|
|
|
1059
1066
|
it('The number of variants stays stable after many periods ' +
|
|
1060
1067
|
'when going between similar content and varying ads', async () => {
|
|
1061
1068
|
// This test is based on the content from
|
|
1062
|
-
// https://github.com/
|
|
1069
|
+
// https://github.com/shaka-project/shaka-player/issues/2716
|
|
1063
1070
|
// that used to cause our period flattening logic to keep
|
|
1064
1071
|
// creating new variants for every new period added.
|
|
1065
1072
|
// It's ok to create a few additional varinats/streams,
|
package/test/util/pssh_unit.js
CHANGED
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.Util');
|
|
8
|
-
goog.require('shaka.util.Error');
|
|
9
|
-
goog.require('shaka.util.Pssh');
|
|
10
|
-
goog.require('shaka.util.Uint8ArrayUtils');
|
|
11
|
-
|
|
12
7
|
describe('Pssh', () => {
|
|
13
8
|
const Uint8ArrayUtils = shaka.util.Uint8ArrayUtils;
|
|
14
9
|
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.FakeDrmEngine');
|
|
8
|
-
goog.require('shaka.test.ManifestGenerator');
|
|
9
|
-
goog.require('shaka.test.Util');
|
|
10
|
-
goog.require('shaka.util.StreamUtils');
|
|
11
|
-
|
|
12
7
|
describe('StreamUtils', () => {
|
|
13
8
|
const StreamUtils = shaka.util.StreamUtils;
|
|
14
9
|
|
|
@@ -184,7 +179,7 @@ describe('StreamUtils', () => {
|
|
|
184
179
|
});
|
|
185
180
|
|
|
186
181
|
it('chooses only one role, even if none is preferred', () => {
|
|
187
|
-
// Regression test for https://github.com/
|
|
182
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/949
|
|
188
183
|
manifest = shaka.test.ManifestGenerator.generate((manifest) => {
|
|
189
184
|
manifest.addTextStream(0, (stream) => {
|
|
190
185
|
stream.language = 'en';
|
|
@@ -223,7 +218,7 @@ describe('StreamUtils', () => {
|
|
|
223
218
|
});
|
|
224
219
|
|
|
225
220
|
it('chooses only one role, even if all are primary', () => {
|
|
226
|
-
// Regression test for https://github.com/
|
|
221
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/949
|
|
227
222
|
manifest = shaka.test.ManifestGenerator.generate((manifest) => {
|
|
228
223
|
manifest.addTextStream(0, (stream) => {
|
|
229
224
|
stream.language = 'en';
|
|
@@ -269,7 +264,7 @@ describe('StreamUtils', () => {
|
|
|
269
264
|
});
|
|
270
265
|
|
|
271
266
|
it('chooses only one language, even if all are primary', () => {
|
|
272
|
-
// Regression test for https://github.com/
|
|
267
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/918
|
|
273
268
|
manifest = shaka.test.ManifestGenerator.generate((manifest) => {
|
|
274
269
|
manifest.addTextStream(0, (stream) => {
|
|
275
270
|
stream.language = 'en';
|
|
@@ -4,12 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.Util');
|
|
8
|
-
goog.require('shaka.util.BufferUtils');
|
|
9
|
-
goog.require('shaka.util.Error');
|
|
10
|
-
goog.require('shaka.util.ManifestParserUtils');
|
|
11
|
-
goog.require('shaka.util.StringUtils');
|
|
12
|
-
|
|
13
7
|
describe('StringUtils', () => {
|
|
14
8
|
const StringUtils = shaka.util.StringUtils;
|
|
15
9
|
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.util.XmlUtils');
|
|
9
|
-
|
|
10
|
-
|
|
11
7
|
describe('XmlUtils', () => {
|
|
12
8
|
// A number that cannot be represented as a Javascript number.
|
|
13
9
|
const HUGE_NUMBER_STRING = new Array(500).join('7');
|
package/ui/less/ad_controls.less
CHANGED
|
@@ -90,18 +90,18 @@
|
|
|
90
90
|
|
|
91
91
|
.shaka-skip-ad-button {
|
|
92
92
|
padding: 5px 15px;
|
|
93
|
-
background: rgba(0
|
|
93
|
+
background: rgba(0 0 0 / 70%);
|
|
94
94
|
border: none;
|
|
95
95
|
|
|
96
96
|
&:disabled {
|
|
97
|
-
background: rgba(0
|
|
97
|
+
background: rgba(0 0 0 / 30%);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
cursor: pointer;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
.shaka-skip-ad-counter {
|
|
104
|
-
padding: 5px
|
|
105
|
-
background: rgba(0
|
|
104
|
+
padding: 5px;
|
|
105
|
+
background: rgba(0 0 0 / 70%);
|
|
106
106
|
margin: 0;
|
|
107
107
|
}
|
package/ui/less/buttons.less
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
border-radius: 50%;
|
|
39
39
|
|
|
40
40
|
/* A small drop shadow below the button. */
|
|
41
|
-
box-shadow: rgba(0
|
|
41
|
+
box-shadow: rgba(0 0 0 / 10%) 0 0 20px 0;
|
|
42
42
|
|
|
43
43
|
/* No border. */
|
|
44
44
|
border: none;
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
background-position: center center;
|
|
52
52
|
|
|
53
53
|
/* A background color behind the play arrow. */
|
|
54
|
-
background-color: rgba(255
|
|
54
|
+
background-color: rgba(255 255 255 / 90%);
|
|
55
55
|
|
|
56
56
|
.show-when-controls-shown();
|
|
57
57
|
|
|
@@ -60,11 +60,11 @@
|
|
|
60
60
|
* deployed separately from the compiled CSS.
|
|
61
61
|
* Note that these URIs should relative to ui/controls.less, not this file. */
|
|
62
62
|
&[icon="play"] {
|
|
63
|
-
background-image: data-uri(
|
|
63
|
+
background-image: data-uri("images/play_arrow.svg");
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
&[icon="pause"] {
|
|
67
|
-
background-image: data-uri(
|
|
67
|
+
background-image: data-uri("images/pause.svg");
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
*/
|
|
75
75
|
.shaka-current-time {
|
|
76
76
|
font-size: 14px;
|
|
77
|
-
color:
|
|
77
|
+
color: white;
|
|
78
78
|
cursor: pointer;
|
|
79
79
|
|
|
80
80
|
&[disabled] {
|