shaka-player 4.4.2 → 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 +67 -25
- 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 +27 -5
- package/demo/common/assets.js +150 -52
- 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 +52 -124
- package/demo/search.js +23 -35
- 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 +187 -211
- package/dist/demo.compiled.debug.map +4 -4
- package/dist/demo.compiled.js +187 -211
- 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 +42 -61
- package/dist/receiver.compiled.debug.map +4 -4
- package/dist/receiver.compiled.js +42 -61
- package/dist/receiver.compiled.map +4 -4
- package/dist/shaka-player.compiled.d.ts +728 -365
- package/dist/shaka-player.compiled.debug.d.ts +728 -365
- package/dist/shaka-player.compiled.debug.externs.js +475 -51
- package/dist/shaka-player.compiled.debug.js +576 -480
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +475 -51
- package/dist/shaka-player.compiled.js +1117 -1056
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +783 -410
- package/dist/shaka-player.ui.debug.d.ts +783 -410
- package/dist/shaka-player.ui.debug.externs.js +496 -51
- package/dist/shaka-player.ui.debug.js +647 -542
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +496 -51
- package/dist/shaka-player.ui.js +1260 -1194
- 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/offline.md +1 -1
- 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 +79 -13
- 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 +101 -37
- 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 +5 -5
- package/lib/media/segment_reference.js +10 -5
- package/lib/media/streaming_engine.js +44 -39
- 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 +62 -47
- 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 +35 -22
- 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/cmcd_manager.js +6 -1
- 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/manifest_parser_utils.js +10 -4
- package/lib/util/mp4_generator.js +4 -4
- package/lib/util/periods.js +2 -0
- package/lib/util/platform.js +54 -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 +229 -43
- 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 +47 -0
- package/test/dash/dash_parser_segment_base_unit.js +7 -0
- package/test/dash/dash_parser_segment_list_unit.js +23 -17
- package/test/dash/dash_parser_segment_template_unit.js +49 -0
- package/test/demo/demo_unit.js +0 -16
- package/test/hls/hls_live_unit.js +35 -0
- package/test/hls/hls_parser_unit.js +8 -61
- 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 +20 -7
- 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 +105 -48
- package/test/transmuxer/transmuxer_integration.js +121 -4
- package/test/ui/ui_unit.js +3 -10
- package/test/util/stream_utils_unit.js +208 -74
- package/test/util/ts_parser_unit.js +1 -1
- 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 -287
- package/demo/locales/source.json +0 -1142
- 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
|
*/
|
|
@@ -700,6 +710,223 @@ shaka.text.Cue = class {
|
|
|
700
710
|
*/
|
|
701
711
|
static equal(cue1, cue2) {}
|
|
702
712
|
};
|
|
713
|
+
/**
|
|
714
|
+
* The start time of the cue in seconds, relative to the start of the
|
|
715
|
+
* presentation.
|
|
716
|
+
* @type {number}
|
|
717
|
+
*/
|
|
718
|
+
shaka.text.Cue.prototype.startTime;
|
|
719
|
+
/**
|
|
720
|
+
* The end time of the cue in seconds, relative to the start of the
|
|
721
|
+
* presentation.
|
|
722
|
+
* @type {number}
|
|
723
|
+
*/
|
|
724
|
+
shaka.text.Cue.prototype.endTime;
|
|
725
|
+
/**
|
|
726
|
+
* The text payload of the cue. If nestedCues is non-empty, this should be
|
|
727
|
+
* empty. Top-level block containers should have no payload of their own.
|
|
728
|
+
* @type {string}
|
|
729
|
+
*/
|
|
730
|
+
shaka.text.Cue.prototype.payload;
|
|
731
|
+
/**
|
|
732
|
+
* The region to render the cue into. Only supported on top-level cues,
|
|
733
|
+
* because nested cues are inline elements.
|
|
734
|
+
* @type {shaka.text.CueRegion}
|
|
735
|
+
*/
|
|
736
|
+
shaka.text.Cue.prototype.region;
|
|
737
|
+
/**
|
|
738
|
+
* The indent (in percent) of the cue box in the direction defined by the
|
|
739
|
+
* writing direction.
|
|
740
|
+
* @type {?number}
|
|
741
|
+
*/
|
|
742
|
+
shaka.text.Cue.prototype.position;
|
|
743
|
+
/**
|
|
744
|
+
* Position alignment of the cue.
|
|
745
|
+
* @type {shaka.text.Cue.positionAlign}
|
|
746
|
+
*/
|
|
747
|
+
shaka.text.Cue.prototype.positionAlign;
|
|
748
|
+
/**
|
|
749
|
+
* Size of the cue box (in percents), where 0 means "auto".
|
|
750
|
+
* @type {number}
|
|
751
|
+
*/
|
|
752
|
+
shaka.text.Cue.prototype.size;
|
|
753
|
+
/**
|
|
754
|
+
* Alignment of the text inside the cue box.
|
|
755
|
+
* @type {shaka.text.Cue.textAlign}
|
|
756
|
+
*/
|
|
757
|
+
shaka.text.Cue.prototype.textAlign;
|
|
758
|
+
/**
|
|
759
|
+
* Text direction of the cue.
|
|
760
|
+
* @type {shaka.text.Cue.direction}
|
|
761
|
+
*/
|
|
762
|
+
shaka.text.Cue.prototype.direction;
|
|
763
|
+
/**
|
|
764
|
+
* Text writing mode of the cue.
|
|
765
|
+
* @type {shaka.text.Cue.writingMode}
|
|
766
|
+
*/
|
|
767
|
+
shaka.text.Cue.prototype.writingMode;
|
|
768
|
+
/**
|
|
769
|
+
* The way to interpret line field. (Either as an integer line number or
|
|
770
|
+
* percentage from the display box).
|
|
771
|
+
* @type {shaka.text.Cue.lineInterpretation}
|
|
772
|
+
*/
|
|
773
|
+
shaka.text.Cue.prototype.lineInterpretation;
|
|
774
|
+
/**
|
|
775
|
+
* The offset from the display box in either number of lines or
|
|
776
|
+
* percentage depending on the value of lineInterpretation.
|
|
777
|
+
* @type {?number}
|
|
778
|
+
*/
|
|
779
|
+
shaka.text.Cue.prototype.line;
|
|
780
|
+
/**
|
|
781
|
+
* Separation between line areas inside the cue box in px or em
|
|
782
|
+
* (e.g. '100px'/'100em'). If not specified, this should be no less than
|
|
783
|
+
* the largest font size applied to the text in the cue.
|
|
784
|
+
* @type {string}.
|
|
785
|
+
*/
|
|
786
|
+
shaka.text.Cue.prototype.lineHeight;
|
|
787
|
+
/**
|
|
788
|
+
* Line alignment of the cue box.
|
|
789
|
+
* Start alignment means the cue box’s top side (for horizontal cues), left
|
|
790
|
+
* side (for vertical growing right), or right side (for vertical growing
|
|
791
|
+
* left) is aligned at the line.
|
|
792
|
+
* Center alignment means the cue box is centered at the line.
|
|
793
|
+
* End alignment The cue box’s bottom side (for horizontal cues), right side
|
|
794
|
+
* (for vertical growing right), or left side (for vertical growing left) is
|
|
795
|
+
* aligned at the line.
|
|
796
|
+
* @type {shaka.text.Cue.lineAlign}
|
|
797
|
+
*/
|
|
798
|
+
shaka.text.Cue.prototype.lineAlign;
|
|
799
|
+
/**
|
|
800
|
+
* Vertical alignments of the cues within their extents.
|
|
801
|
+
* 'BEFORE' means displaying the captions at the top of the text display
|
|
802
|
+
* container box, 'CENTER' means in the middle, 'AFTER' means at the bottom.
|
|
803
|
+
* @type {shaka.text.Cue.displayAlign}
|
|
804
|
+
*/
|
|
805
|
+
shaka.text.Cue.prototype.displayAlign;
|
|
806
|
+
/**
|
|
807
|
+
* Text color as a CSS color, e.g. "#FFFFFF" or "white".
|
|
808
|
+
* @type {string}
|
|
809
|
+
*/
|
|
810
|
+
shaka.text.Cue.prototype.color;
|
|
811
|
+
/**
|
|
812
|
+
* Text background color as a CSS color, e.g. "#FFFFFF" or "white".
|
|
813
|
+
* @type {string}
|
|
814
|
+
*/
|
|
815
|
+
shaka.text.Cue.prototype.backgroundColor;
|
|
816
|
+
/**
|
|
817
|
+
* The URL of the background image, e.g. "data:[mime type];base64,[data]".
|
|
818
|
+
* @type {string}
|
|
819
|
+
*/
|
|
820
|
+
shaka.text.Cue.prototype.backgroundImage;
|
|
821
|
+
/**
|
|
822
|
+
* The border around this cue as a CSS border.
|
|
823
|
+
* @type {string}
|
|
824
|
+
*/
|
|
825
|
+
shaka.text.Cue.prototype.border;
|
|
826
|
+
/**
|
|
827
|
+
* Text font size in px or em (e.g. '100px'/'100em').
|
|
828
|
+
* @type {string}
|
|
829
|
+
*/
|
|
830
|
+
shaka.text.Cue.prototype.fontSize;
|
|
831
|
+
/**
|
|
832
|
+
* Text font weight. Either normal or bold.
|
|
833
|
+
* @type {shaka.text.Cue.fontWeight}
|
|
834
|
+
*/
|
|
835
|
+
shaka.text.Cue.prototype.fontWeight;
|
|
836
|
+
/**
|
|
837
|
+
* Text font style. Normal, italic or oblique.
|
|
838
|
+
* @type {shaka.text.Cue.fontStyle}
|
|
839
|
+
*/
|
|
840
|
+
shaka.text.Cue.prototype.fontStyle;
|
|
841
|
+
/**
|
|
842
|
+
* Text font family.
|
|
843
|
+
* @type {string}
|
|
844
|
+
*/
|
|
845
|
+
shaka.text.Cue.prototype.fontFamily;
|
|
846
|
+
/**
|
|
847
|
+
* Text letter spacing as a CSS letter-spacing value.
|
|
848
|
+
* @type {string}
|
|
849
|
+
*/
|
|
850
|
+
shaka.text.Cue.prototype.letterSpacing;
|
|
851
|
+
/**
|
|
852
|
+
* Text line padding as a CSS line-padding value.
|
|
853
|
+
* @type {string}
|
|
854
|
+
*/
|
|
855
|
+
shaka.text.Cue.prototype.linePadding;
|
|
856
|
+
/**
|
|
857
|
+
* Opacity of the cue element, from 0-1.
|
|
858
|
+
* @type {number}
|
|
859
|
+
*/
|
|
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;
|
|
866
|
+
/**
|
|
867
|
+
* Text decoration. A combination of underline, overline
|
|
868
|
+
* and line through. Empty array means no decoration.
|
|
869
|
+
* @type {!Array.<!shaka.text.Cue.textDecoration>}
|
|
870
|
+
*/
|
|
871
|
+
shaka.text.Cue.prototype.textDecoration;
|
|
872
|
+
/**
|
|
873
|
+
* Text shadow color as a CSS text-shadow value.
|
|
874
|
+
* @type {string}
|
|
875
|
+
*/
|
|
876
|
+
shaka.text.Cue.prototype.textShadow;
|
|
877
|
+
/**
|
|
878
|
+
* Text stroke color as a CSS color, e.g. "#FFFFFF" or "white".
|
|
879
|
+
* @type {string}
|
|
880
|
+
*/
|
|
881
|
+
shaka.text.Cue.prototype.textStrokeColor;
|
|
882
|
+
/**
|
|
883
|
+
* Text stroke width as a CSS stroke-width value.
|
|
884
|
+
* @type {string}
|
|
885
|
+
*/
|
|
886
|
+
shaka.text.Cue.prototype.textStrokeWidth;
|
|
887
|
+
/**
|
|
888
|
+
* Whether or not line wrapping should be applied to the cue.
|
|
889
|
+
* @type {boolean}
|
|
890
|
+
*/
|
|
891
|
+
shaka.text.Cue.prototype.wrapLine;
|
|
892
|
+
/**
|
|
893
|
+
* Id of the cue.
|
|
894
|
+
* @type {string}
|
|
895
|
+
*/
|
|
896
|
+
shaka.text.Cue.prototype.id;
|
|
897
|
+
/**
|
|
898
|
+
* Nested cues, which should be laid out horizontally in one block.
|
|
899
|
+
* Top-level cues are blocks, and nested cues are inline elements.
|
|
900
|
+
* Cues can be nested arbitrarily deeply.
|
|
901
|
+
* @type {!Array.<!shaka.text.Cue>}
|
|
902
|
+
*/
|
|
903
|
+
shaka.text.Cue.prototype.nestedCues;
|
|
904
|
+
/**
|
|
905
|
+
* If true, this represents a container element that is "above" the main
|
|
906
|
+
* cues. For example, the <body> and <div> tags that contain the <p> tags
|
|
907
|
+
* in a TTML file. This controls the flow of the final cues; any nested cues
|
|
908
|
+
* within an "isContainer" cue will be laid out as separate lines.
|
|
909
|
+
* @type {boolean}
|
|
910
|
+
*/
|
|
911
|
+
shaka.text.Cue.prototype.isContainer;
|
|
912
|
+
/**
|
|
913
|
+
* Whether or not the cue only acts as a line break between two nested cues.
|
|
914
|
+
* Should only appear in nested cues.
|
|
915
|
+
* @type {boolean}
|
|
916
|
+
*/
|
|
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;
|
|
924
|
+
/**
|
|
925
|
+
* The number of horizontal and vertical cells into which the Root Container
|
|
926
|
+
* Region area is divided.
|
|
927
|
+
* @type {{ columns: number, rows: number }}
|
|
928
|
+
*/
|
|
929
|
+
shaka.text.Cue.prototype.cellResolution;
|
|
703
930
|
/**
|
|
704
931
|
* @enum {string}
|
|
705
932
|
*/
|
|
@@ -821,6 +1048,68 @@ shaka.text.CueRegion = class {
|
|
|
821
1048
|
/** */
|
|
822
1049
|
constructor() {}
|
|
823
1050
|
};
|
|
1051
|
+
/**
|
|
1052
|
+
* Region identifier.
|
|
1053
|
+
* @type {string}
|
|
1054
|
+
*/
|
|
1055
|
+
shaka.text.CueRegion.prototype.id;
|
|
1056
|
+
/**
|
|
1057
|
+
* The X offset to start the rendering area in viewportAnchorUnits of the
|
|
1058
|
+
* video width.
|
|
1059
|
+
* @type {number}
|
|
1060
|
+
*/
|
|
1061
|
+
shaka.text.CueRegion.prototype.viewportAnchorX;
|
|
1062
|
+
/**
|
|
1063
|
+
* The X offset to start the rendering area in viewportAnchorUnits of the
|
|
1064
|
+
* video height.
|
|
1065
|
+
* @type {number}
|
|
1066
|
+
*/
|
|
1067
|
+
shaka.text.CueRegion.prototype.viewportAnchorY;
|
|
1068
|
+
/**
|
|
1069
|
+
* The X offset to start the rendering area in percentage (0-100) of this
|
|
1070
|
+
* region width.
|
|
1071
|
+
* @type {number}
|
|
1072
|
+
*/
|
|
1073
|
+
shaka.text.CueRegion.prototype.regionAnchorX;
|
|
1074
|
+
/**
|
|
1075
|
+
* The Y offset to start the rendering area in percentage (0-100) of the
|
|
1076
|
+
* region height.
|
|
1077
|
+
* @type {number}
|
|
1078
|
+
*/
|
|
1079
|
+
shaka.text.CueRegion.prototype.regionAnchorY;
|
|
1080
|
+
/**
|
|
1081
|
+
* The width of the rendering area in widthUnits.
|
|
1082
|
+
* @type {number}
|
|
1083
|
+
*/
|
|
1084
|
+
shaka.text.CueRegion.prototype.width;
|
|
1085
|
+
/**
|
|
1086
|
+
* The width of the rendering area in heightUnits.
|
|
1087
|
+
* @type {number}
|
|
1088
|
+
*/
|
|
1089
|
+
shaka.text.CueRegion.prototype.height;
|
|
1090
|
+
/**
|
|
1091
|
+
* The units (percentage, pixels or lines) the region height is in.
|
|
1092
|
+
* @type {shaka.text.CueRegion.units}
|
|
1093
|
+
*/
|
|
1094
|
+
shaka.text.CueRegion.prototype.heightUnits;
|
|
1095
|
+
/**
|
|
1096
|
+
* The units (percentage or pixels) the region width is in.
|
|
1097
|
+
* @type {shaka.text.CueRegion.units}
|
|
1098
|
+
*/
|
|
1099
|
+
shaka.text.CueRegion.prototype.widthUnits;
|
|
1100
|
+
/**
|
|
1101
|
+
* The units (percentage or pixels) the region viewportAnchors are in.
|
|
1102
|
+
* @type {shaka.text.CueRegion.units}
|
|
1103
|
+
*/
|
|
1104
|
+
shaka.text.CueRegion.prototype.viewportAnchorUnits;
|
|
1105
|
+
/**
|
|
1106
|
+
* If scroll=UP, it means that cues in the region will be added to the
|
|
1107
|
+
* bottom of the region and will push any already displayed cues in the
|
|
1108
|
+
* region up. Otherwise (scroll=NONE) cues will stay fixed at the location
|
|
1109
|
+
* they were first painted in.
|
|
1110
|
+
* @type {shaka.text.CueRegion.scrollMode}
|
|
1111
|
+
*/
|
|
1112
|
+
shaka.text.CueRegion.prototype.scroll;
|
|
824
1113
|
/**
|
|
825
1114
|
* @enum {number}
|
|
826
1115
|
*/
|
|
@@ -1300,7 +1589,8 @@ shaka.net.NetworkingEngine.RequestType = {
|
|
|
1300
1589
|
'APP': 3,
|
|
1301
1590
|
'TIMING': 4,
|
|
1302
1591
|
'SERVER_CERTIFICATE': 5,
|
|
1303
|
-
'KEY': 6
|
|
1592
|
+
'KEY': 6,
|
|
1593
|
+
'ADS': 7
|
|
1304
1594
|
};
|
|
1305
1595
|
/**
|
|
1306
1596
|
* A more advanced form of the RequestType structure, meant to describe
|
|
@@ -1732,8 +2022,10 @@ shaka.media.InitSegmentReference = class {
|
|
|
1732
2022
|
* the quality of the media associated with this init segment.
|
|
1733
2023
|
* @param {(null|number)=} timescale
|
|
1734
2024
|
* @param {(null|BufferSource)=} segmentData
|
|
2025
|
+
* @param {?shaka.extern.aes128Key=} aes128Key
|
|
2026
|
+
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
1735
2027
|
*/
|
|
1736
|
-
constructor(uris, startByte, endByte, mediaQuality, timescale, segmentData) {}
|
|
2028
|
+
constructor(uris, startByte, endByte, mediaQuality, timescale, segmentData, aes128Key) {}
|
|
1737
2029
|
/**
|
|
1738
2030
|
* Returns the offset from the start of the resource to the
|
|
1739
2031
|
* start of the segment.
|
|
@@ -1806,10 +2098,10 @@ shaka.media.SegmentReference = class {
|
|
|
1806
2098
|
* @param {shaka.media.SegmentReference.Status=} status
|
|
1807
2099
|
* The segment status is used to indicate that a segment does not exist or is
|
|
1808
2100
|
* not available.
|
|
1809
|
-
* @param {?shaka.extern.
|
|
2101
|
+
* @param {?shaka.extern.aes128Key=} aes128Key
|
|
1810
2102
|
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
1811
2103
|
*/
|
|
1812
|
-
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) {}
|
|
1813
2105
|
/**
|
|
1814
2106
|
* Creates and returns the URIs of the resource containing the segment.
|
|
1815
2107
|
* @return {!Array.<string>}
|
|
@@ -1965,8 +2257,9 @@ shaka.util.Id3Utils = class {
|
|
|
1965
2257
|
shaka.util.ExpGolomb = class {
|
|
1966
2258
|
/**
|
|
1967
2259
|
* @param {!Uint8Array} data
|
|
2260
|
+
* @param {boolean=} convertEbsp2rbsp
|
|
1968
2261
|
*/
|
|
1969
|
-
constructor(data) {}
|
|
2262
|
+
constructor(data, convertEbsp2rbsp) {}
|
|
1970
2263
|
};
|
|
1971
2264
|
/**
|
|
1972
2265
|
* @see https://en.wikipedia.org/wiki/MPEG_transport_stream
|
|
@@ -1993,6 +2286,16 @@ shaka.util.TsParser = class {
|
|
|
1993
2286
|
* @return {!Array.<shaka.extern.VideoNalu>}
|
|
1994
2287
|
*/
|
|
1995
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) {}
|
|
1996
2299
|
/**
|
|
1997
2300
|
* Return the ID3 metadata
|
|
1998
2301
|
* @return {!Array.<shaka.extern.ID3Metadata>}
|
|
@@ -2052,23 +2355,23 @@ shaka.util.TsParser = class {
|
|
|
2052
2355
|
shaka.util.TsParser.Timescale;
|
|
2053
2356
|
/**
|
|
2054
2357
|
* @summary
|
|
2055
|
-
*
|
|
2358
|
+
* lcevcDec - (MPEG-5 Part 2 LCEVC - Decoder) provides
|
|
2056
2359
|
* all the operations related to the enhancement and rendering
|
|
2057
2360
|
* of LCEVC enabled streams and on to a canvas.
|
|
2058
2361
|
* @implements {shaka.util.IReleasable}
|
|
2059
2362
|
*/
|
|
2060
|
-
shaka.lcevc.
|
|
2363
|
+
shaka.lcevc.Dec = class {
|
|
2061
2364
|
/**
|
|
2062
2365
|
* @param {HTMLVideoElement} media The video element that will be attached to
|
|
2063
|
-
* LCEVC
|
|
2366
|
+
* LCEVC Decoder for input.
|
|
2064
2367
|
* @param {HTMLCanvasElement} canvas The canvas element that will be attached
|
|
2065
|
-
* to LCEVC
|
|
2066
|
-
* @param {shaka.extern.LcevcConfiguration}
|
|
2067
|
-
*
|
|
2368
|
+
* to LCEVC Decoder to render the enhanced frames.
|
|
2369
|
+
* @param {shaka.extern.LcevcConfiguration} lcevcConfig LCEVC configuration
|
|
2370
|
+
* object to initialize the LCEVC Decoder.
|
|
2068
2371
|
*/
|
|
2069
|
-
constructor(media, canvas,
|
|
2372
|
+
constructor(media, canvas, lcevcConfig) {}
|
|
2070
2373
|
/**
|
|
2071
|
-
* Close LCEVC
|
|
2374
|
+
* Close LCEVC Decoder.
|
|
2072
2375
|
* @override
|
|
2073
2376
|
*/
|
|
2074
2377
|
release() {}
|
|
@@ -2792,9 +3095,10 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
2792
3095
|
* <code>load</code> but cannot interrupt calls to <code>attach</code>,
|
|
2793
3096
|
* <code>detach</code>, or <code>unload</code>.
|
|
2794
3097
|
* @param {boolean=} initializeMediaSource
|
|
3098
|
+
* @param {boolean=} keepAdManager
|
|
2795
3099
|
* @return {!Promise}
|
|
2796
3100
|
*/
|
|
2797
|
-
unload(initializeMediaSource) {}
|
|
3101
|
+
unload(initializeMediaSource, keepAdManager) {}
|
|
2798
3102
|
/**
|
|
2799
3103
|
* Provides a way to update the stream start position during the media loading
|
|
2800
3104
|
* process. Can for example be called from the <code>manifestparsed</code>
|
|
@@ -3397,6 +3701,138 @@ shaka.ads.ClientSideAd = class {
|
|
|
3397
3701
|
*/
|
|
3398
3702
|
release() {}
|
|
3399
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
|
+
};
|
|
3400
3836
|
/**
|
|
3401
3837
|
* @implements {shaka.extern.IAd}
|
|
3402
3838
|
*/
|
|
@@ -3563,6 +3999,18 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
|
|
|
3563
3999
|
* @override
|
|
3564
4000
|
*/
|
|
3565
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) {}
|
|
3566
4014
|
/**
|
|
3567
4015
|
* @override
|
|
3568
4016
|
*/
|
|
@@ -3583,11 +4031,20 @@ shaka.ads.AdManager = class extends shaka.util.FakeEventTarget {
|
|
|
3583
4031
|
* @override
|
|
3584
4032
|
*/
|
|
3585
4033
|
getServerSideCuePoints() {}
|
|
4034
|
+
/**
|
|
4035
|
+
* @return {!Array.<!shaka.extern.AdCuePoint>}
|
|
4036
|
+
* @override
|
|
4037
|
+
*/
|
|
4038
|
+
getCuePoints() {}
|
|
3586
4039
|
/**
|
|
3587
4040
|
* @return {shaka.extern.AdsStats}
|
|
3588
4041
|
* @override
|
|
3589
4042
|
*/
|
|
3590
4043
|
getStats() {}
|
|
4044
|
+
/**
|
|
4045
|
+
* @override
|
|
4046
|
+
*/
|
|
4047
|
+
onManifestUpdated(isLive) {}
|
|
3591
4048
|
/**
|
|
3592
4049
|
* @override
|
|
3593
4050
|
*/
|
|
@@ -4863,7 +5320,7 @@ shaka.transmuxer.MpegTsTransmuxer = class {
|
|
|
4863
5320
|
/**
|
|
4864
5321
|
* @override
|
|
4865
5322
|
*/
|
|
4866
|
-
transmux(data) {}
|
|
5323
|
+
transmux(data, stream, reference, duration, contentType) {}
|
|
4867
5324
|
};
|
|
4868
5325
|
/**
|
|
4869
5326
|
* @implements {shaka.extern.Transmuxer}
|
|
@@ -4898,39 +5355,6 @@ shaka.transmuxer.MssTransmuxer = class {
|
|
|
4898
5355
|
*/
|
|
4899
5356
|
transmux(data, stream, reference) {}
|
|
4900
5357
|
};
|
|
4901
|
-
/**
|
|
4902
|
-
* @implements {shaka.extern.Transmuxer}
|
|
4903
|
-
*/
|
|
4904
|
-
shaka.transmuxer.MuxjsTransmuxer = class {
|
|
4905
|
-
/**
|
|
4906
|
-
* @param {string} mimeType
|
|
4907
|
-
*/
|
|
4908
|
-
constructor(mimeType) {}
|
|
4909
|
-
/**
|
|
4910
|
-
* @override
|
|
4911
|
-
*/
|
|
4912
|
-
destroy() {}
|
|
4913
|
-
/**
|
|
4914
|
-
* Check if the mime type and the content type is supported.
|
|
4915
|
-
* @param {string} mimeType
|
|
4916
|
-
* @param {string=} contentType
|
|
4917
|
-
* @return {boolean}
|
|
4918
|
-
* @override
|
|
4919
|
-
*/
|
|
4920
|
-
isSupported(mimeType, contentType) {}
|
|
4921
|
-
/**
|
|
4922
|
-
* @override
|
|
4923
|
-
*/
|
|
4924
|
-
convertCodecs(contentType, mimeType) {}
|
|
4925
|
-
/**
|
|
4926
|
-
* @override
|
|
4927
|
-
*/
|
|
4928
|
-
getOrginalMimeType() {}
|
|
4929
|
-
/**
|
|
4930
|
-
* @override
|
|
4931
|
-
*/
|
|
4932
|
-
transmux(data) {}
|
|
4933
|
-
};
|
|
4934
5358
|
/**
|
|
4935
5359
|
* @implements {shaka.extern.Transmuxer}
|
|
4936
5360
|
*/
|
|
@@ -5278,6 +5702,16 @@ shaka.ui.Controls = class extends shaka.util.FakeEventTarget {
|
|
|
5278
5702
|
isFullScreenEnabled() {}
|
|
5279
5703
|
/** */
|
|
5280
5704
|
toggleFullScreen() {}
|
|
5705
|
+
/**
|
|
5706
|
+
* @return {boolean}
|
|
5707
|
+
*/
|
|
5708
|
+
isPiPAllowed() {}
|
|
5709
|
+
/**
|
|
5710
|
+
* @return {boolean}
|
|
5711
|
+
*/
|
|
5712
|
+
isPiPEnabled() {}
|
|
5713
|
+
/** */
|
|
5714
|
+
togglePiP() {}
|
|
5281
5715
|
/** */
|
|
5282
5716
|
showAdUI() {}
|
|
5283
5717
|
/** */
|
|
@@ -5486,6 +5920,17 @@ shaka.ui.PresentationTimeTracker = class extends shaka.ui.Element {
|
|
|
5486
5920
|
*/
|
|
5487
5921
|
constructor(parent, controls) {}
|
|
5488
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
|
+
};
|
|
5489
5934
|
/**
|
|
5490
5935
|
* @extends {shaka.ui.SettingsMenu}
|
|
5491
5936
|
* @final
|