shaka-player 4.3.9 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/build-and-test.yaml +11 -18
- package/.github/workflows/compute-incremental-coverage.py +3 -0
- package/.github/workflows/release-please.yaml +7 -0
- package/.github/workflows/selenium-lab-tests.yaml +45 -10
- package/AUTHORS +9 -0
- package/CHANGELOG.md +295 -190
- package/CONTRIBUTORS +8 -0
- package/LICENSE +32 -0
- package/README.md +63 -10
- package/demo/autoTemplate.txt +40 -5
- package/demo/close_button.js +11 -0
- package/demo/common/asset.js +13 -1
- package/demo/common/assets.js +112 -28
- package/demo/common/message_ids.js +25 -1
- package/demo/config.js +69 -10
- package/demo/customWarning.txt +2 -2
- package/demo/index.html +3 -1
- package/demo/locales/en.json +26 -2
- package/demo/locales/source.json +105 -9
- package/demo/main.js +57 -9
- package/demo/search.js +3 -1
- package/demo/service_worker.js +3 -0
- package/dist/controls.css +1 -1
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +132 -118
- package/dist/demo.compiled.debug.map +3 -3
- package/dist/demo.compiled.js +132 -118
- package/dist/demo.compiled.map +3 -3
- package/dist/deps.js +46 -28
- package/dist/locales.js +31 -31
- package/dist/receiver.compiled.debug.js +60 -52
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +60 -52
- package/dist/receiver.compiled.map +3 -3
- package/dist/shaka-player.compiled.d.ts +676 -391
- package/dist/shaka-player.compiled.debug.d.ts +676 -391
- package/dist/shaka-player.compiled.debug.externs.js +1188 -616
- package/dist/shaka-player.compiled.debug.js +1046 -700
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +1188 -616
- package/dist/shaka-player.compiled.js +1094 -933
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +677 -392
- package/dist/shaka-player.ui.debug.d.ts +677 -392
- package/dist/shaka-player.ui.debug.externs.js +1023 -451
- package/dist/shaka-player.ui.debug.js +1101 -738
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +1023 -451
- package/dist/shaka-player.ui.js +1244 -1071
- package/dist/shaka-player.ui.map +4 -4
- package/docs/tutorials/ad_monetization.md +15 -1
- package/docs/tutorials/application-level-redirects.md +1 -1
- package/docs/tutorials/config.md +9 -5
- package/docs/tutorials/drm-config.md +61 -0
- package/docs/tutorials/fairplay.md +19 -4
- package/docs/tutorials/license-server-auth.md +4 -4
- package/docs/tutorials/license-wrapping.md +2 -2
- package/docs/tutorials/ui-customization.md +7 -3
- package/docs/tutorials/ui.md +7 -7
- package/docs/tutorials/upgrade.md +3 -0
- package/externs/ima.js +123 -2
- package/externs/isoboxer.js +217 -0
- package/externs/mediakeys.js +18 -0
- package/externs/mux.js +1 -105
- package/externs/pictureinpicture.js +48 -0
- package/externs/shaka/ads.js +61 -1
- package/externs/shaka/cea.js +110 -0
- package/externs/shaka/codecs.js +32 -0
- package/externs/shaka/manifest.js +101 -1
- package/externs/shaka/manifest_parser.js +0 -10
- package/externs/shaka/net.js +36 -7
- package/externs/shaka/offline.js +8 -1
- package/externs/shaka/player.js +220 -21
- package/externs/shaka/text.js +1 -382
- package/externs/shaka/transmuxer.js +59 -0
- package/karma.conf.js +15 -0
- package/lib/abr/simple_abr_manager.js +6 -3
- package/lib/ads/ad_manager.js +60 -2
- package/lib/ads/client_side_ad.js +86 -0
- package/lib/ads/client_side_ad_manager.js +93 -5
- package/lib/ads/server_side_ad.js +86 -0
- package/lib/ads/server_side_ad_manager.js +13 -0
- package/lib/cast/cast_utils.js +1 -0
- package/lib/cea/cea608_data_channel.js +24 -14
- package/lib/cea/cea608_memory.js +5 -2
- package/lib/cea/cea708_service.js +8 -9
- package/lib/cea/cea708_window.js +1 -2
- package/lib/cea/cea_decoder.js +23 -6
- package/lib/cea/cea_utils.js +25 -2
- package/lib/cea/dummy_caption_decoder.js +21 -0
- package/lib/cea/dummy_cea_parser.js +1 -3
- package/lib/cea/mp4_cea_parser.js +15 -10
- package/lib/cea/ts_cea_parser.js +69 -0
- package/lib/dash/content_protection.js +32 -2
- package/lib/dash/dash_parser.js +93 -31
- package/lib/dash/mpd_utils.js +6 -25
- package/lib/dash/segment_base.js +12 -14
- package/lib/dash/segment_list.js +10 -6
- package/lib/dash/segment_template.js +349 -32
- package/lib/dependencies/all.js +8 -0
- package/lib/hls/hls_classes.js +33 -8
- package/lib/hls/hls_parser.js +805 -191
- package/lib/hls/manifest_text_parser.js +4 -14
- package/lib/media/adaptation_set_criteria.js +43 -3
- package/lib/media/closed_caption_parser.js +74 -12
- package/lib/media/drm_engine.js +189 -49
- package/lib/media/gap_jumping_controller.js +1 -1
- package/lib/media/manifest_parser.js +34 -0
- package/lib/media/media_source_capabilities.js +10 -0
- package/lib/media/media_source_engine.js +475 -231
- package/lib/media/playhead.js +1 -1
- package/lib/media/presentation_timeline.js +62 -0
- package/lib/media/segment_index.js +50 -14
- package/lib/media/segment_prefetch.js +277 -0
- package/lib/media/segment_reference.js +70 -4
- package/lib/media/streaming_engine.js +258 -81
- package/lib/media/video_wrapper.js +15 -7
- package/lib/mss/content_protection.js +353 -0
- package/lib/mss/mss_parser.js +1081 -0
- package/lib/net/networking_engine.js +60 -10
- package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
- package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
- package/lib/offline/manifest_converter.js +6 -0
- package/lib/offline/storage.js +2 -4
- package/lib/player.js +309 -105
- package/lib/polyfill/media_capabilities.js +43 -3
- package/lib/polyfill/patchedmediakeys_apple.js +5 -0
- package/lib/polyfill/patchedmediakeys_nop.js +5 -0
- package/lib/polyfill/patchedmediakeys_webkit.js +5 -0
- package/lib/text/cue.js +208 -130
- package/lib/text/lrc_text_parser.js +2 -2
- package/lib/text/mp4_vtt_parser.js +2 -2
- package/lib/text/sbv_text_parser.js +1 -1
- package/lib/text/simple_text_displayer.js +2 -1
- package/lib/text/srt_text_parser.js +9 -1
- package/lib/text/ssa_text_parser.js +2 -2
- package/lib/text/text_engine.js +3 -21
- package/lib/text/text_utils.js +71 -20
- package/lib/text/ui_text_displayer.js +14 -14
- package/lib/text/vtt_text_parser.js +22 -14
- package/lib/transmuxer/aac_transmuxer.js +224 -0
- package/lib/transmuxer/ac3.js +142 -0
- package/lib/transmuxer/ac3_transmuxer.js +212 -0
- package/lib/transmuxer/adts.js +232 -0
- package/lib/transmuxer/ec3.js +103 -0
- package/lib/transmuxer/ec3_transmuxer.js +212 -0
- package/lib/transmuxer/h264.js +324 -0
- package/lib/transmuxer/mp3_transmuxer.js +204 -0
- package/lib/transmuxer/mpeg_audio.js +196 -0
- package/lib/transmuxer/mpeg_ts_transmuxer.js +182 -0
- package/lib/transmuxer/mss_transmuxer.js +389 -0
- package/lib/{media/transmuxer.js → transmuxer/muxjs_transmuxer.js} +34 -80
- package/lib/transmuxer/transmuxer_engine.js +161 -0
- package/lib/transmuxer/ts_transmuxer.js +738 -0
- package/lib/util/cmcd_manager.js +131 -71
- package/lib/util/error.js +62 -26
- package/lib/util/exp_golomb.js +220 -0
- package/lib/util/fairplay_utils.js +64 -13
- package/lib/util/id3_utils.js +56 -3
- package/lib/util/language_utils.js +11 -8
- package/lib/util/manifest_parser_utils.js +3 -0
- package/lib/util/mime_utils.js +44 -7
- package/lib/util/mp4_box_parsers.js +233 -5
- package/lib/util/mp4_generator.js +1381 -0
- package/lib/util/periods.js +40 -34
- package/lib/util/platform.js +25 -3
- package/lib/util/player_configuration.js +38 -1
- package/lib/util/stream_utils.js +138 -27
- package/lib/util/text_parser.js +1 -1
- package/lib/util/ts_parser.js +470 -47
- package/lib/util/xml_utils.js +16 -3
- package/maintained-branches.md +2 -2
- package/package.json +4 -2
- package/roadmap.md +21 -6
- package/shaka-player.uncompiled.js +18 -0
- package/test/abr/simple_abr_manager_unit.js +32 -4
- package/test/ads/ad_manager_unit.js +18 -2
- package/test/cast/cast_utils_unit.js +7 -2
- package/test/cea/cea608_memory_unit.js +24 -0
- package/test/cea/cea_decoder_unit.js +33 -0
- package/test/dash/dash_parser_content_protection_unit.js +93 -3
- package/test/dash/dash_parser_live_unit.js +56 -13
- package/test/dash/dash_parser_manifest_unit.js +70 -2
- package/test/dash/dash_parser_segment_base_unit.js +14 -9
- package/test/dash/dash_parser_segment_template_unit.js +286 -6
- package/test/demo/demo_unit.js +5 -1
- package/test/hls/hls_live_unit.js +188 -28
- package/test/hls/hls_parser_unit.js +250 -109
- package/test/hls/manifest_text_parser_unit.js +18 -13
- package/test/media/adaptation_set_criteria_unit.js +46 -14
- package/test/media/adaptation_set_unit.js +2 -0
- package/test/media/drm_engine_integration.js +11 -8
- package/test/media/drm_engine_unit.js +220 -7
- package/test/media/media_source_engine_integration.js +122 -38
- package/test/media/media_source_engine_unit.js +133 -153
- package/test/media/playhead_unit.js +3 -0
- package/test/media/presentation_timeline_unit.js +51 -0
- package/test/media/segment_index_unit.js +52 -0
- package/test/media/segment_prefetch_unit.js +243 -0
- package/test/media/streaming_engine_integration.js +9 -3
- package/test/media/streaming_engine_unit.js +440 -59
- package/test/mss/mss_parser_content_protection_unit.js +49 -0
- package/test/mss/mss_parser_unit.js +472 -0
- package/test/mss/mss_player_integration.js +123 -0
- package/test/offline/manifest_convert_unit.js +9 -0
- package/test/offline/storage_integration.js +6 -1
- package/test/player_integration.js +4 -1
- package/test/player_unit.js +386 -133
- package/test/polyfill/media_capabilities_unit.js +18 -0
- package/test/test/assets/hls-raw-aac/fileSequence0.aac +0 -0
- package/test/test/assets/hls-raw-aac/fileSequence1.aac +0 -0
- package/test/test/assets/hls-raw-aac/fileSequence2.aac +0 -0
- package/test/test/assets/hls-raw-aac/fileSequence3.aac +0 -0
- package/test/test/assets/hls-raw-aac/manifest.m3u8 +4 -0
- package/test/test/assets/hls-raw-aac/stream.m4a.m3u8 +14 -0
- package/test/test/assets/hls-raw-ac3/fileSequence0.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence1.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence2.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence3.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence4.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence5.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence6.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/fileSequence7.ac3 +0 -0
- package/test/test/assets/hls-raw-ac3/prog_index.m3u8 +31 -0
- package/test/test/assets/hls-raw-ec3/fileSequence0.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence1.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence2.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence3.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence4.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence5.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence6.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/fileSequence7.ec3 +0 -0
- package/test/test/assets/hls-raw-ec3/prog_index.m3u8 +31 -0
- package/test/test/assets/hls-raw-mp3/chunklist_w905519204.m3u8 +13 -0
- package/test/test/assets/hls-raw-mp3/media_w905519204_0.mp3 +0 -0
- package/test/test/assets/hls-raw-mp3/media_w905519204_1.mp3 +0 -0
- package/test/test/assets/hls-raw-mp3/media_w905519204_2.mp3 +0 -0
- package/test/test/assets/hls-raw-mp3/media_w905519204_3.mp3 +0 -0
- package/test/test/assets/hls-raw-mp3/playlist.m3u8 +4 -0
- package/test/test/assets/hls-ts-aac/playlist.m3u8 +23 -0
- package/test/test/assets/hls-ts-aac/segment_0.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_1.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_2.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_3.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_4.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_5.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_6.ts +0 -0
- package/test/test/assets/hls-ts-aac/segment_7.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0000.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0001.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0002.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0003.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0004.ts +0 -0
- package/test/test/assets/hls-ts-ac3/ChID_voices_6ch_640kbps_dd_sub_0005.ts +0 -0
- package/test/test/assets/hls-ts-ac3/prog_index.m3u8 +19 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0000.ts +0 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0001.ts +0 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0002.ts +0 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0003.ts +0 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0004.ts +0 -0
- package/test/test/assets/hls-ts-ec3/ChID_voices_6ch_256kbps_ddp_sub_0005.ts +0 -0
- package/test/test/assets/hls-ts-ec3/prog_index.m3u8 +19 -0
- package/test/test/assets/hls-ts-h264/fileSequence0.ts +0 -0
- package/test/test/assets/hls-ts-h264/fileSequence1.ts +0 -0
- package/test/test/assets/hls-ts-h264/fileSequence2.ts +0 -0
- package/test/test/assets/hls-ts-h264/fileSequence3.ts +0 -0
- package/test/test/assets/hls-ts-h264/fileSequence4.ts +0 -0
- package/test/test/assets/hls-ts-h264/fileSequence5.ts +0 -0
- package/test/test/assets/hls-ts-h264/prog_index.m3u8 +25 -0
- package/test/test/assets/hls-ts-mp3/manifest.m3u8 +13 -0
- package/test/test/assets/hls-ts-mp3/media_w239891843_0.ts +0 -0
- package/test/test/assets/hls-ts-mp3/media_w239891843_1.ts +0 -0
- package/test/test/assets/hls-ts-mp3/media_w239891843_2.ts +0 -0
- package/test/test/assets/hls-ts-mp3/media_w239891843_3.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/chunk.m3u8 +17 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_0_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_1_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_2_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_3_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_4_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/n_5_0_0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h264/playlist.m3u8 +4 -0
- package/test/test/boot.js +7 -2
- package/test/test/util/fake_ad.js +99 -0
- package/test/test/util/fake_ad_manager.js +7 -1
- package/test/test/util/fake_networking_engine.js +41 -14
- package/test/test/util/fake_segment_prefetch.js +81 -0
- package/test/test/util/manifest_generator.js +19 -5
- package/test/test/util/mss_parser_util.js +115 -0
- package/test/test/util/offline_utils.js +1 -0
- package/test/test/util/simple_fakes.js +12 -3
- package/test/test/util/streaming_engine_util.js +14 -4
- package/test/test/util/ttml_utils.js +2 -2
- package/test/test/util/ui_utils.js +5 -1
- package/test/text/cue_integration.js +1 -1
- package/test/text/srt_text_parser_unit.js +78 -0
- package/test/text/text_engine_unit.js +17 -8
- package/test/text/ui_text_displayer_unit.js +4 -4
- package/test/text/vtt_text_parser_unit.js +59 -40
- package/test/text/web_vtt_generator_unit.js +9 -3
- package/test/{media/transmuxer_integration.js → transmuxer/muxjs_transmuxer_integration.js} +30 -33
- package/test/transmuxer/transmuxer_engine_integration.js +60 -0
- package/test/transmuxer/transmuxer_integration.js +296 -0
- package/test/util/cmcd_manager_unit.js +162 -13
- package/test/util/language_utils_unit.js +9 -2
- package/test/util/mp4_box_parsers_unit.js +39 -4
- package/test/util/periods_unit.js +34 -26
- package/test/util/stream_utils_unit.js +60 -107
- package/ui/controls.js +19 -1
- package/ui/controls.less +1 -0
- package/ui/externs/ui.js +13 -3
- package/ui/language_utils.js +15 -0
- package/ui/less/thumbnails.less +26 -0
- package/ui/locales/oc.json +42 -0
- package/ui/pip_button.js +83 -2
- package/ui/range_element.js +15 -0
- package/ui/resolution_selection.js +9 -2
- package/ui/seek_bar.js +230 -1
- package/ui/ui.js +5 -0
- package/lib/cea/i_caption_decoder.js +0 -51
- package/lib/cea/i_cea_parser.js +0 -68
|
@@ -21,6 +21,7 @@ shakaDemo.MessageIds = {
|
|
|
21
21
|
LIVE: 'DEMO_LIVE',
|
|
22
22
|
MP2TS: 'DEMO_MP2TS',
|
|
23
23
|
MP4: 'DEMO_MP4',
|
|
24
|
+
MSS: 'DEMO_MSS',
|
|
24
25
|
MULTIPLE_LANGUAGES: 'DEMO_MULTIPLE_LANGUAGES',
|
|
25
26
|
OFFLINE: 'DEMO_OFFLINE',
|
|
26
27
|
STORED: 'DEMO_STORED',
|
|
@@ -32,6 +33,7 @@ shakaDemo.MessageIds = {
|
|
|
32
33
|
VOD: 'DEMO_VOD',
|
|
33
34
|
WEBM: 'DEMO_WEBM',
|
|
34
35
|
XLINK: 'DEMO_XLINK',
|
|
36
|
+
LOW_LATENCY_STREAM: 'DEMO_LOW_LATENCY_STREAM',
|
|
35
37
|
/* Key systems. */
|
|
36
38
|
CLEAR: 'DEMO_CLEAR',
|
|
37
39
|
CLEAR_KEY: 'DEMO_CLEAR_KEY',
|
|
@@ -86,6 +88,7 @@ shakaDemo.MessageIds = {
|
|
|
86
88
|
UNSUPPORTED_NO_OFFLINE: 'DEMO_UNSUPPORTED_NO_OFFLINE',
|
|
87
89
|
UNSUPPORTED_NO_KEY_SUPPORT: 'DEMO_UNSUPPORTED_NO_KEY_SUPPORT',
|
|
88
90
|
UNSUPPORTED_NO_LICENSE_SUPPORT: 'DEMO_UNSUPPORTED_NO_LICENSE_SUPPORT',
|
|
91
|
+
UNSUPPORTED_NO_MSS_SUPPORT: 'DEMO_UNSUPPORTED_NO_MSS_SUPPORT',
|
|
89
92
|
/* Visualizer. */
|
|
90
93
|
VISUALIZER_AUTO_SCREENSHOT_TOGGLE: 'DEMO_VISUALIZER_AUTO_SCREENSHOT_TOGGLE',
|
|
91
94
|
VISUALIZER_BUTTON: 'DEMO_VISUALIZER_BUTTON',
|
|
@@ -150,10 +153,12 @@ shakaDemo.MessageIds = {
|
|
|
150
153
|
/* Config panel. */
|
|
151
154
|
ADAPTATION_RESTRICTIONS_SECTION_HEADER: 'DEMO_ADAPTATION_RESTRICTIONS_SECTION_HEADER',
|
|
152
155
|
ADAPTATION_SECTION_HEADER: 'DEMO_ADAPTATION_SECTION_HEADER',
|
|
156
|
+
ADS_SECTION_HEADER: 'DEMO_ADS_SECTION_HEADER',
|
|
153
157
|
ALWAYS_STREAM_TEXT: 'DEMO_ALWAYS_STREAM_TEXT',
|
|
154
158
|
ALWAYS_STREAM_TEXT_WARNING: 'DEMO_ALWAYS_STREAM_TEXT_WARNING',
|
|
155
159
|
AUDIO_CHANNEL_COUNT: 'DEMO_AUDIO_CHANNEL_COUNT',
|
|
156
160
|
AUDIO_LANGUAGE: 'DEMO_AUDIO_LANGUAGE',
|
|
161
|
+
AUDIO_LABEL: 'DEMO_AUDIO_LABEL',
|
|
157
162
|
AUDIO_ROBUSTNESS: 'DEMO_AUDIO_ROBUSTNESS',
|
|
158
163
|
AUTO_CORRECT_DASH_DRIFT: 'DEMO_AUTO_CORRECT_DASH_DRIFT',
|
|
159
164
|
AUTO_LOW_LATENCY: 'DEMO_AUTO_LOW_LATENCY',
|
|
@@ -170,10 +175,13 @@ shakaDemo.MessageIds = {
|
|
|
170
175
|
BANDWIDTH_UPGRADE: 'DEMO_BANDWIDTH_UPGRADE',
|
|
171
176
|
BUFFER_BEHIND: 'DEMO_BUFFER_BEHIND',
|
|
172
177
|
BUFFERING_GOAL: 'DEMO_BUFFERING_GOAL',
|
|
178
|
+
CLEAR_BUFFER_SWITCH: 'DEMO_CLEAR_BUFFER_SWITCH',
|
|
173
179
|
CLOCK_SYNC_URI: 'DEMO_CLOCK_SYNC_URI',
|
|
174
180
|
CMCD_SECTION_HEADER: 'DEMO_CMCD_SECTION_HEADER',
|
|
175
181
|
CONNECTION_TIMEOUT: 'DEMO_CONNECTION_TIMEOUT',
|
|
176
182
|
CONTENT_ID: 'DEMO_CONTENT_ID',
|
|
183
|
+
CUSTOM_PLAYHEAD_TRACKER: 'DEMO_CUSTOM_PLAYHEAD_TRACKER',
|
|
184
|
+
DASH_SEQUENCE_MODE: 'DEMO_DASH_SEQUENCE_MODE',
|
|
177
185
|
DEFAULT_AUDIO_CODEC: 'DEMO_DEFAULT_AUDIO_CODEC',
|
|
178
186
|
DEFAULT_PRESENTATION_DELAY: 'DEMO_DEFAULT_PRESENTATION_DELAY',
|
|
179
187
|
DEFAULT_VIDEO_CODEC: 'DEMO_DEFAULT_VIDEO_CODEC',
|
|
@@ -193,8 +201,17 @@ shakaDemo.MessageIds = {
|
|
|
193
201
|
FAST_HALF_LIFE: 'DEMO_FAST_HALF_LIFE',
|
|
194
202
|
FORCE_HTTPS: 'DEMO_FORCE_HTTPS',
|
|
195
203
|
FORCE_TRANSMUX: 'DEMO_FORCE_TRANSMUX',
|
|
204
|
+
INSERT_FAKE_ENCRYPTION_IN_INIT: 'DEMO_INSERT_FAKE_ENCRYPTION_IN_INIT',
|
|
196
205
|
FUZZ_FACTOR: 'DEMO_FUZZ_FACTOR',
|
|
197
206
|
GAP_DETECTION_THRESHOLD: 'DEMO_GAP_DETECTION_THRESHOLD',
|
|
207
|
+
GAP_JUMP_TIMER_TIME: 'DEMO_GAP_JUMP_TIMER_TIME',
|
|
208
|
+
HDR_LEVEL: 'DEMO_HDR_LEVEL',
|
|
209
|
+
HDR_LEVEL_AUTO: 'DEMO_HDR_LEVEL_AUTO',
|
|
210
|
+
HDR_LEVEL_HLG: 'DEMO_HDR_LEVEL_HLG',
|
|
211
|
+
HDR_LEVEL_NONE: 'DEMO_HDR_LEVEL_NONE',
|
|
212
|
+
HDR_LEVEL_PQ: 'DEMO_HDR_LEVEL_PQ',
|
|
213
|
+
HDR_LEVEL_SDR: 'DEMO_HDR_LEVEL_SDR',
|
|
214
|
+
HLS_SEQUENCE_MODE: 'DEMO_HLS_SEQUENCE_MODE',
|
|
198
215
|
IGNORE_DASH_EMPTY_ADAPTATION_SET: 'DEMO_IGNORE_DASH_EMPTY_ADAPTATION_SET',
|
|
199
216
|
IGNORE_DASH_DRM: 'DEMO_IGNORE_DASH_DRM',
|
|
200
217
|
IGNORE_DASH_MAX_SEGMENT_DURATION: 'DEMO_IGNORE_DASH_MAX_SEGMENT_DURATION',
|
|
@@ -203,6 +220,7 @@ shakaDemo.MessageIds = {
|
|
|
203
220
|
IGNORE_HLS_IMAGE_FAILURES: 'DEMO_IGNORE_HLS_IMAGE_FAILURES',
|
|
204
221
|
IGNORE_HLS_TEXT_FAILURES: 'DEMO_IGNORE_HLS_TEXT_FAILURES',
|
|
205
222
|
IGNORE_MANIFEST_PROGRAM_DATE_TIME: 'DEMO_IGNORE_MANIFEST_PROGRAM_DATE_TIME',
|
|
223
|
+
IGNORE_MANIFEST_TIMESTAMPS_IN_SEGMENTS_MODE: 'DEMO_IGNORE_MANIFEST_TIMESTAMPS_IN_SEGMENTS_MODE',
|
|
206
224
|
IGNORE_MIN_BUFFER_TIME: 'DEMO_IGNORE_MIN_BUFFER_TIME',
|
|
207
225
|
IGNORE_TEXT_FAILURES: 'DEMO_IGNORE_TEXT_FAILURES',
|
|
208
226
|
INACCURATE_MANIFEST_TOLERANCE: 'DEMO_INACCURATE_MANIFEST_TOLERANCE',
|
|
@@ -213,6 +231,9 @@ shakaDemo.MessageIds = {
|
|
|
213
231
|
LCEVC_LOG_LEVEL: 'DEMO_LCEVC_LOG_LEVEL',
|
|
214
232
|
LCEVC_SECTION_HEADER: 'DEMO_LCEVC_SECTION_HEADER',
|
|
215
233
|
LIVE_SEGMENTS_DELAY: 'DEMO_LIVE_SEGMENTS_DELAY',
|
|
234
|
+
LIVE_SYNC: 'DEMO_LIVE_SYNC',
|
|
235
|
+
LIVE_SYNC_MAX_LATENCY: 'DEMO_LIVE_SYNC_MAX_LATENCY',
|
|
236
|
+
LIVE_SYNC_PLAYBACK_RATE: 'DEMO_LIVE_SYNC_PLAYBACK_RATE',
|
|
216
237
|
LOG_LEVEL: 'DEMO_LOG_LEVEL',
|
|
217
238
|
LOG_LEVEL_DEBUG: 'DEMO_LOG_LEVEL_DEBUG',
|
|
218
239
|
LOG_LEVEL_INFO: 'DEMO_LOG_LEVEL_INFO',
|
|
@@ -232,11 +253,13 @@ shakaDemo.MessageIds = {
|
|
|
232
253
|
MEDIA_SOURCE_SECTION_HEADER: 'DEMO_MEDIA_SOURCE_SECTION_HEADER',
|
|
233
254
|
MIN_BANDWIDTH: 'DEMO_MIN_BANDWIDTH',
|
|
234
255
|
MIN_BYTES: 'DEMO_MIN_BYTES',
|
|
256
|
+
MIN_HDCP_VERSION: 'DEMO_MIN_HDCP_VERSION',
|
|
235
257
|
MIN_FRAMERATE: 'DEMO_MIN_FRAMERATE',
|
|
236
258
|
MIN_HEIGHT: 'DEMO_MIN_HEIGHT',
|
|
237
259
|
MIN_PIXELS: 'DEMO_MIN_PIXELS',
|
|
238
260
|
MIN_TOTAL_BYTES: 'DEMO_MIN_TOTAL_BYTES',
|
|
239
261
|
MIN_WIDTH: 'DEMO_MIN_WIDTH',
|
|
262
|
+
MSS_SEQUENCE_MODE: 'DEMO_MSS_SEQUENCE_MODE',
|
|
240
263
|
NETWORK_INFORMATION: 'DEMO_NETWORK_INFORMATION',
|
|
241
264
|
NUMBER_DECIMAL_WARNING: 'DEMO_NUMBER_DECIMAL_WARNING',
|
|
242
265
|
NUMBER_INTEGER_WARNING: 'DEMO_NUMBER_INTEGER_WARNING',
|
|
@@ -251,10 +274,10 @@ shakaDemo.MessageIds = {
|
|
|
251
274
|
RESTRICT_TO_ELEMENT_SIZE: 'DEMO_RESTRICT_TO_ELEMENT_SIZE',
|
|
252
275
|
RESTRICT_TO_SCREEN_SIZE: 'DEMO_RESTRICT_TO_SCREEN_SIZE',
|
|
253
276
|
RESTRICTIONS_SECTION_HEADER: 'DEMO_RESTRICTIONS_SECTION_HEADER',
|
|
277
|
+
SAFE_MARGIN_SWITCH: 'DEMO_SAFE_MARGIN_SWITCH',
|
|
254
278
|
SAFE_SEEK_OFFSET: 'DEMO_SAFE_SEEK_OFFSET',
|
|
255
279
|
SAFE_SKIP_DISTANCE: 'DEMO_SAFE_SKIP_DISTANCE',
|
|
256
280
|
SEGMENT_RELATIVE_VTT_TIMING: 'DEMO_SEGMENT_RELATIVE_VTT_TIMING',
|
|
257
|
-
SEQUENCE_MODE: 'DEMO_SEQUENCE_MODE',
|
|
258
281
|
SESSION_ID: 'DEMO_SESSION_ID',
|
|
259
282
|
SHAKA_CONTROLS: 'DEMO_SHAKA_CONTROLS',
|
|
260
283
|
SLOW_HALF_LIFE: 'DEMO_SLOW_HALF_LIFE',
|
|
@@ -281,5 +304,6 @@ shakaDemo.MessageIds = {
|
|
|
281
304
|
VIDEO_ROBUSTNESS: 'DEMO_VIDEO_ROBUSTNESS',
|
|
282
305
|
VNOVA: 'DEMO_VNOVA',
|
|
283
306
|
XLINK_FAIL_GRACEFULLY: 'DEMO_XLINK_FAIL_GRACEFULLY',
|
|
307
|
+
SEGMENT_PREFETCH_LIMIT: 'DEMO_SEGMENT_PREFETCH_LIMIT',
|
|
284
308
|
};
|
|
285
309
|
/* eslint-enable max-len */
|
package/demo/config.js
CHANGED
|
@@ -98,6 +98,7 @@ shakaDemo.Config = class {
|
|
|
98
98
|
shakaDemo.MessageIds.RESTRICTIONS_SECTION_HEADER);
|
|
99
99
|
this.addCmcdSection_();
|
|
100
100
|
this.addLcevcSection_();
|
|
101
|
+
this.addAdsSection_();
|
|
101
102
|
}
|
|
102
103
|
|
|
103
104
|
/**
|
|
@@ -135,7 +136,9 @@ shakaDemo.Config = class {
|
|
|
135
136
|
/* canBeZero= */ false,
|
|
136
137
|
/* canBeUnset= */ true)
|
|
137
138
|
.addBoolInput_(MessageIds.PARSE_INBAND_PSSH_ENABLED,
|
|
138
|
-
'drm.parseInbandPsshEnabled')
|
|
139
|
+
'drm.parseInbandPsshEnabled')
|
|
140
|
+
.addTextInput_(MessageIds.MIN_HDCP_VERSION,
|
|
141
|
+
'drm.minHdcpVersion');
|
|
139
142
|
const advanced = shakaDemoMain.getConfiguration().drm.advanced || {};
|
|
140
143
|
const addDRMAdvancedField = (name, valueName, suggestions) => {
|
|
141
144
|
// All advanced fields of a given type are set at once.
|
|
@@ -222,6 +225,10 @@ shakaDemo.Config = class {
|
|
|
222
225
|
'manifest.hls.useSafariBehaviorForLive')
|
|
223
226
|
.addNumberInput_(MessageIds.LIVE_SEGMENTS_DELAY,
|
|
224
227
|
'manifest.hls.liveSegmentsDelay')
|
|
228
|
+
.addBoolInput_(MessageIds.HLS_SEQUENCE_MODE,
|
|
229
|
+
'manifest.hls.sequenceMode')
|
|
230
|
+
.addBoolInput_(MessageIds.IGNORE_MANIFEST_TIMESTAMPS_IN_SEGMENTS_MODE,
|
|
231
|
+
'manifest.hls.ignoreManifestTimestampsInSegmentsMode')
|
|
225
232
|
.addNumberInput_(MessageIds.AVAILABILITY_WINDOW_OVERRIDE,
|
|
226
233
|
'manifest.availabilityWindowOverride',
|
|
227
234
|
/* canBeDecimal= */ true,
|
|
@@ -237,7 +244,7 @@ shakaDemo.Config = class {
|
|
|
237
244
|
/* canBeDecimal= */ false,
|
|
238
245
|
/* canBeZero= */ false,
|
|
239
246
|
/* canBeUnset= */ true)
|
|
240
|
-
.addBoolInput_(MessageIds.
|
|
247
|
+
.addBoolInput_(MessageIds.DASH_SEQUENCE_MODE,
|
|
241
248
|
'manifest.dash.sequenceMode')
|
|
242
249
|
.addBoolInput_(MessageIds.DISABLE_AUDIO,
|
|
243
250
|
'manifest.disableAudio')
|
|
@@ -248,7 +255,9 @@ shakaDemo.Config = class {
|
|
|
248
255
|
.addBoolInput_(MessageIds.DISABLE_THUMBNAILS,
|
|
249
256
|
'manifest.disableThumbnails')
|
|
250
257
|
.addBoolInput_(MessageIds.SEGMENT_RELATIVE_VTT_TIMING,
|
|
251
|
-
'manifest.segmentRelativeVttTiming')
|
|
258
|
+
'manifest.segmentRelativeVttTiming')
|
|
259
|
+
.addBoolInput_(MessageIds.MSS_SEQUENCE_MODE,
|
|
260
|
+
'manifest.mss.sequenceMode');
|
|
252
261
|
|
|
253
262
|
this.addRetrySection_('manifest', MessageIds.MANIFEST_RETRY_SECTION_HEADER);
|
|
254
263
|
}
|
|
@@ -287,7 +296,12 @@ shakaDemo.Config = class {
|
|
|
287
296
|
.addBoolInput_(MessageIds.RESTRICT_TO_SCREEN_SIZE,
|
|
288
297
|
'abr.restrictToScreenSize')
|
|
289
298
|
.addBoolInput_(MessageIds.IGNORE_DEVICE_PIXEL_RATIO,
|
|
290
|
-
'abr.ignoreDevicePixelRatio')
|
|
299
|
+
'abr.ignoreDevicePixelRatio')
|
|
300
|
+
.addBoolInput_(MessageIds.CLEAR_BUFFER_SWITCH,
|
|
301
|
+
'abr.clearBufferSwitch')
|
|
302
|
+
.addNumberInput_(MessageIds.SAFE_MARGIN_SWITCH,
|
|
303
|
+
'abr.safeMarginSwitch',
|
|
304
|
+
/* canBeDecimal= */ true);
|
|
291
305
|
this.addRetrictionsSection_('abr',
|
|
292
306
|
MessageIds.ADAPTATION_RESTRICTIONS_SECTION_HEADER);
|
|
293
307
|
}
|
|
@@ -315,6 +329,15 @@ shakaDemo.Config = class {
|
|
|
315
329
|
.addBoolInput_(MessageIds.LCEVC_DRAW_LOGO, 'lcevc.drawLogo');
|
|
316
330
|
}
|
|
317
331
|
|
|
332
|
+
/** @private */
|
|
333
|
+
addAdsSection_() {
|
|
334
|
+
const MessageIds = shakaDemo.MessageIds;
|
|
335
|
+
const docLink = this.resolveExternLink_('.AdsConfiguration');
|
|
336
|
+
this.addSection_(MessageIds.ADS_SECTION_HEADER, docLink)
|
|
337
|
+
.addBoolInput_(MessageIds.CUSTOM_PLAYHEAD_TRACKER,
|
|
338
|
+
'ads.customPlayheadTracker');
|
|
339
|
+
}
|
|
340
|
+
|
|
318
341
|
/**
|
|
319
342
|
* @param {string} category
|
|
320
343
|
* @param {!shakaDemo.MessageIds} sectionName
|
|
@@ -382,6 +405,9 @@ shakaDemo.Config = class {
|
|
|
382
405
|
.addNumberInput_(MessageIds.GAP_DETECTION_THRESHOLD,
|
|
383
406
|
'streaming.gapDetectionThreshold',
|
|
384
407
|
/* canBeDecimal= */ true)
|
|
408
|
+
.addNumberInput_(MessageIds.GAP_JUMP_TIMER_TIME,
|
|
409
|
+
'streaming.gapJumpTimerTime',
|
|
410
|
+
/* canBeDecimal= */ true)
|
|
385
411
|
.addNumberInput_(MessageIds.BUFFERING_GOAL,
|
|
386
412
|
'streaming.bufferingGoal',
|
|
387
413
|
/* canBeDecimal= */ true)
|
|
@@ -422,7 +448,19 @@ shakaDemo.Config = class {
|
|
|
422
448
|
.addBoolInput_(MessageIds.OBSERVE_QUALITY_CHANGES,
|
|
423
449
|
'streaming.observeQualityChanges')
|
|
424
450
|
.addNumberInput_(MessageIds.MAX_DISABLED_TIME,
|
|
425
|
-
'streaming.maxDisabledTime')
|
|
451
|
+
'streaming.maxDisabledTime')
|
|
452
|
+
.addNumberInput_(MessageIds.SEGMENT_PREFETCH_LIMIT,
|
|
453
|
+
'streaming.segmentPrefetchLimit')
|
|
454
|
+
.addBoolInput_(MessageIds.LIVE_SYNC,
|
|
455
|
+
'streaming.liveSync')
|
|
456
|
+
.addNumberInput_(MessageIds.LIVE_SYNC_MAX_LATENCY,
|
|
457
|
+
'streaming.liveSyncMaxLatency',
|
|
458
|
+
/* canBeDecimal= */ true,
|
|
459
|
+
/* canBeZero= */ true)
|
|
460
|
+
.addNumberInput_(MessageIds.LIVE_SYNC_PLAYBACK_RATE,
|
|
461
|
+
'streaming.liveSyncPlaybackRate',
|
|
462
|
+
/* canBeDecimal= */ true,
|
|
463
|
+
/* canBeZero= */ false);
|
|
426
464
|
|
|
427
465
|
if (!shakaDemoMain.getNativeControlsEnabled()) {
|
|
428
466
|
this.addBoolInput_(MessageIds.ALWAYS_STREAM_TEXT,
|
|
@@ -436,10 +474,26 @@ shakaDemo.Config = class {
|
|
|
436
474
|
this.latestInput_.input().checked = true;
|
|
437
475
|
}
|
|
438
476
|
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
477
|
+
const hdrLevels = {
|
|
478
|
+
'': '',
|
|
479
|
+
'AUTO': 'AUTO',
|
|
480
|
+
'SDR': 'SDR',
|
|
481
|
+
'PQ': 'PQ',
|
|
482
|
+
'HLG': 'HLG',
|
|
483
|
+
};
|
|
484
|
+
const localize = (name) => shakaDemoMain.getLocalizedString(name);
|
|
485
|
+
const hdrLevelNames = {
|
|
486
|
+
'AUTO': localize(MessageIds.HDR_LEVEL_AUTO),
|
|
487
|
+
'SDR': localize(MessageIds.HDR_LEVEL_SDR),
|
|
488
|
+
'PQ': localize(MessageIds.HDR_LEVEL_PQ),
|
|
489
|
+
'HLG': localize(MessageIds.HDR_LEVEL_HLG),
|
|
490
|
+
'': localize(MessageIds.HDR_LEVEL_NONE),
|
|
491
|
+
};
|
|
492
|
+
this.addSelectInput_(MessageIds.HDR_LEVEL, 'preferredVideoHdrLevel',
|
|
493
|
+
hdrLevels, hdrLevelNames);
|
|
494
|
+
|
|
495
|
+
this.addBoolInput_(MessageIds.START_AT_SEGMENT_BOUNDARY,
|
|
496
|
+
'streaming.startAtSegmentBoundary')
|
|
443
497
|
.addBoolInput_(MessageIds.IGNORE_TEXT_FAILURES,
|
|
444
498
|
'streaming.ignoreTextStreamFailures')
|
|
445
499
|
.addBoolInput_(MessageIds.STALL_DETECTOR_ENABLED,
|
|
@@ -456,7 +510,11 @@ shakaDemo.Config = class {
|
|
|
456
510
|
const docLink = this.resolveExternLink_('.MediaSourceConfiguration');
|
|
457
511
|
this.addSection_(MessageIds.MEDIA_SOURCE_SECTION_HEADER, docLink)
|
|
458
512
|
.addTextInput_(MessageIds.SOURCE_BUFFER_EXTRA_FEATURES,
|
|
459
|
-
'mediaSource.sourceBufferExtraFeatures')
|
|
513
|
+
'mediaSource.sourceBufferExtraFeatures')
|
|
514
|
+
.addBoolInput_(MessageIds.FORCE_TRANSMUX,
|
|
515
|
+
'mediaSource.forceTransmux')
|
|
516
|
+
.addBoolInput_(MessageIds.INSERT_FAKE_ENCRYPTION_IN_INIT,
|
|
517
|
+
'mediaSource.insertFakeEncryptionInInit');
|
|
460
518
|
}
|
|
461
519
|
|
|
462
520
|
/** @private */
|
|
@@ -477,6 +535,7 @@ shakaDemo.Config = class {
|
|
|
477
535
|
|
|
478
536
|
this.addSection_(MessageIds.LANGUAGE_SECTION_HEADER, docLink)
|
|
479
537
|
.addTextInput_(MessageIds.AUDIO_LANGUAGE, 'preferredAudioLanguage')
|
|
538
|
+
.addTextInput_(MessageIds.AUDIO_LABEL, 'preferredAudioLabel')
|
|
480
539
|
.addTextInput_(MessageIds.TEXT_LANGUAGE, 'preferredTextLanguage')
|
|
481
540
|
.addTextInput_(MessageIds.TEXT_ROLE, 'preferredTextRole')
|
|
482
541
|
.addSelectInput_(
|
package/demo/customWarning.txt
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Note: This auto-filled issue template contains the manifest and license server
|
|
3
3
|
of the asset you were playing at the time you pressed the bug report button.
|
|
4
4
|
We have detected that you were playing a custom asset.
|
|
5
|
-
If this asset's URL is confidential, you might instead want to
|
|
6
|
-
template manually:
|
|
5
|
+
If this asset's URL is confidential, you might instead want to censor this or
|
|
6
|
+
fill out an issue template manually:
|
|
7
7
|
https://github.com/shaka-project/shaka-player/issues/new/choose
|
|
8
8
|
-->
|
package/demo/index.html
CHANGED
|
@@ -38,6 +38,8 @@
|
|
|
38
38
|
<script defer src="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>
|
|
39
39
|
<!-- transmuxing support is enabled by including this: -->
|
|
40
40
|
<script defer src="../node_modules/mux.js/dist/mux.min.js"></script>
|
|
41
|
+
<!-- MSS support is enabled by including this: -->
|
|
42
|
+
<script defer src="../node_modules/codem-isoboxer/dist/iso_boxer.min.js"></script>
|
|
41
43
|
<!-- MPEG-5 Part2 LCEVC support is enabled by including this: -->
|
|
42
44
|
<script defer src="../node_modules/lcevc_dil.js/dist/lcevc_dil.min.js"></script>
|
|
43
45
|
<!-- MDL is enabled by including this: -->
|
|
@@ -128,7 +130,7 @@ UNCOMPILED_JS = [
|
|
|
128
130
|
</div>
|
|
129
131
|
<main class="mdl-layout__content" id="main-div">
|
|
130
132
|
<div id="video-bar" class="hidden">
|
|
131
|
-
<div data-shaka-player-container data-shaka-player-cast-receiver-id="
|
|
133
|
+
<div data-shaka-player-container data-shaka-player-cast-receiver-id="07AEE832" class="video-container">
|
|
132
134
|
<video data-shaka-player autoplay playsinline id="video"></video>
|
|
133
135
|
</div>
|
|
134
136
|
</div>
|
package/demo/locales/en.json
CHANGED
|
@@ -5,12 +5,14 @@
|
|
|
5
5
|
"DEMO_AD_SEARCH": "Filters for assets that have advertisements.",
|
|
6
6
|
"DEMO_AD_TAG_URL": "Ad Tag URL",
|
|
7
7
|
"DEMO_ADS_TAB": "Ads",
|
|
8
|
+
"DEMO_ADS_SECTION_HEADER": "Ads",
|
|
8
9
|
"DEMO_ALL_CONTENT": "ALL CONTENT",
|
|
9
10
|
"DEMO_ALWAYS_STREAM_TEXT": "Always Stream Text",
|
|
10
11
|
"DEMO_ALWAYS_STREAM_TEXT_WARNING": "Text must always be streamed while native controls are enabled, for captions to work.",
|
|
11
12
|
"DEMO_APPLE": "Apple",
|
|
12
13
|
"DEMO_AUDIO_CHANNEL_COUNT": "Preferred Audio Channel Count",
|
|
13
14
|
"DEMO_AUDIO_LANGUAGE": "Preferred Audio Language",
|
|
15
|
+
"DEMO_AUDIO_LABEL": "Preferred Audio Label",
|
|
14
16
|
"DEMO_AUDIO_ONLY": "Audio only",
|
|
15
17
|
"DEMO_AUDIO_ONLY_SEARCH": "Filters for assets that do not have video streams.",
|
|
16
18
|
"DEMO_AUDIO_ROBUSTNESS": "Audio Robustness",
|
|
@@ -38,6 +40,7 @@
|
|
|
38
40
|
"DEMO_CLEAR": "No DRM protection",
|
|
39
41
|
"DEMO_CLEAR_KEY": "Clear Key DRM",
|
|
40
42
|
"DEMO_CLOCK_SYNC_URI": "Clock Sync URI",
|
|
43
|
+
"DEMO_CLEAR_BUFFER_SWITCH": "Clear video buffer on abr rendition switch",
|
|
41
44
|
"DEMO_CMCD_SECTION_HEADER": "CMCD",
|
|
42
45
|
"DEMO_COMPILED_DEBUG": "Compiled (Debug)",
|
|
43
46
|
"DEMO_COMPILED_RELEASE": "Compiled (Release)",
|
|
@@ -51,8 +54,10 @@
|
|
|
51
54
|
"DEMO_CUSTOM_INTRO_ONE": "Try Shaka Player with your own content!",
|
|
52
55
|
"DEMO_CUSTOM_INTRO_THREE": "Custom assets will remain even after reloading the page.",
|
|
53
56
|
"DEMO_CUSTOM_INTRO_TWO": "Press the button below to add a custom asset.",
|
|
57
|
+
"DEMO_CUSTOM_PLAYHEAD_TRACKER": "Custom playhead tracker",
|
|
54
58
|
"DEMO_DASH": "DASH",
|
|
55
59
|
"DEMO_DASH_IF": "DASH-IF",
|
|
60
|
+
"DEMO_DASH_SEQUENCE_MODE": "Enable DASH sequence mode",
|
|
56
61
|
"DEMO_DEFAULT_AUDIO_CODEC": "Default Audio Codec",
|
|
57
62
|
"DEMO_DEFAULT_PRESENTATION_DELAY": "Default Presentation Delay",
|
|
58
63
|
"DEMO_DEFAULT_VIDEO_CODEC": "Default Video Codec",
|
|
@@ -83,13 +88,21 @@
|
|
|
83
88
|
"DEMO_FAST_HALF_LIFE": "Fast half life",
|
|
84
89
|
"DEMO_FORCE_HTTPS": "Force HTTPS",
|
|
85
90
|
"DEMO_FORCE_TRANSMUX": "Force Transmux",
|
|
91
|
+
"DEMO_INSERT_FAKE_ENCRYPTION_IN_INIT": "Insert fake encryption in init segments when needed by the platform.",
|
|
86
92
|
"DEMO_FRONT_INTRO_DISMISS": "Dismiss",
|
|
87
93
|
"DEMO_FRONT_INTRO_ONE": "This is a demo of Google's Shaka Player, a JavaScript library for adaptive video streaming.",
|
|
88
94
|
"DEMO_FRONT_INTRO_TWO": "Choose a video to playback; more assets are available via the \"all content\" tab.",
|
|
89
95
|
"DEMO_FUZZ_FACTOR": "Fuzz Factor",
|
|
90
96
|
"DEMO_GAP_DETECTION_THRESHOLD": "Gap detection threshold",
|
|
97
|
+
"DEMO_GAP_JUMP_TIMER_TIME": "Gap jump timer time",
|
|
91
98
|
"DEMO_GPAC": "GPAC",
|
|
92
99
|
"DEMO_HEADERS_TAB": "Headers",
|
|
100
|
+
"DEMO_HDR_LEVEL": "Preferred HDR Level",
|
|
101
|
+
"DEMO_HDR_LEVEL_AUTO": "Auto Detect",
|
|
102
|
+
"DEMO_HDR_LEVEL_HLG": "HLG",
|
|
103
|
+
"DEMO_HDR_LEVEL_NONE": "No Preference",
|
|
104
|
+
"DEMO_HDR_LEVEL_PQ": "PQ",
|
|
105
|
+
"DEMO_HDR_LEVEL_SDR": "SDR",
|
|
93
106
|
"DEMO_HIGH_DEFINITION": "High definition",
|
|
94
107
|
"DEMO_HIGH_DEFINITION_SEARCH": "Filters for assets with at least one high-definition video stream.",
|
|
95
108
|
"DEMO_HLS": "HLS",
|
|
@@ -108,6 +121,7 @@
|
|
|
108
121
|
"DEMO_IMA_MANIFEST_TYPE": "Manifest type (for DAI Content)",
|
|
109
122
|
"DEMO_IMA_VIDEO_ID": "Video ID (for VOD DAI Content)",
|
|
110
123
|
"DEMO_IGNORE_MANIFEST_PROGRAM_DATE_TIME": "Ignore Program Date Time from manifest",
|
|
124
|
+
"DEMO_IGNORE_MANIFEST_TIMESTAMPS_IN_SEGMENTS_MODE": "Ignore Manifest Timestamps in Segments Mode",
|
|
111
125
|
"DEMO_IGNORE_MIN_BUFFER_TIME": "Ignore Min Buffer Time",
|
|
112
126
|
"DEMO_IGNORE_TEXT_FAILURES": "Ignore Text Stream Failures",
|
|
113
127
|
"DEMO_INACCURATE_MANIFEST_TOLERANCE": "Inaccurate Manifest Tolerance",
|
|
@@ -121,6 +135,7 @@
|
|
|
121
135
|
"DEMO_LCEVC_DYNAMIC_PERFORMANCE_SCALING": "LCEVC Dynamic Performance scaling",
|
|
122
136
|
"DEMO_LCEVC_LOG_LEVEL": "LCEVC Log Level",
|
|
123
137
|
"DEMO_LCEVC_SECTION_HEADER": "MPEG-5 Part-2 LCEVC",
|
|
138
|
+
"DEMO_LOW_LATENCY_STREAM": "Low Latency Streams",
|
|
124
139
|
"DEMO_LIBRARIES": "Google Hosted Libraries",
|
|
125
140
|
"DEMO_LICENSE": "Apache License",
|
|
126
141
|
"DEMO_LICENSE_CERTIFICATE_URL": "Custom License Certificate URL",
|
|
@@ -131,6 +146,9 @@
|
|
|
131
146
|
"DEMO_LIVE": "Live",
|
|
132
147
|
"DEMO_LIVE_SEARCH": "Live",
|
|
133
148
|
"DEMO_LIVE_SEGMENTS_DELAY": "Live segments delay",
|
|
149
|
+
"DEMO_LIVE_SYNC": "Live sync",
|
|
150
|
+
"DEMO_LIVE_SYNC_MAX_LATENCY":"Max latency for live sync",
|
|
151
|
+
"DEMO_LIVE_SYNC_PLAYBACK_RATE":"Playback rate for live sync",
|
|
134
152
|
"DEMO_LOG_LEVEL": "Log Level",
|
|
135
153
|
"DEMO_LOG_LEVEL_DEBUG": "Debug",
|
|
136
154
|
"DEMO_LOG_LEVEL_INFO": "Info",
|
|
@@ -157,6 +175,7 @@
|
|
|
157
175
|
"DEMO_MIME_TYPE": "MIME Type",
|
|
158
176
|
"DEMO_MIN_BANDWIDTH": "Min Bandwidth",
|
|
159
177
|
"DEMO_MIN_BYTES": "Min Bytes",
|
|
178
|
+
"DEMO_MIN_HDCP_VERSION": "Min HDCP version",
|
|
160
179
|
"DEMO_MIN_FRAMERATE": "Min Framerate",
|
|
161
180
|
"DEMO_MIN_HEIGHT": "Min Height",
|
|
162
181
|
"DEMO_MIN_PIXELS": "Min Pixels",
|
|
@@ -164,6 +183,8 @@
|
|
|
164
183
|
"DEMO_MIN_WIDTH": "Min Width",
|
|
165
184
|
"DEMO_MP2TS": "MPEG-2 TS",
|
|
166
185
|
"DEMO_MP4": "MP4",
|
|
186
|
+
"DEMO_MSS": "MSS",
|
|
187
|
+
"DEMO_MSS_SEQUENCE_MODE": "Enable MSS sequence mode",
|
|
167
188
|
"DEMO_MULTIPLE_LANGUAGES": "Multiple languages",
|
|
168
189
|
"DEMO_NAME": "Name",
|
|
169
190
|
"DEMO_NAME_ERROR": "Must be a unique name.",
|
|
@@ -183,6 +204,7 @@
|
|
|
183
204
|
"DEMO_FAILURE_MISC": "Shaka Player failed to load! If you are using an ad blocker, try switching to compiled mode at the bottom of the page.",
|
|
184
205
|
"DEMO_FAILURE_NO_BROWSER_SUPPORT": "Your browser is not supported!",
|
|
185
206
|
"DEMO_HLS_FULL_MIME_TYPE": "Full Mime Type for Playing Media Playlists Directly",
|
|
207
|
+
"DEMO_HLS_SEQUENCE_MODE": "Enable HLS sequence mode",
|
|
186
208
|
"DEMO_PLAY": "Play",
|
|
187
209
|
"DEMO_PLAYREADY": "PlayReady DRM",
|
|
188
210
|
"DEMO_PREFER_FORCED_SUBS": "Prefer Forced Subs",
|
|
@@ -195,10 +217,10 @@
|
|
|
195
217
|
"DEMO_RESTRICT_TO_ELEMENT_SIZE": "Restrict to element size",
|
|
196
218
|
"DEMO_RESTRICT_TO_SCREEN_SIZE": "Restrict to screen size",
|
|
197
219
|
"DEMO_RESTRICTIONS_SECTION_HEADER": "Restrictions",
|
|
220
|
+
"DEMO_SAFE_MARGIN_SWITCH": "Safe margin on abr switch rendition",
|
|
198
221
|
"DEMO_SAFE_SEEK_OFFSET": "Safe Seek Offset",
|
|
199
222
|
"DEMO_SAFE_SKIP_DISTANCE": "Safe Skip Distance",
|
|
200
223
|
"DEMO_SEGMENT_RELATIVE_VTT_TIMING": "Enable segment-relative VTT Timing",
|
|
201
|
-
"DEMO_SEQUENCE_MODE": "Enable sequence mode",
|
|
202
224
|
"DEMO_SESSION_ID": "Session ID",
|
|
203
225
|
"DEMO_SAVE_BUTTON": "Save",
|
|
204
226
|
"DEMO_SHAKA": "Shaka",
|
|
@@ -241,6 +263,7 @@
|
|
|
241
263
|
"DEMO_UNSUPPORTED_NO_HLS_SUPPORT": "Your browser does not support HLS manifests.",
|
|
242
264
|
"DEMO_UNSUPPORTED_NO_KEY_SUPPORT": "Your browser does not support the required key systems.",
|
|
243
265
|
"DEMO_UNSUPPORTED_NO_LICENSE_SUPPORT": "Your browser does not support offline licenses for the required key systems.",
|
|
266
|
+
"DEMO_UNSUPPORTED_NO_MSS_SUPPORT": "Your browser does not support MSS manifests.",
|
|
244
267
|
"DEMO_UNSUPPORTED_NO_OFFLINE": "Your browser does not support offline storage.",
|
|
245
268
|
"DEMO_UPDATE_EXPIRATION_TIME": "Update expiration time",
|
|
246
269
|
"DEMO_UPDATE_INTERVAL_SECONDS": "Update interval seconds",
|
|
@@ -259,5 +282,6 @@
|
|
|
259
282
|
"DEMO_WIDEVINE": "Widevine DRM",
|
|
260
283
|
"DEMO_XLINK": "XLink",
|
|
261
284
|
"DEMO_XLINK_FAIL_GRACEFULLY": "Xlink Should Fail Gracefully",
|
|
262
|
-
"DEMO_XLINK_SEARCH": "Filters for assets that have XLINK tags in their manifests, so that they can be broken into multiple files."
|
|
285
|
+
"DEMO_XLINK_SEARCH": "Filters for assets that have XLINK tags in their manifests, so that they can be broken into multiple files.",
|
|
286
|
+
"DEMO_SEGMENT_PREFETCH_LIMIT": "Segment Prefetch Limit"
|
|
263
287
|
}
|