shaka-player 4.3.10 → 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/release-please.yaml +7 -0
- package/AUTHORS +9 -0
- package/CHANGELOG.md +295 -200
- 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 +53 -3
- 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 +52 -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 +124 -112
- package/dist/demo.compiled.debug.map +3 -3
- package/dist/demo.compiled.js +124 -112
- package/dist/demo.compiled.map +3 -3
- package/dist/deps.js +46 -28
- package/dist/locales.js +28 -28
- package/dist/receiver.compiled.debug.js +52 -46
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +52 -46
- 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 +1045 -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 +1100 -739
- 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 +13 -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 +79 -3
- 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 +17 -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 +3 -1
- 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_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/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 +11 -1
- 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 +223 -0
- package/ui/ui.js +5 -0
- package/lib/cea/i_caption_decoder.js +0 -51
- package/lib/cea/i_cea_parser.js +0 -68
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
|
}
|
package/demo/locales/source.json
CHANGED
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
"description": "The header for a tab within the custom asset creation dialog.",
|
|
16
16
|
"message": "Ads"
|
|
17
17
|
},
|
|
18
|
+
"DEMO_ADS_SECTION_HEADER": {
|
|
19
|
+
"description": "The header for a section of configuration values.",
|
|
20
|
+
"message": "Ads"
|
|
21
|
+
},
|
|
18
22
|
"DEMO_AD_SEARCH": {
|
|
19
23
|
"description": "A tooltip for an optional search term.",
|
|
20
24
|
"message": "Filters for assets that have advertisements."
|
|
@@ -47,6 +51,10 @@
|
|
|
47
51
|
"description": "The name of a configuration value.",
|
|
48
52
|
"message": "Preferred Audio Language"
|
|
49
53
|
},
|
|
54
|
+
"DEMO_AUDIO_LABEL": {
|
|
55
|
+
"description": "The name of a configuration value.",
|
|
56
|
+
"message": "Preferred Audio Label"
|
|
57
|
+
},
|
|
50
58
|
"DEMO_AUDIO_ONLY": {
|
|
51
59
|
"description": "A tag that marks an asset as having multiple languages.",
|
|
52
60
|
"message": "Audio only"
|
|
@@ -155,6 +163,10 @@
|
|
|
155
163
|
"description": "The name of a configuration value.",
|
|
156
164
|
"message": "Clock Sync URI"
|
|
157
165
|
},
|
|
166
|
+
"DEMO_CLEAR_BUFFER_SWITCH": {
|
|
167
|
+
"description": "Clear video buffer on abr rendition switch.",
|
|
168
|
+
"message": "Clear buffer"
|
|
169
|
+
},
|
|
158
170
|
"DEMO_CMCD_SECTION_HEADER": {
|
|
159
171
|
"description": "The header for a section of configuration values.",
|
|
160
172
|
"message": "[JARGON:CMCD]"
|
|
@@ -207,6 +219,10 @@
|
|
|
207
219
|
"description": "The second part of a message instructing users on how to add custom content.",
|
|
208
220
|
"message": "Press the button below to add a custom asset."
|
|
209
221
|
},
|
|
222
|
+
"DEMO_CUSTOM_PLAYHEAD_TRACKER": {
|
|
223
|
+
"description": "The name of a configuration value.",
|
|
224
|
+
"message": "Custom playhead tracker"
|
|
225
|
+
},
|
|
210
226
|
"DEMO_DASH": {
|
|
211
227
|
"description": "Text that describes an asset that is packaged in a DASH manifest.",
|
|
212
228
|
"message": "[PROPER_NAME:DASH]"
|
|
@@ -215,6 +231,10 @@
|
|
|
215
231
|
"description": "Text that describes an asset that comes from the Dash Industry Forum asset library.",
|
|
216
232
|
"message": "[PROPER_NAME:DASH-IF]"
|
|
217
233
|
},
|
|
234
|
+
"DEMO_DASH_SEQUENCE_MODE": {
|
|
235
|
+
"description": "The name of a configuration value.",
|
|
236
|
+
"message": "Enable DASH sequence mode"
|
|
237
|
+
},
|
|
218
238
|
"DEMO_DEFAULT_AUDIO_CODEC": {
|
|
219
239
|
"description": "The name of a configuration value.",
|
|
220
240
|
"message": "Default Audio Codec"
|
|
@@ -335,6 +355,10 @@
|
|
|
335
355
|
"description": "The name of a configuration value.",
|
|
336
356
|
"message": "Force Transmux"
|
|
337
357
|
},
|
|
358
|
+
"DEMO_INSERT_FAKE_ENCRYPTION_IN_INIT": {
|
|
359
|
+
"description": "The name of a configuration value.",
|
|
360
|
+
"message": "Insert fake encryption in init segments when needed by the platform."
|
|
361
|
+
},
|
|
338
362
|
"DEMO_FRONT_INTRO_DISMISS": {
|
|
339
363
|
"description": "A button allowing users to dismiss the intro message.",
|
|
340
364
|
"message": "Dismiss"
|
|
@@ -355,6 +379,10 @@
|
|
|
355
379
|
"description": "The name of a configuration value.",
|
|
356
380
|
"message": "Gap detection threshold"
|
|
357
381
|
},
|
|
382
|
+
"DEMO_GAP_JUMP_TIMER_TIME": {
|
|
383
|
+
"description": "The name of a configuration value.",
|
|
384
|
+
"message": "Gap jump timer time"
|
|
385
|
+
},
|
|
358
386
|
"DEMO_GPAC": {
|
|
359
387
|
"description": "Text that describes an asset that comes from the GPAC project asset library.",
|
|
360
388
|
"message": "[PROPER_NAME:GPAC]"
|
|
@@ -363,6 +391,30 @@
|
|
|
363
391
|
"description": "The header for a tab within the custom asset creation dialog.",
|
|
364
392
|
"message": "Headers"
|
|
365
393
|
},
|
|
394
|
+
"DEMO_HDR_LEVEL": {
|
|
395
|
+
"description": "The name of a configuration value.",
|
|
396
|
+
"message": "Preferred HDR Level"
|
|
397
|
+
},
|
|
398
|
+
"DEMO_HDR_LEVEL_AUTO": {
|
|
399
|
+
"description": "The name of a configuration value.",
|
|
400
|
+
"message": "Auto Detect"
|
|
401
|
+
},
|
|
402
|
+
"DEMO_HDR_LEVEL_HLG": {
|
|
403
|
+
"description": "The name of a configuration value.",
|
|
404
|
+
"message": "[PROPER_NAME:HLG]"
|
|
405
|
+
},
|
|
406
|
+
"DEMO_HDR_LEVEL_NONE": {
|
|
407
|
+
"description": "The name of a configuration value.",
|
|
408
|
+
"message": "No Preference"
|
|
409
|
+
},
|
|
410
|
+
"DEMO_HDR_LEVEL_PQ": {
|
|
411
|
+
"description": "The name of a configuration value.",
|
|
412
|
+
"message": "[PROPER_NAME:PQ]"
|
|
413
|
+
},
|
|
414
|
+
"DEMO_HDR_LEVEL_SDR": {
|
|
415
|
+
"description": "The name of a configuration value.",
|
|
416
|
+
"message": "[PROPER_NAME:SDR]"
|
|
417
|
+
},
|
|
366
418
|
"DEMO_HIGH_DEFINITION": {
|
|
367
419
|
"description": "Text that describes an asset that has a high definition video stream.",
|
|
368
420
|
"message": "High definition"
|
|
@@ -375,6 +427,10 @@
|
|
|
375
427
|
"description": "Text that describes an asset that is packaged in an HLS manifest.",
|
|
376
428
|
"message": "[PROPER_NAME:HLS]"
|
|
377
429
|
},
|
|
430
|
+
"DEMO_HLS_SEQUENCE_MODE": {
|
|
431
|
+
"description": "The name of a configuration value.",
|
|
432
|
+
"message": "Enable HLS sequence mode"
|
|
433
|
+
},
|
|
378
434
|
"DEMO_HLS_TAB": {
|
|
379
435
|
"description": "The header for a tab within the custom asset creation dialog.",
|
|
380
436
|
"message": "[PROPER_NAME:HLS]"
|
|
@@ -435,6 +491,10 @@
|
|
|
435
491
|
"description": "The name of a configuration value.",
|
|
436
492
|
"message": "Ignore Program Date Time from manifest"
|
|
437
493
|
},
|
|
494
|
+
"DEMO_IGNORE_MANIFEST_TIMESTAMPS_IN_SEGMENTS_MODE": {
|
|
495
|
+
"description": "The name of a configuration value.",
|
|
496
|
+
"message": "Ignore Manifest Timestamps in Segments Mode"
|
|
497
|
+
},
|
|
438
498
|
"DEMO_IGNORE_MIN_BUFFER_TIME": {
|
|
439
499
|
"description": "The name of a configuration value.",
|
|
440
500
|
"message": "Ignore Min Buffer Time"
|
|
@@ -527,6 +587,18 @@
|
|
|
527
587
|
"description": "The name of a configuration value.",
|
|
528
588
|
"message": "Live segments delay"
|
|
529
589
|
},
|
|
590
|
+
"DEMO_LIVE_SYNC": {
|
|
591
|
+
"description": "The name of a configuration value.",
|
|
592
|
+
"message": "Live sync"
|
|
593
|
+
},
|
|
594
|
+
"DEMO_LIVE_SYNC_MAX_LATENCY": {
|
|
595
|
+
"description": "The name of a configuration value.",
|
|
596
|
+
"message": "Max latency for live sync"
|
|
597
|
+
},
|
|
598
|
+
"DEMO_LIVE_SYNC_PLAYBACK_RATE": {
|
|
599
|
+
"description": "The name of a configuration value.",
|
|
600
|
+
"message": "Playback rate for live sync"
|
|
601
|
+
},
|
|
530
602
|
"DEMO_LOG_LEVEL": {
|
|
531
603
|
"description": "The name of a configuration value.",
|
|
532
604
|
"message": "Log Level"
|
|
@@ -631,6 +703,10 @@
|
|
|
631
703
|
"description": "The name of a configuration value.",
|
|
632
704
|
"message": "Min Bytes"
|
|
633
705
|
},
|
|
706
|
+
"DEMO_MIN_HDCP_VERSION": {
|
|
707
|
+
"description": "The name of a configuration value.",
|
|
708
|
+
"message": "Min HDCP version"
|
|
709
|
+
},
|
|
634
710
|
"DEMO_MIN_FRAMERATE": {
|
|
635
711
|
"description": "The name of a configuration value.",
|
|
636
712
|
"message": "Min Framerate"
|
|
@@ -659,6 +735,14 @@
|
|
|
659
735
|
"description": "Text that describes an asset that uses the MP4 container.",
|
|
660
736
|
"message": "[JARGON:MP4]"
|
|
661
737
|
},
|
|
738
|
+
"DEMO_MSS": {
|
|
739
|
+
"description": "Text that describes an asset that is packaged in an MSS manifest.",
|
|
740
|
+
"message": "[PROPER_NAME:MSS]"
|
|
741
|
+
},
|
|
742
|
+
"DEMO_MSS_SEQUENCE_MODE": {
|
|
743
|
+
"description": "The name of a configuration value.",
|
|
744
|
+
"message": "Enable MSS sequence mode"
|
|
745
|
+
},
|
|
662
746
|
"DEMO_MULTIPLE_LANGUAGES": {
|
|
663
747
|
"description": "A tag that marks an asset as having multiple languages.",
|
|
664
748
|
"message": "Multiple languages"
|
|
@@ -783,6 +867,10 @@
|
|
|
783
867
|
"description": "The header for a section of configuration values.",
|
|
784
868
|
"message": "Restrictions"
|
|
785
869
|
},
|
|
870
|
+
"DEMO_SAFE_MARGIN_SWITCH": {
|
|
871
|
+
"description": "Safe margin on abr switch rendition",
|
|
872
|
+
"message": "safe margin"
|
|
873
|
+
},
|
|
786
874
|
"DEMO_SAFE_SEEK_OFFSET": {
|
|
787
875
|
"description": "The name of a configuration value.",
|
|
788
876
|
"message": "Safe Seek Offset"
|
|
@@ -799,10 +887,6 @@
|
|
|
799
887
|
"description": "The name of a configuration value.",
|
|
800
888
|
"message": "Enable segment-relative VTT Timing"
|
|
801
889
|
},
|
|
802
|
-
"DEMO_SEQUENCE_MODE": {
|
|
803
|
-
"description": "The name of a configuration value.",
|
|
804
|
-
"message": "Enable sequence mode"
|
|
805
|
-
},
|
|
806
890
|
"DEMO_SESSION_ID": {
|
|
807
891
|
"description": "The name of a configuration value.",
|
|
808
892
|
"message": "Session ID"
|
|
@@ -944,29 +1028,33 @@
|
|
|
944
1028
|
"message": "This asset is disabled."
|
|
945
1029
|
},
|
|
946
1030
|
"DEMO_UNSUPPORTED_NO_DASH_SUPPORT": {
|
|
947
|
-
"description": "An error message that shows why an asset cannot be stored
|
|
1031
|
+
"description": "An error message that shows why an asset cannot be stored or played.",
|
|
948
1032
|
"message": "Your browser does not support [PROPER_NAME:MPEG-DASH] manifests."
|
|
949
1033
|
},
|
|
950
1034
|
"DEMO_UNSUPPORTED_NO_DOWNLOAD": {
|
|
951
|
-
"description": "An error message that shows why an asset cannot be stored offline: the asset cannot be downloaded
|
|
1035
|
+
"description": "An error message that shows why an asset cannot be stored offline: the asset cannot be downloaded.",
|
|
952
1036
|
"message": "This asset cannot be downloaded."
|
|
953
1037
|
},
|
|
954
1038
|
"DEMO_UNSUPPORTED_NO_FORMAT_SUPPORT": {
|
|
955
|
-
"description": "An error message that shows why an asset cannot be stored
|
|
1039
|
+
"description": "An error message that shows why an asset cannot be stored or played.",
|
|
956
1040
|
"message": "Your browser does not support the required video format."
|
|
957
1041
|
},
|
|
958
1042
|
"DEMO_UNSUPPORTED_NO_HLS_SUPPORT": {
|
|
959
|
-
"description": "An error message that shows why an asset cannot be stored
|
|
1043
|
+
"description": "An error message that shows why an asset cannot be stored or played.",
|
|
960
1044
|
"message": "Your browser does not support [PROPER_NAME:HLS] manifests."
|
|
961
1045
|
},
|
|
962
1046
|
"DEMO_UNSUPPORTED_NO_KEY_SUPPORT": {
|
|
963
|
-
"description": "An error message that shows why an asset cannot be stored
|
|
1047
|
+
"description": "An error message that shows why an asset cannot be stored or played.",
|
|
964
1048
|
"message": "Your browser does not support the required key systems."
|
|
965
1049
|
},
|
|
966
1050
|
"DEMO_UNSUPPORTED_NO_LICENSE_SUPPORT": {
|
|
967
1051
|
"description": "An error message that shows why an asset cannot be stored offline: the browser cannot store protected content offline.",
|
|
968
1052
|
"message": "Your browser does not support offline licenses for the required key systems."
|
|
969
1053
|
},
|
|
1054
|
+
"DEMO_UNSUPPORTED_NO_MSS_SUPPORT": {
|
|
1055
|
+
"description": "An error message that shows why an asset cannot be stored or played.",
|
|
1056
|
+
"message": "Your browser does not support [PROPER_NAME:MSS] manifests."
|
|
1057
|
+
},
|
|
970
1058
|
"DEMO_UNSUPPORTED_NO_OFFLINE": {
|
|
971
1059
|
"description": "An error message that shows why an asset cannot be stored offline: the browser does not support storing things offline, in general.",
|
|
972
1060
|
"message": "Your browser does not support offline storage."
|
|
@@ -1042,5 +1130,13 @@
|
|
|
1042
1130
|
"DEMO_XLINK_SEARCH": {
|
|
1043
1131
|
"description": "A tooltip for an optional search term.",
|
|
1044
1132
|
"message": "Filters for assets that have [JARGON:XLINK] tags in their manifests, so that they can be broken into multiple files."
|
|
1133
|
+
},
|
|
1134
|
+
"DEMO_SEGMENT_PREFETCH_LIMIT": {
|
|
1135
|
+
"description": "Max number of segments to be prefetched ahead of current time position.",
|
|
1136
|
+
"message": "Segment Prefetch Limit."
|
|
1137
|
+
},
|
|
1138
|
+
"DEMO_LOW_LATENCY_STREAM": {
|
|
1139
|
+
"description": "A tag that marks an asset as low latency.",
|
|
1140
|
+
"message": "Low Latency stream"
|
|
1045
1141
|
}
|
|
1046
1142
|
}
|