shaka-player 4.4.3 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release-please.yaml +2 -27
- package/CHANGELOG.md +64 -45
- package/README.md +16 -10
- 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 +22 -5
- package/demo/common/assets.js +132 -49
- package/demo/config.js +192 -253
- package/demo/custom.js +39 -98
- 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 +51 -123
- package/demo/search.js +22 -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/demo.compiled.debug.js +152 -178
- package/dist/demo.compiled.debug.map +4 -4
- package/dist/demo.compiled.js +152 -178
- package/dist/demo.compiled.map +4 -4
- package/dist/deps.js +27 -24
- package/dist/locales.js +31 -31
- package/dist/receiver.compiled.debug.js +22 -43
- package/dist/receiver.compiled.debug.map +4 -4
- package/dist/receiver.compiled.js +22 -43
- package/dist/receiver.compiled.map +4 -4
- package/dist/shaka-player.compiled.d.ts +507 -365
- package/dist/shaka-player.compiled.debug.d.ts +507 -365
- package/dist/shaka-player.compiled.debug.externs.js +205 -51
- package/dist/shaka-player.compiled.debug.js +541 -450
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +205 -51
- package/dist/shaka-player.compiled.js +1120 -1066
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +562 -410
- package/dist/shaka-player.ui.debug.d.ts +562 -410
- package/dist/shaka-player.ui.debug.externs.js +226 -51
- package/dist/shaka-player.ui.debug.js +606 -506
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +226 -51
- package/dist/shaka-player.ui.js +1266 -1207
- package/dist/shaka-player.ui.map +4 -4
- package/docs/design/lcevc-integration.md +14 -14
- package/docs/tutorials/faq.md +27 -55
- package/docs/tutorials/index.json +2 -1
- package/docs/tutorials/lcevc.md +118 -0
- package/docs/tutorials/ui-customization.md +4 -0
- package/externs/css_style_declaration.js +19 -0
- package/externs/lcevc.js +37 -13
- package/externs/media_remote.js +68 -0
- package/externs/mediatailor.js +193 -0
- package/externs/pictureinpicture.js +11 -0
- package/externs/shaka/ads.js +27 -0
- package/externs/shaka/manifest.js +10 -5
- package/externs/shaka/manifest_parser.js +7 -1
- package/externs/shaka/offline.js +4 -0
- package/externs/shaka/player.js +12 -1
- package/karma.conf.js +7 -3
- package/lib/abr/simple_abr_manager.js +43 -3
- 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 +828 -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 +75 -12
- package/lib/dash/mpd_utils.js +10 -6
- package/lib/dash/segment_base.js +13 -5
- package/lib/dash/segment_list.js +13 -5
- package/lib/dash/segment_template.js +43 -85
- package/lib/dependencies/all.js +8 -7
- package/lib/hls/hls_parser.js +44 -16
- package/lib/lcevc/lcevc_dec.js +220 -0
- package/lib/media/adaptation_set.js +22 -11
- package/lib/media/adaptation_set_criteria.js +25 -7
- package/lib/media/media_source_engine.js +215 -27
- package/lib/media/segment_index.js +1 -1
- package/lib/media/segment_reference.js +7 -7
- package/lib/media/streaming_engine.js +33 -18
- package/lib/mss/mss_parser.js +1 -0
- package/lib/net/networking_engine.js +1 -0
- package/lib/offline/indexeddb/v1_storage_cell.js +1 -0
- package/lib/offline/indexeddb/v2_storage_cell.js +1 -0
- package/lib/offline/manifest_converter.js +1 -0
- package/lib/offline/storage.js +3 -0
- package/lib/player.js +142 -72
- package/lib/routing/payload.js +5 -1
- package/lib/text/cue.js +15 -0
- package/lib/text/ttml_text_parser.js +17 -0
- package/lib/text/ui_text_displayer.js +4 -0
- package/lib/text/vtt_text_parser.js +33 -20
- package/lib/transmuxer/h265.js +862 -0
- package/lib/transmuxer/mpeg_ts_transmuxer.js +3 -2
- package/lib/transmuxer/ts_transmuxer.js +160 -15
- package/lib/util/error.js +28 -9
- package/lib/util/exp_golomb.js +30 -2
- package/lib/util/fake_event.js +3 -0
- package/lib/util/mp4_generator.js +4 -4
- package/lib/util/periods.js +2 -0
- package/lib/util/platform.js +40 -0
- package/lib/util/player_configuration.js +8 -0
- package/lib/util/state_history.js +6 -2
- package/lib/util/stream_utils.js +133 -217
- package/lib/util/ts_parser.js +226 -40
- package/maintained-branches.md +3 -2
- package/package.json +4 -6
- package/roadmap.md +15 -5
- package/shaka-player.uncompiled.js +2 -1
- package/support.html +0 -1
- package/test/cast/cast_receiver_integration.js +47 -0
- package/test/codec_switching/codec_switching_integration.js +181 -0
- package/test/dash/dash_parser_content_protection_unit.js +2 -0
- package/test/dash/dash_parser_integration.js +73 -0
- package/test/dash/dash_parser_live_unit.js +2 -0
- package/test/dash/dash_parser_manifest_unit.js +42 -0
- 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/demo/demo_unit.js +0 -16
- package/test/hls/hls_live_unit.js +2 -0
- package/test/hls/hls_parser_unit.js +8 -6
- package/test/media/adaptation_set_criteria_unit.js +118 -0
- package/test/media/adaptation_set_unit.js +1 -0
- package/test/media/media_source_engine_unit.js +165 -1
- package/test/media/segment_index_unit.js +4 -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/offline/manifest_convert_unit.js +5 -0
- package/test/offline/storage_integration.js +1 -4
- package/test/player_unit.js +102 -131
- package/test/routing/walker_unit.js +1 -0
- 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 +8 -2
- package/test/test/util/manifest_generator.js +7 -3
- package/test/test/util/mss_parser_util.js +4 -0
- package/test/test/util/offline_utils.js +1 -0
- package/test/test/util/streaming_engine_util.js +7 -4
- package/test/text/ttml_text_parser_unit.js +52 -0
- package/test/text/vtt_text_parser_unit.js +103 -31
- package/test/transmuxer/transmuxer_integration.js +117 -0
- package/test/ui/ui_unit.js +3 -10
- package/test/util/stream_utils_unit.js +208 -74
- package/ui/controls.js +125 -0
- package/ui/externs/ui.js +8 -1
- package/ui/pip_button.js +22 -120
- package/ui/remote_button.js +201 -0
- package/ui/ui.js +5 -2
- 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/transmuxer/muxjs_transmuxer.js +0 -242
- package/test/transmuxer/muxjs_transmuxer_integration.js +0 -177
|
@@ -282,11 +282,13 @@ shaka.util.Error.Code = {
|
|
|
282
282
|
'HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED': 4040,
|
|
283
283
|
'HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED': 4041,
|
|
284
284
|
'NO_WEB_CRYPTO_API': 4042,
|
|
285
|
-
'HLS_AES_128_INVALID_IV_LENGTH': 4043,
|
|
286
|
-
'HLS_AES_128_INVALID_KEY_LENGTH': 4044,
|
|
287
285
|
'CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM': 4045,
|
|
288
286
|
'MSS_INVALID_XML': 4046,
|
|
289
287
|
'MSS_LIVE_CONTENT_NOT_SUPPORTED': 4047,
|
|
288
|
+
'AES_128_INVALID_IV_LENGTH': 4048,
|
|
289
|
+
'AES_128_INVALID_KEY_LENGTH': 4049,
|
|
290
|
+
'DASH_CONFLICTING_AES_128': 4050,
|
|
291
|
+
'DASH_UNSUPPORTED_AES_128': 4051,
|
|
290
292
|
'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
|
|
291
293
|
'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
|
|
292
294
|
'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
|
|
@@ -337,7 +339,8 @@ shaka.util.Error.Code = {
|
|
|
337
339
|
'CS_AD_MANAGER_NOT_INITIALIZED': 10001,
|
|
338
340
|
'SS_IMA_SDK_MISSING': 10002,
|
|
339
341
|
'SS_AD_MANAGER_NOT_INITIALIZED': 10003,
|
|
340
|
-
'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004
|
|
342
|
+
'CURRENT_DAI_REQUEST_NOT_FINISHED': 10004,
|
|
343
|
+
'MT_AD_MANAGER_NOT_INITIALIZED': 10005
|
|
341
344
|
};
|
|
342
345
|
/**
|
|
343
346
|
* @summary A set of language utility functions.
|
|
@@ -587,6 +590,13 @@ shaka.ui.Localization.LOCALE_CHANGED;
|
|
|
587
590
|
* @const {string}
|
|
588
591
|
*/
|
|
589
592
|
shaka.ui.Localization.LOCALE_UPDATED;
|
|
593
|
+
/**
|
|
594
|
+
* @enum {string}
|
|
595
|
+
*/
|
|
596
|
+
shaka.config.CodecSwitchingStrategy = {
|
|
597
|
+
RELOAD: 'reload',
|
|
598
|
+
SMOOTH: 'smooth'
|
|
599
|
+
};
|
|
590
600
|
/**
|
|
591
601
|
* @summary A set of BufferSource utility functions.
|
|
592
602
|
*/
|
|
@@ -848,6 +858,11 @@ shaka.text.Cue.prototype.linePadding;
|
|
|
848
858
|
* @type {number}
|
|
849
859
|
*/
|
|
850
860
|
shaka.text.Cue.prototype.opacity;
|
|
861
|
+
/**
|
|
862
|
+
* Text combine upright as a CSS text-combine-upright value.
|
|
863
|
+
* @type {string}
|
|
864
|
+
*/
|
|
865
|
+
shaka.text.Cue.prototype.textCombineUpright;
|
|
851
866
|
/**
|
|
852
867
|
* Text decoration. A combination of underline, overline
|
|
853
868
|
* and line through. Empty array means no decoration.
|
|
@@ -900,6 +915,12 @@ shaka.text.Cue.prototype.isContainer;
|
|
|
900
915
|
* @type {boolean}
|
|
901
916
|
*/
|
|
902
917
|
shaka.text.Cue.prototype.lineBreak;
|
|
918
|
+
/**
|
|
919
|
+
* Used to indicate the type of ruby tag that should be used when rendering
|
|
920
|
+
* the cue. Valid values: ruby, rp, rt.
|
|
921
|
+
* @type {?string}
|
|
922
|
+
*/
|
|
923
|
+
shaka.text.Cue.prototype.rubyTag;
|
|
903
924
|
/**
|
|
904
925
|
* The number of horizontal and vertical cells into which the Root Container
|
|
905
926
|
* Region area is divided.
|
|
@@ -1568,7 +1589,8 @@ shaka.net.NetworkingEngine.RequestType = {
|
|
|
1568
1589
|
'APP': 3,
|
|
1569
1590
|
'TIMING': 4,
|
|
1570
1591
|
'SERVER_CERTIFICATE': 5,
|
|
1571
|
-
'KEY': 6
|
|
1592
|
+
'KEY': 6,
|
|
1593
|
+
'ADS': 7
|
|
1572
1594
|
};
|
|
1573
1595
|
/**
|
|
1574
1596
|
* A more advanced form of the RequestType structure, meant to describe
|
|
@@ -2000,7 +2022,7 @@ shaka.media.InitSegmentReference = class {
|
|
|
2000
2022
|
* the quality of the media associated with this init segment.
|
|
2001
2023
|
* @param {(null|number)=} timescale
|
|
2002
2024
|
* @param {(null|BufferSource)=} segmentData
|
|
2003
|
-
* @param {?shaka.extern.
|
|
2025
|
+
* @param {?shaka.extern.aes128Key=} aes128Key
|
|
2004
2026
|
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
2005
2027
|
*/
|
|
2006
2028
|
constructor(uris, startByte, endByte, mediaQuality, timescale, segmentData, aes128Key) {}
|
|
@@ -2076,10 +2098,10 @@ shaka.media.SegmentReference = class {
|
|
|
2076
2098
|
* @param {shaka.media.SegmentReference.Status=} status
|
|
2077
2099
|
* The segment status is used to indicate that a segment does not exist or is
|
|
2078
2100
|
* not available.
|
|
2079
|
-
* @param {?shaka.extern.
|
|
2101
|
+
* @param {?shaka.extern.aes128Key=} aes128Key
|
|
2080
2102
|
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
2081
2103
|
*/
|
|
2082
|
-
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status,
|
|
2104
|
+
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status, aes128Key) {}
|
|
2083
2105
|
/**
|
|
2084
2106
|
* Creates and returns the URIs of the resource containing the segment.
|
|
2085
2107
|
* @return {!Array.<string>}
|
|
@@ -2235,8 +2257,9 @@ shaka.util.Id3Utils = class {
|
|
|
2235
2257
|
shaka.util.ExpGolomb = class {
|
|
2236
2258
|
/**
|
|
2237
2259
|
* @param {!Uint8Array} data
|
|
2260
|
+
* @param {boolean=} convertEbsp2rbsp
|
|
2238
2261
|
*/
|
|
2239
|
-
constructor(data) {}
|
|
2262
|
+
constructor(data, convertEbsp2rbsp) {}
|
|
2240
2263
|
};
|
|
2241
2264
|
/**
|
|
2242
2265
|
* @see https://en.wikipedia.org/wiki/MPEG_transport_stream
|
|
@@ -2263,6 +2286,16 @@ shaka.util.TsParser = class {
|
|
|
2263
2286
|
* @return {!Array.<shaka.extern.VideoNalu>}
|
|
2264
2287
|
*/
|
|
2265
2288
|
parseAvcNalus(pes, nextPes) {}
|
|
2289
|
+
/**
|
|
2290
|
+
* Parse AVC and HVC Nalus
|
|
2291
|
+
* The code is based on hls.js
|
|
2292
|
+
* Credit to https://github.com/video-dev/hls.js/blob/master/src/demux/tsdemuxer.ts
|
|
2293
|
+
* @param {shaka.extern.MPEG_PES} pes
|
|
2294
|
+
* @param {?shaka.extern.MPEG_PES=} nextPes
|
|
2295
|
+
* @param {?shaka.extern.VideoNalu=} lastNalu
|
|
2296
|
+
* @return {!Array.<shaka.extern.VideoNalu>}
|
|
2297
|
+
*/
|
|
2298
|
+
parseNalus(pes, nextPes, lastNalu) {}
|
|
2266
2299
|
/**
|
|
2267
2300
|
* Return the ID3 metadata
|
|
2268
2301
|
* @return {!Array.<shaka.extern.ID3Metadata>}
|
|
@@ -2322,23 +2355,23 @@ shaka.util.TsParser = class {
|
|
|
2322
2355
|
shaka.util.TsParser.Timescale;
|
|
2323
2356
|
/**
|
|
2324
2357
|
* @summary
|
|
2325
|
-
*
|
|
2358
|
+
* lcevcDec - (MPEG-5 Part 2 LCEVC - Decoder) provides
|
|
2326
2359
|
* all the operations related to the enhancement and rendering
|
|
2327
2360
|
* of LCEVC enabled streams and on to a canvas.
|
|
2328
2361
|
* @implements {shaka.util.IReleasable}
|
|
2329
2362
|
*/
|
|
2330
|
-
shaka.lcevc.
|
|
2363
|
+
shaka.lcevc.Dec = class {
|
|
2331
2364
|
/**
|
|
2332
2365
|
* @param {HTMLVideoElement} media The video element that will be attached to
|
|
2333
|
-
* LCEVC
|
|
2366
|
+
* LCEVC Decoder for input.
|
|
2334
2367
|
* @param {HTMLCanvasElement} canvas The canvas element that will be attached
|
|
2335
|
-
* to LCEVC
|
|
2336
|
-
* @param {shaka.extern.LcevcConfiguration}
|
|
2337
|
-
*
|
|
2368
|
+
* to LCEVC Decoder to render the enhanced frames.
|
|
2369
|
+
* @param {shaka.extern.LcevcConfiguration} lcevcConfig LCEVC configuration
|
|
2370
|
+
* object to initialize the LCEVC Decoder.
|
|
2338
2371
|
*/
|
|
2339
|
-
constructor(media, canvas,
|
|
2372
|
+
constructor(media, canvas, lcevcConfig) {}
|
|
2340
2373
|
/**
|
|
2341
|
-
* Close LCEVC
|
|
2374
|
+
* Close LCEVC Decoder.
|
|
2342
2375
|
* @override
|
|
2343
2376
|
*/
|
|
2344
2377
|
release() {}
|
|
@@ -3062,9 +3095,10 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
3062
3095
|
* <code>load</code> but cannot interrupt calls to <code>attach</code>,
|
|
3063
3096
|
* <code>detach</code>, or <code>unload</code>.
|
|
3064
3097
|
* @param {boolean=} initializeMediaSource
|
|
3098
|
+
* @param {boolean=} keepAdManager
|
|
3065
3099
|
* @return {!Promise}
|
|
3066
3100
|
*/
|
|
3067
|
-
unload(initializeMediaSource) {}
|
|
3101
|
+
unload(initializeMediaSource, keepAdManager) {}
|
|
3068
3102
|
/**
|
|
3069
3103
|
* Provides a way to update the stream start position during the media loading
|
|
3070
3104
|
* process. Can for example be called from the <code>manifestparsed</code>
|
|
@@ -3667,6 +3701,138 @@ shaka.ads.ClientSideAd = class {
|
|
|
3667
3701
|
*/
|
|
3668
3702
|
release() {}
|
|
3669
3703
|
};
|
|
3704
|
+
/**
|
|
3705
|
+
* @implements {shaka.extern.IAd}
|
|
3706
|
+
*/
|
|
3707
|
+
shaka.ads.MediaTailorAd = class {
|
|
3708
|
+
/**
|
|
3709
|
+
* @param {mediaTailor.Ad} mediaTailorAd
|
|
3710
|
+
* @param {number} adPosition
|
|
3711
|
+
* @param {number} totalAds
|
|
3712
|
+
* @param {HTMLMediaElement} video
|
|
3713
|
+
*/
|
|
3714
|
+
constructor(mediaTailorAd, adPosition, totalAds, isLinear, video) {}
|
|
3715
|
+
/**
|
|
3716
|
+
* @override
|
|
3717
|
+
*/
|
|
3718
|
+
getDuration() {}
|
|
3719
|
+
/**
|
|
3720
|
+
* @override
|
|
3721
|
+
*/
|
|
3722
|
+
getMinSuggestedDuration() {}
|
|
3723
|
+
/**
|
|
3724
|
+
* @override
|
|
3725
|
+
*/
|
|
3726
|
+
getRemainingTime() {}
|
|
3727
|
+
/**
|
|
3728
|
+
* @override
|
|
3729
|
+
*/
|
|
3730
|
+
isPaused() {}
|
|
3731
|
+
/**
|
|
3732
|
+
* @override
|
|
3733
|
+
*/
|
|
3734
|
+
isSkippable() {}
|
|
3735
|
+
/**
|
|
3736
|
+
* @override
|
|
3737
|
+
*/
|
|
3738
|
+
getTimeUntilSkippable() {}
|
|
3739
|
+
/**
|
|
3740
|
+
* @override
|
|
3741
|
+
*/
|
|
3742
|
+
canSkipNow() {}
|
|
3743
|
+
/**
|
|
3744
|
+
* @override
|
|
3745
|
+
*/
|
|
3746
|
+
skip() {}
|
|
3747
|
+
/**
|
|
3748
|
+
* @override
|
|
3749
|
+
*/
|
|
3750
|
+
pause() {}
|
|
3751
|
+
/**
|
|
3752
|
+
* @override
|
|
3753
|
+
*/
|
|
3754
|
+
play() {}
|
|
3755
|
+
/**
|
|
3756
|
+
* @override
|
|
3757
|
+
*/
|
|
3758
|
+
getVolume() {}
|
|
3759
|
+
/**
|
|
3760
|
+
* @override
|
|
3761
|
+
*/
|
|
3762
|
+
setVolume(volume) {}
|
|
3763
|
+
/**
|
|
3764
|
+
* @override
|
|
3765
|
+
*/
|
|
3766
|
+
isMuted() {}
|
|
3767
|
+
/**
|
|
3768
|
+
* @override
|
|
3769
|
+
*/
|
|
3770
|
+
isLinear() {}
|
|
3771
|
+
/**
|
|
3772
|
+
* @override
|
|
3773
|
+
*/
|
|
3774
|
+
resize(width, height) {}
|
|
3775
|
+
/**
|
|
3776
|
+
* @override
|
|
3777
|
+
*/
|
|
3778
|
+
setMuted(muted) {}
|
|
3779
|
+
/**
|
|
3780
|
+
* @override
|
|
3781
|
+
*/
|
|
3782
|
+
getSequenceLength() {}
|
|
3783
|
+
/**
|
|
3784
|
+
* @override
|
|
3785
|
+
*/
|
|
3786
|
+
getPositionInSequence() {}
|
|
3787
|
+
/**
|
|
3788
|
+
* @override
|
|
3789
|
+
*/
|
|
3790
|
+
getTitle() {}
|
|
3791
|
+
/**
|
|
3792
|
+
* @override
|
|
3793
|
+
*/
|
|
3794
|
+
getDescription() {}
|
|
3795
|
+
/**
|
|
3796
|
+
* @override
|
|
3797
|
+
*/
|
|
3798
|
+
getVastMediaBitrate() {}
|
|
3799
|
+
/**
|
|
3800
|
+
* @override
|
|
3801
|
+
*/
|
|
3802
|
+
getVastMediaHeight() {}
|
|
3803
|
+
/**
|
|
3804
|
+
* @override
|
|
3805
|
+
*/
|
|
3806
|
+
getVastMediaWidth() {}
|
|
3807
|
+
/**
|
|
3808
|
+
* @override
|
|
3809
|
+
*/
|
|
3810
|
+
getAdId() {}
|
|
3811
|
+
/**
|
|
3812
|
+
* @override
|
|
3813
|
+
*/
|
|
3814
|
+
getCreativeAdId() {}
|
|
3815
|
+
/**
|
|
3816
|
+
* @override
|
|
3817
|
+
*/
|
|
3818
|
+
getAdvertiserName() {}
|
|
3819
|
+
/**
|
|
3820
|
+
* @override
|
|
3821
|
+
*/
|
|
3822
|
+
getMediaUrl() {}
|
|
3823
|
+
/**
|
|
3824
|
+
* @override
|
|
3825
|
+
*/
|
|
3826
|
+
getTimeOffset() {}
|
|
3827
|
+
/**
|
|
3828
|
+
* @override
|
|
3829
|
+
*/
|
|
3830
|
+
getPodIndex() {}
|
|
3831
|
+
/**
|
|
3832
|
+
* @override
|
|
3833
|
+
*/
|
|
3834
|
+
release() {}
|
|
3835
|
+
};
|
|
3670
3836
|
/**
|
|
3671
3837
|
* @implements {shaka.extern.IAd}
|
|
3672
3838
|
*/
|
|
@@ -3833,6 +3999,18 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
|
|
|
3833
3999
|
* @override
|
|
3834
4000
|
*/
|
|
3835
4001
|
updateClientSideAdsRenderingSettings(adsRenderingSettings) {}
|
|
4002
|
+
/**
|
|
4003
|
+
* @override
|
|
4004
|
+
*/
|
|
4005
|
+
initMediaTailor(adContainer, networkingEngine, video) {}
|
|
4006
|
+
/**
|
|
4007
|
+
* @param {string} url
|
|
4008
|
+
* @param {Object} adsParams
|
|
4009
|
+
* @param {string=} backupUrl
|
|
4010
|
+
* @return {!Promise.<string>}
|
|
4011
|
+
* @override
|
|
4012
|
+
*/
|
|
4013
|
+
requestMediaTailorStream(url, adsParams, backupUrl) {}
|
|
3836
4014
|
/**
|
|
3837
4015
|
* @override
|
|
3838
4016
|
*/
|
|
@@ -3853,11 +4031,20 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
|
|
|
3853
4031
|
* @override
|
|
3854
4032
|
*/
|
|
3855
4033
|
getServerSideCuePoints() {}
|
|
4034
|
+
/**
|
|
4035
|
+
* @return {!Array.<!shaka.extern.AdCuePoint>}
|
|
4036
|
+
* @override
|
|
4037
|
+
*/
|
|
4038
|
+
getCuePoints() {}
|
|
3856
4039
|
/**
|
|
3857
4040
|
* @return {shaka.extern.AdsStats}
|
|
3858
4041
|
* @override
|
|
3859
4042
|
*/
|
|
3860
4043
|
getStats() {}
|
|
4044
|
+
/**
|
|
4045
|
+
* @override
|
|
4046
|
+
*/
|
|
4047
|
+
onManifestUpdated(isLive) {}
|
|
3861
4048
|
/**
|
|
3862
4049
|
* @override
|
|
3863
4050
|
*/
|
|
@@ -5133,7 +5320,7 @@ shaka.transmuxer.MpegTsTransmuxer = class {
|
|
|
5133
5320
|
/**
|
|
5134
5321
|
* @override
|
|
5135
5322
|
*/
|
|
5136
|
-
transmux(data) {}
|
|
5323
|
+
transmux(data, stream, reference, duration, contentType) {}
|
|
5137
5324
|
};
|
|
5138
5325
|
/**
|
|
5139
5326
|
* @implements {shaka.extern.Transmuxer}
|
|
@@ -5168,39 +5355,6 @@ shaka.transmuxer.MssTransmuxer = class {
|
|
|
5168
5355
|
*/
|
|
5169
5356
|
transmux(data, stream, reference) {}
|
|
5170
5357
|
};
|
|
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
5358
|
/**
|
|
5205
5359
|
* @implements {shaka.extern.Transmuxer}
|
|
5206
5360
|
*/
|
|
@@ -5548,6 +5702,16 @@ shaka.ui.Controls = class extends shaka.util.FakeEventTarget {
|
|
|
5548
5702
|
isFullScreenEnabled() {}
|
|
5549
5703
|
/** */
|
|
5550
5704
|
toggleFullScreen() {}
|
|
5705
|
+
/**
|
|
5706
|
+
* @return {boolean}
|
|
5707
|
+
*/
|
|
5708
|
+
isPiPAllowed() {}
|
|
5709
|
+
/**
|
|
5710
|
+
* @return {boolean}
|
|
5711
|
+
*/
|
|
5712
|
+
isPiPEnabled() {}
|
|
5713
|
+
/** */
|
|
5714
|
+
togglePiP() {}
|
|
5551
5715
|
/** */
|
|
5552
5716
|
showAdUI() {}
|
|
5553
5717
|
/** */
|
|
@@ -5756,6 +5920,17 @@ shaka.ui.PresentationTimeTracker = class extends shaka.ui.Element {
|
|
|
5756
5920
|
*/
|
|
5757
5921
|
constructor(parent, controls) {}
|
|
5758
5922
|
};
|
|
5923
|
+
/**
|
|
5924
|
+
* @extends {shaka.ui.Element}
|
|
5925
|
+
* @final
|
|
5926
|
+
*/
|
|
5927
|
+
shaka.ui.RemoteButton = class extends shaka.ui.Element {
|
|
5928
|
+
/**
|
|
5929
|
+
* @param {!HTMLElement} parent
|
|
5930
|
+
* @param {!shaka.ui.Controls} controls
|
|
5931
|
+
*/
|
|
5932
|
+
constructor(parent, controls) {}
|
|
5933
|
+
};
|
|
5759
5934
|
/**
|
|
5760
5935
|
* @extends {shaka.ui.SettingsMenu}
|
|
5761
5936
|
* @final
|