shaka-player 3.2.2 → 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 +1598 -1525
- 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 +93 -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 +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 +247 -227
- package/dist/shaka-player.compiled.debug.d.ts +247 -227
- package/dist/shaka-player.compiled.debug.externs.js +43 -16
- package/dist/shaka-player.compiled.debug.js +384 -388
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +43 -16
- package/dist/shaka-player.compiled.js +818 -817
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +291 -280
- package/dist/shaka-player.ui.debug.d.ts +291 -280
- package/dist/shaka-player.ui.debug.externs.js +45 -27
- package/dist/shaka-player.ui.debug.js +389 -394
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +45 -27
- package/dist/shaka-player.ui.js +964 -965
- 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/externs/shaka/player.js +8 -0
- package/externs/shaka/text.js +10 -0
- package/karma.conf.js +156 -45
- package/lib/abr/simple_abr_manager.js +12 -6
- package/lib/ads/ad_manager.js +1 -0
- package/lib/cast/cast_proxy.js +6 -4
- package/lib/cast/cast_receiver.js +3 -0
- 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 +43 -31
- 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 +41 -9
- package/lib/hls/manifest_text_parser.js +4 -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/region_observer.js +39 -33
- package/lib/media/region_timeline.js +17 -19
- package/lib/media/segment_index.js +2 -1
- package/lib/media/segment_reference.js +19 -1
- package/lib/media/streaming_engine.js +12 -9
- package/lib/media/time_ranges_utils.js +1 -3
- package/lib/media/video_wrapper.js +1 -1
- package/lib/net/networking_engine.js +5 -1
- package/lib/offline/storage.js +12 -13
- package/lib/player.js +77 -36
- package/lib/polyfill/all.js +2 -3
- package/lib/polyfill/encryption_scheme.js +1 -1
- package/lib/polyfill/media_capabilities.js +32 -17
- package/lib/polyfill/mediasource.js +1 -1
- package/lib/text/cue.js +7 -1
- package/lib/text/simple_text_displayer.js +2 -1
- package/lib/text/ttml_text_parser.js +92 -63
- package/lib/text/ui_text_displayer.js +18 -12
- 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/fake_event_target.js +21 -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 +88 -11
- package/lib/util/string_utils.js +3 -5
- package/lib/util/uint8array_utils.js +3 -5
- package/lib/util/xml_utils.js +34 -7
- package/package.json +62 -40
- 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 +45 -15
- package/test/dash/dash_parser_manifest_unit.js +37 -18
- 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 +76 -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 +7 -27
- 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 +40 -10
- package/test/media/region_timeline_unit.js +40 -25
- 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 +11 -37
- package/test/media/streaming_engine_unit.js +155 -34
- 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 +62 -36
- 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 +41 -15
- package/test/player_unit.js +71 -46
- package/test/routing/walker_unit.js +0 -8
- package/test/test/assets/chapters.vtt +2 -2
- package/test/test/assets/chapters2.vtt +10 -0
- 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 +79 -0
- package/test/test/util/ui_utils.js +0 -9
- package/test/test/util/util.js +15 -26
- 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 +10 -23
- 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 +495 -237
- 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 +9 -19
- 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 +39 -38
- 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/controls.js +3 -0
- package/ui/less/ad_controls.less +4 -4
- package/ui/less/buttons.less +5 -9
- 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/ui/localization.js +12 -36
- package/ui/text_selection.js +1 -0
- package/externs/media_capabilities.js +0 -16
- package/externs/svgelement.js +0 -18
|
@@ -4,22 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.Player');
|
|
8
|
-
goog.require('shaka.cast.CastReceiver');
|
|
9
|
-
goog.require('shaka.cast.CastUtils');
|
|
10
|
-
goog.require('shaka.log');
|
|
11
|
-
goog.require('shaka.media.DrmEngine');
|
|
12
|
-
goog.require('shaka.media.ManifestParser');
|
|
13
|
-
goog.require('shaka.media.StreamingEngine');
|
|
14
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
15
|
-
goog.require('shaka.test.TestScheme');
|
|
16
|
-
goog.require('shaka.test.UiUtils');
|
|
17
|
-
goog.require('shaka.util.EventManager');
|
|
18
|
-
goog.require('shaka.util.Functional');
|
|
19
|
-
goog.require('shaka.util.Iterables');
|
|
20
|
-
goog.require('shaka.util.Platform');
|
|
21
|
-
goog.require('shaka.util.PublicPromise');
|
|
22
|
-
|
|
23
7
|
// The receiver is only meant to run on the Chromecast, so we have the
|
|
24
8
|
// ability to use modern APIs there that may not be available on all of the
|
|
25
9
|
// browsers our library supports. Because of this, CastReceiver tests will
|
|
@@ -198,8 +182,7 @@ filterDescribe('CastReceiver', castReceiverIntegrationSupport, () => {
|
|
|
198
182
|
// the average length is expected to be lower than the length of the first
|
|
199
183
|
// update message.
|
|
200
184
|
let totalLength = 0;
|
|
201
|
-
for (
|
|
202
|
-
shaka.util.Functional.ignored(_);
|
|
185
|
+
for (let i = 0; i < 50; i++) {
|
|
203
186
|
// eslint-disable-next-line no-await-in-loop
|
|
204
187
|
const message = await waitForUpdateMessage();
|
|
205
188
|
totalLength += message.length;
|
|
@@ -4,14 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.cast.CastReceiver');
|
|
8
|
-
goog.require('shaka.cast.CastUtils');
|
|
9
|
-
goog.require('shaka.test.FakeVideo');
|
|
10
|
-
goog.require('shaka.test.Util');
|
|
11
|
-
goog.require('shaka.util.Error');
|
|
12
|
-
goog.require('shaka.util.Platform');
|
|
13
|
-
goog.require('shaka.util.PublicPromise');
|
|
14
|
-
|
|
15
7
|
// The receiver is only meant to run on the Chromecast, so we have the
|
|
16
8
|
// ability to use modern APIs there that may not be available on all of the
|
|
17
9
|
// browsers our library supports. Because of this, CastReceiver tests will
|
|
@@ -756,7 +748,7 @@ filterDescribe('CastReceiver', castReceiverSupport, () => {
|
|
|
756
748
|
expect(mockGenericMessageBus.broadcast).toHaveBeenCalledTimes(1);
|
|
757
749
|
|
|
758
750
|
// This covers the lack of scrubber in the Google Home app, as described
|
|
759
|
-
// in https://github.com/
|
|
751
|
+
// in https://github.com/shaka-project/shaka-player/issues/2606
|
|
760
752
|
expectMediaInfo('URI A', 1);
|
|
761
753
|
});
|
|
762
754
|
|
|
@@ -4,12 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.cast.CastSender');
|
|
8
|
-
goog.require('shaka.cast.CastUtils');
|
|
9
|
-
goog.require('shaka.test.StatusPromise');
|
|
10
|
-
goog.require('shaka.test.Util');
|
|
11
|
-
goog.require('shaka.util.Error');
|
|
12
|
-
|
|
13
7
|
describe('CastSender', () => {
|
|
14
8
|
const CastSender = shaka.cast.CastSender;
|
|
15
9
|
const CastUtils = shaka.cast.CastUtils;
|
|
@@ -4,19 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.Player');
|
|
8
|
-
goog.require('shaka.cast.CastUtils');
|
|
9
|
-
goog.require('shaka.media.MediaSourceEngine');
|
|
10
|
-
goog.require('shaka.media.TimeRangesUtils');
|
|
11
|
-
goog.require('shaka.test.FakeClosedCaptionParser');
|
|
12
|
-
goog.require('shaka.test.FakeTextDisplayer');
|
|
13
|
-
goog.require('shaka.test.UiUtils');
|
|
14
|
-
goog.require('shaka.test.Util');
|
|
15
|
-
goog.require('shaka.util.EventManager');
|
|
16
|
-
goog.require('shaka.util.FakeEvent');
|
|
17
|
-
goog.require('shaka.util.FakeEventTarget');
|
|
18
|
-
goog.require('shaka.util.ManifestParserUtils');
|
|
19
|
-
|
|
20
7
|
describe('CastUtils', () => {
|
|
21
8
|
const CastUtils = shaka.cast.CastUtils;
|
|
22
9
|
const FakeEvent = shaka.util.FakeEvent;
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.cea.Cea608Memory');
|
|
8
|
-
goog.require('shaka.cea.CeaUtils');
|
|
9
|
-
goog.require('shaka.test.CeaUtils');
|
|
10
|
-
goog.require('shaka.text.Cue');
|
|
11
|
-
|
|
12
7
|
describe('Cea608Memory', () => {
|
|
13
8
|
const CeaUtils = shaka.test.CeaUtils;
|
|
14
9
|
|
|
@@ -4,13 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.cea.Cea708Service');
|
|
8
|
-
goog.require('shaka.cea.CeaUtils');
|
|
9
|
-
goog.require('shaka.cea.DtvccPacket');
|
|
10
|
-
goog.require('shaka.cea.DtvccPacketBuilder');
|
|
11
|
-
goog.require('shaka.test.CeaUtils');
|
|
12
|
-
goog.require('shaka.text.Cue');
|
|
13
|
-
|
|
14
7
|
describe('Cea708Service', () => {
|
|
15
8
|
const CeaUtils = shaka.test.CeaUtils;
|
|
16
9
|
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.cea.Cea708Window');
|
|
8
|
-
goog.require('shaka.cea.CeaUtils');
|
|
9
|
-
goog.require('shaka.test.CeaUtils');
|
|
10
|
-
goog.require('shaka.text.Cue');
|
|
11
|
-
|
|
12
7
|
describe('Cea708Window', () => {
|
|
13
8
|
const CeaUtils = shaka.test.CeaUtils;
|
|
14
9
|
|
|
@@ -4,12 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.cea.CeaDecoder');
|
|
8
|
-
goog.require('shaka.cea.CeaUtils');
|
|
9
|
-
goog.require('shaka.log');
|
|
10
|
-
goog.require('shaka.test.CeaUtils');
|
|
11
|
-
goog.require('shaka.text.Cue');
|
|
12
|
-
|
|
13
7
|
describe('CeaDecoder', () => {
|
|
14
8
|
const CeaUtils = shaka.test.CeaUtils;
|
|
15
9
|
|
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.cea.DtvccPacket');
|
|
8
|
-
goog.require('shaka.cea.DtvccPacketBuilder');
|
|
9
|
-
goog.require('shaka.test.Util');
|
|
10
|
-
goog.require('shaka.util.Error');
|
|
11
|
-
|
|
12
7
|
describe('DtvccPacket', () => {
|
|
13
8
|
/** @type {!shaka.cea.DtvccPacket} */
|
|
14
9
|
let dtvccPacket;
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.cea.Mp4CeaParser');
|
|
8
|
-
goog.require('shaka.test.Util');
|
|
9
|
-
goog.require('shaka.util.Error');
|
|
10
|
-
|
|
11
7
|
describe('Mp4CeaParser', () => {
|
|
12
8
|
const ceaInitSegmentUri = '/base/test/test/assets/cea-init.mp4';
|
|
13
9
|
const ceaSegmentUri = '/base/test/test/assets/cea-segment.mp4';
|
|
@@ -4,15 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.dash.ContentProtection');
|
|
8
|
-
goog.require('shaka.dash.DashParser');
|
|
9
|
-
goog.require('shaka.test.Dash');
|
|
10
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
11
|
-
goog.require('shaka.util.Error');
|
|
12
|
-
goog.require('shaka.util.Iterables');
|
|
13
|
-
goog.require('shaka.util.PlayerConfiguration');
|
|
14
|
-
goog.require('shaka.util.Uint8ArrayUtils');
|
|
15
|
-
|
|
16
7
|
// Test DRM-related parsing.
|
|
17
8
|
describe('DashParser ContentProtection', () => {
|
|
18
9
|
const Dash = shaka.test.Dash;
|
|
@@ -140,7 +131,7 @@ describe('DashParser ContentProtection', () => {
|
|
|
140
131
|
|
|
141
132
|
const variants = [];
|
|
142
133
|
const numVariants = 2;
|
|
143
|
-
for (
|
|
134
|
+
for (let i = 0; i < numVariants; i++) {
|
|
144
135
|
const variant = jasmine.objectContaining({
|
|
145
136
|
video: jasmine.objectContaining({
|
|
146
137
|
keyIds: new Set(keyIds[i] ? [keyIds[i]] : []),
|
|
@@ -4,19 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.dash.DashParser');
|
|
9
|
-
goog.require('shaka.media.SegmentReference');
|
|
10
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
11
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
12
|
-
goog.require('shaka.test.ManifestParser');
|
|
13
|
-
goog.require('shaka.test.Util');
|
|
14
|
-
goog.require('shaka.util.AbortableOperation');
|
|
15
|
-
goog.require('shaka.util.Error');
|
|
16
|
-
goog.require('shaka.util.PlayerConfiguration');
|
|
17
|
-
goog.require('shaka.util.StringUtils');
|
|
18
|
-
goog.requireType('shaka.util.PublicPromise');
|
|
19
|
-
|
|
20
7
|
describe('DashParser Live', () => {
|
|
21
8
|
const Util = shaka.test.Util;
|
|
22
9
|
const ManifestParser = shaka.test.ManifestParser;
|
|
@@ -1128,8 +1115,8 @@ describe('DashParser Live', () => {
|
|
|
1128
1115
|
const liveEdge =
|
|
1129
1116
|
manifest.presentationTimeline.getSegmentAvailabilityEnd();
|
|
1130
1117
|
|
|
1131
|
-
// In https://github.com/
|
|
1132
|
-
// final segment failed an assertion and returned endTime == 0.
|
|
1118
|
+
// In https://github.com/shaka-project/shaka-player/issues/1204, a get on
|
|
1119
|
+
// the final segment failed an assertion and returned endTime == 0.
|
|
1133
1120
|
// Find the last segment by looking just before the live edge. Looking
|
|
1134
1121
|
// right on the live edge creates test flake, and the segments are 2
|
|
1135
1122
|
// seconds in duration.
|
|
@@ -1289,6 +1276,49 @@ describe('DashParser Live', () => {
|
|
|
1289
1276
|
.toHaveBeenCalledWith(
|
|
1290
1277
|
jasmine.objectContaining({id: '2', startTime: 10, endTime: 25}));
|
|
1291
1278
|
});
|
|
1279
|
+
|
|
1280
|
+
it('will not add timeline regions outside the DVR window', async () => {
|
|
1281
|
+
const manifest = [
|
|
1282
|
+
'<MPD type="dynamic" minimumUpdatePeriod="PT' + updateTime + 'S"',
|
|
1283
|
+
' availabilityStartTime="1970-01-01T00:00:00Z"',
|
|
1284
|
+
' suggestedPresentationDelay="PT0S"',
|
|
1285
|
+
' timeShiftBufferDepth="PT30S">',
|
|
1286
|
+
' <Period id="1">',
|
|
1287
|
+
' <EventStream schemeIdUri="http://example.com" timescale="1">',
|
|
1288
|
+
' <Event id="0" presentationTime="0" duration="10"/>',
|
|
1289
|
+
' <Event id="1" presentationTime="10" duration="10"/>',
|
|
1290
|
+
' <Event id="2" presentationTime="20" duration="10"/>',
|
|
1291
|
+
' <Event id="3" presentationTime="30" duration="10"/>',
|
|
1292
|
+
' <Event id="4" presentationTime="40" duration="10"/>',
|
|
1293
|
+
' </EventStream>',
|
|
1294
|
+
' <AdaptationSet mimeType="video/mp4">',
|
|
1295
|
+
' <Representation bandwidth="1">',
|
|
1296
|
+
' <SegmentTemplate startNumber="1" media="s$Number$.mp4"',
|
|
1297
|
+
' duration="2" />',
|
|
1298
|
+
' </Representation>',
|
|
1299
|
+
' </AdaptationSet>',
|
|
1300
|
+
' </Period>',
|
|
1301
|
+
'</MPD>',
|
|
1302
|
+
].join('\n');
|
|
1303
|
+
|
|
1304
|
+
// 45 seconds after the epoch, which is also 45 seconds after the
|
|
1305
|
+
// presentation started. Only the last 30 seconds are available, from
|
|
1306
|
+
// time 15 to 45.
|
|
1307
|
+
Date.now = () => 45 * 1000;
|
|
1308
|
+
|
|
1309
|
+
fakeNetEngine.setResponseText('dummy://foo', manifest);
|
|
1310
|
+
await parser.start('dummy://foo', playerInterface);
|
|
1311
|
+
|
|
1312
|
+
expect(onTimelineRegionAddedSpy).toHaveBeenCalledTimes(4);
|
|
1313
|
+
expect(onTimelineRegionAddedSpy).toHaveBeenCalledWith(
|
|
1314
|
+
jasmine.objectContaining({id: '1'}));
|
|
1315
|
+
expect(onTimelineRegionAddedSpy).toHaveBeenCalledWith(
|
|
1316
|
+
jasmine.objectContaining({id: '2'}));
|
|
1317
|
+
expect(onTimelineRegionAddedSpy).toHaveBeenCalledWith(
|
|
1318
|
+
jasmine.objectContaining({id: '3'}));
|
|
1319
|
+
expect(onTimelineRegionAddedSpy).toHaveBeenCalledWith(
|
|
1320
|
+
jasmine.objectContaining({id: '4'}));
|
|
1321
|
+
});
|
|
1292
1322
|
});
|
|
1293
1323
|
|
|
1294
1324
|
it('honors clockSyncUri for in-progress recordings', async () => {
|
|
@@ -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.SegmentReference');
|
|
9
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
10
|
-
goog.require('shaka.test.Dash');
|
|
11
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
12
|
-
goog.require('shaka.test.ManifestGenerator');
|
|
13
|
-
goog.require('shaka.test.Util');
|
|
14
|
-
goog.require('shaka.util.AbortableOperation');
|
|
15
|
-
goog.require('shaka.util.Error');
|
|
16
|
-
goog.require('shaka.util.LanguageUtils');
|
|
17
|
-
goog.require('shaka.util.ManifestParserUtils');
|
|
18
|
-
goog.require('shaka.util.PlayerConfiguration');
|
|
19
|
-
goog.require('shaka.util.StringUtils');
|
|
20
|
-
goog.requireType('shaka.dash.DashParser');
|
|
21
|
-
|
|
22
7
|
// Test basic manifest parsing functionality.
|
|
23
8
|
describe('DashParser Manifest', () => {
|
|
24
9
|
const ContentType = shaka.util.ManifestParserUtils.ContentType;
|
|
@@ -983,7 +968,8 @@ describe('DashParser Manifest', () => {
|
|
|
983
968
|
|
|
984
969
|
it('duplicate Representation ids with live', async () => {
|
|
985
970
|
const source = [
|
|
986
|
-
'<MPD minBufferTime="PT75S" type="dynamic"
|
|
971
|
+
'<MPD minBufferTime="PT75S" type="dynamic"',
|
|
972
|
+
' availabilityStartTime="1970-01-01T00:00:00Z">',
|
|
987
973
|
' <Period id="1" duration="PT30S">',
|
|
988
974
|
' <AdaptationSet mimeType="video/mp4">',
|
|
989
975
|
' <Representation id="1" bandwidth="1">',
|
|
@@ -1274,7 +1260,8 @@ describe('DashParser Manifest', () => {
|
|
|
1274
1260
|
});
|
|
1275
1261
|
|
|
1276
1262
|
it('handles bandwidth of 0 or missing', async () => {
|
|
1277
|
-
// Regression test for
|
|
1263
|
+
// Regression test for
|
|
1264
|
+
// https://github.com/shaka-project/shaka-player/issues/938
|
|
1278
1265
|
const source = [
|
|
1279
1266
|
'<MPD minBufferTime="PT75S">',
|
|
1280
1267
|
' <Period id="1" duration="PT30S">',
|
|
@@ -1872,7 +1859,7 @@ describe('DashParser Manifest', () => {
|
|
|
1872
1859
|
expect(textStream.kind).toBe('caption');
|
|
1873
1860
|
});
|
|
1874
1861
|
|
|
1875
|
-
it('converts Roles element to "forced"', async () => {
|
|
1862
|
+
it('converts Roles element to "forced" (old role)', async () => {
|
|
1876
1863
|
const manifestText = [
|
|
1877
1864
|
'<MPD minBufferTime="PT75S">',
|
|
1878
1865
|
' <Period id="1" duration="PT30S">',
|
|
@@ -1904,6 +1891,38 @@ describe('DashParser Manifest', () => {
|
|
|
1904
1891
|
expect(textStream.forced).toBe(true);
|
|
1905
1892
|
});
|
|
1906
1893
|
|
|
1894
|
+
it('converts Roles element to "forced"', async () => {
|
|
1895
|
+
const manifestText = [
|
|
1896
|
+
'<MPD minBufferTime="PT75S">',
|
|
1897
|
+
' <Period id="1" duration="PT30S">',
|
|
1898
|
+
' <AdaptationSet id="1" contentType="text">',
|
|
1899
|
+
' <Accessibility schemeIdUri="urn:mpeg:dash:role:2011" ',
|
|
1900
|
+
' value="captions" />',
|
|
1901
|
+
' <Accessibility schemeIdUri="urn:mpeg:dash:role:2011" ',
|
|
1902
|
+
' value="forced-subtitle" />',
|
|
1903
|
+
' <Accessibility schemeIdUri="foobar" value="bar" />',
|
|
1904
|
+
' <Representation id="text-en" mimeType="text/webvtt">',
|
|
1905
|
+
' <BaseURL>t-en.vtt</BaseURL>',
|
|
1906
|
+
' </Representation>',
|
|
1907
|
+
' </AdaptationSet>',
|
|
1908
|
+
' <AdaptationSet id="1" mimeType="video/mp4">',
|
|
1909
|
+
' <Representation id="video-sd" width="640" height="480">',
|
|
1910
|
+
' <BaseURL>v-sd.mp4</BaseURL>',
|
|
1911
|
+
' <SegmentBase indexRange="100-200" />',
|
|
1912
|
+
' </Representation>',
|
|
1913
|
+
' </AdaptationSet>',
|
|
1914
|
+
' </Period>',
|
|
1915
|
+
'</MPD>',
|
|
1916
|
+
].join('\n');
|
|
1917
|
+
|
|
1918
|
+
fakeNetEngine.setResponseText('dummy://foo', manifestText);
|
|
1919
|
+
/** @type {shaka.extern.Manifest} */
|
|
1920
|
+
const manifest = await parser.start('dummy://foo', playerInterface);
|
|
1921
|
+
const textStream = manifest.textStreams[0];
|
|
1922
|
+
expect(textStream.roles).toEqual(['captions', 'forced-subtitle']);
|
|
1923
|
+
expect(textStream.forced).toBe(true);
|
|
1924
|
+
});
|
|
1925
|
+
|
|
1907
1926
|
it('supports HDR signaling via profiles', async () => {
|
|
1908
1927
|
// (DASH-IF IOP v4.3 10.3.3.)
|
|
1909
1928
|
const hdrProfile =
|
|
@@ -4,13 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.test.Dash');
|
|
9
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
10
|
-
goog.require('shaka.test.Util');
|
|
11
|
-
goog.require('shaka.util.Error');
|
|
12
|
-
goog.requireType('shaka.dash.DashParser');
|
|
13
|
-
|
|
14
7
|
describe('DashParser SegmentBase', () => {
|
|
15
8
|
const Dash = shaka.test.Dash;
|
|
16
9
|
|
|
@@ -306,7 +299,7 @@ describe('DashParser SegmentBase', () => {
|
|
|
306
299
|
expect(reference.endTime).toBe(10); // would be 12 without PTO
|
|
307
300
|
});
|
|
308
301
|
|
|
309
|
-
// https://github.com/
|
|
302
|
+
// https://github.com/shaka-project/shaka-player/issues/3230
|
|
310
303
|
it('works with multi-Period with eviction', async () => {
|
|
311
304
|
const source = [
|
|
312
305
|
'<MPD mediaPresentationDuration="PT75S">',
|
|
@@ -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.Dash');
|
|
9
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
10
|
-
goog.require('shaka.test.ManifestParser');
|
|
11
|
-
goog.require('shaka.util.Error');
|
|
12
|
-
|
|
13
7
|
describe('DashParser SegmentList', () => {
|
|
14
8
|
const Dash = shaka.test.Dash;
|
|
15
9
|
const ManifestParser = shaka.test.ManifestParser;
|
|
@@ -308,7 +302,7 @@ describe('DashParser SegmentList', () => {
|
|
|
308
302
|
});
|
|
309
303
|
});
|
|
310
304
|
|
|
311
|
-
// https://github.com/
|
|
305
|
+
// https://github.com/shaka-project/shaka-player/issues/3230
|
|
312
306
|
it('works with multi-Period with eviction', async () => {
|
|
313
307
|
const setFormat = [
|
|
314
308
|
' <AdaptationSet mimeType="video/mp4">',
|
|
@@ -4,15 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.test.Dash');
|
|
9
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
10
|
-
goog.require('shaka.test.ManifestParser');
|
|
11
|
-
goog.require('shaka.test.Util');
|
|
12
|
-
goog.require('shaka.util.Error');
|
|
13
|
-
goog.require('shaka.util.PlayerConfiguration');
|
|
14
|
-
goog.requireType('shaka.dash.DashParser');
|
|
15
|
-
|
|
16
7
|
describe('DashParser SegmentTemplate', () => {
|
|
17
8
|
const Dash = shaka.test.Dash;
|
|
18
9
|
const ManifestParser = shaka.test.ManifestParser;
|
|
@@ -4,14 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.dash.MpdUtils');
|
|
8
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
9
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
10
|
-
goog.require('shaka.test.Util');
|
|
11
|
-
goog.require('shaka.util.Error');
|
|
12
|
-
goog.require('shaka.util.Iterables');
|
|
13
|
-
goog.requireType('shaka.util.PublicPromise');
|
|
14
|
-
|
|
15
7
|
describe('MpdUtils', () => {
|
|
16
8
|
const MpdUtils = shaka.dash.MpdUtils;
|
|
17
9
|
|
|
@@ -384,7 +376,7 @@ describe('MpdUtils', () => {
|
|
|
384
376
|
|
|
385
377
|
it('adjust start time w/ t missing', () => {
|
|
386
378
|
// No S@t is equivalent to t=0, which should use PTO to make negative.
|
|
387
|
-
// See https://github.com/
|
|
379
|
+
// See https://github.com/shaka-project/shaka-player/issues/2590
|
|
388
380
|
const timePoints = [
|
|
389
381
|
createTimePoint(null, 10, 0),
|
|
390
382
|
createTimePoint(10, 10, 0),
|
|
@@ -536,7 +528,7 @@ describe('MpdUtils', () => {
|
|
|
536
528
|
'<ToReplace xlink:href="https://xlink0" xlink:actuate="onLoad" />');
|
|
537
529
|
// Create a large but finite number of links, so this won't
|
|
538
530
|
// infinitely recurse if there isn't a depth limit.
|
|
539
|
-
for (
|
|
531
|
+
for (let i = 0; i < 20; i++) {
|
|
540
532
|
const key = 'https://xlink' + i;
|
|
541
533
|
const value = makeRecursiveXMLString(0, 'https://xlink' + (i + 1));
|
|
542
534
|
|
|
@@ -659,7 +651,7 @@ describe('MpdUtils', () => {
|
|
|
659
651
|
'<ToReplace xlink:href="https://xlink0" xlink:actuate="onLoad" />');
|
|
660
652
|
// Create a few links. This is few enough that it would succeed if we
|
|
661
653
|
// didn't abort it.
|
|
662
|
-
for (
|
|
654
|
+
for (let i = 0; i < 4; i++) {
|
|
663
655
|
const key = 'https://xlink' + i;
|
|
664
656
|
const value = makeRecursiveXMLString(0, 'https://xlink' + (i + 1));
|
|
665
657
|
|
package/test/demo/demo_unit.js
CHANGED
|
@@ -4,11 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.test.FakeDemoMain');
|
|
8
|
-
goog.require('shaka.test.Util');
|
|
9
|
-
goog.require('shaka.util.StringUtils');
|
|
10
|
-
goog.require('shakaDemo.MessageIds');
|
|
11
|
-
|
|
12
7
|
describe('Demo', () => {
|
|
13
8
|
beforeEach(() => {
|
|
14
9
|
// Make mock versions of misc third-party libraries.
|
|
@@ -4,10 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('shaka.deprecate.Enforcer');
|
|
8
|
-
goog.require('shaka.deprecate.Version');
|
|
9
|
-
goog.require('shaka.test.Util');
|
|
10
|
-
|
|
11
7
|
describe('Enforcer', () => {
|
|
12
8
|
const Enforcer = shaka.deprecate.Enforcer;
|
|
13
9
|
const Version = shaka.deprecate.Version;
|
|
@@ -4,18 +4,6 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
goog.require('goog.asserts');
|
|
8
|
-
goog.require('shaka.hls.HlsParser');
|
|
9
|
-
goog.require('shaka.net.NetworkingEngine');
|
|
10
|
-
goog.require('shaka.test.FakeNetworkingEngine');
|
|
11
|
-
goog.require('shaka.test.ManifestParser');
|
|
12
|
-
goog.require('shaka.test.Util');
|
|
13
|
-
goog.require('shaka.util.Functional');
|
|
14
|
-
goog.require('shaka.util.Iterables');
|
|
15
|
-
goog.require('shaka.util.PlayerConfiguration');
|
|
16
|
-
goog.require('shaka.util.Uint8ArrayUtils');
|
|
17
|
-
goog.requireType('shaka.util.PublicPromise');
|
|
18
|
-
|
|
19
7
|
describe('HlsParser live', () => {
|
|
20
8
|
const ManifestParser = shaka.test.ManifestParser;
|
|
21
9
|
|
|
@@ -435,8 +423,8 @@ describe('HlsParser live', () => {
|
|
|
435
423
|
'#EXT-X-MAP:URI="init.mp4",BYTERANGE="616@0"\n',
|
|
436
424
|
'#EXT-X-MEDIA-SEQUENCE:0\n',
|
|
437
425
|
].join('');
|
|
438
|
-
|
|
439
|
-
|
|
426
|
+
|
|
427
|
+
for (let i = 0; i < 1000; i++) {
|
|
440
428
|
mediaWithManySegments += '#EXTINF:2,\n';
|
|
441
429
|
mediaWithManySegments += 'main.mp4\n';
|
|
442
430
|
}
|