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
|
@@ -4,26 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.log');
|
|
8
|
-
goog.require('shaka.media.DrmEngine');
|
|
9
|
-
goog.require('shaka.media.Transmuxer');
|
|
10
|
-
goog.require('shaka.net.DataUriPlugin');
|
|
11
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
12
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
13
|
-
goog.require('shaka.test.FakeVideo');
|
|
14
|
-
goog.require('shaka.test.ManifestGenerator');
|
|
15
|
-
goog.require('shaka.test.Util');
|
|
16
|
-
goog.require('shaka.util.AbortableOperation');
|
|
17
|
-
goog.require('shaka.util.BufferUtils');
|
|
18
|
-
goog.require('shaka.util.Error');
|
|
19
|
-
goog.require('shaka.util.Platform');
|
|
20
|
-
goog.require('shaka.util.PlayerConfiguration');
|
|
21
|
-
goog.require('shaka.util.Platform');
|
|
22
|
-
goog.require('shaka.util.PublicPromise');
|
|
23
|
-
goog.require('shaka.util.StringUtils');
|
|
24
|
-
goog.require('shaka.util.Uint8ArrayUtils');
|
|
25
|
-
|
|
26
|
-
|
|
27
7
|
describe('DrmEngine', () => {
|
|
28
8
|
const Util = shaka.test.Util;
|
|
29
9
|
|
|
@@ -925,7 +905,7 @@ describe('DrmEngine', () => {
|
|
|
925
905
|
.toHaveBeenCalledWith('cenc', initData1);
|
|
926
906
|
});
|
|
927
907
|
|
|
928
|
-
// https://github.com/
|
|
908
|
+
// https://github.com/shaka-project/shaka-player/issues/2754
|
|
929
909
|
it('ignores duplicate init data from newInitData', async () => {
|
|
930
910
|
/** @type {!Uint8Array} */
|
|
931
911
|
const initData = new Uint8Array(1);
|
|
@@ -1311,7 +1291,7 @@ describe('DrmEngine', () => {
|
|
|
1311
1291
|
expect(onKeyStatusSpy).toHaveBeenCalled();
|
|
1312
1292
|
});
|
|
1313
1293
|
|
|
1314
|
-
// See https://github.com/
|
|
1294
|
+
// See https://github.com/shaka-project/shaka-player/issues/1541
|
|
1315
1295
|
it('does not update public key statuses before callback', async () => {
|
|
1316
1296
|
await initAndAttach();
|
|
1317
1297
|
|
|
@@ -1349,7 +1329,7 @@ describe('DrmEngine', () => {
|
|
|
1349
1329
|
expect(keyIds.length).toBe(2);
|
|
1350
1330
|
});
|
|
1351
1331
|
|
|
1352
|
-
// See https://github.com/
|
|
1332
|
+
// See https://github.com/shaka-project/shaka-player/issues/1541
|
|
1353
1333
|
it('does not invoke callback until all sessions are loaded', async () => {
|
|
1354
1334
|
// Set up init data overrides in the manifest so that we get multiple
|
|
1355
1335
|
// sessions.
|
|
@@ -1962,7 +1942,7 @@ describe('DrmEngine', () => {
|
|
|
1962
1942
|
// this doesn't work if the session is not callable (no license request
|
|
1963
1943
|
// sent). So |session.closed| should never resolve and |session.close()|
|
|
1964
1944
|
// should be rejected and destroy() should still succeed.
|
|
1965
|
-
// https://github.com/
|
|
1945
|
+
// https://github.com/shaka-project/shaka-player/issues/664
|
|
1966
1946
|
await initAndAttach();
|
|
1967
1947
|
session1.closed = new shaka.util.PublicPromise();
|
|
1968
1948
|
session2.closed = new shaka.util.PublicPromise();
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.media.ManifestParser');
|
|
8
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
9
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
10
|
-
|
|
11
7
|
const testGetMimeType = async (expertedMimeType, contentType) => {
|
|
12
8
|
const netEngine = new shaka.test.FakeNetworkingEngine()
|
|
13
9
|
.setHeaders('dummy://foo', {'content-type': contentType});
|
|
@@ -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;
|
|
@@ -93,6 +68,7 @@ describe('StreamingEngine', () => {
|
|
|
93
68
|
video,
|
|
94
69
|
new shaka.test.FakeClosedCaptionParser(),
|
|
95
70
|
new shaka.test.FakeTextDisplayer());
|
|
71
|
+
waiter.setMediaSourceEngine(mediaSourceEngine);
|
|
96
72
|
});
|
|
97
73
|
|
|
98
74
|
afterEach(async () => {
|
|
@@ -287,7 +263,11 @@ describe('StreamingEngine', () => {
|
|
|
287
263
|
streamingEngine.switchVariant(variant);
|
|
288
264
|
await streamingEngine.start();
|
|
289
265
|
video.play();
|
|
290
|
-
|
|
266
|
+
// The overall test timeout is 120 seconds, and the content is 60
|
|
267
|
+
// seconds. It should be possible to complete this test in 100 seconds,
|
|
268
|
+
// and if not, we want the error thrown to be within the overall test's
|
|
269
|
+
// timeout window.
|
|
270
|
+
await waiter.timeoutAfter(100).waitForEnd(video);
|
|
291
271
|
});
|
|
292
272
|
|
|
293
273
|
it('plays at high playback rates', async () => {
|
|
@@ -308,14 +288,7 @@ describe('StreamingEngine', () => {
|
|
|
308
288
|
await waiter.timeoutAfter(10).waitForMovement(video);
|
|
309
289
|
video.playbackRate = 10;
|
|
310
290
|
|
|
311
|
-
|
|
312
|
-
// Edge, and Safari) where the playhead can go past duration.
|
|
313
|
-
// To cope with this, don't fail on timeout. If the video never got
|
|
314
|
-
// flagged as "ended", check for the playhead to be near or past the end.
|
|
315
|
-
await waiter.timeoutAfter(30).failOnTimeout(false).waitForEnd(video);
|
|
316
|
-
if (!video.ended) {
|
|
317
|
-
expect(video.currentTime).toBeGreaterThan(video.duration - 0.1);
|
|
318
|
-
}
|
|
291
|
+
await waiter.timeoutAfter(30).waitForEnd(video);
|
|
319
292
|
});
|
|
320
293
|
|
|
321
294
|
it('can handle buffered seeks', async () => {
|
|
@@ -325,9 +298,9 @@ describe('StreamingEngine', () => {
|
|
|
325
298
|
video.play();
|
|
326
299
|
|
|
327
300
|
// After 35 seconds seek back 10 seconds into the first Period.
|
|
328
|
-
await waiter.timeoutAfter(
|
|
301
|
+
await waiter.timeoutAfter(80).waitUntilPlayheadReaches(video, 35);
|
|
329
302
|
video.currentTime = 25;
|
|
330
|
-
await waiter.timeoutAfter(
|
|
303
|
+
await waiter.timeoutAfter(80).waitForEnd(video);
|
|
331
304
|
});
|
|
332
305
|
|
|
333
306
|
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(
|
|
@@ -651,7 +627,7 @@ describe('StreamingEngine', () => {
|
|
|
651
627
|
// should be buffered. Those segment numbers are 1-based, and this array
|
|
652
628
|
// is 0-based, so we expect i >= 9 to be downloaded.
|
|
653
629
|
const segments = mediaSourceEngine.segments;
|
|
654
|
-
for (
|
|
630
|
+
for (let i = 0; i < 14; i++) {
|
|
655
631
|
expect(segments[ContentType.AUDIO][i]).withContext(i).toBe(i >= 9);
|
|
656
632
|
expect(segments[ContentType.VIDEO][i]).withContext(i).toBe(i >= 9);
|
|
657
633
|
expect(segments[ContentType.TEXT][i]).withContext(i).toBe(i >= 9);
|
|
@@ -757,7 +733,7 @@ describe('StreamingEngine', () => {
|
|
|
757
733
|
expect(timeline.setDuration).toHaveBeenCalledWith(35);
|
|
758
734
|
});
|
|
759
735
|
|
|
760
|
-
// https://github.com/
|
|
736
|
+
// https://github.com/shaka-project/shaka-player/issues/979
|
|
761
737
|
it('does not expand the timeline duration', async () => {
|
|
762
738
|
setupVod();
|
|
763
739
|
mediaSourceEngine = new shaka.test.FakeMediaSourceEngine(segmentData);
|
|
@@ -783,7 +759,7 @@ describe('StreamingEngine', () => {
|
|
|
783
759
|
expect(timeline.setDuration).not.toHaveBeenCalled();
|
|
784
760
|
});
|
|
785
761
|
|
|
786
|
-
// https://github.com/
|
|
762
|
+
// https://github.com/shaka-project/shaka-player/issues/1967
|
|
787
763
|
it('does not change duration when 0', async () => {
|
|
788
764
|
setupVod();
|
|
789
765
|
mediaSourceEngine = new shaka.test.FakeMediaSourceEngine(segmentData);
|
|
@@ -828,7 +804,7 @@ describe('StreamingEngine', () => {
|
|
|
828
804
|
.toHaveBeenCalledWith('video', 0, lt20, gt40);
|
|
829
805
|
});
|
|
830
806
|
|
|
831
|
-
// Regression test for https://github.com/
|
|
807
|
+
// Regression test for https://github.com/shaka-project/shaka-player/issues/3717
|
|
832
808
|
it('applies fudge factors for the duration', async () => {
|
|
833
809
|
setupVod();
|
|
834
810
|
|
|
@@ -931,7 +907,7 @@ describe('StreamingEngine', () => {
|
|
|
931
907
|
expect(mediaSourceEngine.appendBuffer).toHaveBeenCalled();
|
|
932
908
|
});
|
|
933
909
|
|
|
934
|
-
// https://github.com/
|
|
910
|
+
// https://github.com/shaka-project/shaka-player/issues/2957
|
|
935
911
|
it('plays with fewer text segments', async () => {
|
|
936
912
|
setupVod();
|
|
937
913
|
|
|
@@ -1093,7 +1069,7 @@ describe('StreamingEngine', () => {
|
|
|
1093
1069
|
expect(mediaSourceEngine.resetCaptionParser).not.toHaveBeenCalled();
|
|
1094
1070
|
});
|
|
1095
1071
|
|
|
1096
|
-
// See https://github.com/
|
|
1072
|
+
// See https://github.com/shaka-project/shaka-player/issues/2956
|
|
1097
1073
|
it('works with fast variant switches during update', async () => {
|
|
1098
1074
|
// Delay the appendBuffer call until later so we are waiting for this to
|
|
1099
1075
|
// finish when we switch.
|
|
@@ -1661,7 +1637,7 @@ describe('StreamingEngine', () => {
|
|
|
1661
1637
|
});
|
|
1662
1638
|
});
|
|
1663
1639
|
|
|
1664
|
-
// https://github.com/
|
|
1640
|
+
// https://github.com/shaka-project/shaka-player/issues/2670
|
|
1665
1641
|
it('rapid unbuffered seeks', async () => {
|
|
1666
1642
|
// This test simulates rapid dragging of the seek bar, as in #2670.
|
|
1667
1643
|
// In that issue, we would buffer the wrong segments due to a race
|
|
@@ -1800,7 +1776,7 @@ describe('StreamingEngine', () => {
|
|
|
1800
1776
|
|
|
1801
1777
|
// Since we performed an unbuffered seek into the second Period, the
|
|
1802
1778
|
// first 12 segments should not be buffered.
|
|
1803
|
-
for (
|
|
1779
|
+
for (let i = 0; i < 14; i++) {
|
|
1804
1780
|
expect(mediaSourceEngine.segments[ContentType.AUDIO][i]).toBe(i >= 12);
|
|
1805
1781
|
expect(mediaSourceEngine.segments[ContentType.VIDEO][i]).toBe(i >= 12);
|
|
1806
1782
|
expect(mediaSourceEngine.segments[ContentType.TEXT][i]).toBe(i >= 12);
|
|
@@ -2602,7 +2578,7 @@ describe('StreamingEngine', () => {
|
|
|
2602
2578
|
// should be buffered. Those segment numbers are 1-based, and this array
|
|
2603
2579
|
// is 0-based, so we expect i >= 9 to be downloaded.
|
|
2604
2580
|
const segments = mediaSourceEngine.segments;
|
|
2605
|
-
for (
|
|
2581
|
+
for (let i = 0; i < 14; i++) {
|
|
2606
2582
|
expect(segments[ContentType.AUDIO][i]).withContext(i).toBe(i >= 9);
|
|
2607
2583
|
expect(segments[ContentType.VIDEO][i]).withContext(i).toBe(i >= 9);
|
|
2608
2584
|
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;
|