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
|
@@ -93,6 +93,18 @@ shaka.util.BufferUtils = class {
|
|
|
93
93
|
* @return {!Uint8Array}
|
|
94
94
|
*/
|
|
95
95
|
static toUint8(data, offset, length) {}
|
|
96
|
+
/**
|
|
97
|
+
* Creates a new Uint16Array view on the same buffer. This clamps the values
|
|
98
|
+
* to be within the same view (i.e. you can't use this to move past the end
|
|
99
|
+
* of the view, even if the underlying buffer is larger). However, you can
|
|
100
|
+
* pass a negative offset to access the data before the view.
|
|
101
|
+
* @param {BufferSource} data
|
|
102
|
+
* @param {number=} offset The offset from the beginning of this data's view
|
|
103
|
+
* to start the new view at.
|
|
104
|
+
* @param {number=} length The byte length of the new view.
|
|
105
|
+
* @return {!Uint16Array}
|
|
106
|
+
*/
|
|
107
|
+
static toUint16(data, offset, length) {}
|
|
96
108
|
/**
|
|
97
109
|
* Creates a DataView over the given buffer.
|
|
98
110
|
* @see toUint8
|
|
@@ -321,6 +333,11 @@ shaka.text.Cue.prototype.linePadding;
|
|
|
321
333
|
* @type {number}
|
|
322
334
|
*/
|
|
323
335
|
shaka.text.Cue.prototype.opacity;
|
|
336
|
+
/**
|
|
337
|
+
* Text combine upright as a CSS text-combine-upright value.
|
|
338
|
+
* @type {string}
|
|
339
|
+
*/
|
|
340
|
+
shaka.text.Cue.prototype.textCombineUpright;
|
|
324
341
|
/**
|
|
325
342
|
* Text decoration. A combination of underline, overline
|
|
326
343
|
* and line through. Empty array means no decoration.
|
|
@@ -373,6 +390,12 @@ shaka.text.Cue.prototype.isContainer;
|
|
|
373
390
|
* @type {boolean}
|
|
374
391
|
*/
|
|
375
392
|
shaka.text.Cue.prototype.lineBreak;
|
|
393
|
+
/**
|
|
394
|
+
* Used to indicate the type of ruby tag that should be used when rendering
|
|
395
|
+
* the cue. Valid values: ruby, rp, rt.
|
|
396
|
+
* @type {?string}
|
|
397
|
+
*/
|
|
398
|
+
shaka.text.Cue.prototype.rubyTag;
|
|
376
399
|
/**
|
|
377
400
|
* The number of horizontal and vertical cells into which the Root Container
|
|
378
401
|
* Region area is divided.
|
|
@@ -727,7 +750,6 @@ shaka.util.Error.Code = {
|
|
|
727
750
|
'TEXT_ONLY_WEBVTT_SRC_EQUALS': 2013,
|
|
728
751
|
'MISSING_TEXT_PLUGIN': 2014,
|
|
729
752
|
'CHAPTERS_TRACK_FAILED': 2015,
|
|
730
|
-
'CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_SRC_EQUALS': 2016,
|
|
731
753
|
'UNSUPPORTED_EXTERNAL_THUMBNAILS_URI': 2017,
|
|
732
754
|
'BUFFER_READ_OUT_OF_BOUNDS': 3000,
|
|
733
755
|
'JS_INTEGER_OVERFLOW': 3001,
|
|
@@ -784,11 +806,13 @@ shaka.util.Error.Code = {
|
|
|
784
806
|
'HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED': 4040,
|
|
785
807
|
'HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED': 4041,
|
|
786
808
|
'NO_WEB_CRYPTO_API': 4042,
|
|
787
|
-
'HLS_AES_128_INVALID_IV_LENGTH': 4043,
|
|
788
|
-
'HLS_AES_128_INVALID_KEY_LENGTH': 4044,
|
|
789
809
|
'CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM': 4045,
|
|
790
810
|
'MSS_INVALID_XML': 4046,
|
|
791
811
|
'MSS_LIVE_CONTENT_NOT_SUPPORTED': 4047,
|
|
812
|
+
'AES_128_INVALID_IV_LENGTH': 4048,
|
|
813
|
+
'AES_128_INVALID_KEY_LENGTH': 4049,
|
|
814
|
+
'DASH_CONFLICTING_AES_128': 4050,
|
|
815
|
+
'DASH_UNSUPPORTED_AES_128': 4051,
|
|
792
816
|
'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
|
|
793
817
|
'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
|
|
794
818
|
'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
|
|
@@ -839,7 +863,8 @@ shaka.util.Error.Code = {
|
|
|
839
863
|
'CS_AD_MANAGER_NOT_INITIALIZED': 10001,
|
|
840
864
|
'SS_IMA_SDK_MISSING': 10002,
|
|
841
865
|
'SS_AD_MANAGER_NOT_INITIALIZED': 10003,
|
|
842
|
-
'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004
|
|
866
|
+
'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004,
|
|
867
|
+
'MT_AD_MANAGER_NOT_INITIALIZED': 10005
|
|
843
868
|
};
|
|
844
869
|
/**
|
|
845
870
|
* @summary A set of utility functions for dealing with MIME types.
|
|
@@ -1119,9 +1144,11 @@ shaka.abr.SimpleAbrManager = class {
|
|
|
1119
1144
|
*/
|
|
1120
1145
|
init(switchCallback) {}
|
|
1121
1146
|
/**
|
|
1147
|
+
* @param {boolean=} preferFastSwitching
|
|
1148
|
+
* @return {shaka.extern.Variant}
|
|
1122
1149
|
* @override
|
|
1123
1150
|
*/
|
|
1124
|
-
chooseVariant() {}
|
|
1151
|
+
chooseVariant(preferFastSwitching) {}
|
|
1125
1152
|
/**
|
|
1126
1153
|
* @override
|
|
1127
1154
|
*/
|
|
@@ -1133,7 +1160,7 @@ shaka.abr.SimpleAbrManager = class {
|
|
|
1133
1160
|
/**
|
|
1134
1161
|
* @override
|
|
1135
1162
|
*/
|
|
1136
|
-
segmentDownloaded(deltaTimeMs, numBytes) {}
|
|
1163
|
+
segmentDownloaded(deltaTimeMs, numBytes, allowSwitch) {}
|
|
1137
1164
|
/**
|
|
1138
1165
|
* @override
|
|
1139
1166
|
*/
|
|
@@ -1164,6 +1191,13 @@ shaka.config.AutoShowText = {
|
|
|
1164
1191
|
'IF_PREFERRED_TEXT_LANGUAGE': 2,
|
|
1165
1192
|
'IF_SUBTITLES_MAY_BE_NEEDED': 3
|
|
1166
1193
|
};
|
|
1194
|
+
/**
|
|
1195
|
+
* @enum {string}
|
|
1196
|
+
*/
|
|
1197
|
+
shaka.config.CodecSwitchingStrategy = {
|
|
1198
|
+
RELOAD: 'reload',
|
|
1199
|
+
SMOOTH: 'smooth'
|
|
1200
|
+
};
|
|
1167
1201
|
/**
|
|
1168
1202
|
* A utility to wrap abortable operations. Note that these are not cancelable.
|
|
1169
1203
|
* Cancelation implies undoing what has been done so far, whereas aborting only
|
|
@@ -1323,17 +1357,20 @@ shaka.util.FakeEventTarget.ListenerType;
|
|
|
1323
1357
|
*/
|
|
1324
1358
|
shaka.net.NetworkingEngine = class extends shaka.util.FakeEventTarget {
|
|
1325
1359
|
/**
|
|
1326
|
-
* @param {function(number, number)=} onProgressUpdated Called when
|
|
1327
|
-
* event is triggered. Passed the duration, in milliseconds,
|
|
1328
|
-
* request took,
|
|
1360
|
+
* @param {function(number, number, boolean)=} onProgressUpdated Called when
|
|
1361
|
+
* a progress event is triggered. Passed the duration, in milliseconds,
|
|
1362
|
+
* that the request took, the number of bytes transferred, and the boolean
|
|
1363
|
+
* of whether the switching is allowed.
|
|
1329
1364
|
* @param {shaka.net.NetworkingEngine.OnHeadersReceived=} onHeadersReceived
|
|
1330
1365
|
* Called when the headers are received for a download.
|
|
1331
1366
|
* @param {shaka.net.NetworkingEngine.OnDownloadFailed=} onDownloadFailed
|
|
1332
1367
|
* Called when a download fails, for any reason.
|
|
1333
1368
|
* @param {shaka.net.NetworkingEngine.OnRequest=} onRequest
|
|
1334
1369
|
* Called when a request is made
|
|
1370
|
+
* @param {shaka.net.NetworkingEngine.OnRetry=} onRetry
|
|
1371
|
+
* Called when a request retry is made
|
|
1335
1372
|
*/
|
|
1336
|
-
constructor(onProgressUpdated, onHeadersReceived, onDownloadFailed, onRequest) {}
|
|
1373
|
+
constructor(onProgressUpdated, onHeadersReceived, onDownloadFailed, onRequest, onRetry) {}
|
|
1337
1374
|
/**
|
|
1338
1375
|
* @param {boolean} forceHTTPS
|
|
1339
1376
|
*/
|
|
@@ -1461,7 +1498,9 @@ shaka.net.NetworkingEngine.RequestType = {
|
|
|
1461
1498
|
'APP': 3,
|
|
1462
1499
|
'TIMING': 4,
|
|
1463
1500
|
'SERVER_CERTIFICATE': 5,
|
|
1464
|
-
'KEY': 6
|
|
1501
|
+
'KEY': 6,
|
|
1502
|
+
'ADS': 7,
|
|
1503
|
+
'CONTENT_STEERING': 8
|
|
1465
1504
|
};
|
|
1466
1505
|
/**
|
|
1467
1506
|
* A more advanced form of the RequestType structure, meant to describe
|
|
@@ -1520,6 +1559,17 @@ shaka.net.NetworkingEngine.OnDownloadFailed;
|
|
|
1520
1559
|
* A callback function called on every request
|
|
1521
1560
|
*/
|
|
1522
1561
|
shaka.net.NetworkingEngine.OnRequest;
|
|
1562
|
+
/**
|
|
1563
|
+
* @typedef {function(
|
|
1564
|
+
* !shaka.net.NetworkingEngine.RequestType,
|
|
1565
|
+
* (shaka.extern.RequestContext|undefined),
|
|
1566
|
+
* string,
|
|
1567
|
+
* string)}
|
|
1568
|
+
* @description
|
|
1569
|
+
* A callback function called on every request retry. The first string is the
|
|
1570
|
+
* new URI and the second string is the old URI.
|
|
1571
|
+
*/
|
|
1572
|
+
shaka.net.NetworkingEngine.OnRetry;
|
|
1523
1573
|
/**
|
|
1524
1574
|
* @summary
|
|
1525
1575
|
* An EventManager maintains a collection of "event
|
|
@@ -1893,7 +1943,7 @@ shaka.media.InitSegmentReference = class {
|
|
|
1893
1943
|
* the quality of the media associated with this init segment.
|
|
1894
1944
|
* @param {(null|number)=} timescale
|
|
1895
1945
|
* @param {(null|BufferSource)=} segmentData
|
|
1896
|
-
* @param {?shaka.extern.
|
|
1946
|
+
* @param {?shaka.extern.aes128Key=} aes128Key
|
|
1897
1947
|
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
1898
1948
|
*/
|
|
1899
1949
|
constructor(uris, startByte, endByte, mediaQuality, timescale, segmentData, aes128Key) {}
|
|
@@ -1969,10 +2019,12 @@ shaka.media.SegmentReference = class {
|
|
|
1969
2019
|
* @param {shaka.media.SegmentReference.Status=} status
|
|
1970
2020
|
* The segment status is used to indicate that a segment does not exist or is
|
|
1971
2021
|
* not available.
|
|
1972
|
-
* @param {?shaka.extern.
|
|
2022
|
+
* @param {?shaka.extern.aes128Key=} aes128Key
|
|
1973
2023
|
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
2024
|
+
* @param {boolean=} allPartialSegments
|
|
2025
|
+
* Indicate if the segment has all partial segments
|
|
1974
2026
|
*/
|
|
1975
|
-
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status,
|
|
2027
|
+
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status, aes128Key, allPartialSegments) {}
|
|
1976
2028
|
/**
|
|
1977
2029
|
* Creates and returns the URIs of the resource containing the segment.
|
|
1978
2030
|
* @return {!Array.<string>}
|
|
@@ -2039,6 +2091,24 @@ shaka.media.SegmentReference = class {
|
|
|
2039
2091
|
* @return {boolean}
|
|
2040
2092
|
*/
|
|
2041
2093
|
isIndependent() {}
|
|
2094
|
+
/**
|
|
2095
|
+
* Mark the reference as partial.
|
|
2096
|
+
*/
|
|
2097
|
+
markAsPartial() {}
|
|
2098
|
+
/**
|
|
2099
|
+
* Returns true if the segment is partial.
|
|
2100
|
+
* @return {boolean}
|
|
2101
|
+
*/
|
|
2102
|
+
isPartial() {}
|
|
2103
|
+
/**
|
|
2104
|
+
* Mark the reference as being the last part of the full segment
|
|
2105
|
+
*/
|
|
2106
|
+
markAsLastPartial() {}
|
|
2107
|
+
/**
|
|
2108
|
+
* Returns true if reference as being the last part of the full segment.
|
|
2109
|
+
* @return {boolean}
|
|
2110
|
+
*/
|
|
2111
|
+
isLastPartial() {}
|
|
2042
2112
|
/**
|
|
2043
2113
|
* Mark the reference as byterange optimization.
|
|
2044
2114
|
* The "byterange optimization" means that it is playable using MP4 low
|
|
@@ -2128,8 +2198,9 @@ shaka.util.Id3Utils = class {
|
|
|
2128
2198
|
shaka.util.ExpGolomb = class {
|
|
2129
2199
|
/**
|
|
2130
2200
|
* @param {!Uint8Array} data
|
|
2201
|
+
* @param {boolean=} convertEbsp2rbsp
|
|
2131
2202
|
*/
|
|
2132
|
-
constructor(data) {}
|
|
2203
|
+
constructor(data, convertEbsp2rbsp) {}
|
|
2133
2204
|
};
|
|
2134
2205
|
/**
|
|
2135
2206
|
* @see https://en.wikipedia.org/wiki/MPEG_transport_stream
|
|
@@ -2156,6 +2227,15 @@ shaka.util.TsParser = class {
|
|
|
2156
2227
|
* @return {!Array.<shaka.extern.VideoNalu>}
|
|
2157
2228
|
*/
|
|
2158
2229
|
parseAvcNalus(pes, nextPes) {}
|
|
2230
|
+
/**
|
|
2231
|
+
* Parse AVC and HVC Nalus
|
|
2232
|
+
* The code is based on hls.js
|
|
2233
|
+
* Credit to https://github.com/video-dev/hls.js/blob/master/src/demux/tsdemuxer.ts
|
|
2234
|
+
* @param {shaka.extern.MPEG_PES} pes
|
|
2235
|
+
* @param {?shaka.extern.VideoNalu=} lastNalu
|
|
2236
|
+
* @return {!Array.<shaka.extern.VideoNalu>}
|
|
2237
|
+
*/
|
|
2238
|
+
parseNalus(pes, lastNalu) {}
|
|
2159
2239
|
/**
|
|
2160
2240
|
* Return the ID3 metadata
|
|
2161
2241
|
* @return {!Array.<shaka.extern.ID3Metadata>}
|
|
@@ -2168,14 +2248,16 @@ shaka.util.TsParser = class {
|
|
|
2168
2248
|
getAudioData() {}
|
|
2169
2249
|
/**
|
|
2170
2250
|
* Return the audio data
|
|
2251
|
+
* @param {boolean=} naluProcessing
|
|
2171
2252
|
* @return {!Array.<shaka.extern.MPEG_PES>}
|
|
2172
2253
|
*/
|
|
2173
|
-
getVideoData() {}
|
|
2254
|
+
getVideoData(naluProcessing) {}
|
|
2174
2255
|
/**
|
|
2175
2256
|
* Return the start time for the audio and video
|
|
2176
|
-
* @
|
|
2257
|
+
* @param {string} contentType
|
|
2258
|
+
* @return {?number}
|
|
2177
2259
|
*/
|
|
2178
|
-
getStartTime() {}
|
|
2260
|
+
getStartTime(contentType) {}
|
|
2179
2261
|
/**
|
|
2180
2262
|
* Return the audio and video codecs
|
|
2181
2263
|
* @return {{audio: ?string, video: ?string}}
|
|
@@ -2215,23 +2297,23 @@ shaka.util.TsParser = class {
|
|
|
2215
2297
|
shaka.util.TsParser.Timescale;
|
|
2216
2298
|
/**
|
|
2217
2299
|
* @summary
|
|
2218
|
-
*
|
|
2300
|
+
* lcevcDec - (MPEG-5 Part 2 LCEVC - Decoder) provides
|
|
2219
2301
|
* all the operations related to the enhancement and rendering
|
|
2220
2302
|
* of LCEVC enabled streams and on to a canvas.
|
|
2221
2303
|
* @implements {shaka.util.IReleasable}
|
|
2222
2304
|
*/
|
|
2223
|
-
shaka.lcevc.
|
|
2305
|
+
shaka.lcevc.Dec = class {
|
|
2224
2306
|
/**
|
|
2225
2307
|
* @param {HTMLVideoElement} media The video element that will be attached to
|
|
2226
|
-
* LCEVC
|
|
2308
|
+
* LCEVC Decoder for input.
|
|
2227
2309
|
* @param {HTMLCanvasElement} canvas The canvas element that will be attached
|
|
2228
|
-
* to LCEVC
|
|
2229
|
-
* @param {shaka.extern.LcevcConfiguration}
|
|
2230
|
-
*
|
|
2310
|
+
* to LCEVC Decoder to render the enhanced frames.
|
|
2311
|
+
* @param {shaka.extern.LcevcConfiguration} lcevcConfig LCEVC configuration
|
|
2312
|
+
* object to initialize the LCEVC Decoder.
|
|
2231
2313
|
*/
|
|
2232
|
-
constructor(media, canvas,
|
|
2314
|
+
constructor(media, canvas, lcevcConfig) {}
|
|
2233
2315
|
/**
|
|
2234
|
-
* Close LCEVC
|
|
2316
|
+
* Close LCEVC Decoder.
|
|
2235
2317
|
* @override
|
|
2236
2318
|
*/
|
|
2237
2319
|
release() {}
|
|
@@ -2427,7 +2509,9 @@ shaka.media.PresentationTimeline = class {
|
|
|
2427
2509
|
* @typedef {{
|
|
2428
2510
|
* start: number,
|
|
2429
2511
|
* unscaledStart: number,
|
|
2430
|
-
* end: number
|
|
2512
|
+
* end: number,
|
|
2513
|
+
* partialSegments: number,
|
|
2514
|
+
* segmentPosition: number
|
|
2431
2515
|
* }}
|
|
2432
2516
|
* @description
|
|
2433
2517
|
* Defines a time range of a media segment. Times are in seconds.
|
|
@@ -2437,6 +2521,10 @@ shaka.media.PresentationTimeline = class {
|
|
|
2437
2521
|
* The start time of the range in representation timescale units.
|
|
2438
2522
|
* @property {number} end
|
|
2439
2523
|
* The end time (exclusive) of the range.
|
|
2524
|
+
* @property {number} partialSegments
|
|
2525
|
+
* The number of partial segments
|
|
2526
|
+
* @property {number} segmentPosition
|
|
2527
|
+
* The segment position of the timeline entry as it appears in the manifest
|
|
2440
2528
|
*/
|
|
2441
2529
|
shaka.media.PresentationTimeline.TimeRange;
|
|
2442
2530
|
/**
|
|
@@ -2656,6 +2744,32 @@ shaka.text.SimpleTextDisplayer = class {
|
|
|
2656
2744
|
*/
|
|
2657
2745
|
setTextVisibility(on) {}
|
|
2658
2746
|
};
|
|
2747
|
+
/**
|
|
2748
|
+
* A stub text displayer plugin that does nothing
|
|
2749
|
+
* @implements {shaka.extern.TextDisplayer}
|
|
2750
|
+
*/
|
|
2751
|
+
shaka.text.StubTextDisplayer = class {
|
|
2752
|
+
/**
|
|
2753
|
+
* @override
|
|
2754
|
+
*/
|
|
2755
|
+
remove(start, end) {}
|
|
2756
|
+
/**
|
|
2757
|
+
* @override
|
|
2758
|
+
*/
|
|
2759
|
+
append(cues) {}
|
|
2760
|
+
/**
|
|
2761
|
+
* @override
|
|
2762
|
+
*/
|
|
2763
|
+
destroy() {}
|
|
2764
|
+
/**
|
|
2765
|
+
* @override
|
|
2766
|
+
*/
|
|
2767
|
+
isTextVisible() {}
|
|
2768
|
+
/**
|
|
2769
|
+
* @override
|
|
2770
|
+
*/
|
|
2771
|
+
setTextVisibility(on) {}
|
|
2772
|
+
};
|
|
2659
2773
|
/** */
|
|
2660
2774
|
shaka.util.Dom = class {
|
|
2661
2775
|
/**
|
|
@@ -2903,16 +3017,9 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
2903
3017
|
*/
|
|
2904
3018
|
static probeSupport(promptsOkay) {}
|
|
2905
3019
|
/**
|
|
2906
|
-
*
|
|
2907
|
-
*
|
|
2908
|
-
*
|
|
2909
|
-
* Calling <code>attach</code> with <code>initializedMediaSource=true</code>
|
|
2910
|
-
* will tell the player to take the initial load step and initialize media
|
|
2911
|
-
* source.
|
|
2912
|
-
* <p>
|
|
2913
|
-
* Calls to <code>attach</code> will interrupt any in-progress calls to
|
|
2914
|
-
* <code>load</code> but cannot interrupt calls to <code>attach</code>,
|
|
2915
|
-
* <code>detach</code>, or <code>unload</code>.
|
|
3020
|
+
* Attaches the player to a media element.
|
|
3021
|
+
* If the player was already attached to a media element, first detaches from
|
|
3022
|
+
* that media element.
|
|
2916
3023
|
* @param {!HTMLMediaElement} mediaElement
|
|
2917
3024
|
* @param {boolean=} initializeMediaSource
|
|
2918
3025
|
* @return {!Promise}
|
|
@@ -2925,39 +3032,20 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
2925
3032
|
*/
|
|
2926
3033
|
attachCanvas(canvas) {}
|
|
2927
3034
|
/**
|
|
2928
|
-
*
|
|
2929
|
-
*
|
|
2930
|
-
*
|
|
2931
|
-
*
|
|
2932
|
-
* <li>loading, this will abort loading, unload, and release the media
|
|
2933
|
-
* element,
|
|
2934
|
-
* <li>playing content, this will stop playback, unload, and release the
|
|
2935
|
-
* media element.
|
|
2936
|
-
* </ul>
|
|
2937
|
-
* <p>
|
|
2938
|
-
* Calls to <code>detach</code> will interrupt any in-progress calls to
|
|
2939
|
-
* <code>load</code> but cannot interrupt calls to <code>attach</code>,
|
|
2940
|
-
* <code>detach</code>, or <code>unload</code>.
|
|
3035
|
+
* Detach the player from the current media element. Leaves the player in a
|
|
3036
|
+
* state where it cannot play media, until it has been attached to something
|
|
3037
|
+
* else.
|
|
3038
|
+
* @param {boolean=} keepAdManager
|
|
2941
3039
|
* @return {!Promise}
|
|
2942
3040
|
*/
|
|
2943
|
-
detach() {}
|
|
3041
|
+
detach(keepAdManager) {}
|
|
2944
3042
|
/**
|
|
2945
|
-
*
|
|
2946
|
-
* <ul>
|
|
2947
|
-
* <li>detached (when it does not have a media element),
|
|
2948
|
-
* <li>attached (when it has a media element and
|
|
2949
|
-
* <code>initializedMediaSource=false</code>)
|
|
2950
|
-
* <li>media source initialized (when it has a media element and
|
|
2951
|
-
* <code>initializedMediaSource=true</code>)
|
|
2952
|
-
* </ul>
|
|
2953
|
-
* <p>
|
|
2954
|
-
* Calls to <code>unload</code> will interrupt any in-progress calls to
|
|
2955
|
-
* <code>load</code> but cannot interrupt calls to <code>attach</code>,
|
|
2956
|
-
* <code>detach</code>, or <code>unload</code>.
|
|
3043
|
+
* Unloads the currently playing stream, if any.
|
|
2957
3044
|
* @param {boolean=} initializeMediaSource
|
|
3045
|
+
* @param {boolean=} keepAdManager
|
|
2958
3046
|
* @return {!Promise}
|
|
2959
3047
|
*/
|
|
2960
|
-
unload(initializeMediaSource) {}
|
|
3048
|
+
unload(initializeMediaSource, keepAdManager) {}
|
|
2961
3049
|
/**
|
|
2962
3050
|
* Provides a way to update the stream start position during the media loading
|
|
2963
3051
|
* process. Can for example be called from the <code>manifestparsed</code>
|
|
@@ -2967,22 +3055,21 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
2967
3055
|
*/
|
|
2968
3056
|
updateStartTime(startTime) {}
|
|
2969
3057
|
/**
|
|
2970
|
-
*
|
|
2971
|
-
*
|
|
2972
|
-
* a call to <code>attach</code> must have succeeded.
|
|
2973
|
-
* <p>
|
|
2974
|
-
* Calls to <code>load</code> will interrupt any in-progress calls to
|
|
2975
|
-
* <code>load</code> but cannot interrupt calls to <code>attach</code>,
|
|
2976
|
-
* <code>detach</code>, or <code>unload</code>.
|
|
3058
|
+
* Loads a new stream.
|
|
3059
|
+
* If another stream was already playing, first unloads that stream.
|
|
2977
3060
|
* @param {string} assetUri
|
|
2978
3061
|
* @param {?number=} startTime
|
|
2979
3062
|
* When <code>startTime</code> is <code>null</code> or
|
|
2980
3063
|
* <code>undefined</code>, playback will start at the default start time (0
|
|
2981
3064
|
* for VOD and liveEdge for LIVE).
|
|
2982
|
-
* @param {string=} mimeType
|
|
3065
|
+
* @param {?string=} mimeType
|
|
2983
3066
|
* @return {!Promise}
|
|
2984
3067
|
*/
|
|
2985
3068
|
load(assetUri, startTime, mimeType) {}
|
|
3069
|
+
/**
|
|
3070
|
+
* Releases all of the mutexes of the player. Meant for use by the tests.
|
|
3071
|
+
*/
|
|
3072
|
+
releaseAllMutexes() {}
|
|
2986
3073
|
/**
|
|
2987
3074
|
* Changes configuration settings on the Player. This checks the names of
|
|
2988
3075
|
* keys and the types of values to avoid coding errors. If there are errors,
|
|
@@ -3081,7 +3168,8 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
3081
3168
|
isAudioOnly() {}
|
|
3082
3169
|
/**
|
|
3083
3170
|
* Get the range of time (in seconds) that seeking is allowed. If the player
|
|
3084
|
-
* has not loaded content, this will return a range
|
|
3171
|
+
* has not loaded content and the manifest is HLS, this will return a range
|
|
3172
|
+
* from 0 to 0.
|
|
3085
3173
|
* @return {{start: number, end: number}}
|
|
3086
3174
|
*/
|
|
3087
3175
|
seekRange() {}
|
|
@@ -3179,6 +3267,13 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
3179
3267
|
* @return {!Array.<shaka.extern.Track>}
|
|
3180
3268
|
*/
|
|
3181
3269
|
getImageTracks() {}
|
|
3270
|
+
/**
|
|
3271
|
+
* Returns Thumbnail objects for each thumbnail for a given image track ID.
|
|
3272
|
+
* If the player has not loaded content, this will return a null.
|
|
3273
|
+
* @param {number} trackId
|
|
3274
|
+
* @return {!Promise.<?Array<!shaka.extern.Thumbnail>>}
|
|
3275
|
+
*/
|
|
3276
|
+
getAllThumbnails(trackId) {}
|
|
3182
3277
|
/**
|
|
3183
3278
|
* Return a Thumbnail object from a image track Id and time.
|
|
3184
3279
|
* If the player has not loaded content, this will return a null.
|
|
@@ -3560,6 +3655,138 @@ shaka.ads.ClientSideAd = class {
|
|
|
3560
3655
|
*/
|
|
3561
3656
|
release() {}
|
|
3562
3657
|
};
|
|
3658
|
+
/**
|
|
3659
|
+
* @implements {shaka.extern.IAd}
|
|
3660
|
+
*/
|
|
3661
|
+
shaka.ads.MediaTailorAd = class {
|
|
3662
|
+
/**
|
|
3663
|
+
* @param {mediaTailor.Ad} mediaTailorAd
|
|
3664
|
+
* @param {number} adPosition
|
|
3665
|
+
* @param {number} totalAds
|
|
3666
|
+
* @param {HTMLMediaElement} video
|
|
3667
|
+
*/
|
|
3668
|
+
constructor(mediaTailorAd, adPosition, totalAds, isLinear, video) {}
|
|
3669
|
+
/**
|
|
3670
|
+
* @override
|
|
3671
|
+
*/
|
|
3672
|
+
getDuration() {}
|
|
3673
|
+
/**
|
|
3674
|
+
* @override
|
|
3675
|
+
*/
|
|
3676
|
+
getMinSuggestedDuration() {}
|
|
3677
|
+
/**
|
|
3678
|
+
* @override
|
|
3679
|
+
*/
|
|
3680
|
+
getRemainingTime() {}
|
|
3681
|
+
/**
|
|
3682
|
+
* @override
|
|
3683
|
+
*/
|
|
3684
|
+
isPaused() {}
|
|
3685
|
+
/**
|
|
3686
|
+
* @override
|
|
3687
|
+
*/
|
|
3688
|
+
isSkippable() {}
|
|
3689
|
+
/**
|
|
3690
|
+
* @override
|
|
3691
|
+
*/
|
|
3692
|
+
getTimeUntilSkippable() {}
|
|
3693
|
+
/**
|
|
3694
|
+
* @override
|
|
3695
|
+
*/
|
|
3696
|
+
canSkipNow() {}
|
|
3697
|
+
/**
|
|
3698
|
+
* @override
|
|
3699
|
+
*/
|
|
3700
|
+
skip() {}
|
|
3701
|
+
/**
|
|
3702
|
+
* @override
|
|
3703
|
+
*/
|
|
3704
|
+
pause() {}
|
|
3705
|
+
/**
|
|
3706
|
+
* @override
|
|
3707
|
+
*/
|
|
3708
|
+
play() {}
|
|
3709
|
+
/**
|
|
3710
|
+
* @override
|
|
3711
|
+
*/
|
|
3712
|
+
getVolume() {}
|
|
3713
|
+
/**
|
|
3714
|
+
* @override
|
|
3715
|
+
*/
|
|
3716
|
+
setVolume(volume) {}
|
|
3717
|
+
/**
|
|
3718
|
+
* @override
|
|
3719
|
+
*/
|
|
3720
|
+
isMuted() {}
|
|
3721
|
+
/**
|
|
3722
|
+
* @override
|
|
3723
|
+
*/
|
|
3724
|
+
isLinear() {}
|
|
3725
|
+
/**
|
|
3726
|
+
* @override
|
|
3727
|
+
*/
|
|
3728
|
+
resize(width, height) {}
|
|
3729
|
+
/**
|
|
3730
|
+
* @override
|
|
3731
|
+
*/
|
|
3732
|
+
setMuted(muted) {}
|
|
3733
|
+
/**
|
|
3734
|
+
* @override
|
|
3735
|
+
*/
|
|
3736
|
+
getSequenceLength() {}
|
|
3737
|
+
/**
|
|
3738
|
+
* @override
|
|
3739
|
+
*/
|
|
3740
|
+
getPositionInSequence() {}
|
|
3741
|
+
/**
|
|
3742
|
+
* @override
|
|
3743
|
+
*/
|
|
3744
|
+
getTitle() {}
|
|
3745
|
+
/**
|
|
3746
|
+
* @override
|
|
3747
|
+
*/
|
|
3748
|
+
getDescription() {}
|
|
3749
|
+
/**
|
|
3750
|
+
* @override
|
|
3751
|
+
*/
|
|
3752
|
+
getVastMediaBitrate() {}
|
|
3753
|
+
/**
|
|
3754
|
+
* @override
|
|
3755
|
+
*/
|
|
3756
|
+
getVastMediaHeight() {}
|
|
3757
|
+
/**
|
|
3758
|
+
* @override
|
|
3759
|
+
*/
|
|
3760
|
+
getVastMediaWidth() {}
|
|
3761
|
+
/**
|
|
3762
|
+
* @override
|
|
3763
|
+
*/
|
|
3764
|
+
getAdId() {}
|
|
3765
|
+
/**
|
|
3766
|
+
* @override
|
|
3767
|
+
*/
|
|
3768
|
+
getCreativeAdId() {}
|
|
3769
|
+
/**
|
|
3770
|
+
* @override
|
|
3771
|
+
*/
|
|
3772
|
+
getAdvertiserName() {}
|
|
3773
|
+
/**
|
|
3774
|
+
* @override
|
|
3775
|
+
*/
|
|
3776
|
+
getMediaUrl() {}
|
|
3777
|
+
/**
|
|
3778
|
+
* @override
|
|
3779
|
+
*/
|
|
3780
|
+
getTimeOffset() {}
|
|
3781
|
+
/**
|
|
3782
|
+
* @override
|
|
3783
|
+
*/
|
|
3784
|
+
getPodIndex() {}
|
|
3785
|
+
/**
|
|
3786
|
+
* @override
|
|
3787
|
+
*/
|
|
3788
|
+
release() {}
|
|
3789
|
+
};
|
|
3563
3790
|
/**
|
|
3564
3791
|
* @implements {shaka.extern.IAd}
|
|
3565
3792
|
*/
|
|
@@ -3726,6 +3953,18 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
|
|
|
3726
3953
|
* @override
|
|
3727
3954
|
*/
|
|
3728
3955
|
updateClientSideAdsRenderingSettings(adsRenderingSettings) {}
|
|
3956
|
+
/**
|
|
3957
|
+
* @override
|
|
3958
|
+
*/
|
|
3959
|
+
initMediaTailor(adContainer, networkingEngine, video) {}
|
|
3960
|
+
/**
|
|
3961
|
+
* @param {string} url
|
|
3962
|
+
* @param {Object} adsParams
|
|
3963
|
+
* @param {string=} backupUrl
|
|
3964
|
+
* @return {!Promise.<string>}
|
|
3965
|
+
* @override
|
|
3966
|
+
*/
|
|
3967
|
+
requestMediaTailorStream(url, adsParams, backupUrl) {}
|
|
3729
3968
|
/**
|
|
3730
3969
|
* @override
|
|
3731
3970
|
*/
|
|
@@ -3746,11 +3985,20 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
|
|
|
3746
3985
|
* @override
|
|
3747
3986
|
*/
|
|
3748
3987
|
getServerSideCuePoints() {}
|
|
3988
|
+
/**
|
|
3989
|
+
* @return {!Array.<!shaka.extern.AdCuePoint>}
|
|
3990
|
+
* @override
|
|
3991
|
+
*/
|
|
3992
|
+
getCuePoints() {}
|
|
3749
3993
|
/**
|
|
3750
3994
|
* @return {shaka.extern.AdsStats}
|
|
3751
3995
|
* @override
|
|
3752
3996
|
*/
|
|
3753
3997
|
getStats() {}
|
|
3998
|
+
/**
|
|
3999
|
+
* @override
|
|
4000
|
+
*/
|
|
4001
|
+
onManifestUpdated(isLive) {}
|
|
3754
4002
|
/**
|
|
3755
4003
|
* @override
|
|
3756
4004
|
*/
|
|
@@ -4150,6 +4398,14 @@ shaka.dash.DashParser = class {
|
|
|
4150
4398
|
* @override
|
|
4151
4399
|
*/
|
|
4152
4400
|
onExpirationUpdated(sessionId, expiration) {}
|
|
4401
|
+
/**
|
|
4402
|
+
* @override
|
|
4403
|
+
*/
|
|
4404
|
+
onInitialVariantChosen(variant) {}
|
|
4405
|
+
/**
|
|
4406
|
+
* @override
|
|
4407
|
+
*/
|
|
4408
|
+
banLocation(uri) {}
|
|
4153
4409
|
};
|
|
4154
4410
|
/**
|
|
4155
4411
|
*/
|
|
@@ -4219,6 +4475,14 @@ shaka.hls.HlsParser = class {
|
|
|
4219
4475
|
* @override
|
|
4220
4476
|
*/
|
|
4221
4477
|
onExpirationUpdated(sessionId, expiration) {}
|
|
4478
|
+
/**
|
|
4479
|
+
* @override
|
|
4480
|
+
*/
|
|
4481
|
+
onInitialVariantChosen(variant) {}
|
|
4482
|
+
/**
|
|
4483
|
+
* @override
|
|
4484
|
+
*/
|
|
4485
|
+
banLocation(uri) {}
|
|
4222
4486
|
};
|
|
4223
4487
|
/**
|
|
4224
4488
|
* Creates a new MSS parser.
|
|
@@ -4247,6 +4511,14 @@ shaka.mss.MssParser = class {
|
|
|
4247
4511
|
* @override
|
|
4248
4512
|
*/
|
|
4249
4513
|
onExpirationUpdated(sessionId, expiration) {}
|
|
4514
|
+
/**
|
|
4515
|
+
* @override
|
|
4516
|
+
*/
|
|
4517
|
+
onInitialVariantChosen(variant) {}
|
|
4518
|
+
/**
|
|
4519
|
+
* @override
|
|
4520
|
+
*/
|
|
4521
|
+
banLocation(uri) {}
|
|
4250
4522
|
};
|
|
4251
4523
|
/**
|
|
4252
4524
|
* @summary A networking plugin to handle http and https URIs via the Fetch API.
|
|
@@ -4719,7 +4991,7 @@ shaka.text.TtmlTextParser = class {
|
|
|
4719
4991
|
/**
|
|
4720
4992
|
* @override
|
|
4721
4993
|
*/
|
|
4722
|
-
parseMedia(data, time) {}
|
|
4994
|
+
parseMedia(data, time, uri) {}
|
|
4723
4995
|
};
|
|
4724
4996
|
/**
|
|
4725
4997
|
* @implements {shaka.extern.TextParser}
|
|
@@ -4742,7 +5014,7 @@ shaka.text.Mp4TtmlParser = class {
|
|
|
4742
5014
|
/**
|
|
4743
5015
|
* @override
|
|
4744
5016
|
*/
|
|
4745
|
-
parseMedia(data, time) {}
|
|
5017
|
+
parseMedia(data, time, uri) {}
|
|
4746
5018
|
};
|
|
4747
5019
|
/**
|
|
4748
5020
|
* @implements {shaka.extern.TextParser}
|
|
@@ -4832,7 +5104,7 @@ shaka.text.SrtTextParser = class {
|
|
|
4832
5104
|
/**
|
|
4833
5105
|
* @override
|
|
4834
5106
|
*/
|
|
4835
|
-
parseMedia(data, time) {}
|
|
5107
|
+
parseMedia(data, time, uri) {}
|
|
4836
5108
|
/**
|
|
4837
5109
|
* Convert a SRT format to WebVTT
|
|
4838
5110
|
* @param {string} data
|
|
@@ -4890,7 +5162,7 @@ shaka.transmuxer.AacTransmuxer = class {
|
|
|
4890
5162
|
/**
|
|
4891
5163
|
* @override
|
|
4892
5164
|
*/
|
|
4893
|
-
|
|
5165
|
+
getOriginalMimeType() {}
|
|
4894
5166
|
/**
|
|
4895
5167
|
* @override
|
|
4896
5168
|
*/
|
|
@@ -4923,7 +5195,7 @@ shaka.transmuxer.Ac3Transmuxer = class {
|
|
|
4923
5195
|
/**
|
|
4924
5196
|
* @override
|
|
4925
5197
|
*/
|
|
4926
|
-
|
|
5198
|
+
getOriginalMimeType() {}
|
|
4927
5199
|
/**
|
|
4928
5200
|
* @override
|
|
4929
5201
|
*/
|
|
@@ -4956,7 +5228,7 @@ shaka.transmuxer.Ec3Transmuxer = class {
|
|
|
4956
5228
|
/**
|
|
4957
5229
|
* @override
|
|
4958
5230
|
*/
|
|
4959
|
-
|
|
5231
|
+
getOriginalMimeType() {}
|
|
4960
5232
|
/**
|
|
4961
5233
|
* @override
|
|
4962
5234
|
*/
|
|
@@ -4989,7 +5261,7 @@ shaka.transmuxer.Mp3Transmuxer = class {
|
|
|
4989
5261
|
/**
|
|
4990
5262
|
* @override
|
|
4991
5263
|
*/
|
|
4992
|
-
|
|
5264
|
+
getOriginalMimeType() {}
|
|
4993
5265
|
/**
|
|
4994
5266
|
* @override
|
|
4995
5267
|
*/
|
|
@@ -5022,11 +5294,11 @@ shaka.transmuxer.MpegTsTransmuxer = class {
|
|
|
5022
5294
|
/**
|
|
5023
5295
|
* @override
|
|
5024
5296
|
*/
|
|
5025
|
-
|
|
5297
|
+
getOriginalMimeType() {}
|
|
5026
5298
|
/**
|
|
5027
5299
|
* @override
|
|
5028
5300
|
*/
|
|
5029
|
-
transmux(data) {}
|
|
5301
|
+
transmux(data, stream, reference, duration, contentType) {}
|
|
5030
5302
|
};
|
|
5031
5303
|
/**
|
|
5032
5304
|
* @implements {shaka.extern.Transmuxer}
|
|
@@ -5055,45 +5327,12 @@ shaka.transmuxer.MssTransmuxer = class {
|
|
|
5055
5327
|
/**
|
|
5056
5328
|
* @override
|
|
5057
5329
|
*/
|
|
5058
|
-
|
|
5330
|
+
getOriginalMimeType() {}
|
|
5059
5331
|
/**
|
|
5060
5332
|
* @override
|
|
5061
5333
|
*/
|
|
5062
5334
|
transmux(data, stream, reference) {}
|
|
5063
5335
|
};
|
|
5064
|
-
/**
|
|
5065
|
-
* @implements {shaka.extern.Transmuxer}
|
|
5066
|
-
*/
|
|
5067
|
-
shaka.transmuxer.MuxjsTransmuxer = class {
|
|
5068
|
-
/**
|
|
5069
|
-
* @param {string} mimeType
|
|
5070
|
-
*/
|
|
5071
|
-
constructor(mimeType) {}
|
|
5072
|
-
/**
|
|
5073
|
-
* @override
|
|
5074
|
-
*/
|
|
5075
|
-
destroy() {}
|
|
5076
|
-
/**
|
|
5077
|
-
* Check if the mime type and the content type is supported.
|
|
5078
|
-
* @param {string} mimeType
|
|
5079
|
-
* @param {string=} contentType
|
|
5080
|
-
* @return {boolean}
|
|
5081
|
-
* @override
|
|
5082
|
-
*/
|
|
5083
|
-
isSupported(mimeType, contentType) {}
|
|
5084
|
-
/**
|
|
5085
|
-
* @override
|
|
5086
|
-
*/
|
|
5087
|
-
convertCodecs(contentType, mimeType) {}
|
|
5088
|
-
/**
|
|
5089
|
-
* @override
|
|
5090
|
-
*/
|
|
5091
|
-
getOrginalMimeType() {}
|
|
5092
|
-
/**
|
|
5093
|
-
* @override
|
|
5094
|
-
*/
|
|
5095
|
-
transmux(data) {}
|
|
5096
|
-
};
|
|
5097
5336
|
/**
|
|
5098
5337
|
* @implements {shaka.extern.Transmuxer}
|
|
5099
5338
|
*/
|
|
@@ -5121,7 +5360,7 @@ shaka.transmuxer.TsTransmuxer = class {
|
|
|
5121
5360
|
/**
|
|
5122
5361
|
* @override
|
|
5123
5362
|
*/
|
|
5124
|
-
|
|
5363
|
+
getOriginalMimeType() {}
|
|
5125
5364
|
/**
|
|
5126
5365
|
* @override
|
|
5127
5366
|
*/
|