shaka-player 3.2.4 → 3.2.5
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/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 +1571 -1556
- 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/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/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 +2 -2
- 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 +225 -219
- package/dist/locales.js +28 -28
- 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 +224 -224
- package/dist/shaka-player.compiled.debug.d.ts +224 -224
- package/dist/shaka-player.compiled.debug.externs.js +4 -3
- package/dist/shaka-player.compiled.debug.js +294 -303
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +4 -3
- package/dist/shaka-player.compiled.js +817 -822
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +266 -266
- package/dist/shaka-player.ui.debug.d.ts +266 -266
- package/dist/shaka-player.ui.debug.externs.js +4 -3
- package/dist/shaka-player.ui.debug.js +220 -229
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +4 -3
- package/dist/shaka-player.ui.js +964 -970
- package/dist/shaka-player.ui.map +4 -4
- package/docs/design/REDESIGN.md +33 -33
- 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/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/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 +8 -9
- 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/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/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 -25
- package/test/player_external.js +2 -10
- package/test/player_integration.js +21 -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/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 +5 -7
- package/ui/less/overflow_menu.less +4 -4
- package/ui/less/range_elements.less +5 -0
- 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
|
@@ -4,13 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.media.ClosedCaptionParser');
|
|
8
|
-
goog.require('shaka.media.MediaSourceEngine');
|
|
9
|
-
goog.require('shaka.test.FakeTextDisplayer');
|
|
10
|
-
goog.require('shaka.test.TestScheme');
|
|
11
|
-
goog.require('shaka.test.UiUtils');
|
|
12
|
-
goog.require('shaka.util.ManifestParserUtils');
|
|
13
|
-
|
|
14
7
|
describe('MediaSourceEngine', () => {
|
|
15
8
|
const ContentType = shaka.util.ManifestParserUtils.ContentType;
|
|
16
9
|
const presentationDuration = 840;
|
|
@@ -4,19 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
goog.require('goog.asserts');
|
|
9
|
-
goog.require('shaka.media.MediaSourceEngine');
|
|
10
|
-
goog.require('shaka.media.Transmuxer');
|
|
11
|
-
goog.require('shaka.test.FakeClosedCaptionParser');
|
|
12
|
-
goog.require('shaka.test.FakeTextDisplayer');
|
|
13
|
-
goog.require('shaka.test.FakeTransmuxer');
|
|
14
|
-
goog.require('shaka.test.StatusPromise');
|
|
15
|
-
goog.require('shaka.test.Util');
|
|
16
|
-
goog.require('shaka.text.TextEngine');
|
|
17
|
-
goog.require('shaka.util.Error');
|
|
18
|
-
goog.require('shaka.util.ManifestParserUtils');
|
|
19
|
-
|
|
20
7
|
/**
|
|
21
8
|
* @typedef {{
|
|
22
9
|
* length: number,
|
|
@@ -1127,7 +1114,7 @@ describe('MediaSourceEngine', () => {
|
|
|
1127
1114
|
expect(mockTextEngine.destroy).toHaveBeenCalled();
|
|
1128
1115
|
});
|
|
1129
1116
|
|
|
1130
|
-
// Regression test for https://github.com/
|
|
1117
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/984
|
|
1131
1118
|
it('destroys TextDisplayer on destroy', async () => {
|
|
1132
1119
|
await mediaSourceEngine.destroy();
|
|
1133
1120
|
expect(mockTextDisplayer.destroySpy).toHaveBeenCalled();
|
|
@@ -4,14 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
goog.require('shaka.media.MediaSourcePlayhead');
|
|
9
|
-
goog.require('shaka.test.FakePresentationTimeline');
|
|
10
|
-
goog.require('shaka.test.FakeVideo');
|
|
11
|
-
goog.require('shaka.test.Util');
|
|
12
|
-
goog.require('shaka.util.PlayerConfiguration');
|
|
13
|
-
goog.requireType('shaka.media.Playhead');
|
|
14
|
-
|
|
15
7
|
/**
|
|
16
8
|
* @typedef {{start: number, end: number}}
|
|
17
9
|
*
|
|
@@ -332,8 +324,8 @@ describe('Playhead', () => {
|
|
|
332
324
|
});
|
|
333
325
|
|
|
334
326
|
// This is important for recovering from drift.
|
|
335
|
-
// See: https://github.com/
|
|
336
|
-
// TODO: Re-evaluate after https://github.com/
|
|
327
|
+
// See: https://github.com/shaka-project/shaka-player/issues/1105
|
|
328
|
+
// TODO: Re-evaluate after https://github.com/shaka-project/shaka-player/issues/999
|
|
337
329
|
it('does not change once the initial position is set', () => {
|
|
338
330
|
timeline.isLive.and.returnValue(true);
|
|
339
331
|
timeline.getDuration.and.returnValue(Infinity);
|
|
@@ -781,9 +773,9 @@ describe('Playhead', () => {
|
|
|
781
773
|
}); // clamps playhead even before seeking completes
|
|
782
774
|
|
|
783
775
|
// Regression test for:
|
|
784
|
-
// - https://github.com/
|
|
785
|
-
// - https://github.com/
|
|
786
|
-
// - https://github.com/
|
|
776
|
+
// - https://github.com/shaka-project/shaka-player/pull/2849
|
|
777
|
+
// - https://github.com/shaka-project/shaka-player/issues/2748
|
|
778
|
+
// - https://github.com/shaka-project/shaka-player/issues/2848
|
|
787
779
|
it('does not apply seek range before initial seek has completed', () => {
|
|
788
780
|
// These attributes allow the seek range callback to do its thing.
|
|
789
781
|
video.readyState = HTMLMediaElement.HAVE_METADATA;
|
|
@@ -1236,7 +1228,7 @@ describe('Playhead', () => {
|
|
|
1236
1228
|
it('works with rounding errors when seeking', () => {
|
|
1237
1229
|
// If the browser sets the time to slightly before where we seek to, we
|
|
1238
1230
|
// shouldn't get stuck in an infinite loop trying to jump the tiny gap.
|
|
1239
|
-
// https://github.com/
|
|
1231
|
+
// https://github.com/shaka-project/shaka-player/issues/1309
|
|
1240
1232
|
const buffered = [{start: 10, end: 20}];
|
|
1241
1233
|
video.buffered = createFakeBuffered(buffered);
|
|
1242
1234
|
video.readyState = HTMLMediaElement.HAVE_METADATA;
|
|
@@ -1295,7 +1287,7 @@ describe('Playhead', () => {
|
|
|
1295
1287
|
expect(video.currentTime).toBe(5);
|
|
1296
1288
|
});
|
|
1297
1289
|
|
|
1298
|
-
// Regression test for https://github.com/
|
|
1290
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/2987
|
|
1299
1291
|
it('does gap jump if paused at 0 and has autoplay', () => {
|
|
1300
1292
|
const buffered = [{start: 10, end: 20}];
|
|
1301
1293
|
video.buffered = createFakeBuffered(buffered);
|
|
@@ -1320,7 +1312,7 @@ describe('Playhead', () => {
|
|
|
1320
1312
|
expect(video.currentTime).toBe(10);
|
|
1321
1313
|
});
|
|
1322
1314
|
|
|
1323
|
-
// Regression test for https://github.com/
|
|
1315
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/3451
|
|
1324
1316
|
it('doesn\'t gap jump if paused at 0 and hasn\'t autoplay', () => {
|
|
1325
1317
|
const buffered = [{start: 10, end: 20}];
|
|
1326
1318
|
video.buffered = createFakeBuffered(buffered);
|
|
@@ -4,9 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.media.PresentationTimeline');
|
|
8
|
-
goog.require('shaka.test.ManifestParser');
|
|
9
|
-
|
|
10
7
|
describe('PresentationTimeline', () => {
|
|
11
8
|
const originalDateNow = Date.now;
|
|
12
9
|
const makeSegmentReference = (startTime, endTime) => {
|
|
@@ -183,7 +180,7 @@ describe('PresentationTimeline', () => {
|
|
|
183
180
|
|
|
184
181
|
// In spite of the current time, the explicit segment times will decide
|
|
185
182
|
// the availability window.
|
|
186
|
-
// See https://github.com/
|
|
183
|
+
// See https://github.com/shaka-project/shaka-player/issues/999
|
|
187
184
|
setElapsed(1000);
|
|
188
185
|
timeline.notifySegments([ref1, ref2, ref3, ref4, ref5]);
|
|
189
186
|
|
|
@@ -283,7 +280,7 @@ describe('PresentationTimeline', () => {
|
|
|
283
280
|
|
|
284
281
|
// In spite of the current time, the explicit segment times will decide
|
|
285
282
|
// the availability window.
|
|
286
|
-
// See https://github.com/
|
|
283
|
+
// See https://github.com/shaka-project/shaka-player/issues/999
|
|
287
284
|
setElapsed(1000);
|
|
288
285
|
timeline.notifySegments([ref1, ref2, ref3, ref4, ref5]);
|
|
289
286
|
|
|
@@ -396,12 +393,12 @@ describe('PresentationTimeline', () => {
|
|
|
396
393
|
expect(timeline.getSafeSeekRangeStart(25)).toBe(5);
|
|
397
394
|
});
|
|
398
395
|
|
|
399
|
-
// Regression test for https://github.com/
|
|
396
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/2831
|
|
400
397
|
it('will round up to the nearest ms', () => {
|
|
401
398
|
const timeline = makeVodTimeline(/* duration= */ 60);
|
|
402
399
|
// Seeking to this exact number may result in seeking to slightly less
|
|
403
400
|
// than that, due to rounding.
|
|
404
|
-
timeline.setUserSeekStart(1.
|
|
401
|
+
timeline.setUserSeekStart(1.458666666666666);
|
|
405
402
|
// So the safe range start should be slightly higher, with fewer digits.
|
|
406
403
|
expect(timeline.getSafeSeekRangeStart(0)).toBe(1.459);
|
|
407
404
|
});
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.media.RegionObserver');
|
|
8
|
-
goog.require('shaka.media.RegionTimeline');
|
|
9
|
-
goog.require('shaka.test.Util');
|
|
10
|
-
goog.requireType('shaka.media.IPlayheadObserver');
|
|
11
|
-
|
|
12
7
|
describe('RegionObserver', () => {
|
|
13
8
|
/** @type {!shaka.media.RegionTimeline} */
|
|
14
9
|
let timeline;
|
|
@@ -324,7 +319,7 @@ describe('RegionObserver', () => {
|
|
|
324
319
|
expect(onSkipRegion).not.toHaveBeenCalled();
|
|
325
320
|
});
|
|
326
321
|
|
|
327
|
-
// See https://github.com/
|
|
322
|
+
// See https://github.com/shaka-project/shaka-player/issues/3949
|
|
328
323
|
it('cleans up references to regions', async () => {
|
|
329
324
|
const region = createRegion('my-region', 0, 10);
|
|
330
325
|
timeline.addRegion(region);
|
|
@@ -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.media.MetaSegmentIndex');
|
|
9
|
-
goog.require('shaka.media.SegmentIndex');
|
|
10
|
-
goog.require('shaka.media.SegmentReference');
|
|
11
|
-
goog.require('shaka.test.Util');
|
|
12
|
-
|
|
13
7
|
describe('SegmentIndex', /** @suppress {accessControls} */ () => {
|
|
14
8
|
const actual1 = makeReference(uri(0), 0, 10);
|
|
15
9
|
const actual2 = makeReference(uri(20), 10, 20);
|
|
@@ -4,9 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.media.InitSegmentReference');
|
|
8
|
-
goog.require('shaka.media.SegmentReference');
|
|
9
|
-
|
|
10
7
|
describe('SegmentReference', () => {
|
|
11
8
|
it('returns in getters values from constructor parameters', () => {
|
|
12
9
|
const initSegmentReference = new shaka.media.InitSegmentReference(
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
goog.require('shaka.media.StallDetector');
|
|
9
|
-
goog.require('shaka.media.StallDetector.Implementation');
|
|
10
|
-
goog.require('shaka.test.Util');
|
|
11
|
-
|
|
12
7
|
describe('StallDetector', () => {
|
|
13
8
|
/**
|
|
14
9
|
* @implements {shaka.media.StallDetector.Implementation}
|
|
@@ -4,31 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.media.InitSegmentReference');
|
|
8
|
-
goog.require('shaka.media.MediaSourceEngine');
|
|
9
|
-
goog.require('shaka.media.MediaSourcePlayhead');
|
|
10
|
-
goog.require('shaka.media.SegmentIndex');
|
|
11
|
-
goog.require('shaka.media.SegmentReference');
|
|
12
|
-
goog.require('shaka.media.StreamingEngine');
|
|
13
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
14
|
-
goog.require('shaka.test.FakeClosedCaptionParser');
|
|
15
|
-
goog.require('shaka.test.FakeTextDisplayer');
|
|
16
|
-
goog.require('shaka.test.Mp4LiveStreamGenerator');
|
|
17
|
-
goog.require('shaka.test.Mp4VodStreamGenerator');
|
|
18
|
-
goog.require('shaka.test.StreamingEngineUtil');
|
|
19
|
-
goog.require('shaka.test.TestScheme');
|
|
20
|
-
goog.require('shaka.test.UiUtils');
|
|
21
|
-
goog.require('shaka.test.Util');
|
|
22
|
-
goog.require('shaka.test.Waiter');
|
|
23
|
-
goog.require('shaka.util.EventManager');
|
|
24
|
-
goog.require('shaka.util.ManifestParserUtils');
|
|
25
|
-
goog.require('shaka.util.Platform');
|
|
26
|
-
goog.require('shaka.util.PlayerConfiguration');
|
|
27
|
-
goog.requireType('shaka.media.Playhead');
|
|
28
|
-
goog.requireType('shaka.media.PresentationTimeline');
|
|
29
|
-
goog.requireType('shaka.test.FakeNetworkingEngine');
|
|
30
|
-
goog.requireType('shaka.test.FakePresentationTimeline');
|
|
31
|
-
|
|
32
7
|
describe('StreamingEngine', () => {
|
|
33
8
|
const ContentType = shaka.util.ManifestParserUtils.ContentType;
|
|
34
9
|
const Util = shaka.test.Util;
|
|
@@ -94,6 +69,7 @@ describe('StreamingEngine', () => {
|
|
|
94
69
|
video,
|
|
95
70
|
new shaka.test.FakeClosedCaptionParser(),
|
|
96
71
|
new shaka.test.FakeTextDisplayer());
|
|
72
|
+
waiter.setMediaSourceEngine(mediaSourceEngine);
|
|
97
73
|
});
|
|
98
74
|
|
|
99
75
|
afterEach(async () => {
|
|
@@ -286,7 +262,11 @@ describe('StreamingEngine', () => {
|
|
|
286
262
|
streamingEngine.switchVariant(variant);
|
|
287
263
|
await streamingEngine.start();
|
|
288
264
|
video.play();
|
|
289
|
-
|
|
265
|
+
// The overall test timeout is 120 seconds, and the content is 60
|
|
266
|
+
// seconds. It should be possible to complete this test in 100 seconds,
|
|
267
|
+
// and if not, we want the error thrown to be within the overall test's
|
|
268
|
+
// timeout window.
|
|
269
|
+
await waiter.timeoutAfter(100).waitForEnd(video);
|
|
290
270
|
});
|
|
291
271
|
|
|
292
272
|
it('plays at high playback rates', async () => {
|
|
@@ -307,14 +287,7 @@ describe('StreamingEngine', () => {
|
|
|
307
287
|
await waiter.timeoutAfter(10).waitForMovement(video);
|
|
308
288
|
video.playbackRate = 10;
|
|
309
289
|
|
|
310
|
-
|
|
311
|
-
// Edge, and Safari) where the playhead can go past duration.
|
|
312
|
-
// To cope with this, don't fail on timeout. If the video never got
|
|
313
|
-
// flagged as "ended", check for the playhead to be near or past the end.
|
|
314
|
-
await waiter.timeoutAfter(30).failOnTimeout(false).waitForEnd(video);
|
|
315
|
-
if (!video.ended) {
|
|
316
|
-
expect(video.currentTime).toBeGreaterThan(video.duration - 0.1);
|
|
317
|
-
}
|
|
290
|
+
await waiter.timeoutAfter(30).waitForEnd(video);
|
|
318
291
|
});
|
|
319
292
|
|
|
320
293
|
it('can handle buffered seeks', async () => {
|
|
@@ -324,9 +297,9 @@ describe('StreamingEngine', () => {
|
|
|
324
297
|
video.play();
|
|
325
298
|
|
|
326
299
|
// After 35 seconds seek back 10 seconds into the first Period.
|
|
327
|
-
await waiter.timeoutAfter(
|
|
300
|
+
await waiter.timeoutAfter(80).waitUntilPlayheadReaches(video, 35);
|
|
328
301
|
video.currentTime = 25;
|
|
329
|
-
await waiter.timeoutAfter(
|
|
302
|
+
await waiter.timeoutAfter(80).waitForEnd(video);
|
|
330
303
|
});
|
|
331
304
|
|
|
332
305
|
it('can handle unbuffered seeks', async () => {
|
|
@@ -4,30 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.log');
|
|
9
|
-
goog.require('shaka.media.InitSegmentReference');
|
|
10
|
-
goog.require('shaka.media.SegmentReference');
|
|
11
|
-
goog.require('shaka.media.StreamingEngine');
|
|
12
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
13
|
-
goog.require('shaka.net.NetworkingEngine.PendingRequest');
|
|
14
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
15
|
-
goog.require('shaka.test.FakeMediaSourceEngine');
|
|
16
|
-
goog.require('shaka.test.ManifestGenerator');
|
|
17
|
-
goog.require('shaka.test.StreamingEngineUtil');
|
|
18
|
-
goog.require('shaka.test.Util');
|
|
19
|
-
goog.require('shaka.util.AbortableOperation');
|
|
20
|
-
goog.require('shaka.util.Error');
|
|
21
|
-
goog.require('shaka.util.Iterables');
|
|
22
|
-
goog.require('shaka.util.ManifestParserUtils');
|
|
23
|
-
goog.require('shaka.util.MimeUtils');
|
|
24
|
-
goog.require('shaka.util.PlayerConfiguration');
|
|
25
|
-
goog.require('shaka.util.PublicPromise');
|
|
26
|
-
goog.require('shaka.util.Uint8ArrayUtils');
|
|
27
|
-
goog.requireType('shaka.media.PresentationTimeline');
|
|
28
|
-
goog.requireType('shaka.test.FakeNetworkingEngine');
|
|
29
|
-
goog.requireType('shaka.test.FakePresentationTimeline');
|
|
30
|
-
|
|
31
7
|
describe('StreamingEngine', () => {
|
|
32
8
|
const Util = shaka.test.Util;
|
|
33
9
|
const ContentType = shaka.util.ManifestParserUtils.ContentType;
|
|
@@ -284,7 +260,7 @@ describe('StreamingEngine', () => {
|
|
|
284
260
|
};
|
|
285
261
|
|
|
286
262
|
const segmentsInFirstPeriod = 12;
|
|
287
|
-
for (
|
|
263
|
+
for (let i = 0; i < segmentsInFirstPeriod; i++) {
|
|
288
264
|
segmentData[ContentType.AUDIO].segments.push(
|
|
289
265
|
makeBuffer(segmentSizes[ContentType.AUDIO]));
|
|
290
266
|
segmentData[ContentType.VIDEO].segments.push(
|
|
@@ -298,7 +274,7 @@ describe('StreamingEngine', () => {
|
|
|
298
274
|
}
|
|
299
275
|
|
|
300
276
|
const segmentsInSecondPeriod = 2;
|
|
301
|
-
for (
|
|
277
|
+
for (let i = 0; i < segmentsInSecondPeriod; i++) {
|
|
302
278
|
segmentData[ContentType.AUDIO].segments.push(
|
|
303
279
|
makeBuffer(segmentSizes[ContentType.AUDIO]));
|
|
304
280
|
segmentData[ContentType.VIDEO].segments.push(
|
|
@@ -649,7 +625,7 @@ describe('StreamingEngine', () => {
|
|
|
649
625
|
// should be buffered. Those segment numbers are 1-based, and this array
|
|
650
626
|
// is 0-based, so we expect i >= 9 to be downloaded.
|
|
651
627
|
const segments = mediaSourceEngine.segments;
|
|
652
|
-
for (
|
|
628
|
+
for (let i = 0; i < 14; i++) {
|
|
653
629
|
expect(segments[ContentType.AUDIO][i]).withContext(i).toBe(i >= 9);
|
|
654
630
|
expect(segments[ContentType.VIDEO][i]).withContext(i).toBe(i >= 9);
|
|
655
631
|
expect(segments[ContentType.TEXT][i]).withContext(i).toBe(i >= 9);
|
|
@@ -755,7 +731,7 @@ describe('StreamingEngine', () => {
|
|
|
755
731
|
expect(timeline.setDuration).toHaveBeenCalledWith(35);
|
|
756
732
|
});
|
|
757
733
|
|
|
758
|
-
// https://github.com/
|
|
734
|
+
// https://github.com/shaka-project/shaka-player/issues/979
|
|
759
735
|
it('does not expand the timeline duration', async () => {
|
|
760
736
|
setupVod();
|
|
761
737
|
mediaSourceEngine = new shaka.test.FakeMediaSourceEngine(segmentData);
|
|
@@ -781,7 +757,7 @@ describe('StreamingEngine', () => {
|
|
|
781
757
|
expect(timeline.setDuration).not.toHaveBeenCalled();
|
|
782
758
|
});
|
|
783
759
|
|
|
784
|
-
// https://github.com/
|
|
760
|
+
// https://github.com/shaka-project/shaka-player/issues/1967
|
|
785
761
|
it('does not change duration when 0', async () => {
|
|
786
762
|
setupVod();
|
|
787
763
|
mediaSourceEngine = new shaka.test.FakeMediaSourceEngine(segmentData);
|
|
@@ -826,7 +802,7 @@ describe('StreamingEngine', () => {
|
|
|
826
802
|
.toHaveBeenCalledWith('video', 0, lt20, gt40);
|
|
827
803
|
});
|
|
828
804
|
|
|
829
|
-
// Regression test for https://github.com/
|
|
805
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/3717
|
|
830
806
|
it('applies fudge factors for the duration', async () => {
|
|
831
807
|
setupVod();
|
|
832
808
|
|
|
@@ -929,7 +905,7 @@ describe('StreamingEngine', () => {
|
|
|
929
905
|
expect(mediaSourceEngine.appendBuffer).toHaveBeenCalled();
|
|
930
906
|
});
|
|
931
907
|
|
|
932
|
-
// https://github.com/
|
|
908
|
+
// https://github.com/shaka-project/shaka-player/issues/2957
|
|
933
909
|
it('plays with fewer text segments', async () => {
|
|
934
910
|
setupVod();
|
|
935
911
|
|
|
@@ -1091,7 +1067,7 @@ describe('StreamingEngine', () => {
|
|
|
1091
1067
|
expect(mediaSourceEngine.resetCaptionParser).not.toHaveBeenCalled();
|
|
1092
1068
|
});
|
|
1093
1069
|
|
|
1094
|
-
// See https://github.com/
|
|
1070
|
+
// See https://github.com/shaka-project/shaka-player/issues/2956
|
|
1095
1071
|
it('works with fast variant switches during update', async () => {
|
|
1096
1072
|
// Delay the appendBuffer call until later so we are waiting for this to
|
|
1097
1073
|
// finish when we switch.
|
|
@@ -1659,7 +1635,7 @@ describe('StreamingEngine', () => {
|
|
|
1659
1635
|
});
|
|
1660
1636
|
});
|
|
1661
1637
|
|
|
1662
|
-
// https://github.com/
|
|
1638
|
+
// https://github.com/shaka-project/shaka-player/issues/2670
|
|
1663
1639
|
it('rapid unbuffered seeks', async () => {
|
|
1664
1640
|
// This test simulates rapid dragging of the seek bar, as in #2670.
|
|
1665
1641
|
// In that issue, we would buffer the wrong segments due to a race
|
|
@@ -1798,7 +1774,7 @@ describe('StreamingEngine', () => {
|
|
|
1798
1774
|
|
|
1799
1775
|
// Since we performed an unbuffered seek into the second Period, the
|
|
1800
1776
|
// first 12 segments should not be buffered.
|
|
1801
|
-
for (
|
|
1777
|
+
for (let i = 0; i < 14; i++) {
|
|
1802
1778
|
expect(mediaSourceEngine.segments[ContentType.AUDIO][i]).toBe(i >= 12);
|
|
1803
1779
|
expect(mediaSourceEngine.segments[ContentType.VIDEO][i]).toBe(i >= 12);
|
|
1804
1780
|
expect(mediaSourceEngine.segments[ContentType.TEXT][i]).toBe(i >= 12);
|
|
@@ -2600,7 +2576,7 @@ describe('StreamingEngine', () => {
|
|
|
2600
2576
|
// should be buffered. Those segment numbers are 1-based, and this array
|
|
2601
2577
|
// is 0-based, so we expect i >= 9 to be downloaded.
|
|
2602
2578
|
const segments = mediaSourceEngine.segments;
|
|
2603
|
-
for (
|
|
2579
|
+
for (let i = 0; i < 14; i++) {
|
|
2604
2580
|
expect(segments[ContentType.AUDIO][i]).withContext(i).toBe(i >= 9);
|
|
2605
2581
|
expect(segments[ContentType.VIDEO][i]).withContext(i).toBe(i >= 9);
|
|
2606
2582
|
expect(segments[ContentType.TEXT][i]).withContext(i).toBe(i >= 9);
|
|
@@ -3,12 +3,6 @@
|
|
|
3
3
|
* Copyright 2016 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
goog.require('goog.asserts');
|
|
7
|
-
goog.require('shaka.media.Transmuxer');
|
|
8
|
-
goog.require('shaka.test.Util');
|
|
9
|
-
goog.require('shaka.util.ManifestParserUtils');
|
|
10
|
-
goog.require('shaka.util.Mp4BoxParsers');
|
|
11
|
-
goog.require('shaka.util.Mp4Parser');
|
|
12
6
|
|
|
13
7
|
describe('Transmuxer', () => {
|
|
14
8
|
const ContentType = shaka.util.ManifestParserUtils.ContentType;
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.media.WebmSegmentIndexParser');
|
|
8
|
-
goog.require('shaka.test.Util');
|
|
9
|
-
goog.require('shaka.util.Error');
|
|
10
|
-
|
|
11
7
|
describe('WebmSegmentIndexParser', () => {
|
|
12
8
|
const indexSegmentUri = '/base/test/test/assets/index-segment.webm';
|
|
13
9
|
const initSegmentUri = '/base/test/test/assets/init-segment.webm';
|
|
@@ -4,13 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.net.DataUriPlugin');
|
|
8
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
9
|
-
goog.require('shaka.net.NetworkingEngine.RequestType');
|
|
10
|
-
goog.require('shaka.test.Util');
|
|
11
|
-
goog.require('shaka.util.Error');
|
|
12
|
-
goog.require('shaka.util.StringUtils');
|
|
13
|
-
|
|
14
7
|
describe('DataUriPlugin', () => {
|
|
15
8
|
const retryParameters = shaka.net.NetworkingEngine.defaultRetryParameters();
|
|
16
9
|
|
|
@@ -4,15 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
goog.require('shaka.net.HttpFetchPlugin');
|
|
9
|
-
goog.require('shaka.net.HttpXHRPlugin');
|
|
10
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
11
|
-
goog.require('shaka.net.NetworkingEngine.RequestType');
|
|
12
|
-
goog.require('shaka.test.Util');
|
|
13
|
-
goog.require('shaka.util.BufferUtils');
|
|
14
|
-
goog.require('shaka.util.Error');
|
|
15
|
-
|
|
16
7
|
/**
|
|
17
8
|
* Add a set of http plugin tests, for the given scheme plugin.
|
|
18
9
|
*
|
|
@@ -4,17 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.net.Backoff');
|
|
8
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
9
|
-
goog.require('shaka.net.NetworkingEngine.RequestType');
|
|
10
|
-
goog.require('shaka.test.StatusPromise');
|
|
11
|
-
goog.require('shaka.test.Util');
|
|
12
|
-
goog.require('shaka.util.AbortableOperation');
|
|
13
|
-
goog.require('shaka.util.Error');
|
|
14
|
-
goog.require('shaka.util.Networking');
|
|
15
|
-
goog.require('shaka.util.PublicPromise');
|
|
16
|
-
goog.requireType('shaka.net.NetworkingEngine.PendingRequest');
|
|
17
|
-
|
|
18
7
|
describe('NetworkingEngine', /** @suppress {accessControls} */ () => {
|
|
19
8
|
const StatusPromise = shaka.test.StatusPromise;
|
|
20
9
|
const Util = shaka.test.Util;
|
|
@@ -4,12 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.offline.indexeddb.V5StorageCell');
|
|
8
|
-
goog.require('shaka.test.IndexedDBUtils');
|
|
9
|
-
goog.require('shaka.test.OfflineUtils');
|
|
10
|
-
goog.require('shaka.test.Util');
|
|
11
|
-
goog.require('shaka.util.Error');
|
|
12
|
-
|
|
13
7
|
filterDescribe('IndexeddbStorageCell', () => window.indexedDB, () => {
|
|
14
8
|
const IndexedDBUtils = shaka.test.IndexedDBUtils;
|
|
15
9
|
const OfflineUtils = shaka.test.OfflineUtils;
|
|
@@ -4,14 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.media.InitSegmentReference');
|
|
8
|
-
goog.require('shaka.media.PresentationTimeline');
|
|
9
|
-
goog.require('shaka.media.SegmentIndex');
|
|
10
|
-
goog.require('shaka.offline.ManifestConverter');
|
|
11
|
-
goog.require('shaka.offline.OfflineUri');
|
|
12
|
-
goog.require('shaka.util.ManifestParserUtils');
|
|
13
|
-
goog.requireType('shaka.media.SegmentReference');
|
|
14
|
-
|
|
15
7
|
describe('ManifestConverter', () => {
|
|
16
8
|
describe('createVariants', () => {
|
|
17
9
|
const audioType = 'audio';
|
|
@@ -4,16 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.Player');
|
|
9
|
-
goog.require('shaka.offline.Storage');
|
|
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.util.EventManager');
|
|
15
|
-
goog.require('shaka.util.Platform');
|
|
16
|
-
|
|
17
7
|
/** @return {boolean} */
|
|
18
8
|
const supportsStorage = () => shaka.offline.Storage.support();
|
|
19
9
|
|
|
@@ -45,6 +35,7 @@ filterDescribe('Offline', supportsStorage, () => {
|
|
|
45
35
|
|
|
46
36
|
eventManager = new shaka.util.EventManager();
|
|
47
37
|
waiter = new shaka.test.Waiter(eventManager);
|
|
38
|
+
waiter.setPlayer(player);
|
|
48
39
|
|
|
49
40
|
// Make sure we are starting with a blank slate.
|
|
50
41
|
await shaka.offline.Storage.deleteAll();
|
|
@@ -4,12 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.offline.OfflineManifestParser');
|
|
8
|
-
goog.require('shaka.offline.OfflineUri');
|
|
9
|
-
goog.require('shaka.offline.StorageMuxer');
|
|
10
|
-
goog.require('shaka.test.Util');
|
|
11
|
-
goog.require('shaka.util.Error');
|
|
12
|
-
|
|
13
7
|
/** @return {boolean} */
|
|
14
8
|
const offlineManifestParserSupport = () => shaka.offline.StorageMuxer.support();
|
|
15
9
|
filterDescribe('OfflineManifestParser', offlineManifestParserSupport, () => {
|
|
@@ -4,14 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
8
|
-
goog.require('shaka.net.NetworkingEngine.RequestType');
|
|
9
|
-
goog.require('shaka.offline.OfflineScheme');
|
|
10
|
-
goog.require('shaka.offline.OfflineUri');
|
|
11
|
-
goog.require('shaka.offline.StorageMuxer');
|
|
12
|
-
goog.require('shaka.test.Util');
|
|
13
|
-
goog.require('shaka.util.Error');
|
|
14
|
-
|
|
15
7
|
/** @return {boolean} */
|
|
16
8
|
const offlineSchemeSupport = () => shaka.offline.StorageMuxer.support();
|
|
17
9
|
filterDescribe('OfflineScheme', offlineSchemeSupport, () => {
|