shaka-player 4.1.3 → 4.2.1
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/selenium-lab-tests.yaml +158 -53
- package/CHANGELOG.md +39 -29
- package/demo/common/assets.js +25 -0
- package/demo/common/message_ids.js +2 -0
- package/demo/config.js +5 -1
- package/demo/index.html +1 -1
- package/demo/locales/en.json +2 -0
- package/demo/locales/source.json +8 -0
- package/dist/controls.css +1 -1
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +25 -23
- package/dist/demo.compiled.debug.map +3 -3
- package/dist/demo.compiled.js +25 -23
- package/dist/demo.compiled.map +3 -3
- package/dist/deps.js +3 -2
- package/dist/locales.js +32 -32
- package/dist/receiver.compiled.debug.js +24 -22
- package/dist/receiver.compiled.debug.map +3 -3
- package/dist/receiver.compiled.js +24 -22
- package/dist/receiver.compiled.map +3 -3
- package/dist/shaka-player.compiled.d.ts +57 -6
- package/dist/shaka-player.compiled.debug.d.ts +57 -6
- package/dist/shaka-player.compiled.debug.externs.js +62 -6
- package/dist/shaka-player.compiled.debug.js +305 -262
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +62 -6
- package/dist/shaka-player.compiled.js +817 -801
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +57 -6
- package/dist/shaka-player.ui.debug.d.ts +57 -6
- package/dist/shaka-player.ui.debug.externs.js +62 -6
- package/dist/shaka-player.ui.debug.js +308 -265
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +62 -6
- package/dist/shaka-player.ui.js +942 -925
- package/dist/shaka-player.ui.map +4 -4
- package/docs/tutorials/fairplay.md +149 -0
- package/docs/tutorials/ui.md +6 -6
- package/externs/shaka/abr_manager.js +8 -0
- package/externs/shaka/manifest.js +43 -0
- package/externs/shaka/player.js +13 -2
- package/lib/abr/simple_abr_manager.js +72 -4
- package/lib/hls/hls_parser.js +138 -96
- package/lib/media/drm_engine.js +0 -2
- package/lib/media/segment_index.js +8 -0
- package/lib/media/segment_reference.js +7 -1
- package/lib/media/streaming_engine.js +38 -2
- package/lib/net/networking_engine.js +1 -0
- package/lib/player.js +20 -1
- package/lib/polyfill/patchedmediakeys_apple.js +729 -0
- package/lib/text/ui_text_displayer.js +8 -0
- package/lib/text/vtt_text_parser.js +61 -4
- package/lib/util/error.js +23 -11
- package/lib/util/fairplay_utils.js +100 -2
- package/lib/util/platform.js +12 -1
- package/lib/util/player_configuration.js +4 -10
- package/package.json +1 -1
- package/shaka-player.uncompiled.js +1 -0
- package/test/hls/hls_parser_unit.js +101 -34
- package/test/media/drm_engine_unit.js +29 -0
- package/test/media/streaming_engine_unit.js +79 -5
- package/test/player_src_equals_integration.js +2 -0
- package/test/player_unit.js +39 -1
- package/test/test/assets/small.mp4 +0 -0
- package/test/test/util/simple_fakes.js +4 -0
- package/test/test/util/streaming_engine_util.js +10 -2
- package/test/text/vtt_text_parser_unit.js +26 -0
- package/ui/less/ad_controls.less +4 -0
|
@@ -258,13 +258,15 @@ shaka.util.Error.Code = {
|
|
|
258
258
|
'DASH_XLINK_DEPTH_LIMIT': 4028,
|
|
259
259
|
'CONTENT_UNSUPPORTED_BY_BROWSER': 4032,
|
|
260
260
|
'CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM': 4033,
|
|
261
|
-
'HLS_AES_128_ENCRYPTION_NOT_SUPPORTED': 4034,
|
|
262
|
-
'HLS_INTERNAL_SKIP_STREAM': 4035,
|
|
263
261
|
'NO_VARIANTS': 4036,
|
|
264
262
|
'PERIOD_FLATTENING_FAILED': 4037,
|
|
265
263
|
'INCONSISTENT_DRM_ACROSS_PERIODS': 4038,
|
|
266
264
|
'HLS_VARIABLE_NOT_FOUND': 4039,
|
|
267
265
|
'HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED': 4040,
|
|
266
|
+
'HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED': 4041,
|
|
267
|
+
'NO_WEB_CRYPTO_API': 4042,
|
|
268
|
+
'HLS_AES_128_INVALID_IV_LENGTH': 4043,
|
|
269
|
+
'HLS_AES_128_INVALID_KEY_LENGTH': 4044,
|
|
268
270
|
'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
|
|
269
271
|
'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
|
|
270
272
|
'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
|
|
@@ -1207,6 +1209,10 @@ shaka.abr.SimpleAbrManager = class {
|
|
|
1207
1209
|
* @override
|
|
1208
1210
|
*/
|
|
1209
1211
|
playbackRateChanged(rate) {}
|
|
1212
|
+
/**
|
|
1213
|
+
* @override
|
|
1214
|
+
*/
|
|
1215
|
+
setMediaElement(mediaElement) {}
|
|
1210
1216
|
/**
|
|
1211
1217
|
* @override
|
|
1212
1218
|
*/
|
|
@@ -1440,7 +1446,8 @@ shaka.net.NetworkingEngine.RequestType = {
|
|
|
1440
1446
|
'LICENSE': 2,
|
|
1441
1447
|
'APP': 3,
|
|
1442
1448
|
'TIMING': 4,
|
|
1443
|
-
'SERVER_CERTIFICATE': 5
|
|
1449
|
+
'SERVER_CERTIFICATE': 5,
|
|
1450
|
+
'KEY': 6
|
|
1444
1451
|
};
|
|
1445
1452
|
/**
|
|
1446
1453
|
* Priority level for network scheme plugins.
|
|
@@ -1809,8 +1816,10 @@ shaka.media.SegmentReference = class {
|
|
|
1809
1816
|
* @param {shaka.media.SegmentReference.Status=} status
|
|
1810
1817
|
* The segment status is used to indicate that a segment does not exist or is
|
|
1811
1818
|
* not available.
|
|
1819
|
+
* @param {?shaka.extern.HlsAes128Key=} hlsAes128Key
|
|
1820
|
+
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
1812
1821
|
*/
|
|
1813
|
-
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status) {}
|
|
1822
|
+
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status, hlsAes128Key) {}
|
|
1814
1823
|
/**
|
|
1815
1824
|
* Creates and returns the URIs of the resource containing the segment.
|
|
1816
1825
|
* @return {!Array.<string>}
|
|
@@ -2157,6 +2166,10 @@ shaka.media.SegmentIterator = class {
|
|
|
2157
2166
|
* @param {number} partialSegmentIndex
|
|
2158
2167
|
*/
|
|
2159
2168
|
constructor(segmentIndex, index, partialSegmentIndex) {}
|
|
2169
|
+
/**
|
|
2170
|
+
* @return {number}
|
|
2171
|
+
*/
|
|
2172
|
+
currentPosition() {}
|
|
2160
2173
|
/**
|
|
2161
2174
|
* @return {shaka.media.SegmentReference}
|
|
2162
2175
|
*/
|
|
@@ -3827,6 +3840,16 @@ shaka.polyfill.Orientation = class {
|
|
|
3827
3840
|
*/
|
|
3828
3841
|
static install() {}
|
|
3829
3842
|
};
|
|
3843
|
+
/**
|
|
3844
|
+
* @summary A polyfill to implement modern, standardized EME on top of Apple's
|
|
3845
|
+
* prefixed EME in Safari.
|
|
3846
|
+
*/
|
|
3847
|
+
shaka.polyfill.PatchedMediaKeysApple = class {
|
|
3848
|
+
/**
|
|
3849
|
+
* Installs the polyfill if needed.
|
|
3850
|
+
*/
|
|
3851
|
+
static install() {}
|
|
3852
|
+
};
|
|
3830
3853
|
/**
|
|
3831
3854
|
* @summary A polyfill to stub out
|
|
3832
3855
|
* {@link https://bit.ly/EmeMar15 EME draft 12 March 2015} on browsers without
|
|
@@ -4106,11 +4129,44 @@ shaka.util.FairPlayUtils = class {
|
|
|
4106
4129
|
*/
|
|
4107
4130
|
static initDataTransform(initData, contentId, cert) {}
|
|
4108
4131
|
/**
|
|
4109
|
-
*
|
|
4132
|
+
* Verimatrix initDataTransform configuration.
|
|
4133
|
+
* @param {!Uint8Array} initData
|
|
4134
|
+
* @param {string} initDataType
|
|
4135
|
+
* @param {?shaka.extern.DrmInfo} drmInfo
|
|
4136
|
+
*/
|
|
4137
|
+
static verimatrixInitDataTransform(initData, initDataType, drmInfo) {}
|
|
4138
|
+
/**
|
|
4139
|
+
* EZDRM initDataTransform configuration.
|
|
4140
|
+
* @param {!Uint8Array} initData
|
|
4141
|
+
* @param {string} initDataType
|
|
4142
|
+
* @param {?shaka.extern.DrmInfo} drmInfo
|
|
4143
|
+
*/
|
|
4144
|
+
static ezdrmInitDataTransform(initData, initDataType, drmInfo) {}
|
|
4145
|
+
/**
|
|
4146
|
+
* Conax initDataTransform configuration.
|
|
4147
|
+
* @param {!Uint8Array} initData
|
|
4148
|
+
* @param {string} initDataType
|
|
4149
|
+
* @param {?shaka.extern.DrmInfo} drmInfo
|
|
4150
|
+
*/
|
|
4151
|
+
static conaxInitDataTransform(initData, initDataType, drmInfo) {}
|
|
4152
|
+
/**
|
|
4153
|
+
* Verimatrix FairPlay request.
|
|
4154
|
+
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
4155
|
+
* @param {shaka.extern.Request} request
|
|
4156
|
+
*/
|
|
4157
|
+
static verimatrixFairPlayRequest(type, request) {}
|
|
4158
|
+
/**
|
|
4159
|
+
* EZDRM FairPlay request.
|
|
4160
|
+
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
4161
|
+
* @param {shaka.extern.Request} request
|
|
4162
|
+
*/
|
|
4163
|
+
static ezdrmFairPlayRequest(type, request) {}
|
|
4164
|
+
/**
|
|
4165
|
+
* Conax FairPlay request.
|
|
4110
4166
|
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
4111
4167
|
* @param {shaka.extern.Request} request
|
|
4112
4168
|
*/
|
|
4113
|
-
static
|
|
4169
|
+
static conaxFairPlayRequest(type, request) {}
|
|
4114
4170
|
/**
|
|
4115
4171
|
* Common FairPlay response transform for some DRMs providers.
|
|
4116
4172
|
* @param {shaka.net.NetworkingEngine.RequestType} type
|