shaka-player 3.3.5 → 4.0.2
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/config.yml +1 -0
- package/.github/workflows/demo-version-index.yaml +8 -0
- package/.github/workflows/release-please.yaml +18 -2
- package/.github/workflows/sync-labels.yaml +33 -0
- package/.github/workflows/update-issues.yaml +29 -0
- package/.github/workflows/validate-pr-title.yaml +35 -0
- package/AUTHORS +1 -0
- package/CHANGELOG.md +215 -41
- package/CONTRIBUTORS +1 -0
- package/README.md +14 -11
- package/app-engine/demo-version-index/README.md +3 -3
- package/app-engine/demo-version-index/app.yaml +27 -1
- package/app-engine/demo-version-index/generate.py +164 -0
- package/app-engine/demo-version-index/main.py +4 -155
- package/app-engine/demo-version-index/requirements.txt +0 -1
- package/build/checkversion.py +1 -1
- package/build/compiler.py +1 -1
- package/build/misspellings.txt +1 -0
- package/build/shaka-lab.yaml +0 -2
- package/build/types/polyfill +0 -3
- package/demo/common/asset.js +17 -1
- package/demo/common/assets.js +29 -0
- package/demo/common/message_ids.js +6 -3
- package/demo/config.js +10 -11
- package/demo/custom.js +39 -0
- package/demo/demo.less +0 -1
- package/demo/demo_utils.js +0 -1
- package/demo/locales/en.json +6 -3
- package/demo/locales/source.json +22 -10
- package/demo/main.js +9 -6
- package/demo/search.js +2 -1
- package/dist/controls.css +3 -3
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +71 -64
- package/dist/demo.compiled.debug.map +3 -3
- package/dist/demo.compiled.js +71 -64
- package/dist/demo.compiled.map +3 -3
- package/dist/demo.css +1 -1
- package/dist/demo.css.map +1 -1
- package/dist/deps.js +17 -20
- package/dist/locales.js +33 -31
- package/dist/receiver.compiled.debug.js +32 -28
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +32 -28
- package/dist/receiver.compiled.map +3 -3
- package/dist/shaka-player.compiled.d.ts +311 -314
- package/dist/shaka-player.compiled.debug.d.ts +311 -314
- package/dist/shaka-player.compiled.debug.externs.js +126 -126
- package/dist/shaka-player.compiled.debug.js +430 -484
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +126 -126
- package/dist/shaka-player.compiled.js +829 -845
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +357 -358
- package/dist/shaka-player.ui.debug.d.ts +357 -358
- package/dist/shaka-player.ui.debug.externs.js +134 -126
- package/dist/shaka-player.ui.debug.js +489 -541
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +134 -126
- package/dist/shaka-player.ui.js +988 -1000
- package/dist/shaka-player.ui.map +4 -4
- package/docs/tutorials/config.md +0 -2
- package/docs/tutorials/drm-config.md +5 -0
- package/docs/tutorials/fairplay.md +7 -22
- package/docs/tutorials/faq.md +0 -11
- package/docs/tutorials/index.json +2 -8
- package/docs/tutorials/plugins.md +1 -3
- package/docs/tutorials/upgrade.md +85 -11
- package/externs/polyfill.js +15 -0
- package/externs/shaka/manifest.js +5 -1
- package/externs/shaka/net.js +12 -0
- package/externs/shaka/offline.js +5 -1
- package/externs/shaka/player.js +39 -21
- package/externs/shaka/text.js +12 -12
- package/externs/sourcebuffer.js +15 -0
- package/lib/abr/simple_abr_manager.js +2 -1
- package/lib/ads/client_side_ad.js +13 -2
- package/lib/ads/client_side_ad_manager.js +22 -4
- package/lib/cast/cast_utils.js +0 -1
- package/lib/dash/content_protection.js +85 -5
- package/lib/dash/dash_parser.js +1 -0
- package/lib/hls/hls_parser.js +390 -747
- package/lib/hls/manifest_text_parser.js +2 -3
- package/lib/media/drm_engine.js +105 -37
- package/lib/media/gap_jumping_controller.js +10 -45
- package/lib/media/media_source_engine.js +150 -30
- package/lib/media/playhead.js +2 -5
- package/lib/media/presentation_timeline.js +1 -2
- package/lib/media/segment_index.js +13 -46
- package/lib/media/segment_reference.js +47 -1
- package/lib/media/streaming_engine.js +28 -11
- package/lib/media/time_ranges_utils.js +4 -9
- package/lib/net/networking_engine.js +3 -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 +8 -41
- package/lib/player.js +17 -201
- package/lib/polyfill/media_capabilities.js +12 -6
- package/lib/polyfill/mediasource.js +0 -28
- package/lib/polyfill/patchedmediakeys_nop.js +2 -0
- package/lib/polyfill/patchedmediakeys_webkit.js +2 -0
- package/lib/text/cue.js +0 -6
- package/lib/text/lrc_text_parser.js +8 -0
- package/lib/text/mp4_ttml_parser.js +8 -0
- package/lib/text/mp4_vtt_parser.js +8 -0
- package/lib/text/sbv_text_parser.js +8 -0
- package/lib/text/simple_text_displayer.js +1 -7
- package/lib/text/srt_text_parser.js +8 -0
- package/lib/text/ssa_text_parser.js +8 -0
- package/lib/text/text_engine.js +19 -3
- package/lib/text/ttml_text_parser.js +8 -0
- package/lib/text/ui_text_displayer.js +1 -7
- package/lib/text/vtt_text_parser.js +27 -5
- package/lib/text/web_vtt_generator.js +1 -7
- package/lib/util/error.js +9 -13
- package/lib/util/fairplay_utils.js +109 -0
- package/lib/util/functional.js +0 -42
- package/lib/util/mime_utils.js +16 -5
- package/lib/util/platform.js +45 -0
- package/lib/util/player_configuration.js +17 -6
- package/lib/util/pssh.js +23 -4
- package/lib/util/stream_utils.js +92 -22
- package/lib/util/uint8array_utils.js +0 -16
- package/lib/util/xml_utils.js +1 -1
- package/package.json +5 -2
- package/roadmap.md +19 -19
- package/shaka-player.uncompiled.js +0 -3
- package/test/dash/dash_parser_content_protection_unit.js +44 -0
- package/test/dash/dash_parser_segment_template_unit.js +3 -4
- package/test/demo/demo_unit.js +2 -1
- package/test/hls/hls_live_unit.js +155 -230
- package/test/hls/hls_parser_unit.js +515 -432
- package/test/media/drm_engine_unit.js +86 -120
- package/test/media/media_source_engine_integration.js +25 -3
- package/test/media/media_source_engine_unit.js +3 -2
- package/test/media/playhead_unit.js +27 -191
- package/test/media/segment_index_unit.js +15 -25
- package/test/media/streaming_engine_integration.js +2 -39
- package/test/media/streaming_engine_unit.js +3 -2
- package/test/media/time_ranges_utils_unit.js +0 -5
- package/test/offline/manifest_convert_unit.js +34 -4
- package/test/offline/offline_manifest_parser_unit.js +1 -0
- package/test/offline/storage_integration.js +5 -4
- package/test/player_external.js +0 -6
- package/test/player_integration.js +16 -0
- package/test/player_unit.js +26 -0
- package/test/test/util/fake_media_source_engine.js +11 -4
- package/test/test/util/manifest_generator.js +3 -1
- package/test/test/util/manifest_parser_util.js +4 -1
- package/test/test/util/offline_utils.js +1 -0
- package/test/test/util/streaming_engine_util.js +1 -0
- package/test/test/util/test_scheme.js +24 -1
- package/test/test/util/util.js +4 -4
- package/test/text/cue_integration.js +2 -2
- package/test/text/lrc_text_parser_unit.js +6 -7
- package/test/text/mp4_ttml_parser_unit.js +6 -4
- package/test/text/mp4_vtt_parser_unit.js +6 -5
- package/test/text/sbv_text_parser_unit.js +5 -6
- package/test/text/srt_text_parser_unit.js +5 -6
- package/test/text/ssa_text_parser_unit.js +17 -29
- package/test/text/text_engine_unit.js +45 -5
- package/test/text/ttml_text_parser_unit.js +77 -77
- package/test/text/vtt_text_parser_unit.js +116 -59
- package/test/ui/ui_integration.js +0 -16
- package/test/ui/ui_unit.js +27 -0
- package/test/util/cmcd_manager_unit.js +3 -0
- package/test/util/stream_utils_unit.js +23 -7
- package/ui/controls.js +65 -40
- package/ui/fullscreen_button.js +26 -6
- package/ui/less/containers.less +4 -4
- package/ui/less/general.less +1 -1
- package/ui/less/range_elements.less +1 -0
- package/ui/locales/en.json +1 -0
- package/ui/locales/source.json +5 -0
- package/ui/resolution_selection.js +31 -33
- package/ui/ui.js +0 -17
- package/.github/pull_request_template.md +0 -10
- package/docs/tutorials/upgrade-v2-5.md +0 -441
- package/docs/tutorials/upgrade-v3.md +0 -38
- package/lib/polyfill/mathround.js +0 -49
- package/lib/polyfill/patchedmediakeys_apple.js +0 -744
- package/lib/polyfill/patchedmediakeys_ms.js +0 -698
- package/test/util/functional_unit.js +0 -82
|
@@ -186,10 +186,6 @@ shaka.text.Cue.prototype.isContainer;
|
|
|
186
186
|
* @override
|
|
187
187
|
*/
|
|
188
188
|
shaka.text.Cue.prototype.lineBreak;
|
|
189
|
-
/**
|
|
190
|
-
* @override
|
|
191
|
-
*/
|
|
192
|
-
shaka.text.Cue.prototype.spacer;
|
|
193
189
|
/**
|
|
194
190
|
* @override
|
|
195
191
|
*/
|
|
@@ -588,14 +584,12 @@ shaka.util.Error.Code = {
|
|
|
588
584
|
'HLS_INVALID_PLAYLIST_HIERARCHY': 4017,
|
|
589
585
|
'DASH_DUPLICATE_REPRESENTATION_ID': 4018,
|
|
590
586
|
'HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND': 4020,
|
|
591
|
-
'HLS_MASTER_PLAYLIST_NOT_PROVIDED': 4022,
|
|
592
587
|
'HLS_REQUIRED_ATTRIBUTE_MISSING': 4023,
|
|
593
588
|
'HLS_REQUIRED_TAG_MISSING': 4024,
|
|
594
589
|
'HLS_COULD_NOT_GUESS_CODECS': 4025,
|
|
595
590
|
'HLS_KEYFORMATS_NOT_SUPPORTED': 4026,
|
|
596
591
|
'DASH_UNSUPPORTED_XLINK_ACTUATE': 4027,
|
|
597
592
|
'DASH_XLINK_DEPTH_LIMIT': 4028,
|
|
598
|
-
'HLS_COULD_NOT_PARSE_SEGMENT_START_TIME': 4030,
|
|
599
593
|
'CONTENT_UNSUPPORTED_BY_BROWSER': 4032,
|
|
600
594
|
'CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM': 4033,
|
|
601
595
|
'HLS_AES_128_ENCRYPTION_NOT_SUPPORTED': 4034,
|
|
@@ -604,6 +598,7 @@ shaka.util.Error.Code = {
|
|
|
604
598
|
'PERIOD_FLATTENING_FAILED': 4037,
|
|
605
599
|
'INCONSISTENT_DRM_ACROSS_PERIODS': 4038,
|
|
606
600
|
'HLS_VARIABLE_NOT_FOUND': 4039,
|
|
601
|
+
'HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED': 4040,
|
|
607
602
|
'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
|
|
608
603
|
'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
|
|
609
604
|
'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
|
|
@@ -705,14 +700,6 @@ shaka.util.StringUtils = class {
|
|
|
705
700
|
* @summary A set of Uint8Array utility functions.
|
|
706
701
|
*/
|
|
707
702
|
shaka.util.Uint8ArrayUtils = class {
|
|
708
|
-
/**
|
|
709
|
-
* Compare two Uint8Arrays for equality.
|
|
710
|
-
* @param {Uint8Array} arr1
|
|
711
|
-
* @param {Uint8Array} arr2
|
|
712
|
-
* @return {boolean}
|
|
713
|
-
* @deprecated
|
|
714
|
-
*/
|
|
715
|
-
static equal(arr1, arr2) {}
|
|
716
703
|
/**
|
|
717
704
|
* Convert a buffer to a base64 string. The output will be standard
|
|
718
705
|
* alphabet as opposed to base64url safe alphabet.
|
|
@@ -755,6 +742,19 @@ shaka.util.Uint8ArrayUtils = class {
|
|
|
755
742
|
*/
|
|
756
743
|
static concat(...varArgs) {}
|
|
757
744
|
};
|
|
745
|
+
/**
|
|
746
|
+
* @summary A set of utility functions for dealing with MIME types.
|
|
747
|
+
*/
|
|
748
|
+
shaka.util.MimeUtils = class {
|
|
749
|
+
/**
|
|
750
|
+
* Takes a MIME type and optional codecs string and produces the full MIME
|
|
751
|
+
* type.
|
|
752
|
+
* @param {string} mimeType
|
|
753
|
+
* @param {string=} codecs
|
|
754
|
+
* @return {string}
|
|
755
|
+
*/
|
|
756
|
+
static getFullType(mimeType, codecs) {}
|
|
757
|
+
};
|
|
758
758
|
/**
|
|
759
759
|
* @summary Manages text parsers and cues.
|
|
760
760
|
* @implements {shaka.util.IDestroyable}
|
|
@@ -1415,35 +1415,6 @@ shaka.util.EventManager = class {
|
|
|
1415
1415
|
* @typedef {function(!Event)}
|
|
1416
1416
|
*/
|
|
1417
1417
|
shaka.util.EventManager.ListenerType;
|
|
1418
|
-
/**
|
|
1419
|
-
* @summary A set of FairPlay utility functions.
|
|
1420
|
-
*/
|
|
1421
|
-
shaka.util.FairPlayUtils = class {
|
|
1422
|
-
/**
|
|
1423
|
-
* Using the default method, extract a content ID from the init data. This is
|
|
1424
|
-
* based on the FairPlay example documentation.
|
|
1425
|
-
* @param {!BufferSource} initData
|
|
1426
|
-
* @return {string}
|
|
1427
|
-
*/
|
|
1428
|
-
static defaultGetContentId(initData) {}
|
|
1429
|
-
/**
|
|
1430
|
-
* Transforms the init data buffer using the given data. The format is:
|
|
1431
|
-
* <pre>
|
|
1432
|
-
* [4 bytes] initDataSize
|
|
1433
|
-
* [initDataSize bytes] initData
|
|
1434
|
-
* [4 bytes] contentIdSize
|
|
1435
|
-
* [contentIdSize bytes] contentId
|
|
1436
|
-
* [4 bytes] certSize
|
|
1437
|
-
* [certSize bytes] cert
|
|
1438
|
-
* </pre>
|
|
1439
|
-
* @param {!BufferSource} initData
|
|
1440
|
-
* @param {!BufferSource|string} contentId
|
|
1441
|
-
* @param {?BufferSource} cert The server certificate; this will throw if not
|
|
1442
|
-
* provided.
|
|
1443
|
-
* @return {!Uint8Array}
|
|
1444
|
-
*/
|
|
1445
|
-
static initDataTransform(initData, contentId, cert) {}
|
|
1446
|
-
};
|
|
1447
1418
|
/**
|
|
1448
1419
|
* @summary An interface to register manifest parsers.
|
|
1449
1420
|
*/
|
|
@@ -1719,8 +1690,14 @@ shaka.media.SegmentReference = class {
|
|
|
1719
1690
|
* The explicit duration of an individual tile within the tiles grid.
|
|
1720
1691
|
* If not provided, the duration should be automatically calculated based on
|
|
1721
1692
|
* the duration of the reference.
|
|
1693
|
+
* @param {?number=} syncTime
|
|
1694
|
+
* A time value, expressed in the same scale as the start and end time, which
|
|
1695
|
+
* is used to synchronize between streams.
|
|
1696
|
+
* @param {shaka.media.SegmentReference.Status=} status
|
|
1697
|
+
* The segment status is used to indicate that a segment does not exist or is
|
|
1698
|
+
* not available.
|
|
1722
1699
|
*/
|
|
1723
|
-
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration) {}
|
|
1700
|
+
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status) {}
|
|
1724
1701
|
/**
|
|
1725
1702
|
* Creates and returns the URIs of the resource containing the segment.
|
|
1726
1703
|
* @return {!Array.<string>}
|
|
@@ -1760,6 +1737,25 @@ shaka.media.SegmentReference = class {
|
|
|
1760
1737
|
* @return {?number}
|
|
1761
1738
|
*/
|
|
1762
1739
|
getTileDuration() {}
|
|
1740
|
+
/**
|
|
1741
|
+
* Returns the segment's status.
|
|
1742
|
+
* @return {shaka.media.SegmentReference.Status}
|
|
1743
|
+
*/
|
|
1744
|
+
getStatus() {}
|
|
1745
|
+
/**
|
|
1746
|
+
* Mark the reference as unavailable.
|
|
1747
|
+
*/
|
|
1748
|
+
markAsUnavailable() {}
|
|
1749
|
+
};
|
|
1750
|
+
/**
|
|
1751
|
+
* Rather than using booleans to communicate what the state of the reference,
|
|
1752
|
+
* we have this enum.
|
|
1753
|
+
* @enum {number}
|
|
1754
|
+
*/
|
|
1755
|
+
shaka.media.SegmentReference.Status = {
|
|
1756
|
+
AVAILABLE: 0,
|
|
1757
|
+
UNAVAILABLE: 1,
|
|
1758
|
+
MISSING: 2
|
|
1763
1759
|
};
|
|
1764
1760
|
/**
|
|
1765
1761
|
* PresentationTimeline.
|
|
@@ -1935,13 +1931,6 @@ shaka.media.SegmentIndex = class {
|
|
|
1935
1931
|
* (ascending) and second by their end times (ascending).
|
|
1936
1932
|
*/
|
|
1937
1933
|
constructor(references) {}
|
|
1938
|
-
/**
|
|
1939
|
-
* SegmentIndex used to be an IDestroyable. Now it is an IReleasable.
|
|
1940
|
-
* This method is provided for backward compatibility.
|
|
1941
|
-
* @deprecated
|
|
1942
|
-
* @return {!Promise}
|
|
1943
|
-
*/
|
|
1944
|
-
destroy() {}
|
|
1945
1934
|
/**
|
|
1946
1935
|
* @override
|
|
1947
1936
|
*/
|
|
@@ -1976,20 +1965,6 @@ shaka.media.SegmentIndex = class {
|
|
|
1976
1965
|
* times.
|
|
1977
1966
|
*/
|
|
1978
1967
|
offset(offset) {}
|
|
1979
|
-
/**
|
|
1980
|
-
* Merges the given SegmentReferences. Supports extending the original
|
|
1981
|
-
* references only. Will replace old references with equivalent new ones, and
|
|
1982
|
-
* keep any unique old ones.
|
|
1983
|
-
* Used, for example, by the DASH and HLS parser, where manifests may not list
|
|
1984
|
-
* all available references, so we must keep available references in memory to
|
|
1985
|
-
* fill the availability window.
|
|
1986
|
-
* @param {!Array.<!shaka.media.SegmentReference>} references The list of
|
|
1987
|
-
* SegmentReferences, which must be sorted first by their start times
|
|
1988
|
-
* (ascending) and second by their end times (ascending).
|
|
1989
|
-
* @deprecated Not used directly by our own parsers, so will become private in
|
|
1990
|
-
* v4. Use mergeAndEvict() instead.
|
|
1991
|
-
*/
|
|
1992
|
-
merge(references) {}
|
|
1993
1968
|
/**
|
|
1994
1969
|
* Merges the given SegmentReferences and evicts the ones that end before the
|
|
1995
1970
|
* given time. Supports extending the original references only.
|
|
@@ -2058,13 +2033,6 @@ shaka.media.SegmentIterator = class {
|
|
|
2058
2033
|
* @param {number} partialSegmentIndex
|
|
2059
2034
|
*/
|
|
2060
2035
|
constructor(segmentIndex, index, partialSegmentIndex) {}
|
|
2061
|
-
/**
|
|
2062
|
-
* Move the iterator to a given timestamp in the underlying SegmentIndex.
|
|
2063
|
-
* @param {number} time
|
|
2064
|
-
* @return {shaka.media.SegmentReference}
|
|
2065
|
-
* @deprecated Use SegmentIndex.getIteratorForTime instead
|
|
2066
|
-
*/
|
|
2067
|
-
seek(time) {}
|
|
2068
2036
|
/**
|
|
2069
2037
|
* @return {shaka.media.SegmentReference}
|
|
2070
2038
|
*/
|
|
@@ -2264,6 +2232,10 @@ shaka.util.ConfigUtils = class {
|
|
|
2264
2232
|
* @final
|
|
2265
2233
|
*/
|
|
2266
2234
|
shaka.util.PlayerConfiguration = class {
|
|
2235
|
+
/**
|
|
2236
|
+
* @return {shaka.extern.PlayerConfiguration}
|
|
2237
|
+
*/
|
|
2238
|
+
static createDefault() {}
|
|
2267
2239
|
/**
|
|
2268
2240
|
* Merges the given configuration changes into the given destination. This
|
|
2269
2241
|
* uses the default Player configurations as the template.
|
|
@@ -2726,21 +2698,6 @@ shaka.Player = class extends shaka.util.FakeEventTarget {
|
|
|
2726
2698
|
* @return {shaka.extern.Stats}
|
|
2727
2699
|
*/
|
|
2728
2700
|
getStats() {}
|
|
2729
|
-
/**
|
|
2730
|
-
* Adds the given text track to the loaded manifest. <code>load()</code> must
|
|
2731
|
-
* resolve before calling. The presentation must have a duration.
|
|
2732
|
-
* This returns the created track, which can immediately be selected by the
|
|
2733
|
-
* application. The track will not be automatically selected.
|
|
2734
|
-
* @param {string} uri
|
|
2735
|
-
* @param {string} language
|
|
2736
|
-
* @param {string} kind
|
|
2737
|
-
* @param {string=} mimeType
|
|
2738
|
-
* @param {string=} codec
|
|
2739
|
-
* @param {string=} label
|
|
2740
|
-
* @param {boolean=} forced
|
|
2741
|
-
* @return {shaka.extern.Track}
|
|
2742
|
-
*/
|
|
2743
|
-
addTextTrack(uri, language, kind, mimeType, codec, label, forced) {}
|
|
2744
2701
|
/**
|
|
2745
2702
|
* Adds the given text track to the loaded manifest. <code>load()</code> must
|
|
2746
2703
|
* resolve before calling. The presentation must have a duration.
|
|
@@ -2838,8 +2795,9 @@ shaka.ads.ClientSideAd = class {
|
|
|
2838
2795
|
/**
|
|
2839
2796
|
* @param {!google.ima.Ad} imaAd
|
|
2840
2797
|
* @param {!google.ima.AdsManager} imaAdManager
|
|
2798
|
+
* @param {HTMLMediaElement} video
|
|
2841
2799
|
*/
|
|
2842
|
-
constructor(imaAd, imaAdManager) {}
|
|
2800
|
+
constructor(imaAd, imaAdManager, video) {}
|
|
2843
2801
|
/**
|
|
2844
2802
|
* @override
|
|
2845
2803
|
*/
|
|
@@ -3616,12 +3574,6 @@ shaka.offline.Storage = class {
|
|
|
3616
3574
|
* AbortableOperation.
|
|
3617
3575
|
*/
|
|
3618
3576
|
store(uri, appMetadata, mimeType) {}
|
|
3619
|
-
/**
|
|
3620
|
-
* Returns true if an asset is currently downloading.
|
|
3621
|
-
* @return {boolean}
|
|
3622
|
-
* @deprecated
|
|
3623
|
-
*/
|
|
3624
|
-
getStoreInProgress() {}
|
|
3625
3577
|
/**
|
|
3626
3578
|
* Removes the given stored content. This will also attempt to release the
|
|
3627
3579
|
* licenses, if any.
|
|
@@ -3709,16 +3661,6 @@ shaka.polyfill.Fullscreen = class {
|
|
|
3709
3661
|
*/
|
|
3710
3662
|
static install() {}
|
|
3711
3663
|
};
|
|
3712
|
-
/**
|
|
3713
|
-
* @summary A polyfill to patch math round bug on some browsers.
|
|
3714
|
-
* @see https://stackoverflow.com/q/12830742
|
|
3715
|
-
*/
|
|
3716
|
-
shaka.polyfill.MathRound = class {
|
|
3717
|
-
/**
|
|
3718
|
-
* Install the polyfill if needed.
|
|
3719
|
-
*/
|
|
3720
|
-
static install() {}
|
|
3721
|
-
};
|
|
3722
3664
|
/**
|
|
3723
3665
|
* @summary A polyfill to provide navigator.mediaCapabilities on all browsers.
|
|
3724
3666
|
* This is necessary for Tizen 3, Xbox One and possibly others we have yet to
|
|
@@ -3758,28 +3700,6 @@ shaka.polyfill.Orientation = class {
|
|
|
3758
3700
|
*/
|
|
3759
3701
|
static install() {}
|
|
3760
3702
|
};
|
|
3761
|
-
/**
|
|
3762
|
-
* @summary A polyfill to implement modern, standardized EME on top of Apple's
|
|
3763
|
-
* prefixed EME in Safari.
|
|
3764
|
-
*/
|
|
3765
|
-
shaka.polyfill.PatchedMediaKeysApple = class {
|
|
3766
|
-
/**
|
|
3767
|
-
* Installs the polyfill if needed.
|
|
3768
|
-
*/
|
|
3769
|
-
static install() {}
|
|
3770
|
-
};
|
|
3771
|
-
/**
|
|
3772
|
-
* @summary A polyfill to implement
|
|
3773
|
-
* {@link https://bit.ly/EmeMar15 EME draft 12 March 2015}
|
|
3774
|
-
* on top of ms-prefixed
|
|
3775
|
-
* {@link https://www.w3.org/TR/2014/WD-encrypted-media-20140218/ EME v20140218}
|
|
3776
|
-
*/
|
|
3777
|
-
shaka.polyfill.PatchedMediaKeysMs = class {
|
|
3778
|
-
/**
|
|
3779
|
-
* Installs the polyfill if needed.
|
|
3780
|
-
*/
|
|
3781
|
-
static install() {}
|
|
3782
|
-
};
|
|
3783
3703
|
/**
|
|
3784
3704
|
* @summary A polyfill to stub out
|
|
3785
3705
|
* {@link https://bit.ly/EmeMar15 EME draft 12 March 2015} on browsers without
|
|
@@ -3881,6 +3801,10 @@ shaka.text.LrcTextParser = class {
|
|
|
3881
3801
|
* @override
|
|
3882
3802
|
*/
|
|
3883
3803
|
parseInit(data) {}
|
|
3804
|
+
/**
|
|
3805
|
+
* @override
|
|
3806
|
+
*/
|
|
3807
|
+
setSequenceMode(sequenceMode) {}
|
|
3884
3808
|
/**
|
|
3885
3809
|
* @override
|
|
3886
3810
|
*/
|
|
@@ -3894,6 +3818,10 @@ shaka.text.TtmlTextParser = class {
|
|
|
3894
3818
|
* @override
|
|
3895
3819
|
*/
|
|
3896
3820
|
parseInit(data) {}
|
|
3821
|
+
/**
|
|
3822
|
+
* @override
|
|
3823
|
+
*/
|
|
3824
|
+
setSequenceMode(sequenceMode) {}
|
|
3897
3825
|
/**
|
|
3898
3826
|
* @override
|
|
3899
3827
|
*/
|
|
@@ -3909,6 +3837,10 @@ shaka.text.Mp4TtmlParser = class {
|
|
|
3909
3837
|
* @override
|
|
3910
3838
|
*/
|
|
3911
3839
|
parseInit(data) {}
|
|
3840
|
+
/**
|
|
3841
|
+
* @override
|
|
3842
|
+
*/
|
|
3843
|
+
setSequenceMode(sequenceMode) {}
|
|
3912
3844
|
/**
|
|
3913
3845
|
* @override
|
|
3914
3846
|
*/
|
|
@@ -3918,10 +3850,16 @@ shaka.text.Mp4TtmlParser = class {
|
|
|
3918
3850
|
* @implements {shaka.extern.TextParser}
|
|
3919
3851
|
*/
|
|
3920
3852
|
shaka.text.VttTextParser = class {
|
|
3853
|
+
/** Constructs a VTT parser. */
|
|
3854
|
+
constructor() {}
|
|
3921
3855
|
/**
|
|
3922
3856
|
* @override
|
|
3923
3857
|
*/
|
|
3924
3858
|
parseInit(data) {}
|
|
3859
|
+
/**
|
|
3860
|
+
* @override
|
|
3861
|
+
*/
|
|
3862
|
+
setSequenceMode(sequenceMode) {}
|
|
3925
3863
|
/**
|
|
3926
3864
|
* @override
|
|
3927
3865
|
*/
|
|
@@ -3937,6 +3875,10 @@ shaka.text.Mp4VttParser = class {
|
|
|
3937
3875
|
* @override
|
|
3938
3876
|
*/
|
|
3939
3877
|
parseInit(data) {}
|
|
3878
|
+
/**
|
|
3879
|
+
* @override
|
|
3880
|
+
*/
|
|
3881
|
+
setSequenceMode(sequenceMode) {}
|
|
3940
3882
|
/**
|
|
3941
3883
|
* @override
|
|
3942
3884
|
*/
|
|
@@ -3950,6 +3892,10 @@ shaka.text.SbvTextParser = class {
|
|
|
3950
3892
|
* @override
|
|
3951
3893
|
*/
|
|
3952
3894
|
parseInit(data) {}
|
|
3895
|
+
/**
|
|
3896
|
+
* @override
|
|
3897
|
+
*/
|
|
3898
|
+
setSequenceMode(sequenceMode) {}
|
|
3953
3899
|
/**
|
|
3954
3900
|
* @override
|
|
3955
3901
|
*/
|
|
@@ -3965,6 +3911,10 @@ shaka.text.SrtTextParser = class {
|
|
|
3965
3911
|
* @override
|
|
3966
3912
|
*/
|
|
3967
3913
|
parseInit(data) {}
|
|
3914
|
+
/**
|
|
3915
|
+
* @override
|
|
3916
|
+
*/
|
|
3917
|
+
setSequenceMode(sequenceMode) {}
|
|
3968
3918
|
/**
|
|
3969
3919
|
* @override
|
|
3970
3920
|
*/
|
|
@@ -3986,8 +3936,58 @@ shaka.text.SsaTextParser = class {
|
|
|
3986
3936
|
* @override
|
|
3987
3937
|
*/
|
|
3988
3938
|
parseInit(data) {}
|
|
3939
|
+
/**
|
|
3940
|
+
* @override
|
|
3941
|
+
*/
|
|
3942
|
+
setSequenceMode(sequenceMode) {}
|
|
3989
3943
|
/**
|
|
3990
3944
|
* @override
|
|
3991
3945
|
*/
|
|
3992
3946
|
parseMedia(data, time) {}
|
|
3993
3947
|
};
|
|
3948
|
+
/**
|
|
3949
|
+
* @summary A set of FairPlay utility functions.
|
|
3950
|
+
*/
|
|
3951
|
+
shaka.util.FairPlayUtils = class {
|
|
3952
|
+
/**
|
|
3953
|
+
* Check if FairPlay is supported.
|
|
3954
|
+
* @return {!Promise.<boolean>}
|
|
3955
|
+
*/
|
|
3956
|
+
static isFairPlaySupported() {}
|
|
3957
|
+
/**
|
|
3958
|
+
* Using the default method, extract a content ID from the init data. This is
|
|
3959
|
+
* based on the FairPlay example documentation.
|
|
3960
|
+
* @param {!BufferSource} initData
|
|
3961
|
+
* @return {string}
|
|
3962
|
+
*/
|
|
3963
|
+
static defaultGetContentId(initData) {}
|
|
3964
|
+
/**
|
|
3965
|
+
* Transforms the init data buffer using the given data. The format is:
|
|
3966
|
+
* <pre>
|
|
3967
|
+
* [4 bytes] initDataSize
|
|
3968
|
+
* [initDataSize bytes] initData
|
|
3969
|
+
* [4 bytes] contentIdSize
|
|
3970
|
+
* [contentIdSize bytes] contentId
|
|
3971
|
+
* [4 bytes] certSize
|
|
3972
|
+
* [certSize bytes] cert
|
|
3973
|
+
* </pre>
|
|
3974
|
+
* @param {!BufferSource} initData
|
|
3975
|
+
* @param {!BufferSource|string} contentId
|
|
3976
|
+
* @param {?BufferSource} cert The server certificate; this will throw if not
|
|
3977
|
+
* provided.
|
|
3978
|
+
* @return {!Uint8Array}
|
|
3979
|
+
*/
|
|
3980
|
+
static initDataTransform(initData, contentId, cert) {}
|
|
3981
|
+
/**
|
|
3982
|
+
* SPC FairPlay request.
|
|
3983
|
+
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
3984
|
+
* @param {shaka.extern.Request} request
|
|
3985
|
+
*/
|
|
3986
|
+
static spcFairPlayRequest(type, request) {}
|
|
3987
|
+
/**
|
|
3988
|
+
* Common FairPlay response transform for some DRMs providers.
|
|
3989
|
+
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
3990
|
+
* @param {shaka.extern.Response} response
|
|
3991
|
+
*/
|
|
3992
|
+
static commonFairPlayResponse(type, response) {}
|
|
3993
|
+
};
|