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
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
|
}
|
package/demo/main.js
CHANGED
|
@@ -296,7 +296,32 @@ shakaDemo.Main = class {
|
|
|
296
296
|
text = text.replace(replaceString, value);
|
|
297
297
|
};
|
|
298
298
|
fillInTemplate('RE:player', shaka.Player.version);
|
|
299
|
-
|
|
299
|
+
if (this.selectedAsset) {
|
|
300
|
+
const uriLines = [];
|
|
301
|
+
const addLine = (key, value) => {
|
|
302
|
+
uriLines.push(key + '= `' + value + '`');
|
|
303
|
+
};
|
|
304
|
+
addLine('uri', this.selectedAsset.manifestUri);
|
|
305
|
+
if (this.selectedAsset.adTagUri) {
|
|
306
|
+
addLine('ad tag uri', this.selectedAsset.adTagUri);
|
|
307
|
+
}
|
|
308
|
+
if (this.selectedAsset.licenseServers.size) {
|
|
309
|
+
const uri = this.selectedAsset.licenseServers.values().next().value;
|
|
310
|
+
addLine('license server', uri);
|
|
311
|
+
for (const drmSystem of this.selectedAsset.licenseServers.keys()) {
|
|
312
|
+
if (!shakaDemo.Main.commonDrmSystems.includes(drmSystem)) {
|
|
313
|
+
addLine('drm system', drmSystem);
|
|
314
|
+
break;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
if (this.selectedAsset.certificateUri) {
|
|
319
|
+
addLine('certificate', this.selectedAsset.certificateUri);
|
|
320
|
+
}
|
|
321
|
+
fillInTemplate('RE:uris', uriLines.join('\n'));
|
|
322
|
+
} else {
|
|
323
|
+
fillInTemplate('RE:uris', 'No asset');
|
|
324
|
+
}
|
|
300
325
|
fillInTemplate('RE:browser', navigator.userAgent);
|
|
301
326
|
if (this.selectedAsset &&
|
|
302
327
|
this.selectedAsset.source == shakaAssets.Source.CUSTOM) {
|
|
@@ -308,11 +333,14 @@ shakaDemo.Main = class {
|
|
|
308
333
|
fillInTemplate('RE:customwarning\n', '');
|
|
309
334
|
}
|
|
310
335
|
|
|
336
|
+
const urlTerms = [];
|
|
337
|
+
urlTerms.push('labels=type%3A+bug');
|
|
338
|
+
urlTerms.push('body=' + encodeURIComponent(text));
|
|
339
|
+
const url = 'https://github.com/shaka-project/shaka-player/issues/new?' +
|
|
340
|
+
urlTerms.join('&');
|
|
341
|
+
|
|
311
342
|
// Navigate to the github issue opening interface, with the
|
|
312
|
-
// partially-filled template as a preset body.
|
|
313
|
-
let url = 'https://github.com/shaka-project/shaka-player/issues/new?';
|
|
314
|
-
url += 'body=' + encodeURIComponent(text);
|
|
315
|
-
// Open in another tab.
|
|
343
|
+
// partially-filled template as a preset body, opening in another tab.
|
|
316
344
|
window.open(url, '_blank');
|
|
317
345
|
}
|
|
318
346
|
|
|
@@ -743,6 +771,10 @@ shakaDemo.Main = class {
|
|
|
743
771
|
!this.support_.manifest['m3u8']) {
|
|
744
772
|
return shakaDemo.MessageIds.UNSUPPORTED_NO_HLS_SUPPORT;
|
|
745
773
|
}
|
|
774
|
+
if (asset.features.includes(shakaAssets.Feature.MSS) &&
|
|
775
|
+
!this.support_.manifest['ism']) {
|
|
776
|
+
return shakaDemo.MessageIds.UNSUPPORTED_NO_MSS_SUPPORT;
|
|
777
|
+
}
|
|
746
778
|
|
|
747
779
|
// Does the asset contain a playable mime type?
|
|
748
780
|
const mimeTypes = [];
|
|
@@ -1185,6 +1217,10 @@ shakaDemo.Main = class {
|
|
|
1185
1217
|
if (document.pictureInPictureElement) {
|
|
1186
1218
|
document.exitPictureInPicture();
|
|
1187
1219
|
}
|
|
1220
|
+
if (window.documentPictureInPicture &&
|
|
1221
|
+
window.documentPictureInPicture.window) {
|
|
1222
|
+
window.documentPictureInPicture.window.close();
|
|
1223
|
+
}
|
|
1188
1224
|
this.player_.unload();
|
|
1189
1225
|
|
|
1190
1226
|
// The currently-selected asset changed, so update asset cards.
|
|
@@ -1219,9 +1255,8 @@ shakaDemo.Main = class {
|
|
|
1219
1255
|
// Remove all not-player-applied configurations, by resetting the
|
|
1220
1256
|
// configuration then re-applying the desired configuration.
|
|
1221
1257
|
this.player_.resetConfiguration();
|
|
1222
|
-
this.
|
|
1258
|
+
this.readHash_();
|
|
1223
1259
|
this.player_.configure(assetConfig);
|
|
1224
|
-
// This uses Player.configure so as to not change |this.desiredConfig_|.
|
|
1225
1260
|
}
|
|
1226
1261
|
|
|
1227
1262
|
const config = storage ?
|
|
@@ -1323,6 +1358,15 @@ shakaDemo.Main = class {
|
|
|
1323
1358
|
this.video_.poster = shakaDemo.Main.audioOnlyPoster_;
|
|
1324
1359
|
}
|
|
1325
1360
|
|
|
1361
|
+
for (const extraText of asset.extraText) {
|
|
1362
|
+
this.player_.addTextTrackAsync(extraText.uri, extraText.language,
|
|
1363
|
+
extraText.kind, extraText.mime, extraText.codecs);
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
for (const extraThumbnail of asset.extraThumbnail) {
|
|
1367
|
+
this.player_.addThumbnailsTrack(extraThumbnail);
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1326
1370
|
// If the asset has an ad tag attached to it, load the ads
|
|
1327
1371
|
const adManager = this.player_.getAdManager();
|
|
1328
1372
|
if (adManager && asset.adTagUri) {
|
|
@@ -1331,7 +1375,8 @@ shakaDemo.Main = class {
|
|
|
1331
1375
|
// If that happens, just proceed to load.
|
|
1332
1376
|
goog.asserts.assert(this.video_ != null, 'this.video should exist!');
|
|
1333
1377
|
adManager.initClientSide(
|
|
1334
|
-
this.controls_.getClientSideAdContainer(), this.video_
|
|
1378
|
+
this.controls_.getClientSideAdContainer(), this.video_,
|
|
1379
|
+
/** adsRenderingSettings= **/ null);
|
|
1335
1380
|
const adRequest = new google.ima.AdsRequest();
|
|
1336
1381
|
adRequest.adTagUrl = asset.adTagUri;
|
|
1337
1382
|
adManager.requestClientSideAds(adRequest);
|
|
@@ -1387,7 +1432,10 @@ shakaDemo.Main = class {
|
|
|
1387
1432
|
// NaN != NaN, so there has to be a special check for it to prevent
|
|
1388
1433
|
// false positives.
|
|
1389
1434
|
const bothAreNaN = isNaN(currentValue) && isNaN(defaultValue);
|
|
1390
|
-
|
|
1435
|
+
// Strings count as NaN too, so check for them specifically.
|
|
1436
|
+
const bothAreStrings = (typeof currentValue) == 'string' &&
|
|
1437
|
+
(typeof defaultValue) == 'string';
|
|
1438
|
+
if (currentValue != defaultValue && (!bothAreNaN || bothAreStrings)) {
|
|
1391
1439
|
// Don't bother saving in the hash unless it's a non-default value.
|
|
1392
1440
|
params.push(hashName + '=' + currentValue);
|
|
1393
1441
|
}
|
package/demo/search.js
CHANGED
|
@@ -359,7 +359,7 @@ shakaDemo.Search = class {
|
|
|
359
359
|
/* docLink= */ null);
|
|
360
360
|
this.makeSelectInput_(coreContainer,
|
|
361
361
|
shakaDemo.MessageIds.MANIFEST_SEARCH,
|
|
362
|
-
[Feature.DASH, Feature.HLS], FEATURE);
|
|
362
|
+
[Feature.DASH, Feature.HLS, Feature.MSS], FEATURE);
|
|
363
363
|
this.makeSelectInput_(coreContainer,
|
|
364
364
|
shakaDemo.MessageIds.CONTAINER_SEARCH,
|
|
365
365
|
[Feature.MP4, Feature.MP2TS, Feature.WEBM, Feature.CONTAINERLESS],
|
|
@@ -403,6 +403,8 @@ shakaDemo.Search = class {
|
|
|
403
403
|
shakaDemo.MessageIds.THUMBNAILS);
|
|
404
404
|
this.makeBooleanInput_(specialContainer, Feature.LCEVC, FEATURE,
|
|
405
405
|
shakaDemo.MessageIds.LCEVC);
|
|
406
|
+
this.makeBooleanInput_(specialContainer, Feature.LOW_LATENCY_STREAM,
|
|
407
|
+
FEATURE, shakaDemo.MessageIds.LOW_LATENCY_STREAM);
|
|
406
408
|
|
|
407
409
|
container.appendChild(this.resultsDiv_);
|
|
408
410
|
}
|
package/demo/service_worker.js
CHANGED
|
@@ -95,6 +95,9 @@ const OPTIONAL_RESOURCES = [
|
|
|
95
95
|
// The mux.js transmuxing library for MPEG-2 TS and CEA support.
|
|
96
96
|
'../node_modules/mux.js/dist/mux.min.js',
|
|
97
97
|
|
|
98
|
+
// The codem-isoboxer library for MSS support.
|
|
99
|
+
'../node_modules/codem-isoboxer/dist/iso_boxer.min.js',
|
|
100
|
+
|
|
98
101
|
// The cast sender SDK.
|
|
99
102
|
'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js',
|
|
100
103
|
|
package/dist/controls.css
CHANGED
|
@@ -51,4 +51,4 @@
|
|
|
51
51
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
52
52
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
53
53
|
* SOFTWARE.
|
|
54
|
-
*/.shaka-tooltips-on{overflow:visible}.shaka-tooltips-on>[class*=shaka-tooltip]{position:relative}.shaka-tooltips-on>[class*=shaka-tooltip]:active:after,.shaka-tooltips-on>[class*=shaka-tooltip]:focus-visible:after,.shaka-tooltips-on>[class*=shaka-tooltip]:hover:after{content:attr(aria-label);font-family:Roboto-Regular,Roboto,sans-serif;line-height:calc(32px / 2);white-space:nowrap;font-size:13px;background:rgba(35 35 35 / 90%);color:#fff;border-radius:3px;padding:5px 10px;position:absolute;bottom:calc(32px + 5px);left:calc(32px / 2);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.shaka-tooltips-on>.shaka-tooltip-status:active:after,.shaka-tooltips-on>.shaka-tooltip-status:focus-visible:after,.shaka-tooltips-on>.shaka-tooltip-status:hover:after{content:attr(aria-label) " (" attr(shaka-status) ")"}.shaka-tooltips-on button:first-child:active:after,.shaka-tooltips-on button:first-child:focus-visible:after,.shaka-tooltips-on button:first-child:hover:after{left:0;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}.shaka-tooltips-on button:last-child:active:after,.shaka-tooltips-on button:last-child:focus-visible:after,.shaka-tooltips-on button:last-child:hover:after{left:32px;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%)}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxP.ttf) format('truetype')}@font-face{font-family:'Material Icons Round';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsround/v108/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmM.otf) format('opentype')}.material-icons-round{font-family:'Material Icons Round';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}/*# sourceMappingURL=controls.css.map */
|
|
54
|
+
*/.shaka-tooltips-on{overflow:visible}.shaka-tooltips-on>[class*=shaka-tooltip]{position:relative}.shaka-tooltips-on>[class*=shaka-tooltip]:active:after,.shaka-tooltips-on>[class*=shaka-tooltip]:focus-visible:after,.shaka-tooltips-on>[class*=shaka-tooltip]:hover:after{content:attr(aria-label);font-family:Roboto-Regular,Roboto,sans-serif;line-height:calc(32px / 2);white-space:nowrap;font-size:13px;background:rgba(35 35 35 / 90%);color:#fff;border-radius:3px;padding:5px 10px;position:absolute;bottom:calc(32px + 5px);left:calc(32px / 2);-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.shaka-tooltips-on>.shaka-tooltip-status:active:after,.shaka-tooltips-on>.shaka-tooltip-status:focus-visible:after,.shaka-tooltips-on>.shaka-tooltip-status:hover:after{content:attr(aria-label) " (" attr(shaka-status) ")"}.shaka-tooltips-on button:first-child:active:after,.shaka-tooltips-on button:first-child:focus-visible:after,.shaka-tooltips-on button:first-child:hover:after{left:0;-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0)}.shaka-tooltips-on button:last-child:active:after,.shaka-tooltips-on button:last-child:focus-visible:after,.shaka-tooltips-on button:last-child:hover:after{left:32px;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%)}#shaka-player-ui-thumbnail-container{background-color:#000;border:1px solid #000;box-shadow:0 8px 8px 0 rgba(0,0,0,.5);min-width:150px;overflow:hidden;position:absolute;visibility:hidden;width:15%;z-index:1}#shaka-player-ui-thumbnail-container #shaka-player-ui-thumbnail-image{position:absolute}#shaka-player-ui-thumbnail-container #shaka-player-ui-thumbnail-time{background-color:rgba(0,0,0,.5);bottom:0;color:#fff;font-size:16px;left:0;position:absolute;right:0;text-align:center}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxP.ttf) format('truetype')}@font-face{font-family:'Material Icons Round';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsround/v108/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmM.otf) format('opentype')}.material-icons-round{font-family:'Material Icons Round';font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr}/*# sourceMappingURL=controls.css.map */
|
package/dist/controls.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["$stdin"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["$stdin"],"names":[],"mappings":"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"}
|