shaka-player 4.4.3 → 4.6.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/ISSUE_TEMPLATE/bug_report.md +1 -1
- package/.github/workflows/release-please.yaml +2 -27
- package/AUTHORS +2 -0
- package/CHANGELOG.md +156 -39
- package/CODE_OF_CONDUCT.md +1 -1
- package/CONTRIBUTORS +2 -0
- package/README.md +54 -42
- package/demo/asset_card.js +18 -21
- package/demo/cast_receiver/index.html +0 -1
- package/demo/close_button.js +0 -3
- package/demo/common/asset.js +33 -22
- package/demo/common/assets.js +249 -60
- package/demo/config.js +219 -253
- package/demo/custom.js +88 -133
- package/demo/front.js +7 -10
- package/demo/index.html +19 -22
- package/demo/input.js +6 -11
- package/demo/input_container.js +8 -9
- package/demo/main.js +62 -126
- package/demo/search.js +29 -34
- package/demo/service_worker.js +0 -3
- package/demo/tooltip.js +3 -5
- package/demo/visualizer.js +3 -5
- package/demo/visualizer_button.js +1 -20
- package/dist/controls.css +1 -1
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +211 -228
- package/dist/demo.compiled.debug.map +4 -4
- package/dist/demo.compiled.js +211 -228
- package/dist/demo.compiled.map +4 -4
- package/dist/deps.js +42 -37
- package/dist/locales.js +34 -30
- package/dist/receiver.compiled.debug.js +64 -77
- package/dist/receiver.compiled.debug.map +4 -4
- package/dist/receiver.compiled.js +64 -77
- package/dist/receiver.compiled.map +4 -4
- package/dist/shaka-player.compiled.d.ts +343 -151
- package/dist/shaka-player.compiled.debug.d.ts +343 -151
- package/dist/shaka-player.compiled.debug.externs.js +356 -117
- package/dist/shaka-player.compiled.debug.js +952 -811
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +356 -117
- package/dist/shaka-player.compiled.js +1165 -1078
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +359 -153
- package/dist/shaka-player.ui.debug.d.ts +359 -153
- package/dist/shaka-player.ui.debug.externs.js +382 -117
- package/dist/shaka-player.ui.debug.js +1084 -918
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +382 -117
- package/dist/shaka-player.ui.js +1377 -1274
- package/dist/shaka-player.ui.map +4 -4
- package/docs/design/lcevc-integration.md +14 -14
- package/docs/tutorials/ad_monetization.md +54 -0
- package/docs/tutorials/basic-usage.md +2 -1
- package/docs/tutorials/errors.md +2 -1
- package/docs/tutorials/faq.md +27 -55
- package/docs/tutorials/index.json +2 -1
- package/docs/tutorials/lcevc.md +118 -0
- package/docs/tutorials/offline.md +10 -8
- package/docs/tutorials/plugins.md +5 -0
- package/docs/tutorials/ui-customization.md +17 -0
- package/docs/tutorials/ui.md +2 -1
- package/docs/tutorials/upgrade.md +3 -0
- package/externs/css_style_declaration.js +19 -0
- package/externs/lcevc.js +37 -13
- package/externs/managedmediasource.js +24 -0
- package/externs/media_remote.js +68 -0
- package/externs/mediatailor.js +193 -0
- package/externs/pictureinpicture.js +11 -0
- package/externs/shaka/abr_manager.js +6 -2
- package/externs/shaka/ads.js +27 -0
- package/externs/shaka/cea.js +7 -0
- package/externs/shaka/codecs.js +5 -3
- package/externs/shaka/manifest.js +31 -10
- package/externs/shaka/manifest_parser.js +24 -1
- package/externs/shaka/net.js +2 -2
- package/externs/shaka/offline.js +13 -2
- package/externs/shaka/player.js +65 -8
- package/externs/shaka/text.js +3 -1
- package/externs/shaka/transmuxer.js +1 -1
- package/karma.conf.js +7 -3
- package/lib/abr/simple_abr_manager.js +66 -9
- package/lib/ads/ad_manager.js +104 -50
- package/lib/ads/media_tailor_ad.js +297 -0
- package/lib/ads/media_tailor_ad_manager.js +839 -0
- package/lib/cast/cast_receiver.js +1 -1
- package/lib/cea/cea_decoder.js +28 -0
- package/lib/cea/dummy_caption_decoder.js +5 -0
- package/lib/cea/ts_cea_parser.js +15 -2
- package/lib/config/codec_switching_strategy.js +24 -0
- package/lib/dash/content_protection.js +120 -2
- package/lib/dash/dash_parser.js +322 -93
- package/lib/dash/mpd_utils.js +62 -37
- package/lib/dash/segment_base.js +17 -10
- package/lib/dash/segment_list.js +18 -9
- package/lib/dash/segment_template.js +122 -107
- package/lib/dependencies/all.js +8 -7
- package/lib/hls/hls_classes.js +28 -43
- package/lib/hls/hls_parser.js +798 -658
- package/lib/hls/hls_utils.js +64 -5
- package/lib/hls/manifest_text_parser.js +7 -11
- package/lib/lcevc/lcevc_dec.js +220 -0
- package/lib/media/adaptation_set.js +32 -14
- package/lib/media/adaptation_set_criteria.js +86 -16
- package/lib/media/closed_caption_parser.js +13 -0
- package/lib/media/content_workarounds.js +6 -0
- package/lib/media/drm_engine.js +8 -13
- package/lib/media/manifest_parser.js +8 -113
- package/lib/media/media_source_capabilities.js +10 -3
- package/lib/media/media_source_engine.js +286 -44
- package/lib/media/play_rate_controller.js +8 -38
- package/lib/media/presentation_timeline.js +7 -1
- package/lib/media/quality_observer.js +1 -1
- package/lib/media/segment_index.js +6 -6
- package/lib/media/segment_prefetch.js +92 -24
- package/lib/media/segment_reference.js +73 -7
- package/lib/media/segment_utils.js +343 -0
- package/lib/media/stall_detector.js +0 -3
- package/lib/media/streaming_engine.js +73 -38
- package/lib/mss/mss_parser.js +19 -2
- package/lib/net/networking_engine.js +67 -12
- package/lib/net/networking_utils.js +95 -0
- package/lib/offline/indexeddb/v1_storage_cell.js +3 -0
- package/lib/offline/indexeddb/v2_storage_cell.js +3 -0
- package/lib/offline/manifest_converter.js +3 -0
- package/lib/offline/offline_manifest_parser.js +10 -0
- package/lib/offline/storage.js +14 -7
- package/lib/player.js +1098 -1537
- package/lib/polyfill/mediasource.js +22 -1
- package/lib/text/cue.js +15 -0
- package/lib/text/mp4_ttml_parser.js +2 -2
- package/lib/text/srt_text_parser.js +2 -2
- package/lib/text/stub_text_displayer.js +51 -0
- package/lib/text/text_engine.js +3 -2
- package/lib/text/ttml_text_parser.js +45 -5
- package/lib/text/ui_text_displayer.js +8 -0
- package/lib/text/vtt_text_parser.js +40 -22
- package/lib/transmuxer/aac_transmuxer.js +1 -1
- package/lib/transmuxer/ac3_transmuxer.js +1 -1
- package/lib/transmuxer/ec3_transmuxer.js +1 -1
- package/lib/transmuxer/h264.js +5 -4
- package/lib/transmuxer/h265.js +863 -0
- package/lib/transmuxer/mp3_transmuxer.js +1 -1
- package/lib/transmuxer/mpeg_ts_transmuxer.js +4 -3
- package/lib/transmuxer/mss_transmuxer.js +1 -1
- package/lib/transmuxer/ts_transmuxer.js +187 -22
- package/lib/util/buffer_utils.js +26 -4
- package/lib/util/content_steering_manager.js +358 -0
- package/lib/util/error.js +30 -15
- package/lib/util/exp_golomb.js +30 -2
- package/lib/util/fairplay_utils.js +1 -1
- package/lib/util/fake_event.js +8 -1
- package/lib/util/id3_utils.js +50 -1
- package/lib/util/manifest_parser_utils.js +12 -8
- package/lib/util/mp4_generator.js +6 -8
- package/lib/util/mutex.js +59 -0
- package/lib/util/object_utils.js +1 -1
- package/lib/util/periods.js +156 -179
- package/lib/util/platform.js +44 -3
- package/lib/util/player_configuration.js +43 -6
- package/lib/util/state_history.js +6 -2
- package/lib/util/stream_utils.js +206 -283
- package/lib/util/ts_parser.js +335 -98
- package/lib/util/uint8array_utils.js +5 -1
- package/lib/util/xml_utils.js +5 -0
- package/maintained-branches.md +3 -2
- package/package.json +4 -6
- package/roadmap.md +25 -5
- package/shaka-player.uncompiled.js +2 -2
- package/support.html +0 -1
- package/test/abr/simple_abr_manager_unit.js +33 -33
- package/test/ads/ad_manager_unit.js +3 -2
- package/test/cast/cast_receiver_integration.js +50 -4
- package/test/cast/cast_utils_unit.js +2 -0
- package/test/cea/cea_decoder_unit.js +7 -0
- package/test/codec_switching/codec_switching_integration.js +182 -0
- package/test/dash/dash_parser_content_protection_unit.js +2 -0
- package/test/dash/dash_parser_integration.js +74 -0
- package/test/dash/dash_parser_live_unit.js +2 -19
- package/test/dash/dash_parser_manifest_unit.js +536 -2
- package/test/dash/dash_parser_segment_base_unit.js +2 -0
- package/test/dash/dash_parser_segment_list_unit.js +2 -0
- package/test/dash/dash_parser_segment_template_unit.js +2 -0
- package/test/dash/mpd_utils_unit.js +61 -30
- package/test/demo/demo_unit.js +0 -16
- package/test/hls/hls_live_unit.js +14 -3
- package/test/hls/hls_parser_unit.js +385 -33
- package/test/hls/manifest_text_parser_unit.js +32 -99
- package/test/media/adaptation_set_criteria_unit.js +284 -15
- package/test/media/adaptation_set_unit.js +2 -0
- package/test/media/content_workarounds_unit.js +1 -1
- package/test/media/drm_engine_unit.js +3 -3
- package/test/media/media_source_engine_unit.js +166 -2
- package/test/media/play_rate_controller_unit.js +0 -48
- package/test/media/segment_index_unit.js +5 -4
- package/test/media/segment_prefetch_unit.js +1 -1
- package/test/media/streaming_engine_unit.js +17 -17
- package/test/mss/mss_parser_unit.js +2 -0
- package/test/mss/mss_player_integration.js +3 -2
- package/test/net/networking_engine_unit.js +3 -3
- package/test/{media/manifest_parser_unit.js → net/networking_utils_unit.js} +2 -2
- package/test/offline/manifest_convert_unit.js +14 -0
- package/test/offline/offline_integration.js +2 -1
- package/test/offline/storage_integration.js +22 -13
- package/test/player_external.js +4 -2
- package/test/player_integration.js +15 -4
- package/test/player_load_graph_integration.js +47 -151
- package/test/player_src_equals_external.js +1 -0
- package/test/player_src_equals_integration.js +71 -4
- package/test/player_unit.js +182 -158
- package/test/test/assets/dash-aes-128/Fragments(video=0,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=20000000,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=40000000,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=60000000,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/Fragments(video=i,format=mpd-time-csf) +0 -0
- package/test/test/assets/dash-aes-128/dash.mpd +18 -0
- package/test/test/assets/dash-aes-128/license +1 -0
- package/test/test/assets/dash-multi-codec/audio_en_2c_128k_aac.mp4 +0 -0
- package/test/test/assets/dash-multi-codec/audio_es_2c_64k_opus.webm +0 -0
- package/test/test/assets/dash-multi-codec/dash.mpd +32 -0
- package/test/test/assets/dash-multi-codec/video_144p_108k_h264.mp4 +0 -0
- package/test/test/assets/hls-ts-h265/0.ts +0 -0
- package/test/test/assets/hls-ts-h265/hevc.m3u8 +6 -0
- package/test/test/assets/hls-ts-h265/index.m3u8 +7 -0
- package/test/test/assets/hls-ts-muxed-aac-h265/0.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h265/1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-aac-h265/media.m3u8 +9 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/media.m3u8 +24 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00000.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00001.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00002.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00003.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00004.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ac3-h264/s_00005.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0000.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0001.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0002.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/ChID_voices_1280x720p_25fps_h264_6ch_256kbps_ddp_sub_0003.ts +0 -0
- package/test/test/assets/hls-ts-muxed-ec3-h264/prog_index.m3u8 +14 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/index.m3u8 +23 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-1-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-2-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-3-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-4-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-5-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-6-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-7-v1-a1.ts +0 -0
- package/test/test/assets/hls-ts-muxed-mp3-h264/seg-8-v1-a1.ts +0 -0
- package/test/test/util/dash_parser_util.js +4 -0
- package/test/test/util/fake_ad_manager.js +20 -0
- package/test/test/util/fake_media_source_engine.js +13 -2
- package/test/test/util/fake_networking_engine.js +9 -1
- package/test/test/util/fake_segment_prefetch.js +3 -0
- package/test/test/util/manifest_generator.js +11 -3
- package/test/test/util/manifest_parser_util.js +14 -2
- package/test/test/util/mss_parser_util.js +4 -0
- package/test/test/util/offline_utils.js +2 -0
- package/test/test/util/simple_fakes.js +2 -2
- package/test/test/util/streaming_engine_util.js +10 -4
- package/test/test/util/test_scheme.js +6 -0
- package/test/test/util/ui_utils.js +4 -3
- package/test/text/mp4_ttml_parser_unit.js +4 -4
- package/test/text/srt_text_parser_unit.js +1 -1
- package/test/text/text_displayer_layout_unit.js +1 -1
- package/test/text/text_engine_unit.js +6 -0
- package/test/text/ttml_text_parser_unit.js +85 -2
- package/test/text/vtt_text_parser_unit.js +103 -31
- package/test/transmuxer/transmuxer_engine_integration.js +9 -0
- package/test/transmuxer/transmuxer_integration.js +150 -3
- package/test/ui/ad_ui_unit.js +2 -2
- package/test/ui/ui_customization_unit.js +17 -16
- package/test/ui/ui_integration.js +30 -20
- package/test/ui/ui_unit.js +28 -29
- package/test/util/buffer_utils_unit.js +1 -1
- package/test/util/content_steering_manager_unit.js +427 -0
- package/test/util/id3_utils_unit.js +52 -0
- package/test/util/stream_utils_unit.js +207 -169
- package/test/util/ts_parser_unit.js +3 -3
- package/third_party/closure-uri/uri.js +13 -1
- package/ui/audio_language_selection.js +9 -2
- package/ui/controls.js +125 -0
- package/ui/externs/ui.js +24 -2
- package/ui/language_utils.js +43 -8
- package/ui/less/range_elements.less +33 -0
- package/ui/locales/en.json +1 -0
- package/ui/locales/es-419.json +1 -0
- package/ui/locales/es.json +1 -0
- package/ui/locales/source.json +4 -0
- package/ui/localization.js +10 -0
- package/ui/pip_button.js +22 -120
- package/ui/remote_button.js +203 -0
- package/ui/resolution_selection.js +47 -10
- package/ui/seek_bar.js +296 -3
- package/ui/text_selection.js +2 -1
- package/ui/ui.js +11 -4
- package/demo/common/message_ids.js +0 -309
- package/demo/locales/en.json +0 -288
- package/demo/locales/source.json +0 -1146
- package/externs/mux.js +0 -69
- package/lib/lcevc/lcevc_dil.js +0 -152
- package/lib/routing/node.js +0 -23
- package/lib/routing/payload.js +0 -43
- package/lib/routing/walker.js +0 -587
- package/lib/transmuxer/muxjs_transmuxer.js +0 -242
- package/test/routing/walker_unit.js +0 -504
- package/test/transmuxer/muxjs_transmuxer_integration.js +0 -177
|
@@ -225,7 +225,6 @@ shaka.util.Error.Code = {
|
|
|
225
225
|
'TEXT_ONLY_WEBVTT_SRC_EQUALS': 2013,
|
|
226
226
|
'MISSING_TEXT_PLUGIN': 2014,
|
|
227
227
|
'CHAPTERS_TRACK_FAILED': 2015,
|
|
228
|
-
'CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_SRC_EQUALS': 2016,
|
|
229
228
|
'UNSUPPORTED_EXTERNAL_THUMBNAILS_URI': 2017,
|
|
230
229
|
'BUFFER_READ_OUT_OF_BOUNDS': 3000,
|
|
231
230
|
'JS_INTEGER_OVERFLOW': 3001,
|
|
@@ -282,11 +281,13 @@ shaka.util.Error.Code = {
|
|
|
282
281
|
'HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED': 4040,
|
|
283
282
|
'HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED': 4041,
|
|
284
283
|
'NO_WEB_CRYPTO_API': 4042,
|
|
285
|
-
'HLS_AES_128_INVALID_IV_LENGTH': 4043,
|
|
286
|
-
'HLS_AES_128_INVALID_KEY_LENGTH': 4044,
|
|
287
284
|
'CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM': 4045,
|
|
288
285
|
'MSS_INVALID_XML': 4046,
|
|
289
286
|
'MSS_LIVE_CONTENT_NOT_SUPPORTED': 4047,
|
|
287
|
+
'AES_128_INVALID_IV_LENGTH': 4048,
|
|
288
|
+
'AES_128_INVALID_KEY_LENGTH': 4049,
|
|
289
|
+
'DASH_CONFLICTING_AES_128': 4050,
|
|
290
|
+
'DASH_UNSUPPORTED_AES_128': 4051,
|
|
290
291
|
'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
|
|
291
292
|
'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
|
|
292
293
|
'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
|
|
@@ -337,7 +338,8 @@ shaka.util.Error.Code = {
|
|
|
337
338
|
'CS_AD_MANAGER_NOT_INITIALIZED': 10001,
|
|
338
339
|
'SS_IMA_SDK_MISSING': 10002,
|
|
339
340
|
'SS_AD_MANAGER_NOT_INITIALIZED': 10003,
|
|
340
|
-
'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004
|
|
341
|
+
'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004,
|
|
342
|
+
'MT_AD_MANAGER_NOT_INITIALIZED': 10005
|
|
341
343
|
};
|
|
342
344
|
/**
|
|
343
345
|
* @summary A set of language utility functions.
|
|
@@ -545,6 +547,11 @@ shaka.ui.Localization = class extends shaka.util.FakeEventTarget {
|
|
|
545
547
|
* @return {string}
|
|
546
548
|
*/
|
|
547
549
|
resolve(id) {}
|
|
550
|
+
/**
|
|
551
|
+
* The locales currently used. An empty set means "no preference".
|
|
552
|
+
* @return {!Set.<string>}
|
|
553
|
+
*/
|
|
554
|
+
getCurrentLocales() {}
|
|
548
555
|
};
|
|
549
556
|
/**
|
|
550
557
|
* An enum for how the localization system should resolve conflicts between old
|
|
@@ -620,6 +627,18 @@ shaka.util.BufferUtils = class {
|
|
|
620
627
|
* @return {!Uint8Array}
|
|
621
628
|
*/
|
|
622
629
|
static toUint8(data, offset, length) {}
|
|
630
|
+
/**
|
|
631
|
+
* Creates a new Uint16Array view on the same buffer. This clamps the values
|
|
632
|
+
* to be within the same view (i.e. you can't use this to move past the end
|
|
633
|
+
* of the view, even if the underlying buffer is larger). However, you can
|
|
634
|
+
* pass a negative offset to access the data before the view.
|
|
635
|
+
* @param {BufferSource} data
|
|
636
|
+
* @param {number=} offset The offset from the beginning of this data's view
|
|
637
|
+
* to start the new view at.
|
|
638
|
+
* @param {number=} length The byte length of the new view.
|
|
639
|
+
* @return {!Uint16Array}
|
|
640
|
+
*/
|
|
641
|
+
static toUint16(data, offset, length) {}
|
|
623
642
|
/**
|
|
624
643
|
* Creates a DataView over the given buffer.
|
|
625
644
|
* @see toUint8
|
|
@@ -848,6 +867,11 @@ shaka.text.Cue.prototype.linePadding;
|
|
|
848
867
|
* @type {number}
|
|
849
868
|
*/
|
|
850
869
|
shaka.text.Cue.prototype.opacity;
|
|
870
|
+
/**
|
|
871
|
+
* Text combine upright as a CSS text-combine-upright value.
|
|
872
|
+
* @type {string}
|
|
873
|
+
*/
|
|
874
|
+
shaka.text.Cue.prototype.textCombineUpright;
|
|
851
875
|
/**
|
|
852
876
|
* Text decoration. A combination of underline, overline
|
|
853
877
|
* and line through. Empty array means no decoration.
|
|
@@ -900,6 +924,12 @@ shaka.text.Cue.prototype.isContainer;
|
|
|
900
924
|
* @type {boolean}
|
|
901
925
|
*/
|
|
902
926
|
shaka.text.Cue.prototype.lineBreak;
|
|
927
|
+
/**
|
|
928
|
+
* Used to indicate the type of ruby tag that should be used when rendering
|
|
929
|
+
* the cue. Valid values: ruby, rp, rt.
|
|
930
|
+
* @type {?string}
|
|
931
|
+
*/
|
|
932
|
+
shaka.text.Cue.prototype.rubyTag;
|
|
903
933
|
/**
|
|
904
934
|
* The number of horizontal and vertical cells into which the Root Container
|
|
905
935
|
* Region area is divided.
|
|
@@ -1291,9 +1321,11 @@ shaka.abr.SimpleAbrManager = class {
|
|
|
1291
1321
|
*/
|
|
1292
1322
|
init(switchCallback) {}
|
|
1293
1323
|
/**
|
|
1324
|
+
* @param {boolean=} preferFastSwitching
|
|
1325
|
+
* @return {shaka.extern.Variant}
|
|
1294
1326
|
* @override
|
|
1295
1327
|
*/
|
|
1296
|
-
chooseVariant() {}
|
|
1328
|
+
chooseVariant(preferFastSwitching) {}
|
|
1297
1329
|
/**
|
|
1298
1330
|
* @override
|
|
1299
1331
|
*/
|
|
@@ -1305,7 +1337,7 @@ shaka.abr.SimpleAbrManager = class {
|
|
|
1305
1337
|
/**
|
|
1306
1338
|
* @override
|
|
1307
1339
|
*/
|
|
1308
|
-
segmentDownloaded(deltaTimeMs, numBytes) {}
|
|
1340
|
+
segmentDownloaded(deltaTimeMs, numBytes, allowSwitch) {}
|
|
1309
1341
|
/**
|
|
1310
1342
|
* @override
|
|
1311
1343
|
*/
|
|
@@ -1336,6 +1368,13 @@ shaka.config.AutoShowText = {
|
|
|
1336
1368
|
'IF_PREFERRED_TEXT_LANGUAGE': 2,
|
|
1337
1369
|
'IF_SUBTITLES_MAY_BE_NEEDED': 3
|
|
1338
1370
|
};
|
|
1371
|
+
/**
|
|
1372
|
+
* @enum {string}
|
|
1373
|
+
*/
|
|
1374
|
+
shaka.config.CodecSwitchingStrategy = {
|
|
1375
|
+
RELOAD: 'reload',
|
|
1376
|
+
SMOOTH: 'smooth'
|
|
1377
|
+
};
|
|
1339
1378
|
/**
|
|
1340
1379
|
* A utility to wrap abortable operations. Note that these are not cancelable.
|
|
1341
1380
|
* Cancelation implies undoing what has been done so far, whereas aborting only
|
|
@@ -1430,17 +1469,20 @@ shaka.util.AbortableOperation.prototype.promise;
|
|
|
1430
1469
|
*/
|
|
1431
1470
|
shaka.net.NetworkingEngine = class extends shaka.util.FakeEventTarget {
|
|
1432
1471
|
/**
|
|
1433
|
-
* @param {function(number, number)=} onProgressUpdated Called when
|
|
1434
|
-
* event is triggered. Passed the duration, in milliseconds,
|
|
1435
|
-
* request took,
|
|
1472
|
+
* @param {function(number, number, boolean)=} onProgressUpdated Called when
|
|
1473
|
+
* a progress event is triggered. Passed the duration, in milliseconds,
|
|
1474
|
+
* that the request took, the number of bytes transferred, and the boolean
|
|
1475
|
+
* of whether the switching is allowed.
|
|
1436
1476
|
* @param {shaka.net.NetworkingEngine.OnHeadersReceived=} onHeadersReceived
|
|
1437
1477
|
* Called when the headers are received for a download.
|
|
1438
1478
|
* @param {shaka.net.NetworkingEngine.OnDownloadFailed=} onDownloadFailed
|
|
1439
1479
|
* Called when a download fails, for any reason.
|
|
1440
1480
|
* @param {shaka.net.NetworkingEngine.OnRequest=} onRequest
|
|
1441
1481
|
* Called when a request is made
|
|
1482
|
+
* @param {shaka.net.NetworkingEngine.OnRetry=} onRetry
|
|
1483
|
+
* Called when a request retry is made
|
|
1442
1484
|
*/
|
|
1443
|
-
constructor(onProgressUpdated, onHeadersReceived, onDownloadFailed, onRequest) {}
|
|
1485
|
+
constructor(onProgressUpdated, onHeadersReceived, onDownloadFailed, onRequest, onRetry) {}
|
|
1444
1486
|
/**
|
|
1445
1487
|
* @param {boolean} forceHTTPS
|
|
1446
1488
|
*/
|
|
@@ -1568,7 +1610,9 @@ shaka.net.NetworkingEngine.RequestType = {
|
|
|
1568
1610
|
'APP': 3,
|
|
1569
1611
|
'TIMING': 4,
|
|
1570
1612
|
'SERVER_CERTIFICATE': 5,
|
|
1571
|
-
'KEY': 6
|
|
1613
|
+
'KEY': 6,
|
|
1614
|
+
'ADS': 7,
|
|
1615
|
+
'CONTENT_STEERING': 8
|
|
1572
1616
|
};
|
|
1573
1617
|
/**
|
|
1574
1618
|
* A more advanced form of the RequestType structure, meant to describe
|
|
@@ -1627,6 +1671,17 @@ shaka.net.NetworkingEngine.OnDownloadFailed;
|
|
|
1627
1671
|
* A callback function called on every request
|
|
1628
1672
|
*/
|
|
1629
1673
|
shaka.net.NetworkingEngine.OnRequest;
|
|
1674
|
+
/**
|
|
1675
|
+
* @typedef {function(
|
|
1676
|
+
* !shaka.net.NetworkingEngine.RequestType,
|
|
1677
|
+
* (shaka.extern.RequestContext|undefined),
|
|
1678
|
+
* string,
|
|
1679
|
+
* string)}
|
|
1680
|
+
* @description
|
|
1681
|
+
* A callback function called on every request retry. The first string is the
|
|
1682
|
+
* new URI and the second string is the old URI.
|
|
1683
|
+
*/
|
|
1684
|
+
shaka.net.NetworkingEngine.OnRetry;
|
|
1630
1685
|
/**
|
|
1631
1686
|
* @summary
|
|
1632
1687
|
* An EventManager maintains a collection of "event
|
|
@@ -2000,7 +2055,7 @@ shaka.media.InitSegmentReference = class {
|
|
|
2000
2055
|
* the quality of the media associated with this init segment.
|
|
2001
2056
|
* @param {(null|number)=} timescale
|
|
2002
2057
|
* @param {(null|BufferSource)=} segmentData
|
|
2003
|
-
* @param {?shaka.extern.
|
|
2058
|
+
* @param {?shaka.extern.aes128Key=} aes128Key
|
|
2004
2059
|
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
2005
2060
|
*/
|
|
2006
2061
|
constructor(uris, startByte, endByte, mediaQuality, timescale, segmentData, aes128Key) {}
|
|
@@ -2076,10 +2131,12 @@ shaka.media.SegmentReference = class {
|
|
|
2076
2131
|
* @param {shaka.media.SegmentReference.Status=} status
|
|
2077
2132
|
* The segment status is used to indicate that a segment does not exist or is
|
|
2078
2133
|
* not available.
|
|
2079
|
-
* @param {?shaka.extern.
|
|
2134
|
+
* @param {?shaka.extern.aes128Key=} aes128Key
|
|
2080
2135
|
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
2136
|
+
* @param {boolean=} allPartialSegments
|
|
2137
|
+
* Indicate if the segment has all partial segments
|
|
2081
2138
|
*/
|
|
2082
|
-
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status,
|
|
2139
|
+
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status, aes128Key, allPartialSegments) {}
|
|
2083
2140
|
/**
|
|
2084
2141
|
* Creates and returns the URIs of the resource containing the segment.
|
|
2085
2142
|
* @return {!Array.<string>}
|
|
@@ -2146,6 +2203,24 @@ shaka.media.SegmentReference = class {
|
|
|
2146
2203
|
* @return {boolean}
|
|
2147
2204
|
*/
|
|
2148
2205
|
isIndependent() {}
|
|
2206
|
+
/**
|
|
2207
|
+
* Mark the reference as partial.
|
|
2208
|
+
*/
|
|
2209
|
+
markAsPartial() {}
|
|
2210
|
+
/**
|
|
2211
|
+
* Returns true if the segment is partial.
|
|
2212
|
+
* @return {boolean}
|
|
2213
|
+
*/
|
|
2214
|
+
isPartial() {}
|
|
2215
|
+
/**
|
|
2216
|
+
* Mark the reference as being the last part of the full segment
|
|
2217
|
+
*/
|
|
2218
|
+
markAsLastPartial() {}
|
|
2219
|
+
/**
|
|
2220
|
+
* Returns true if reference as being the last part of the full segment.
|
|
2221
|
+
* @return {boolean}
|
|
2222
|
+
*/
|
|
2223
|
+
isLastPartial() {}
|
|
2149
2224
|
/**
|
|
2150
2225
|
* Mark the reference as byterange optimization.
|
|
2151
2226
|
* The "byterange optimization" means that it is playable using MP4 low
|
|
@@ -2235,8 +2310,9 @@ shaka.util.Id3Utils = class {
|
|
|
2235
2310
|
shaka.util.ExpGolomb = class {
|
|
2236
2311
|
/**
|
|
2237
2312
|
* @param {!Uint8Array} data
|
|
2313
|
+
* @param {boolean=} convertEbsp2rbsp
|
|
2238
2314
|
*/
|
|
2239
|
-
constructor(data) {}
|
|
2315
|
+
constructor(data, convertEbsp2rbsp) {}
|
|
2240
2316
|
};
|
|
2241
2317
|
/**
|
|
2242
2318
|
* @see https://en.wikipedia.org/wiki/MPEG_transport_stream
|
|
@@ -2263,6 +2339,15 @@ shaka.util.TsParser = class {
|
|
|
2263
2339
|
* @return {!Array.<shaka.extern.VideoNalu>}
|
|
2264
2340
|
*/
|
|
2265
2341
|
parseAvcNalus(pes, nextPes) {}
|
|
2342
|
+
/**
|
|
2343
|
+
* Parse AVC and HVC Nalus
|
|
2344
|
+
* The code is based on hls.js
|
|
2345
|
+
* Credit to https://github.com/video-dev/hls.js/blob/master/src/demux/tsdemuxer.ts
|
|
2346
|
+
* @param {shaka.extern.MPEG_PES} pes
|
|
2347
|
+
* @param {?shaka.extern.VideoNalu=} lastNalu
|
|
2348
|
+
* @return {!Array.<shaka.extern.VideoNalu>}
|
|
2349
|
+
*/
|
|
2350
|
+
parseNalus(pes, lastNalu) {}
|
|
2266
2351
|
/**
|
|
2267
2352
|
* Return the ID3 metadata
|
|
2268
2353
|
* @return {!Array.<shaka.extern.ID3Metadata>}
|
|
@@ -2275,14 +2360,16 @@ shaka.util.TsParser = class {
|
|
|
2275
2360
|
getAudioData() {}
|
|
2276
2361
|
/**
|
|
2277
2362
|
* Return the audio data
|
|
2363
|
+
* @param {boolean=} naluProcessing
|
|
2278
2364
|
* @return {!Array.<shaka.extern.MPEG_PES>}
|
|
2279
2365
|
*/
|
|
2280
|
-
getVideoData() {}
|
|
2366
|
+
getVideoData(naluProcessing) {}
|
|
2281
2367
|
/**
|
|
2282
2368
|
* Return the start time for the audio and video
|
|
2283
|
-
* @
|
|
2369
|
+
* @param {string} contentType
|
|
2370
|
+
* @return {?number}
|
|
2284
2371
|
*/
|
|
2285
|
-
getStartTime() {}
|
|
2372
|
+
getStartTime(contentType) {}
|
|
2286
2373
|
/**
|
|
2287
2374
|
* Return the audio and video codecs
|
|
2288
2375
|
* @return {{audio: ?string, video: ?string}}
|
|
@@ -2322,23 +2409,23 @@ shaka.util.TsParser = class {
|
|
|
2322
2409
|
shaka.util.TsParser.Timescale;
|
|
2323
2410
|
/**
|
|
2324
2411
|
* @summary
|
|
2325
|
-
*
|
|
2412
|
+
* lcevcDec - (MPEG-5 Part 2 LCEVC - Decoder) provides
|
|
2326
2413
|
* all the operations related to the enhancement and rendering
|
|
2327
2414
|
* of LCEVC enabled streams and on to a canvas.
|
|
2328
2415
|
* @implements {shaka.util.IReleasable}
|
|
2329
2416
|
*/
|
|
2330
|
-
shaka.lcevc.
|
|
2417
|
+
shaka.lcevc.Dec = class {
|
|
2331
2418
|
/**
|
|
2332
2419
|
* @param {HTMLVideoElement} media The video element that will be attached to
|
|
2333
|
-
* LCEVC
|
|
2420
|
+
* LCEVC Decoder for input.
|
|
2334
2421
|
* @param {HTMLCanvasElement} canvas The canvas element that will be attached
|
|
2335
|
-
* to LCEVC
|
|
2336
|
-
* @param {shaka.extern.LcevcConfiguration}
|
|
2337
|
-
*
|
|
2422
|
+
* to LCEVC Decoder to render the enhanced frames.
|
|
2423
|
+
* @param {shaka.extern.LcevcConfiguration} lcevcConfig LCEVC configuration
|
|
2424
|
+
* object to initialize the LCEVC Decoder.
|
|
2338
2425
|
*/
|
|
2339
|
-
constructor(media, canvas,
|
|
2426
|
+
constructor(media, canvas, lcevcConfig) {}
|
|
2340
2427
|
/**
|
|
2341
|
-
* Close LCEVC
|
|
2428
|
+
* Close LCEVC Decoder.
|
|
2342
2429
|
* @override
|
|
2343
2430
|
*/
|
|
2344
2431
|
release() {}
|
|
@@ -2534,7 +2621,9 @@ shaka.media.PresentationTimeline = class {
|
|
|
2534
2621
|
* @typedef {{
|
|
2535
2622
|
* start: number,
|
|
2536
2623
|
* unscaledStart: number,
|
|
2537
|
-
* end: number
|
|
2624
|
+
* end: number,
|
|
2625
|
+
* partialSegments: number,
|
|
2626
|
+
* segmentPosition: number
|
|
2538
2627
|
* }}
|
|
2539
2628
|
* @description
|
|
2540
2629
|
* Defines a time range of a media segment. Times are in seconds.
|
|
@@ -2544,6 +2633,10 @@ shaka.media.PresentationTimeline = class {
|
|
|
2544
2633
|
* The start time of the range in representation timescale units.
|
|
2545
2634
|
* @property {number} end
|
|
2546
2635
|
* The end time (exclusive) of the range.
|
|
2636
|
+
* @property {number} partialSegments
|
|
2637
|
+
* The number of partial segments
|
|
2638
|
+
* @property {number} segmentPosition
|
|
2639
|
+
* The segment position of the timeline entry as it appears in the manifest
|
|
2547
2640
|
*/
|
|
2548
2641
|
shaka.media.PresentationTimeline.TimeRange;
|
|
2549
2642
|
/**
|
|
@@ -2763,6 +2856,32 @@ shaka.text.SimpleTextDisplayer = class {
|
|
|
2763
2856
|
*/
|
|
2764
2857
|
setTextVisibility(on) {}
|
|
2765
2858
|
};
|
|
2859
|
+
/**
|
|
2860
|
+
* A stub text displayer plugin that does nothing
|
|
2861
|
+
* @implements {shaka.extern.TextDisplayer}
|
|
2862
|
+
*/
|
|
2863
|
+
shaka.text.StubTextDisplayer = class {
|
|
2864
|
+
/**
|
|
2865
|
+
* @override
|
|
2866
|
+
*/
|
|
2867
|
+
remove(start, end) {}
|
|
2868
|
+
/**
|
|
2869
|
+
* @override
|
|
2870
|
+
*/
|
|
2871
|
+
append(cues) {}
|
|
2872
|
+
/**
|
|
2873
|
+
* @override
|
|
2874
|
+
*/
|
|
2875
|
+
destroy() {}
|
|
2876
|
+
/**
|
|
2877
|
+
* @override
|
|
2878
|
+
*/
|
|
2879
|
+
isTextVisible() {}
|
|
2880
|
+
/**
|
|
2881
|
+
* @override
|
|
2882
|
+
*/
|
|
2883
|
+
setTextVisibility(on) {}
|
|
2884
|
+
};
|
|
2766
2885
|
/** */
|
|
2767
2886
|
shaka.util.Dom = class {
|
|
2768
2887
|
/**
|
|
@@ -3010,16 +3129,9 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
3010
3129
|
*/
|
|
3011
3130
|
static probeSupport(promptsOkay) {}
|
|
3012
3131
|
/**
|
|
3013
|
-
*
|
|
3014
|
-
*
|
|
3015
|
-
*
|
|
3016
|
-
* Calling <code>attach</code> with <code>initializedMediaSource=true</code>
|
|
3017
|
-
* will tell the player to take the initial load step and initialize media
|
|
3018
|
-
* source.
|
|
3019
|
-
* <p>
|
|
3020
|
-
* Calls to <code>attach</code> will interrupt any in-progress calls to
|
|
3021
|
-
* <code>load</code> but cannot interrupt calls to <code>attach</code>,
|
|
3022
|
-
* <code>detach</code>, or <code>unload</code>.
|
|
3132
|
+
* Attaches the player to a media element.
|
|
3133
|
+
* If the player was already attached to a media element, first detaches from
|
|
3134
|
+
* that media element.
|
|
3023
3135
|
* @param {!HTMLMediaElement} mediaElement
|
|
3024
3136
|
* @param {boolean=} initializeMediaSource
|
|
3025
3137
|
* @return {!Promise}
|
|
@@ -3032,39 +3144,20 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
3032
3144
|
*/
|
|
3033
3145
|
attachCanvas(canvas) {}
|
|
3034
3146
|
/**
|
|
3035
|
-
*
|
|
3036
|
-
*
|
|
3037
|
-
*
|
|
3038
|
-
*
|
|
3039
|
-
* <li>loading, this will abort loading, unload, and release the media
|
|
3040
|
-
* element,
|
|
3041
|
-
* <li>playing content, this will stop playback, unload, and release the
|
|
3042
|
-
* media element.
|
|
3043
|
-
* </ul>
|
|
3044
|
-
* <p>
|
|
3045
|
-
* Calls to <code>detach</code> will interrupt any in-progress calls to
|
|
3046
|
-
* <code>load</code> but cannot interrupt calls to <code>attach</code>,
|
|
3047
|
-
* <code>detach</code>, or <code>unload</code>.
|
|
3147
|
+
* Detach the player from the current media element. Leaves the player in a
|
|
3148
|
+
* state where it cannot play media, until it has been attached to something
|
|
3149
|
+
* else.
|
|
3150
|
+
* @param {boolean=} keepAdManager
|
|
3048
3151
|
* @return {!Promise}
|
|
3049
3152
|
*/
|
|
3050
|
-
detach() {}
|
|
3153
|
+
detach(keepAdManager) {}
|
|
3051
3154
|
/**
|
|
3052
|
-
*
|
|
3053
|
-
* <ul>
|
|
3054
|
-
* <li>detached (when it does not have a media element),
|
|
3055
|
-
* <li>attached (when it has a media element and
|
|
3056
|
-
* <code>initializedMediaSource=false</code>)
|
|
3057
|
-
* <li>media source initialized (when it has a media element and
|
|
3058
|
-
* <code>initializedMediaSource=true</code>)
|
|
3059
|
-
* </ul>
|
|
3060
|
-
* <p>
|
|
3061
|
-
* Calls to <code>unload</code> will interrupt any in-progress calls to
|
|
3062
|
-
* <code>load</code> but cannot interrupt calls to <code>attach</code>,
|
|
3063
|
-
* <code>detach</code>, or <code>unload</code>.
|
|
3155
|
+
* Unloads the currently playing stream, if any.
|
|
3064
3156
|
* @param {boolean=} initializeMediaSource
|
|
3157
|
+
* @param {boolean=} keepAdManager
|
|
3065
3158
|
* @return {!Promise}
|
|
3066
3159
|
*/
|
|
3067
|
-
unload(initializeMediaSource) {}
|
|
3160
|
+
unload(initializeMediaSource, keepAdManager) {}
|
|
3068
3161
|
/**
|
|
3069
3162
|
* Provides a way to update the stream start position during the media loading
|
|
3070
3163
|
* process. Can for example be called from the <code>manifestparsed</code>
|
|
@@ -3074,22 +3167,21 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
3074
3167
|
*/
|
|
3075
3168
|
updateStartTime(startTime) {}
|
|
3076
3169
|
/**
|
|
3077
|
-
*
|
|
3078
|
-
*
|
|
3079
|
-
* a call to <code>attach</code> must have succeeded.
|
|
3080
|
-
* <p>
|
|
3081
|
-
* Calls to <code>load</code> will interrupt any in-progress calls to
|
|
3082
|
-
* <code>load</code> but cannot interrupt calls to <code>attach</code>,
|
|
3083
|
-
* <code>detach</code>, or <code>unload</code>.
|
|
3170
|
+
* Loads a new stream.
|
|
3171
|
+
* If another stream was already playing, first unloads that stream.
|
|
3084
3172
|
* @param {string} assetUri
|
|
3085
3173
|
* @param {?number=} startTime
|
|
3086
3174
|
* When <code>startTime</code> is <code>null</code> or
|
|
3087
3175
|
* <code>undefined</code>, playback will start at the default start time (0
|
|
3088
3176
|
* for VOD and liveEdge for LIVE).
|
|
3089
|
-
* @param {string=} mimeType
|
|
3177
|
+
* @param {?string=} mimeType
|
|
3090
3178
|
* @return {!Promise}
|
|
3091
3179
|
*/
|
|
3092
3180
|
load(assetUri, startTime, mimeType) {}
|
|
3181
|
+
/**
|
|
3182
|
+
* Releases all of the mutexes of the player. Meant for use by the tests.
|
|
3183
|
+
*/
|
|
3184
|
+
releaseAllMutexes() {}
|
|
3093
3185
|
/**
|
|
3094
3186
|
* Changes configuration settings on the Player. This checks the names of
|
|
3095
3187
|
* keys and the types of values to avoid coding errors. If there are errors,
|
|
@@ -3188,7 +3280,8 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
3188
3280
|
isAudioOnly() {}
|
|
3189
3281
|
/**
|
|
3190
3282
|
* Get the range of time (in seconds) that seeking is allowed. If the player
|
|
3191
|
-
* has not loaded content, this will return a range
|
|
3283
|
+
* has not loaded content and the manifest is HLS, this will return a range
|
|
3284
|
+
* from 0 to 0.
|
|
3192
3285
|
* @return {{start: number, end: number}}
|
|
3193
3286
|
*/
|
|
3194
3287
|
seekRange() {}
|
|
@@ -3286,6 +3379,13 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
3286
3379
|
* @return {!Array.<shaka.extern.Track>}
|
|
3287
3380
|
*/
|
|
3288
3381
|
getImageTracks() {}
|
|
3382
|
+
/**
|
|
3383
|
+
* Returns Thumbnail objects for each thumbnail for a given image track ID.
|
|
3384
|
+
* If the player has not loaded content, this will return a null.
|
|
3385
|
+
* @param {number} trackId
|
|
3386
|
+
* @return {!Promise.<?Array<!shaka.extern.Thumbnail>>}
|
|
3387
|
+
*/
|
|
3388
|
+
getAllThumbnails(trackId) {}
|
|
3289
3389
|
/**
|
|
3290
3390
|
* Return a Thumbnail object from a image track Id and time.
|
|
3291
3391
|
* If the player has not loaded content, this will return a null.
|
|
@@ -3667,6 +3767,138 @@ shaka.ads.ClientSideAd = class {
|
|
|
3667
3767
|
*/
|
|
3668
3768
|
release() {}
|
|
3669
3769
|
};
|
|
3770
|
+
/**
|
|
3771
|
+
* @implements {shaka.extern.IAd}
|
|
3772
|
+
*/
|
|
3773
|
+
shaka.ads.MediaTailorAd = class {
|
|
3774
|
+
/**
|
|
3775
|
+
* @param {mediaTailor.Ad} mediaTailorAd
|
|
3776
|
+
* @param {number} adPosition
|
|
3777
|
+
* @param {number} totalAds
|
|
3778
|
+
* @param {HTMLMediaElement} video
|
|
3779
|
+
*/
|
|
3780
|
+
constructor(mediaTailorAd, adPosition, totalAds, isLinear, video) {}
|
|
3781
|
+
/**
|
|
3782
|
+
* @override
|
|
3783
|
+
*/
|
|
3784
|
+
getDuration() {}
|
|
3785
|
+
/**
|
|
3786
|
+
* @override
|
|
3787
|
+
*/
|
|
3788
|
+
getMinSuggestedDuration() {}
|
|
3789
|
+
/**
|
|
3790
|
+
* @override
|
|
3791
|
+
*/
|
|
3792
|
+
getRemainingTime() {}
|
|
3793
|
+
/**
|
|
3794
|
+
* @override
|
|
3795
|
+
*/
|
|
3796
|
+
isPaused() {}
|
|
3797
|
+
/**
|
|
3798
|
+
* @override
|
|
3799
|
+
*/
|
|
3800
|
+
isSkippable() {}
|
|
3801
|
+
/**
|
|
3802
|
+
* @override
|
|
3803
|
+
*/
|
|
3804
|
+
getTimeUntilSkippable() {}
|
|
3805
|
+
/**
|
|
3806
|
+
* @override
|
|
3807
|
+
*/
|
|
3808
|
+
canSkipNow() {}
|
|
3809
|
+
/**
|
|
3810
|
+
* @override
|
|
3811
|
+
*/
|
|
3812
|
+
skip() {}
|
|
3813
|
+
/**
|
|
3814
|
+
* @override
|
|
3815
|
+
*/
|
|
3816
|
+
pause() {}
|
|
3817
|
+
/**
|
|
3818
|
+
* @override
|
|
3819
|
+
*/
|
|
3820
|
+
play() {}
|
|
3821
|
+
/**
|
|
3822
|
+
* @override
|
|
3823
|
+
*/
|
|
3824
|
+
getVolume() {}
|
|
3825
|
+
/**
|
|
3826
|
+
* @override
|
|
3827
|
+
*/
|
|
3828
|
+
setVolume(volume) {}
|
|
3829
|
+
/**
|
|
3830
|
+
* @override
|
|
3831
|
+
*/
|
|
3832
|
+
isMuted() {}
|
|
3833
|
+
/**
|
|
3834
|
+
* @override
|
|
3835
|
+
*/
|
|
3836
|
+
isLinear() {}
|
|
3837
|
+
/**
|
|
3838
|
+
* @override
|
|
3839
|
+
*/
|
|
3840
|
+
resize(width, height) {}
|
|
3841
|
+
/**
|
|
3842
|
+
* @override
|
|
3843
|
+
*/
|
|
3844
|
+
setMuted(muted) {}
|
|
3845
|
+
/**
|
|
3846
|
+
* @override
|
|
3847
|
+
*/
|
|
3848
|
+
getSequenceLength() {}
|
|
3849
|
+
/**
|
|
3850
|
+
* @override
|
|
3851
|
+
*/
|
|
3852
|
+
getPositionInSequence() {}
|
|
3853
|
+
/**
|
|
3854
|
+
* @override
|
|
3855
|
+
*/
|
|
3856
|
+
getTitle() {}
|
|
3857
|
+
/**
|
|
3858
|
+
* @override
|
|
3859
|
+
*/
|
|
3860
|
+
getDescription() {}
|
|
3861
|
+
/**
|
|
3862
|
+
* @override
|
|
3863
|
+
*/
|
|
3864
|
+
getVastMediaBitrate() {}
|
|
3865
|
+
/**
|
|
3866
|
+
* @override
|
|
3867
|
+
*/
|
|
3868
|
+
getVastMediaHeight() {}
|
|
3869
|
+
/**
|
|
3870
|
+
* @override
|
|
3871
|
+
*/
|
|
3872
|
+
getVastMediaWidth() {}
|
|
3873
|
+
/**
|
|
3874
|
+
* @override
|
|
3875
|
+
*/
|
|
3876
|
+
getAdId() {}
|
|
3877
|
+
/**
|
|
3878
|
+
* @override
|
|
3879
|
+
*/
|
|
3880
|
+
getCreativeAdId() {}
|
|
3881
|
+
/**
|
|
3882
|
+
* @override
|
|
3883
|
+
*/
|
|
3884
|
+
getAdvertiserName() {}
|
|
3885
|
+
/**
|
|
3886
|
+
* @override
|
|
3887
|
+
*/
|
|
3888
|
+
getMediaUrl() {}
|
|
3889
|
+
/**
|
|
3890
|
+
* @override
|
|
3891
|
+
*/
|
|
3892
|
+
getTimeOffset() {}
|
|
3893
|
+
/**
|
|
3894
|
+
* @override
|
|
3895
|
+
*/
|
|
3896
|
+
getPodIndex() {}
|
|
3897
|
+
/**
|
|
3898
|
+
* @override
|
|
3899
|
+
*/
|
|
3900
|
+
release() {}
|
|
3901
|
+
};
|
|
3670
3902
|
/**
|
|
3671
3903
|
* @implements {shaka.extern.IAd}
|
|
3672
3904
|
*/
|
|
@@ -3833,6 +4065,18 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
|
|
|
3833
4065
|
* @override
|
|
3834
4066
|
*/
|
|
3835
4067
|
updateClientSideAdsRenderingSettings(adsRenderingSettings) {}
|
|
4068
|
+
/**
|
|
4069
|
+
* @override
|
|
4070
|
+
*/
|
|
4071
|
+
initMediaTailor(adContainer, networkingEngine, video) {}
|
|
4072
|
+
/**
|
|
4073
|
+
* @param {string} url
|
|
4074
|
+
* @param {Object} adsParams
|
|
4075
|
+
* @param {string=} backupUrl
|
|
4076
|
+
* @return {!Promise.<string>}
|
|
4077
|
+
* @override
|
|
4078
|
+
*/
|
|
4079
|
+
requestMediaTailorStream(url, adsParams, backupUrl) {}
|
|
3836
4080
|
/**
|
|
3837
4081
|
* @override
|
|
3838
4082
|
*/
|
|
@@ -3853,11 +4097,20 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
|
|
|
3853
4097
|
* @override
|
|
3854
4098
|
*/
|
|
3855
4099
|
getServerSideCuePoints() {}
|
|
4100
|
+
/**
|
|
4101
|
+
* @return {!Array.<!shaka.extern.AdCuePoint>}
|
|
4102
|
+
* @override
|
|
4103
|
+
*/
|
|
4104
|
+
getCuePoints() {}
|
|
3856
4105
|
/**
|
|
3857
4106
|
* @return {shaka.extern.AdsStats}
|
|
3858
4107
|
* @override
|
|
3859
4108
|
*/
|
|
3860
4109
|
getStats() {}
|
|
4110
|
+
/**
|
|
4111
|
+
* @override
|
|
4112
|
+
*/
|
|
4113
|
+
onManifestUpdated(isLive) {}
|
|
3861
4114
|
/**
|
|
3862
4115
|
* @override
|
|
3863
4116
|
*/
|
|
@@ -4257,6 +4510,14 @@ shaka.dash.DashParser = class {
|
|
|
4257
4510
|
* @override
|
|
4258
4511
|
*/
|
|
4259
4512
|
onExpirationUpdated(sessionId, expiration) {}
|
|
4513
|
+
/**
|
|
4514
|
+
* @override
|
|
4515
|
+
*/
|
|
4516
|
+
onInitialVariantChosen(variant) {}
|
|
4517
|
+
/**
|
|
4518
|
+
* @override
|
|
4519
|
+
*/
|
|
4520
|
+
banLocation(uri) {}
|
|
4260
4521
|
};
|
|
4261
4522
|
/**
|
|
4262
4523
|
*/
|
|
@@ -4326,6 +4587,14 @@ shaka.hls.HlsParser = class {
|
|
|
4326
4587
|
* @override
|
|
4327
4588
|
*/
|
|
4328
4589
|
onExpirationUpdated(sessionId, expiration) {}
|
|
4590
|
+
/**
|
|
4591
|
+
* @override
|
|
4592
|
+
*/
|
|
4593
|
+
onInitialVariantChosen(variant) {}
|
|
4594
|
+
/**
|
|
4595
|
+
* @override
|
|
4596
|
+
*/
|
|
4597
|
+
banLocation(uri) {}
|
|
4329
4598
|
};
|
|
4330
4599
|
/**
|
|
4331
4600
|
* Creates a new MSS parser.
|
|
@@ -4354,6 +4623,14 @@ shaka.mss.MssParser = class {
|
|
|
4354
4623
|
* @override
|
|
4355
4624
|
*/
|
|
4356
4625
|
onExpirationUpdated(sessionId, expiration) {}
|
|
4626
|
+
/**
|
|
4627
|
+
* @override
|
|
4628
|
+
*/
|
|
4629
|
+
onInitialVariantChosen(variant) {}
|
|
4630
|
+
/**
|
|
4631
|
+
* @override
|
|
4632
|
+
*/
|
|
4633
|
+
banLocation(uri) {}
|
|
4357
4634
|
};
|
|
4358
4635
|
/**
|
|
4359
4636
|
* @summary A networking plugin to handle http and https URIs via the Fetch API.
|
|
@@ -4826,7 +5103,7 @@ shaka.text.TtmlTextParser = class {
|
|
|
4826
5103
|
/**
|
|
4827
5104
|
* @override
|
|
4828
5105
|
*/
|
|
4829
|
-
parseMedia(data, time) {}
|
|
5106
|
+
parseMedia(data, time, uri) {}
|
|
4830
5107
|
};
|
|
4831
5108
|
/**
|
|
4832
5109
|
* @implements {shaka.extern.TextParser}
|
|
@@ -4849,7 +5126,7 @@ shaka.text.Mp4TtmlParser = class {
|
|
|
4849
5126
|
/**
|
|
4850
5127
|
* @override
|
|
4851
5128
|
*/
|
|
4852
|
-
parseMedia(data, time) {}
|
|
5129
|
+
parseMedia(data, time, uri) {}
|
|
4853
5130
|
};
|
|
4854
5131
|
/**
|
|
4855
5132
|
* @implements {shaka.extern.TextParser}
|
|
@@ -4939,7 +5216,7 @@ shaka.text.SrtTextParser = class {
|
|
|
4939
5216
|
/**
|
|
4940
5217
|
* @override
|
|
4941
5218
|
*/
|
|
4942
|
-
parseMedia(data, time) {}
|
|
5219
|
+
parseMedia(data, time, uri) {}
|
|
4943
5220
|
/**
|
|
4944
5221
|
* Convert a SRT format to WebVTT
|
|
4945
5222
|
* @param {string} data
|
|
@@ -4997,7 +5274,7 @@ shaka.transmuxer.AacTransmuxer = class {
|
|
|
4997
5274
|
/**
|
|
4998
5275
|
* @override
|
|
4999
5276
|
*/
|
|
5000
|
-
|
|
5277
|
+
getOriginalMimeType() {}
|
|
5001
5278
|
/**
|
|
5002
5279
|
* @override
|
|
5003
5280
|
*/
|
|
@@ -5030,7 +5307,7 @@ shaka.transmuxer.Ac3Transmuxer = class {
|
|
|
5030
5307
|
/**
|
|
5031
5308
|
* @override
|
|
5032
5309
|
*/
|
|
5033
|
-
|
|
5310
|
+
getOriginalMimeType() {}
|
|
5034
5311
|
/**
|
|
5035
5312
|
* @override
|
|
5036
5313
|
*/
|
|
@@ -5063,7 +5340,7 @@ shaka.transmuxer.Ec3Transmuxer = class {
|
|
|
5063
5340
|
/**
|
|
5064
5341
|
* @override
|
|
5065
5342
|
*/
|
|
5066
|
-
|
|
5343
|
+
getOriginalMimeType() {}
|
|
5067
5344
|
/**
|
|
5068
5345
|
* @override
|
|
5069
5346
|
*/
|
|
@@ -5096,7 +5373,7 @@ shaka.transmuxer.Mp3Transmuxer = class {
|
|
|
5096
5373
|
/**
|
|
5097
5374
|
* @override
|
|
5098
5375
|
*/
|
|
5099
|
-
|
|
5376
|
+
getOriginalMimeType() {}
|
|
5100
5377
|
/**
|
|
5101
5378
|
* @override
|
|
5102
5379
|
*/
|
|
@@ -5129,11 +5406,11 @@ shaka.transmuxer.MpegTsTransmuxer = class {
|
|
|
5129
5406
|
/**
|
|
5130
5407
|
* @override
|
|
5131
5408
|
*/
|
|
5132
|
-
|
|
5409
|
+
getOriginalMimeType() {}
|
|
5133
5410
|
/**
|
|
5134
5411
|
* @override
|
|
5135
5412
|
*/
|
|
5136
|
-
transmux(data) {}
|
|
5413
|
+
transmux(data, stream, reference, duration, contentType) {}
|
|
5137
5414
|
};
|
|
5138
5415
|
/**
|
|
5139
5416
|
* @implements {shaka.extern.Transmuxer}
|
|
@@ -5162,45 +5439,12 @@ shaka.transmuxer.MssTransmuxer = class {
|
|
|
5162
5439
|
/**
|
|
5163
5440
|
* @override
|
|
5164
5441
|
*/
|
|
5165
|
-
|
|
5442
|
+
getOriginalMimeType() {}
|
|
5166
5443
|
/**
|
|
5167
5444
|
* @override
|
|
5168
5445
|
*/
|
|
5169
5446
|
transmux(data, stream, reference) {}
|
|
5170
5447
|
};
|
|
5171
|
-
/**
|
|
5172
|
-
* @implements {shaka.extern.Transmuxer}
|
|
5173
|
-
*/
|
|
5174
|
-
shaka.transmuxer.MuxjsTransmuxer = class {
|
|
5175
|
-
/**
|
|
5176
|
-
* @param {string} mimeType
|
|
5177
|
-
*/
|
|
5178
|
-
constructor(mimeType) {}
|
|
5179
|
-
/**
|
|
5180
|
-
* @override
|
|
5181
|
-
*/
|
|
5182
|
-
destroy() {}
|
|
5183
|
-
/**
|
|
5184
|
-
* Check if the mime type and the content type is supported.
|
|
5185
|
-
* @param {string} mimeType
|
|
5186
|
-
* @param {string=} contentType
|
|
5187
|
-
* @return {boolean}
|
|
5188
|
-
* @override
|
|
5189
|
-
*/
|
|
5190
|
-
isSupported(mimeType, contentType) {}
|
|
5191
|
-
/**
|
|
5192
|
-
* @override
|
|
5193
|
-
*/
|
|
5194
|
-
convertCodecs(contentType, mimeType) {}
|
|
5195
|
-
/**
|
|
5196
|
-
* @override
|
|
5197
|
-
*/
|
|
5198
|
-
getOrginalMimeType() {}
|
|
5199
|
-
/**
|
|
5200
|
-
* @override
|
|
5201
|
-
*/
|
|
5202
|
-
transmux(data) {}
|
|
5203
|
-
};
|
|
5204
5448
|
/**
|
|
5205
5449
|
* @implements {shaka.extern.Transmuxer}
|
|
5206
5450
|
*/
|
|
@@ -5228,7 +5472,7 @@ shaka.transmuxer.TsTransmuxer = class {
|
|
|
5228
5472
|
/**
|
|
5229
5473
|
* @override
|
|
5230
5474
|
*/
|
|
5231
|
-
|
|
5475
|
+
getOriginalMimeType() {}
|
|
5232
5476
|
/**
|
|
5233
5477
|
* @override
|
|
5234
5478
|
*/
|
|
@@ -5548,6 +5792,16 @@ shaka.ui.Controls = class extends shaka.util.FakeEventTarget {
|
|
|
5548
5792
|
isFullScreenEnabled() {}
|
|
5549
5793
|
/** */
|
|
5550
5794
|
toggleFullScreen() {}
|
|
5795
|
+
/**
|
|
5796
|
+
* @return {boolean}
|
|
5797
|
+
*/
|
|
5798
|
+
isPiPAllowed() {}
|
|
5799
|
+
/**
|
|
5800
|
+
* @return {boolean}
|
|
5801
|
+
*/
|
|
5802
|
+
isPiPEnabled() {}
|
|
5803
|
+
/** */
|
|
5804
|
+
togglePiP() {}
|
|
5551
5805
|
/** */
|
|
5552
5806
|
showAdUI() {}
|
|
5553
5807
|
/** */
|
|
@@ -5756,6 +6010,17 @@ shaka.ui.PresentationTimeTracker = class extends shaka.ui.Element {
|
|
|
5756
6010
|
*/
|
|
5757
6011
|
constructor(parent, controls) {}
|
|
5758
6012
|
};
|
|
6013
|
+
/**
|
|
6014
|
+
* @extends {shaka.ui.Element}
|
|
6015
|
+
* @final
|
|
6016
|
+
*/
|
|
6017
|
+
shaka.ui.RemoteButton = class extends shaka.ui.Element {
|
|
6018
|
+
/**
|
|
6019
|
+
* @param {!HTMLElement} parent
|
|
6020
|
+
* @param {!shaka.ui.Controls} controls
|
|
6021
|
+
*/
|
|
6022
|
+
constructor(parent, controls) {}
|
|
6023
|
+
};
|
|
5759
6024
|
/**
|
|
5760
6025
|
* @extends {shaka.ui.SettingsMenu}
|
|
5761
6026
|
* @final
|