shaka-player 4.12.8 → 4.13.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/AUTHORS +1 -0
- package/CONTRIBUTORS +4 -0
- package/README.md +22 -21
- package/cspell.config.yaml +18 -0
- package/dist/controls.css +1 -1
- package/dist/controls.css.map +1 -1
- package/dist/deps.js +29 -24
- package/dist/locales.js +33 -33
- package/dist/shaka-player.compiled.d.ts +138 -36
- package/dist/shaka-player.compiled.debug.d.ts +138 -36
- package/dist/shaka-player.compiled.debug.externs.js +367 -107
- package/dist/shaka-player.compiled.debug.js +828 -765
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +367 -107
- package/dist/shaka-player.compiled.js +1451 -1416
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +172 -38
- package/dist/shaka-player.ui.debug.d.ts +172 -38
- package/dist/shaka-player.ui.debug.externs.js +406 -113
- package/dist/shaka-player.ui.debug.js +842 -766
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +406 -113
- package/dist/shaka-player.ui.js +1670 -1628
- package/dist/shaka-player.ui.map +4 -4
- package/eslint.config.mjs +343 -0
- package/externs/airplay.js +1 -1
- package/externs/audiotrack.js +1 -1
- package/externs/awesomplete.js +1 -1
- package/externs/cast-sdk-v2.js +2 -2
- package/externs/cmcd.js +16 -1
- package/externs/device_sensor_event.js +1 -1
- package/externs/ima.js +8 -8
- package/externs/isoboxer.js +31 -31
- package/externs/jwk_set.js +1 -1
- package/externs/lcevc.js +8 -8
- package/externs/mediakeys.js +1 -1
- package/externs/mediasession.js +3 -2
- package/externs/mediatailor.js +18 -18
- package/externs/pictureinpicture.js +41 -1
- package/externs/playstation.js +2 -2
- package/externs/prefixed_eme.js +1 -1
- package/externs/shaka/abortable.js +4 -4
- package/externs/shaka/abr_manager.js +1 -1
- package/externs/shaka/ads.js +45 -6
- package/externs/shaka/cea.js +2 -2
- package/externs/shaka/codecs.js +4 -4
- package/externs/shaka/drm_info.js +6 -6
- package/externs/shaka/error.js +5 -5
- package/externs/shaka/manifest.js +51 -56
- package/externs/shaka/manifest_parser.js +3 -9
- package/externs/shaka/net.js +23 -20
- package/externs/shaka/offline.js +37 -37
- package/externs/shaka/offline_compat_v1.js +10 -10
- package/externs/shaka/offline_compat_v2.js +10 -10
- package/externs/shaka/player.js +139 -109
- package/externs/shaka/text.js +10 -3
- package/externs/shaka/transmuxer.js +1 -1
- package/externs/videotrack.js +1 -1
- package/lib/abr/ewma.js +1 -1
- package/lib/abr/simple_abr_manager.js +70 -22
- package/lib/ads/ad_manager.js +43 -18
- package/lib/ads/ad_utils.js +160 -58
- package/lib/ads/ads_stats.js +1 -1
- package/lib/ads/client_side_ad_manager.js +2 -2
- package/lib/ads/interstitial_ad.js +16 -11
- package/lib/ads/interstitial_ad_manager.js +419 -72
- package/lib/ads/interstitial_static_ad.js +299 -0
- package/lib/ads/media_tailor_ad.js +1 -0
- package/lib/ads/media_tailor_ad_manager.js +37 -36
- package/lib/ads/server_side_ad_manager.js +7 -6
- package/lib/cast/cast_receiver.js +5 -3
- package/lib/cast/cast_sender.js +2 -2
- package/lib/cast/cast_utils.js +20 -13
- package/lib/cea/cea608_data_channel.js +53 -53
- package/lib/cea/cea708_service.js +42 -40
- package/lib/cea/cea708_window.js +5 -2
- package/lib/cea/cea_decoder.js +5 -7
- package/lib/cea/mp4_cea_parser.js +1 -1
- package/lib/cea/sei_processor.js +1 -1
- package/lib/dash/content_protection.js +62 -192
- package/lib/dash/dash_parser.js +119 -119
- package/lib/dash/mpd_utils.js +14 -13
- package/lib/dash/segment_base.js +5 -5
- package/lib/dash/segment_list.js +10 -10
- package/lib/dash/segment_template.js +55 -53
- package/lib/debug/log.js +2 -2
- package/lib/dependencies/all.js +2 -1
- package/lib/{media → drm}/drm_engine.js +274 -143
- package/lib/{util → drm}/drm_utils.js +20 -11
- package/lib/drm/playready.js +233 -0
- package/lib/hls/hls_classes.js +14 -14
- package/lib/hls/hls_parser.js +257 -196
- package/lib/hls/hls_utils.js +14 -14
- package/lib/hls/manifest_text_parser.js +10 -10
- package/lib/media/adaptation_set.js +6 -5
- package/lib/media/adaptation_set_criteria.js +51 -379
- package/lib/media/buffering_observer.js +5 -4
- package/lib/media/closed_caption_parser.js +2 -2
- package/lib/media/content_workarounds.js +2 -2
- package/lib/media/example_based_criteria.js +69 -0
- package/lib/media/gap_jumping_controller.js +14 -1
- package/lib/media/manifest_filterer.js +8 -8
- package/lib/media/manifest_parser.js +2 -2
- package/lib/media/media_source_capabilities.js +20 -1
- package/lib/media/media_source_engine.js +84 -35
- package/lib/media/mp4_segment_index_parser.js +5 -5
- package/lib/media/playhead.js +2 -8
- package/lib/media/playhead_observer.js +1 -1
- package/lib/media/preference_based_criteria.js +333 -0
- package/lib/media/preload_manager.js +53 -37
- package/lib/media/presentation_timeline.js +2 -2
- package/lib/media/quality_observer.js +35 -35
- package/lib/media/region_observer.js +2 -2
- package/lib/media/region_timeline.js +3 -3
- package/lib/media/segment_index.js +14 -14
- package/lib/media/segment_prefetch.js +17 -13
- package/lib/media/segment_reference.js +7 -7
- package/lib/media/segment_utils.js +9 -9
- package/lib/media/streaming_engine.js +77 -38
- package/lib/media/time_ranges_utils.js +1 -1
- package/lib/media/video_wrapper.js +1 -1
- package/lib/media/webm_segment_index_parser.js +4 -4
- package/lib/mss/content_protection.js +17 -222
- package/lib/mss/mss_parser.js +23 -24
- package/lib/net/data_uri_plugin.js +1 -0
- package/lib/net/http_fetch_plugin.js +8 -7
- package/lib/net/http_plugin_utils.js +5 -2
- package/lib/net/http_xhr_plugin.js +4 -3
- package/lib/net/networking_engine.js +72 -17
- package/lib/net/networking_utils.js +5 -2
- package/lib/offline/download_info.js +5 -1
- package/lib/offline/download_manager.js +15 -4
- package/lib/offline/download_progress_estimator.js +1 -1
- package/lib/offline/indexeddb/base_storage_cell.js +9 -9
- package/lib/offline/indexeddb/db_connection.js +1 -1
- package/lib/offline/indexeddb/db_operation.js +2 -2
- package/lib/offline/indexeddb/eme_session_storage_cell.js +1 -1
- package/lib/offline/indexeddb/storage_mechanism.js +1 -1
- package/lib/offline/indexeddb/v1_storage_cell.js +3 -3
- package/lib/offline/indexeddb/v2_storage_cell.js +2 -2
- package/lib/offline/manifest_converter.js +11 -12
- package/lib/offline/offline_scheme.js +8 -4
- package/lib/offline/session_deleter.js +11 -11
- package/lib/offline/storage.js +137 -88
- package/lib/offline/storage_muxer.js +8 -8
- package/lib/offline/stored_content_utils.js +3 -3
- package/lib/offline/stream_bandwidth_estimator.js +1 -1
- package/lib/player.js +291 -207
- package/lib/polyfill/all.js +1 -1
- package/lib/polyfill/media_capabilities.js +5 -5
- package/lib/polyfill/patchedmediakeys_apple.js +6 -6
- package/lib/polyfill/patchedmediakeys_webkit.js +8 -8
- package/lib/polyfill/video_play_promise.js +0 -1
- package/lib/text/cue.js +3 -2
- package/lib/text/lrc_text_parser.js +1 -1
- package/lib/text/mp4_ttml_parser.js +1 -1
- package/lib/text/mp4_vtt_parser.js +3 -3
- package/lib/text/sbv_text_parser.js +1 -1
- package/lib/text/simple_text_displayer.js +37 -10
- package/lib/text/ssa_text_parser.js +3 -1
- package/lib/text/stub_text_displayer.js +12 -5
- package/lib/text/text_engine.js +5 -4
- package/lib/text/text_utils.js +4 -4
- package/lib/text/ttml_text_parser.js +21 -20
- package/lib/text/ui_text_displayer.js +20 -13
- package/lib/text/vtt_text_parser.js +10 -10
- package/lib/text/web_vtt_generator.js +2 -2
- package/lib/transmuxer/aac_transmuxer.js +2 -2
- package/lib/transmuxer/ac3_transmuxer.js +2 -2
- package/lib/transmuxer/adts.js +2 -0
- package/lib/transmuxer/ec3.js +3 -3
- package/lib/transmuxer/ec3_transmuxer.js +2 -2
- package/lib/transmuxer/h264.js +5 -5
- package/lib/transmuxer/h265.js +3 -3
- package/lib/transmuxer/mp3_transmuxer.js +2 -2
- package/lib/transmuxer/mpeg_audio.js +6 -6
- package/lib/transmuxer/mss_transmuxer.js +2 -0
- package/lib/transmuxer/transmuxer_engine.js +1 -1
- package/lib/transmuxer/ts_transmuxer.js +10 -10
- package/lib/util/abortable_operation.js +10 -10
- package/lib/util/array_utils.js +6 -6
- package/lib/util/cmcd_manager.js +149 -18
- package/lib/util/cmsd_manager.js +11 -11
- package/lib/util/config_utils.js +3 -3
- package/lib/util/content_steering_manager.js +17 -17
- package/lib/util/data_view_reader.js +3 -3
- package/lib/util/ebml_parser.js +1 -1
- package/lib/util/error.js +11 -6
- package/lib/util/event_manager.js +1 -1
- package/lib/util/exp_golomb.js +1 -1
- package/lib/util/fairplay_utils.js +6 -1
- package/lib/util/fake_event.js +3 -2
- package/lib/util/fake_event_target.js +1 -1
- package/lib/util/functional.js +8 -8
- package/lib/util/id3_utils.js +1 -1
- package/lib/util/iterables.js +6 -6
- package/lib/util/language_utils.js +17 -17
- package/lib/util/manifest_parser_utils.js +13 -13
- package/lib/util/map_utils.js +6 -6
- package/lib/util/media_ready_state_utils.js +1 -1
- package/lib/util/mime_utils.js +15 -4
- package/lib/util/mp4_box_parsers.js +5 -5
- package/lib/util/mp4_generator.js +31 -30
- package/lib/util/mp4_parser.js +2 -2
- package/lib/util/multi_map.js +5 -5
- package/lib/util/mutex.js +1 -1
- package/lib/util/networking.js +1 -1
- package/lib/util/object_utils.js +5 -1
- package/lib/util/operation_manager.js +1 -1
- package/lib/util/periods.js +24 -24
- package/lib/util/platform.js +8 -4
- package/lib/util/player_configuration.js +50 -17
- package/lib/util/pssh.js +34 -6
- package/lib/util/public_promise.js +2 -2
- package/lib/util/state_history.js +2 -2
- package/lib/util/stream_utils.js +138 -120
- package/lib/util/string_utils.js +4 -3
- package/lib/util/switch_history.js +2 -2
- package/lib/util/tXml.js +22 -17
- package/lib/util/text_parser.js +2 -2
- package/lib/util/timer.js +1 -1
- package/lib/util/ts_parser.js +22 -22
- package/lib/util/xml_utils.js +1 -0
- package/package.json +7 -4
- package/project-words.txt +485 -0
- package/shaka-player.uncompiled.js +1 -1
- package/third_party/closure-uri/uri.js +2 -2
- package/third_party/closure-uri/utils.js +2 -2
- package/third_party/language-mapping-list/language-mapping-list.js +1 -1
- package/ui/ad_statistics_button.js +9 -5
- package/ui/airplay_button.js +1 -0
- package/ui/audio_language_selection.js +2 -1
- package/ui/context_menu.js +2 -2
- package/ui/controls.js +7 -7
- package/ui/externs/ui.js +29 -21
- package/ui/externs/watermark.js +64 -0
- package/ui/fast_forward_button.js +1 -1
- package/ui/gl_matrix/matrix_4x4.js +11 -5
- package/ui/hidden_fast_forward_button.js +1 -1
- package/ui/hidden_seek_button.js +1 -1
- package/ui/language_utils.js +27 -26
- package/ui/less/buttons.less +2 -2
- package/ui/localization.js +21 -21
- package/ui/loop_button.js +2 -2
- package/ui/overflow_menu.js +2 -2
- package/ui/playback_rate_selection.js +1 -1
- package/ui/presentation_time.js +4 -1
- package/ui/range_element.js +2 -2
- package/ui/resolution_selection.js +42 -6
- package/ui/rewind_button.js +1 -1
- package/ui/seek_bar.js +5 -5
- package/ui/statistics_button.js +8 -4
- package/ui/text_selection.js +3 -2
- package/ui/ui.js +32 -2
- package/ui/vr_manager.js +3 -3
- package/ui/vr_utils.js +14 -14
- package/ui/vr_webgl.js +5 -5
- package/ui/watermark.js +313 -0
- package/.eslintignore +0 -4
- package/.eslintrc.js +0 -310
- package/lib/polyfill/patchedmediakeys_nop.js +0 -148
package/externs/shaka/player.js
CHANGED
|
@@ -92,8 +92,8 @@ shaka.extern.StateChange;
|
|
|
92
92
|
* manifestPeriodCount: number,
|
|
93
93
|
* manifestGapCount: number,
|
|
94
94
|
*
|
|
95
|
-
* switchHistory: !Array
|
|
96
|
-
* stateHistory: !Array
|
|
95
|
+
* switchHistory: !Array<shaka.extern.TrackChoice>,
|
|
96
|
+
* stateHistory: !Array<shaka.extern.StateChange>
|
|
97
97
|
* }}
|
|
98
98
|
*
|
|
99
99
|
* @description
|
|
@@ -187,9 +187,9 @@ shaka.extern.StateChange;
|
|
|
187
187
|
* and GAP=YES occurrences. For MSS, it is always set to 0.
|
|
188
188
|
* If in src= mode or nothing is loaded, NaN.
|
|
189
189
|
*
|
|
190
|
-
* @property {!Array
|
|
190
|
+
* @property {!Array<shaka.extern.TrackChoice>} switchHistory
|
|
191
191
|
* A history of the stream changes.
|
|
192
|
-
* @property {!Array
|
|
192
|
+
* @property {!Array<shaka.extern.StateChange>} stateHistory
|
|
193
193
|
* A history of the state changes.
|
|
194
194
|
* @exportDoc
|
|
195
195
|
*/
|
|
@@ -216,23 +216,23 @@ shaka.extern.BufferedRange;
|
|
|
216
216
|
|
|
217
217
|
/**
|
|
218
218
|
* @typedef {{
|
|
219
|
-
* total: !Array
|
|
220
|
-
* audio: !Array
|
|
221
|
-
* video: !Array
|
|
222
|
-
* text: !Array
|
|
219
|
+
* total: !Array<shaka.extern.BufferedRange>,
|
|
220
|
+
* audio: !Array<shaka.extern.BufferedRange>,
|
|
221
|
+
* video: !Array<shaka.extern.BufferedRange>,
|
|
222
|
+
* text: !Array<shaka.extern.BufferedRange>
|
|
223
223
|
* }}
|
|
224
224
|
*
|
|
225
225
|
* @description
|
|
226
226
|
* Contains information about the current buffered ranges.
|
|
227
227
|
*
|
|
228
|
-
* @property {!Array
|
|
228
|
+
* @property {!Array<shaka.extern.BufferedRange>} total
|
|
229
229
|
* The combined audio/video buffered ranges, reported by
|
|
230
230
|
* <code>video.buffered</code>.
|
|
231
|
-
* @property {!Array
|
|
231
|
+
* @property {!Array<shaka.extern.BufferedRange>} audio
|
|
232
232
|
* The buffered ranges for audio content.
|
|
233
|
-
* @property {!Array
|
|
233
|
+
* @property {!Array<shaka.extern.BufferedRange>} video
|
|
234
234
|
* The buffered ranges for video content.
|
|
235
|
-
* @property {!Array
|
|
235
|
+
* @property {!Array<shaka.extern.BufferedRange>} text
|
|
236
236
|
* The buffered ranges for text content.
|
|
237
237
|
* @exportDoc
|
|
238
238
|
*/
|
|
@@ -264,8 +264,8 @@ shaka.extern.BufferedInfo;
|
|
|
264
264
|
* audioCodec: ?string,
|
|
265
265
|
* videoCodec: ?string,
|
|
266
266
|
* primary: boolean,
|
|
267
|
-
* roles: !Array
|
|
268
|
-
* audioRoles: Array
|
|
267
|
+
* roles: !Array<string>,
|
|
268
|
+
* audioRoles: Array<string>,
|
|
269
269
|
* accessibilityPurpose: ?shaka.media.ManifestParser.AccessibilityPurpose,
|
|
270
270
|
* forced: boolean,
|
|
271
271
|
* videoId: ?number,
|
|
@@ -343,15 +343,15 @@ shaka.extern.BufferedInfo;
|
|
|
343
343
|
* This can be a useful hint about which language should be the default, and
|
|
344
344
|
* indicates which track Shaka will use when the user's language preference
|
|
345
345
|
* cannot be satisfied.
|
|
346
|
-
* @property {!Array
|
|
346
|
+
* @property {!Array<string>} roles
|
|
347
347
|
* The roles of the track, e.g. <code>'main'</code>, <code>'caption'</code>,
|
|
348
348
|
* or <code>'commentary'</code>.
|
|
349
|
-
* @property {Array
|
|
349
|
+
* @property {Array<string>} audioRoles
|
|
350
350
|
* The roles of the audio in the track, e.g. <code>'main'</code> or
|
|
351
351
|
* <code>'commentary'</code>. Will be null for text tracks or variant tracks
|
|
352
352
|
* without audio.
|
|
353
|
-
* @property {?shaka.media.ManifestParser.AccessibilityPurpose
|
|
354
|
-
*
|
|
353
|
+
* @property {?shaka.media.ManifestParser.AccessibilityPurpose
|
|
354
|
+
* } accessibilityPurpose
|
|
355
355
|
* The DASH accessibility descriptor, if one was provided for this track.
|
|
356
356
|
* For text tracks, this describes the text; otherwise, this is for the audio.
|
|
357
357
|
* @property {boolean} forced
|
|
@@ -398,7 +398,7 @@ shaka.extern.Track;
|
|
|
398
398
|
|
|
399
399
|
|
|
400
400
|
/**
|
|
401
|
-
* @typedef {!Array
|
|
401
|
+
* @typedef {!Array<!shaka.extern.Track>}
|
|
402
402
|
*/
|
|
403
403
|
shaka.extern.TrackList;
|
|
404
404
|
|
|
@@ -495,7 +495,8 @@ shaka.extern.Restrictions;
|
|
|
495
495
|
* persistentState: boolean,
|
|
496
496
|
* encryptionSchemes: !Array<string|null>,
|
|
497
497
|
* videoRobustnessLevels: !Array<string>,
|
|
498
|
-
* audioRobustnessLevels: !Array<string
|
|
498
|
+
* audioRobustnessLevels: !Array<string>,
|
|
499
|
+
* minHdcpVersions: !Array<string>
|
|
499
500
|
* }}
|
|
500
501
|
*
|
|
501
502
|
* @property {boolean} persistentState
|
|
@@ -512,6 +513,10 @@ shaka.extern.Restrictions;
|
|
|
512
513
|
* An array of audio robustness levels that are reported to work. An empty
|
|
513
514
|
* array indicates that none were tested. Not all key systems have a list of
|
|
514
515
|
* known robustness levels built into probeSupport().
|
|
516
|
+
* @property {!Array<string>} minHdcpVersions
|
|
517
|
+
* An array of min HDCP levels that are reported to work. An empty
|
|
518
|
+
* array indicates that none were tested. Not all key systems have support to
|
|
519
|
+
* check min HDCP levels.
|
|
515
520
|
* @exportDoc
|
|
516
521
|
*/
|
|
517
522
|
shaka.extern.DrmSupportType;
|
|
@@ -519,22 +524,22 @@ shaka.extern.DrmSupportType;
|
|
|
519
524
|
|
|
520
525
|
/**
|
|
521
526
|
* @typedef {{
|
|
522
|
-
* manifest: !Object
|
|
523
|
-
* media: !Object
|
|
524
|
-
* drm: !Object
|
|
527
|
+
* manifest: !Object<string, boolean>,
|
|
528
|
+
* media: !Object<string, boolean>,
|
|
529
|
+
* drm: !Object<string, ?shaka.extern.DrmSupportType>,
|
|
525
530
|
* hardwareResolution: shaka.extern.Resolution
|
|
526
531
|
* }}
|
|
527
532
|
*
|
|
528
533
|
* @description
|
|
529
534
|
* An object detailing browser support for various features.
|
|
530
535
|
*
|
|
531
|
-
* @property {!Object
|
|
536
|
+
* @property {!Object<string, boolean>} manifest
|
|
532
537
|
* A map of supported manifest types.
|
|
533
538
|
* The keys are manifest MIME types and file extensions.
|
|
534
|
-
* @property {!Object
|
|
539
|
+
* @property {!Object<string, boolean>} media
|
|
535
540
|
* A map of supported media types.
|
|
536
541
|
* The keys are media MIME types.
|
|
537
|
-
* @property {!Object
|
|
542
|
+
* @property {!Object<string, ?shaka.extern.DrmSupportType>} drm
|
|
538
543
|
* A map of supported key systems.
|
|
539
544
|
* The keys are the key system names. The value is <code>null</code> if it is
|
|
540
545
|
* not supported. Key systems not probed will not be in this dictionary.
|
|
@@ -551,7 +556,7 @@ shaka.extern.SupportType;
|
|
|
551
556
|
* @typedef {{
|
|
552
557
|
* cueTime: ?number,
|
|
553
558
|
* data: !Uint8Array,
|
|
554
|
-
* frames: !Array
|
|
559
|
+
* frames: !Array<shaka.extern.MetadataFrame>,
|
|
555
560
|
* dts: ?number,
|
|
556
561
|
* pts: ?number
|
|
557
562
|
* }}
|
|
@@ -563,7 +568,7 @@ shaka.extern.SupportType;
|
|
|
563
568
|
*
|
|
564
569
|
* @property {?number} cueTime
|
|
565
570
|
* @property {!Uint8Array} data
|
|
566
|
-
* @property {!Array
|
|
571
|
+
* @property {!Array<shaka.extern.MetadataFrame>} frames
|
|
567
572
|
* @property {?number} dts
|
|
568
573
|
* @property {?number} pts
|
|
569
574
|
*
|
|
@@ -648,12 +653,12 @@ shaka.extern.PlaybackStreamInfo;
|
|
|
648
653
|
* @typedef {{
|
|
649
654
|
* startTime: number,
|
|
650
655
|
* endTime: ?number,
|
|
651
|
-
* values: !Array
|
|
656
|
+
* values: !Array<shaka.extern.MetadataFrame>
|
|
652
657
|
* }}
|
|
653
658
|
*
|
|
654
659
|
* @property {number} startTime
|
|
655
660
|
* @property {?number} endTime
|
|
656
|
-
* @property {!Array
|
|
661
|
+
* @property {!Array<shaka.extern.MetadataFrame>} values
|
|
657
662
|
* @exportDoc
|
|
658
663
|
*/
|
|
659
664
|
shaka.extern.HLSInterstitial;
|
|
@@ -704,7 +709,7 @@ shaka.extern.TimelineRegionInfo;
|
|
|
704
709
|
* height: ?number,
|
|
705
710
|
* mimeType: ?string,
|
|
706
711
|
* label: ?string,
|
|
707
|
-
* roles: ?Array
|
|
712
|
+
* roles: ?Array<string>,
|
|
708
713
|
* language: ?string,
|
|
709
714
|
* channelsCount: ?number,
|
|
710
715
|
* pixelAspectRatio: ?string,
|
|
@@ -731,7 +736,7 @@ shaka.extern.TimelineRegionInfo;
|
|
|
731
736
|
* The MIME type.
|
|
732
737
|
* @property {?string} label
|
|
733
738
|
* The stream's label, when available.
|
|
734
|
-
* @property {?Array
|
|
739
|
+
* @property {?Array<string>} roles
|
|
735
740
|
* The stream's role, when available.
|
|
736
741
|
* @property {?string} language
|
|
737
742
|
* The stream's language, when available.
|
|
@@ -808,13 +813,13 @@ shaka.extern.ProducerReferenceTime;
|
|
|
808
813
|
* @typedef {{
|
|
809
814
|
* distinctiveIdentifierRequired: boolean,
|
|
810
815
|
* persistentStateRequired: boolean,
|
|
811
|
-
* videoRobustness: string
|
|
812
|
-
* audioRobustness: string
|
|
816
|
+
* videoRobustness: Array<string>,
|
|
817
|
+
* audioRobustness: Array<string>,
|
|
813
818
|
* serverCertificate: Uint8Array,
|
|
814
819
|
* serverCertificateUri: string,
|
|
815
820
|
* individualizationServer: string,
|
|
816
821
|
* sessionType: string,
|
|
817
|
-
* headers: !Object
|
|
822
|
+
* headers: !Object<string, string>
|
|
818
823
|
* }}
|
|
819
824
|
*
|
|
820
825
|
* @property {boolean} distinctiveIdentifierRequired
|
|
@@ -827,16 +832,18 @@ shaka.extern.ProducerReferenceTime;
|
|
|
827
832
|
* state, e.g., for persistent license storage.
|
|
828
833
|
* <br>
|
|
829
834
|
* Defaults to <code>false</code>.
|
|
830
|
-
* @property {string} videoRobustness
|
|
831
|
-
* A key-system-specific
|
|
832
|
-
* video.
|
|
833
|
-
*
|
|
834
|
-
*
|
|
835
|
-
*
|
|
836
|
-
*
|
|
837
|
-
*
|
|
838
|
-
*
|
|
839
|
-
*
|
|
835
|
+
* @property {Array<string>} videoRobustness
|
|
836
|
+
* A key-system-specific Array of strings that specifies a required security
|
|
837
|
+
* level for video. For multiple robustness levels, list items in priority
|
|
838
|
+
* order.
|
|
839
|
+
* <br>
|
|
840
|
+
* Defaults to <code>[]</code>, i.e., no specific robustness required.
|
|
841
|
+
* @property {Array<string>} audioRobustness
|
|
842
|
+
* A key-system-specific Array of strings that specifies a required security
|
|
843
|
+
* level for audio. For multiple robustness levels, list items in priority
|
|
844
|
+
* order.
|
|
845
|
+
* <br>
|
|
846
|
+
* Defaults to <code>[]</code>, i.e., no specific robustness required.
|
|
840
847
|
* @property {Uint8Array} serverCertificate
|
|
841
848
|
* <i>An empty certificate (<code>byteLength==0</code>) will be treated as
|
|
842
849
|
* <code>null</code>.</i> <br>
|
|
@@ -853,8 +860,8 @@ shaka.extern.ProducerReferenceTime;
|
|
|
853
860
|
* <br>
|
|
854
861
|
* Defaults to <code>''</code>.
|
|
855
862
|
* @property {string} individualizationServer
|
|
856
|
-
* The server that handles an <code>'
|
|
857
|
-
* server isn't given, it will default to the license server.
|
|
863
|
+
* The server that handles an <code>'individualization-request'</code>.
|
|
864
|
+
* If the server isn't given, it will default to the license server.
|
|
858
865
|
* <br>
|
|
859
866
|
* Defaults to <code>''</code>.
|
|
860
867
|
* @property {string} sessionType
|
|
@@ -862,7 +869,7 @@ shaka.extern.ProducerReferenceTime;
|
|
|
862
869
|
* affect offline storage.
|
|
863
870
|
* <br>
|
|
864
871
|
* Defaults to <code>'temporary'</code>.
|
|
865
|
-
* @property {!Object
|
|
872
|
+
* @property {!Object<string, string>} headers
|
|
866
873
|
* The headers to use in the license request.
|
|
867
874
|
* <br>
|
|
868
875
|
* Defaults to <code>{}</code>.
|
|
@@ -920,33 +927,35 @@ shaka.extern.PersistentSessionMetadata;
|
|
|
920
927
|
/**
|
|
921
928
|
* @typedef {{
|
|
922
929
|
* retryParameters: shaka.extern.RetryParameters,
|
|
923
|
-
* servers: !Object
|
|
924
|
-
* clearKeys: !Object
|
|
930
|
+
* servers: !Object<string, string>,
|
|
931
|
+
* clearKeys: !Object<string, string>,
|
|
925
932
|
* delayLicenseRequestUntilPlayed: boolean,
|
|
926
933
|
* persistentSessionOnlinePlayback: boolean,
|
|
927
934
|
* persistentSessionsMetadata:
|
|
928
|
-
* !Array
|
|
929
|
-
* advanced: Object
|
|
935
|
+
* !Array<shaka.extern.PersistentSessionMetadata>,
|
|
936
|
+
* advanced: Object<string, shaka.extern.AdvancedDrmConfiguration>,
|
|
930
937
|
* initDataTransform:(shaka.extern.InitDataTransform|undefined),
|
|
931
938
|
* logLicenseExchange: boolean,
|
|
932
939
|
* updateExpirationTime: number,
|
|
933
|
-
* preferredKeySystems: !Array
|
|
934
|
-
* keySystemsMapping: !Object
|
|
940
|
+
* preferredKeySystems: !Array<string>,
|
|
941
|
+
* keySystemsMapping: !Object<string, string>,
|
|
935
942
|
* parseInbandPsshEnabled: boolean,
|
|
936
943
|
* minHdcpVersion: string,
|
|
937
|
-
* ignoreDuplicateInitData: boolean
|
|
944
|
+
* ignoreDuplicateInitData: boolean,
|
|
945
|
+
* defaultAudioRobustnessForWidevine: string,
|
|
946
|
+
* defaultVideoRobustnessForWidevine: string
|
|
938
947
|
* }}
|
|
939
948
|
*
|
|
940
949
|
* @property {shaka.extern.RetryParameters} retryParameters
|
|
941
950
|
* Retry parameters for license requests.
|
|
942
|
-
* @property {!Object
|
|
951
|
+
* @property {!Object<string, string>} servers
|
|
943
952
|
* <i>Required for all but the clear key CDM.</i> <br>
|
|
944
953
|
* A dictionary which maps key system IDs to their license servers.
|
|
945
954
|
* For example,
|
|
946
955
|
* <code>{'com.widevine.alpha': 'https://example.com/drm'}</code>.
|
|
947
956
|
* <br>
|
|
948
957
|
* Defaults to <code>{}</code>.
|
|
949
|
-
* @property {!Object
|
|
958
|
+
* @property {!Object<string, string>} clearKeys
|
|
950
959
|
* <i>Forces the use of the Clear Key CDM.</i>
|
|
951
960
|
* A map of key IDs (hex or base64) to keys (hex or base64).
|
|
952
961
|
* <br>
|
|
@@ -962,11 +971,11 @@ shaka.extern.PersistentSessionMetadata;
|
|
|
962
971
|
* stop, as-to be able to re-use it later.
|
|
963
972
|
* <br>
|
|
964
973
|
* Defaults to <code>false</code>.
|
|
965
|
-
* @property {!Array
|
|
974
|
+
* @property {!Array<PersistentSessionMetadata>} persistentSessionsMetadata
|
|
966
975
|
* Persistent sessions metadata to load before starting playback.
|
|
967
976
|
* <br>
|
|
968
977
|
* Defaults to <code>[]</code>.
|
|
969
|
-
* @property {Object
|
|
978
|
+
* @property {Object<string, shaka.extern.AdvancedDrmConfiguration>} advanced
|
|
970
979
|
* <i>Optional.</i> <br>
|
|
971
980
|
* A dictionary which maps key system IDs to advanced DRM configuration for
|
|
972
981
|
* those key systems.
|
|
@@ -989,12 +998,12 @@ shaka.extern.PersistentSessionMetadata;
|
|
|
989
998
|
* The frequency in seconds with which to check the expiration of a session.
|
|
990
999
|
* <br>
|
|
991
1000
|
* Defaults to <code>1</code>.
|
|
992
|
-
* @property {!Array
|
|
993
|
-
* Specifies the
|
|
1001
|
+
* @property {!Array<string>} preferredKeySystems
|
|
1002
|
+
* Specifies the priorities of available DRM key systems.
|
|
994
1003
|
* <br>
|
|
995
1004
|
* Defaults <code>['com.microsoft.playready']</code> on Xbox One and
|
|
996
1005
|
* PlayStation 4, and <code>[]</code> for all other browsers.
|
|
997
|
-
* @property {Object
|
|
1006
|
+
* @property {Object<string, string>} keySystemsMapping
|
|
998
1007
|
* A map of key system name to key system name.
|
|
999
1008
|
* <br>
|
|
1000
1009
|
* Defaults to <code>{}</code>.
|
|
@@ -1013,11 +1022,21 @@ shaka.extern.PersistentSessionMetadata;
|
|
|
1013
1022
|
* @property {boolean} ignoreDuplicateInitData
|
|
1014
1023
|
* When true indicate that the player doesn't ignore duplicate init data.
|
|
1015
1024
|
* Note: Tizen 2015 and 2016 models will send multiple webkitneedkey events
|
|
1016
|
-
* with the same init data. If the duplicates are
|
|
1025
|
+
* with the same init data. If the duplicates are suppressed, playback
|
|
1017
1026
|
* will stall without errors.
|
|
1018
1027
|
* <br>
|
|
1019
1028
|
* Defaults to <code>false</code> on Tizen 2, and <code>true</code> for all
|
|
1020
1029
|
* other browsers.
|
|
1030
|
+
* @property {string} defaultAudioRobustnessForWidevine
|
|
1031
|
+
* Specify the default audio security level for Widevine when audio robustness
|
|
1032
|
+
* is not specified.
|
|
1033
|
+
* <br>
|
|
1034
|
+
* Defaults to <code>'SW_SECURE_CRYPTO'</code>.
|
|
1035
|
+
* @property {string} defaultVideoRobustnessForWidevine
|
|
1036
|
+
* Specify the default video security level for Widevine when video robustness
|
|
1037
|
+
* is not specified.
|
|
1038
|
+
* <br>
|
|
1039
|
+
* Defaults to <code>'SW_SECURE_DECODE'</code>.
|
|
1021
1040
|
* @exportDoc
|
|
1022
1041
|
*/
|
|
1023
1042
|
shaka.extern.DrmConfiguration;
|
|
@@ -1038,7 +1057,7 @@ shaka.extern.InitDataTransform;
|
|
|
1038
1057
|
* @typedef {{
|
|
1039
1058
|
* tagName: !string,
|
|
1040
1059
|
* attributes: !Object<string, string>,
|
|
1041
|
-
* children: !Array
|
|
1060
|
+
* children: !Array<shaka.extern.xml.Node | string>,
|
|
1042
1061
|
* parent: ?shaka.extern.xml.Node
|
|
1043
1062
|
* }}
|
|
1044
1063
|
*
|
|
@@ -1049,7 +1068,7 @@ shaka.extern.InitDataTransform;
|
|
|
1049
1068
|
* The name of the element
|
|
1050
1069
|
* @property {!object} attributes
|
|
1051
1070
|
* The attributes of the element
|
|
1052
|
-
* @property {!Array
|
|
1071
|
+
* @property {!Array<shaka.extern.xml.Node | string>} children
|
|
1053
1072
|
* The child nodes or string body of the element
|
|
1054
1073
|
* @property {?shaka.extern.xml.Node} parent
|
|
1055
1074
|
* The parent of the current element
|
|
@@ -1070,14 +1089,15 @@ shaka.extern.xml.Node;
|
|
|
1070
1089
|
* ignoreSuggestedPresentationDelay: boolean,
|
|
1071
1090
|
* ignoreEmptyAdaptationSet: boolean,
|
|
1072
1091
|
* ignoreMaxSegmentDuration: boolean,
|
|
1073
|
-
* keySystemsByURI: !Object
|
|
1092
|
+
* keySystemsByURI: !Object<string, string>,
|
|
1074
1093
|
* manifestPreprocessor: function(!Element),
|
|
1075
1094
|
* manifestPreprocessorTXml: function(!shaka.extern.xml.Node),
|
|
1076
1095
|
* sequenceMode: boolean,
|
|
1077
1096
|
* multiTypeVariantsAllowed: boolean,
|
|
1078
1097
|
* useStreamOnceInPeriodFlattening: boolean,
|
|
1079
1098
|
* updatePeriod: number,
|
|
1080
|
-
* enableFastSwitching: boolean
|
|
1099
|
+
* enableFastSwitching: boolean,
|
|
1100
|
+
* ignoreSupplementalCodecs: boolean
|
|
1081
1101
|
* }}
|
|
1082
1102
|
*
|
|
1083
1103
|
* @property {string} clockSyncUri
|
|
@@ -1104,8 +1124,7 @@ shaka.extern.xml.Node;
|
|
|
1104
1124
|
* Defaults to <code>false</code>.
|
|
1105
1125
|
* @property {boolean} ignoreMinBufferTime
|
|
1106
1126
|
* If true will cause DASH parser to ignore <code>minBufferTime</code> from
|
|
1107
|
-
* manifest.
|
|
1108
|
-
* <code>rebufferingGoal</code>.
|
|
1127
|
+
* manifest.
|
|
1109
1128
|
* <br>
|
|
1110
1129
|
* Defaults to <code>false</code>.
|
|
1111
1130
|
* @property {boolean} autoCorrectDrift
|
|
@@ -1137,7 +1156,7 @@ shaka.extern.xml.Node;
|
|
|
1137
1156
|
* <code>maxSegmentDuration</code> from manifest.
|
|
1138
1157
|
* <br>
|
|
1139
1158
|
* Defaults to <code>false</code>.
|
|
1140
|
-
* @property {Object
|
|
1159
|
+
* @property {Object<string, string>} keySystemsByURI
|
|
1141
1160
|
* A map of scheme URI to key system name. Defaults to default key systems
|
|
1142
1161
|
* mapping handled by Shaka.
|
|
1143
1162
|
* @property {function(!Element)} manifestPreprocessor
|
|
@@ -1183,6 +1202,10 @@ shaka.extern.xml.Node;
|
|
|
1183
1202
|
* If false, disables fast switching track recognition.
|
|
1184
1203
|
* <br>
|
|
1185
1204
|
* Defaults to <code>true</code>.
|
|
1205
|
+
* @property {boolean} ignoreSupplementalCodecs
|
|
1206
|
+
* If true, ignores supplemental codecs.
|
|
1207
|
+
* <br>
|
|
1208
|
+
* Defaults to <code>false</code>.
|
|
1186
1209
|
* @exportDoc
|
|
1187
1210
|
*/
|
|
1188
1211
|
shaka.extern.DashManifestConfiguration;
|
|
@@ -1203,7 +1226,8 @@ shaka.extern.DashManifestConfiguration;
|
|
|
1203
1226
|
* disableCodecGuessing: boolean,
|
|
1204
1227
|
* disableClosedCaptionsDetection: boolean,
|
|
1205
1228
|
* allowLowLatencyByteRangeOptimization: boolean,
|
|
1206
|
-
* updatePeriod: number
|
|
1229
|
+
* updatePeriod: number,
|
|
1230
|
+
* ignoreSupplementalCodecs: boolean
|
|
1207
1231
|
* }}
|
|
1208
1232
|
*
|
|
1209
1233
|
* @property {boolean} ignoreTextStreamFailures
|
|
@@ -1232,7 +1256,7 @@ shaka.extern.DashManifestConfiguration;
|
|
|
1232
1256
|
* incorrect or malformed.
|
|
1233
1257
|
* <br>
|
|
1234
1258
|
* Defaults to <code>false</code>.
|
|
1235
|
-
* @property {!Array
|
|
1259
|
+
* @property {!Array<string>} ignoreManifestProgramDateTimeForTypes
|
|
1236
1260
|
* An array of strings representing types for which
|
|
1237
1261
|
* <code>EXT-X-PROGRAM-DATE-TIME</code> should be ignored. Only used if the
|
|
1238
1262
|
* the main ignoreManifestProgramDateTime is set to false.
|
|
@@ -1297,6 +1321,10 @@ shaka.extern.DashManifestConfiguration;
|
|
|
1297
1321
|
* trigger a new download of the manifest.
|
|
1298
1322
|
* <br>
|
|
1299
1323
|
* Defaults to <code>-1</code>.
|
|
1324
|
+
* @property {boolean} ignoreSupplementalCodecs
|
|
1325
|
+
* If true, ignores supplemental codecs.
|
|
1326
|
+
* <br>
|
|
1327
|
+
* Defaults to <code>false</code>.
|
|
1300
1328
|
* @exportDoc
|
|
1301
1329
|
*/
|
|
1302
1330
|
shaka.extern.HlsManifestConfiguration;
|
|
@@ -1307,7 +1335,7 @@ shaka.extern.HlsManifestConfiguration;
|
|
|
1307
1335
|
* manifestPreprocessor: function(!Element),
|
|
1308
1336
|
* manifestPreprocessorTXml: function(!shaka.extern.xml.Node),
|
|
1309
1337
|
* sequenceMode: boolean,
|
|
1310
|
-
* keySystemsBySystemId: !Object
|
|
1338
|
+
* keySystemsBySystemId: !Object<string, string>
|
|
1311
1339
|
* }}
|
|
1312
1340
|
*
|
|
1313
1341
|
* @property {function(!Element)} manifestPreprocessor
|
|
@@ -1324,7 +1352,7 @@ shaka.extern.HlsManifestConfiguration;
|
|
|
1324
1352
|
* "sequence mode" (ignoring their internal timestamps).
|
|
1325
1353
|
* <br>
|
|
1326
1354
|
* Defaults to <code>false</code>.
|
|
1327
|
-
* @property {Object
|
|
1355
|
+
* @property {Object<string, string>} keySystemsBySystemId
|
|
1328
1356
|
* A map of system id to key system name. Defaults to default key systems
|
|
1329
1357
|
* mapping handled by Shaka.
|
|
1330
1358
|
* @exportDoc
|
|
@@ -1382,7 +1410,8 @@ shaka.extern.MssManifestConfiguration;
|
|
|
1382
1410
|
* @property {number} defaultPresentationDelay
|
|
1383
1411
|
* For DASH, it's a default <code>presentationDelay</code> value if
|
|
1384
1412
|
* <code>suggestedPresentationDelay</code> is missing in the MPEG DASH
|
|
1385
|
-
* manifest. The default value is <code>1.5 *
|
|
1413
|
+
* manifest. The default value is the lower of <code>1.5 *
|
|
1414
|
+
* minBufferTime</code> and <code>segmentAvailabilityDuration</code> if not
|
|
1386
1415
|
* configured or set as 0.
|
|
1387
1416
|
* For HLS, the default value is 3 segments duration if not configured or
|
|
1388
1417
|
* set as 0.
|
|
@@ -1517,8 +1546,8 @@ shaka.extern.DynamicTargetLatencyConfiguration;
|
|
|
1517
1546
|
* Number of seconds that playback stays in panic mode after a rebuffering.
|
|
1518
1547
|
* <br>
|
|
1519
1548
|
* Defaults to <code>60</code>.
|
|
1520
|
-
* @property {shaka.extern.DynamicTargetLatencyConfiguration
|
|
1521
|
-
* dynamicTargetLatency
|
|
1549
|
+
* @property {shaka.extern.DynamicTargetLatencyConfiguration
|
|
1550
|
+
* } dynamicTargetLatency
|
|
1522
1551
|
*
|
|
1523
1552
|
* The dynamic target latency config for dynamically adjusting the target
|
|
1524
1553
|
* latency to be closer to edge when network conditions are good and to back
|
|
@@ -1551,10 +1580,10 @@ shaka.extern.LiveSyncConfiguration;
|
|
|
1551
1580
|
* useNativeHlsForFairPlay: boolean,
|
|
1552
1581
|
* inaccurateManifestTolerance: number,
|
|
1553
1582
|
* lowLatencyMode: boolean,
|
|
1554
|
-
* autoLowLatencyMode: boolean,
|
|
1555
1583
|
* forceHTTP: boolean,
|
|
1556
1584
|
* forceHTTPS: boolean,
|
|
1557
1585
|
* minBytesForProgressEvents: number,
|
|
1586
|
+
* preferNativeDash: boolean,
|
|
1558
1587
|
* preferNativeHls: boolean,
|
|
1559
1588
|
* updateIntervalSeconds: number,
|
|
1560
1589
|
* observeQualityChanges: boolean,
|
|
@@ -1570,7 +1599,6 @@ shaka.extern.LiveSyncConfiguration;
|
|
|
1570
1599
|
* vodDynamicPlaybackRate: boolean,
|
|
1571
1600
|
* vodDynamicPlaybackRateLowBufferRate: number,
|
|
1572
1601
|
* vodDynamicPlaybackRateBufferRatio: number,
|
|
1573
|
-
* infiniteLiveStreamDuration: boolean,
|
|
1574
1602
|
* preloadNextUrlWindow: number,
|
|
1575
1603
|
* loadTimeout: number,
|
|
1576
1604
|
* clearDecodingCache: boolean,
|
|
@@ -1591,8 +1619,9 @@ shaka.extern.LiveSyncConfiguration;
|
|
|
1591
1619
|
* buffer before it can begin playback or can continue playback after it has
|
|
1592
1620
|
* entered into a buffering state (i.e., after it has depleted one more
|
|
1593
1621
|
* more of its buffers).
|
|
1622
|
+
* When the value is 0, the playback rate is not used to control the buffer.
|
|
1594
1623
|
* <br>
|
|
1595
|
-
* Defaults to <code>
|
|
1624
|
+
* Defaults to <code>0</code>.
|
|
1596
1625
|
* @property {number} bufferingGoal
|
|
1597
1626
|
* The number of seconds of content that the StreamingEngine will attempt to
|
|
1598
1627
|
* buffer ahead of the playhead. This value must be greater than or equal to
|
|
@@ -1662,7 +1691,7 @@ shaka.extern.LiveSyncConfiguration;
|
|
|
1662
1691
|
* Defaults to <code>5</code>.
|
|
1663
1692
|
* @property {number} safeSeekEndOffset
|
|
1664
1693
|
* The amount of seconds that should be added when repositioning the playhead
|
|
1665
|
-
* after falling out of the
|
|
1694
|
+
* after falling out of the seekable end range. This is helpful for live
|
|
1666
1695
|
* stream with a lot of GAP. This will reposition the playback in the past
|
|
1667
1696
|
* and avoid to be block at the edge and buffer at the next GAP
|
|
1668
1697
|
* <br>
|
|
@@ -1708,13 +1737,6 @@ shaka.extern.LiveSyncConfiguration;
|
|
|
1708
1737
|
* other things, see: docs/tutorials/config.md
|
|
1709
1738
|
* <br>
|
|
1710
1739
|
* Defaults to <code>false</code>.
|
|
1711
|
-
* @property {boolean} autoLowLatencyMode
|
|
1712
|
-
* If the stream is low latency and the user has not configured the
|
|
1713
|
-
* lowLatencyMode, but if it has been configured to activate the
|
|
1714
|
-
* lowLatencyMode if a stream of this type is detected, we automatically
|
|
1715
|
-
* activate the lowLatencyMode.
|
|
1716
|
-
* <br>
|
|
1717
|
-
* Defaults to <code>false</code>.
|
|
1718
1740
|
* @property {boolean} forceHTTP
|
|
1719
1741
|
* If true, if the protocol is HTTPs change it to HTTP.
|
|
1720
1742
|
* If both forceHTTP and forceHTTPS are set, forceHTTPS wins.
|
|
@@ -1730,6 +1752,10 @@ shaka.extern.LiveSyncConfiguration;
|
|
|
1730
1752
|
* if possible. To avoid issues around feeding ABR with request history, this
|
|
1731
1753
|
* value should be greater than or equal to `abr.advanced.minBytes`.
|
|
1732
1754
|
* By default equals 16e3 (the same value as `abr.advanced.minBytes`).
|
|
1755
|
+
* @property {boolean} preferNativeDash
|
|
1756
|
+
* If true, prefer native DASH playback when possible, regardless of platform.
|
|
1757
|
+
* <br>
|
|
1758
|
+
* Defaults to <code>false</code>.
|
|
1733
1759
|
* @property {boolean} preferNativeHls
|
|
1734
1760
|
* If true, prefer native HLS playback when possible, regardless of platform.
|
|
1735
1761
|
* <br>
|
|
@@ -1799,13 +1825,6 @@ shaka.extern.LiveSyncConfiguration;
|
|
|
1799
1825
|
* <code>vodDynamicPlaybackRateLowBufferRate</code>.
|
|
1800
1826
|
* <br>
|
|
1801
1827
|
* Defaults to <code>0.5</code>.
|
|
1802
|
-
* @property {boolean} infiniteLiveStreamDuration
|
|
1803
|
-
* If <code>true</code>, the media source duration of livestreams will be set
|
|
1804
|
-
* to <code>Infinity</code>. Otherwise, it will be set to a high but
|
|
1805
|
-
* non-infinite number (2^32).
|
|
1806
|
-
* <br>
|
|
1807
|
-
* Defaults to <code>false</code> except on Safari 17 or above whose default
|
|
1808
|
-
* value is <code>true</code>.
|
|
1809
1828
|
* @property {number} preloadNextUrlWindow
|
|
1810
1829
|
* The window of time at the end of the presentation to begin preloading the
|
|
1811
1830
|
* next URL, such as one specified by a urn:mpeg:dash:chaining:2016 element
|
|
@@ -1877,7 +1896,7 @@ shaka.extern.StreamingConfiguration;
|
|
|
1877
1896
|
* <br><br>
|
|
1878
1897
|
* See https://github.com/shaka-project/shaka-player/issues/2759.
|
|
1879
1898
|
* <br><br>
|
|
1880
|
-
* If you know you don't need this, you
|
|
1899
|
+
* If you know you don't need this, you can set this value to
|
|
1881
1900
|
* <code>false</code> to gain a few milliseconds on loading time and seek
|
|
1882
1901
|
* time.
|
|
1883
1902
|
* <br><br>
|
|
@@ -2103,7 +2122,8 @@ shaka.extern.AdvancedAbrConfiguration;
|
|
|
2103
2122
|
* sessionId: string,
|
|
2104
2123
|
* contentId: string,
|
|
2105
2124
|
* rtpSafetyFactor: number,
|
|
2106
|
-
* includeKeys: !Array<string
|
|
2125
|
+
* includeKeys: !Array<string>,
|
|
2126
|
+
* version: number
|
|
2107
2127
|
* }}
|
|
2108
2128
|
*
|
|
2109
2129
|
* @description
|
|
@@ -2142,6 +2162,12 @@ shaka.extern.AdvancedAbrConfiguration;
|
|
|
2142
2162
|
* will be included.
|
|
2143
2163
|
* <br>
|
|
2144
2164
|
* Defaults to <code>[]</code>.
|
|
2165
|
+
* @property {number} version
|
|
2166
|
+
* The CMCD version.
|
|
2167
|
+
* Valid values are <code>1</code> or <code>2</code>, corresponding to CMCD v1
|
|
2168
|
+
* and CMCD v2 specifications, respectively.
|
|
2169
|
+
* <br>
|
|
2170
|
+
* Defaults to <code>1</code>.
|
|
2145
2171
|
* @exportDoc
|
|
2146
2172
|
*/
|
|
2147
2173
|
shaka.extern.CmcdConfiguration;
|
|
@@ -2232,8 +2258,8 @@ shaka.extern.LcevcConfiguration;
|
|
|
2232
2258
|
* numberOfParallelDownloads: number
|
|
2233
2259
|
* }}
|
|
2234
2260
|
*
|
|
2235
|
-
* @property {function(shaka.extern.TrackList)
|
|
2236
|
-
*
|
|
2261
|
+
* @property {function(shaka.extern.TrackList):
|
|
2262
|
+
* !Promise<shaka.extern.TrackList>} trackSelectionCallback
|
|
2237
2263
|
* Called inside <code>store()</code> to determine which tracks to save from a
|
|
2238
2264
|
* manifest. It is passed an array of Tracks from the manifest and it should
|
|
2239
2265
|
* return an array of the tracks to store.
|
|
@@ -2292,6 +2318,7 @@ shaka.extern.TextDisplayerConfiguration;
|
|
|
2292
2318
|
* streaming: shaka.extern.StreamingConfiguration,
|
|
2293
2319
|
* mediaSource: shaka.extern.MediaSourceConfiguration,
|
|
2294
2320
|
* abrFactory: shaka.extern.AbrManager.Factory,
|
|
2321
|
+
* adaptationSetCriteriaFactory: shaka.media.AdaptationSetCriteria.Factory,
|
|
2295
2322
|
* abr: shaka.extern.AbrConfiguration,
|
|
2296
2323
|
* cmcd: shaka.extern.CmcdConfiguration,
|
|
2297
2324
|
* cmsd: shaka.extern.CmsdConfiguration,
|
|
@@ -2303,14 +2330,14 @@ shaka.extern.TextDisplayerConfiguration;
|
|
|
2303
2330
|
* preferredTextLanguage: string,
|
|
2304
2331
|
* preferredVariantRole: string,
|
|
2305
2332
|
* preferredTextRole: string,
|
|
2306
|
-
* preferredVideoCodecs: !Array
|
|
2307
|
-
* preferredAudioCodecs: !Array
|
|
2308
|
-
* preferredTextFormats: !Array
|
|
2333
|
+
* preferredVideoCodecs: !Array<string>,
|
|
2334
|
+
* preferredAudioCodecs: !Array<string>,
|
|
2335
|
+
* preferredTextFormats: !Array<string>,
|
|
2309
2336
|
* preferredAudioChannelCount: number,
|
|
2310
2337
|
* preferredVideoHdrLevel: string,
|
|
2311
2338
|
* preferredVideoLayout: string,
|
|
2312
2339
|
* preferredVideoLabel: string,
|
|
2313
|
-
* preferredDecodingAttributes: !Array
|
|
2340
|
+
* preferredDecodingAttributes: !Array<string>,
|
|
2314
2341
|
* preferForcedSubs: boolean,
|
|
2315
2342
|
* preferSpatialAudio: boolean,
|
|
2316
2343
|
* restrictions: shaka.extern.Restrictions,
|
|
@@ -2337,6 +2364,9 @@ shaka.extern.TextDisplayerConfiguration;
|
|
|
2337
2364
|
* Media source configuration and settings.
|
|
2338
2365
|
* @property {shaka.extern.AbrManager.Factory} abrFactory
|
|
2339
2366
|
* A factory to construct an abr manager.
|
|
2367
|
+
* @property {shaka.media.AdaptationSetCriteria.Factory
|
|
2368
|
+
* } adaptationSetCriteriaFactory
|
|
2369
|
+
* A factory to construct an adaptation set criteria.
|
|
2340
2370
|
* @property {shaka.extern.AbrConfiguration} abr
|
|
2341
2371
|
* ABR configuration and settings.
|
|
2342
2372
|
* @property {shaka.extern.CmcdConfiguration} cmcd
|
|
@@ -2382,15 +2412,15 @@ shaka.extern.TextDisplayerConfiguration;
|
|
|
2382
2412
|
* The preferred role to use for text tracks.
|
|
2383
2413
|
* <br>
|
|
2384
2414
|
* Defaults to <code>''</code>.
|
|
2385
|
-
* @property {!Array
|
|
2415
|
+
* @property {!Array<string>} preferredVideoCodecs
|
|
2386
2416
|
* The list of preferred video codecs, in order of highest to lowest priority.
|
|
2387
2417
|
* <br>
|
|
2388
2418
|
* Defaults to <code>[]</code>.
|
|
2389
|
-
* @property {!Array
|
|
2419
|
+
* @property {!Array<string>} preferredAudioCodecs
|
|
2390
2420
|
* The list of preferred audio codecs, in order of highest to lowest priority.
|
|
2391
2421
|
* <br>
|
|
2392
2422
|
* Defaults to <code>[]</code>.
|
|
2393
|
-
* @property {!Array
|
|
2423
|
+
* @property {!Array<string>} preferredTextFormats
|
|
2394
2424
|
* The list of preferred text formats, in order of highest to lowest priority.
|
|
2395
2425
|
* <br>
|
|
2396
2426
|
* Defaults to <code>[]</code>.
|
|
@@ -2414,7 +2444,7 @@ shaka.extern.TextDisplayerConfiguration;
|
|
|
2414
2444
|
* If the content is predominantly monoscopic you should use 'CH-MONO'.
|
|
2415
2445
|
* <br>
|
|
2416
2446
|
* Defaults to <code>''</code>.
|
|
2417
|
-
* @property {!Array
|
|
2447
|
+
* @property {!Array<string>} preferredDecodingAttributes
|
|
2418
2448
|
* The list of preferred attributes of decodingInfo, in the order of their
|
|
2419
2449
|
* priorities.
|
|
2420
2450
|
* <br>
|
|
@@ -2484,7 +2514,7 @@ shaka.extern.LanguageRole;
|
|
|
2484
2514
|
* positionY: number,
|
|
2485
2515
|
* startTime: number,
|
|
2486
2516
|
* duration: number,
|
|
2487
|
-
* uris: !Array
|
|
2517
|
+
* uris: !Array<string>,
|
|
2488
2518
|
* width: number,
|
|
2489
2519
|
* sprite: boolean
|
|
2490
2520
|
* }}
|
|
@@ -2507,7 +2537,7 @@ shaka.extern.LanguageRole;
|
|
|
2507
2537
|
* The start time of the thumbnail in the presentation timeline, in seconds.
|
|
2508
2538
|
* @property {number} duration
|
|
2509
2539
|
* The duration of the thumbnail, in seconds.
|
|
2510
|
-
* @property {!Array
|
|
2540
|
+
* @property {!Array<string>} uris
|
|
2511
2541
|
* An array of URIs to attempt. They will be tried in the order they are
|
|
2512
2542
|
* given.
|
|
2513
2543
|
* @property {number} width
|