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
|
@@ -464,6 +464,7 @@ declare namespace shaka.abr {
|
|
|
464
464
|
init (switchCallback : any ) : any ;
|
|
465
465
|
playbackRateChanged (rate : any ) : any ;
|
|
466
466
|
segmentDownloaded (deltaTimeMs : any , numBytes : any ) : any ;
|
|
467
|
+
setMediaElement (mediaElement : any ) : any ;
|
|
467
468
|
setVariants (variants : any ) : any ;
|
|
468
469
|
stop ( ) : any ;
|
|
469
470
|
}
|
|
@@ -1102,6 +1103,7 @@ declare namespace shaka.media {
|
|
|
1102
1103
|
*/
|
|
1103
1104
|
constructor (segmentIndex : shaka.media.SegmentIndex | null , index : number , partialSegmentIndex : number ) ;
|
|
1104
1105
|
current ( ) : shaka.media.SegmentReference | null ;
|
|
1106
|
+
currentPosition ( ) : number ;
|
|
1105
1107
|
next ( ) : any ;
|
|
1106
1108
|
}
|
|
1107
1109
|
}
|
|
@@ -1113,7 +1115,7 @@ declare namespace shaka.media {
|
|
|
1113
1115
|
*/
|
|
1114
1116
|
class SegmentReference {
|
|
1115
1117
|
private noStructuralTyping_shaka_media_SegmentReference : any;
|
|
1116
|
-
constructor (startTime : number , endTime : number , uris : ( ) => string [] , startByte : number , endByte : number | null , initSegmentReference : shaka.media.InitSegmentReference | null , timestampOffset : number , appendWindowStart : number , appendWindowEnd : number , partialReferences ? : shaka.media.SegmentReference [] , tilesLayout ? : string | null , tileDuration ? : number | null , syncTime ? : number | null , status ? : shaka.media.SegmentReference.Status ) ;
|
|
1118
|
+
constructor (startTime : number , endTime : number , uris : ( ) => string [] , startByte : number , endByte : number | null , initSegmentReference : shaka.media.InitSegmentReference | null , timestampOffset : number , appendWindowStart : number , appendWindowEnd : number , partialReferences ? : shaka.media.SegmentReference [] , tilesLayout ? : string | null , tileDuration ? : number | null , syncTime ? : number | null , status ? : shaka.media.SegmentReference.Status , hlsAes128Key ? : shaka.extern.HlsAes128Key | null ) ;
|
|
1117
1119
|
/**
|
|
1118
1120
|
* Returns the offset from the start of the resource to the end of the
|
|
1119
1121
|
* segment, inclusive. A value of null indicates that the segment extends to
|
|
@@ -1332,6 +1334,7 @@ declare namespace shaka.net.NetworkingEngine {
|
|
|
1332
1334
|
*/
|
|
1333
1335
|
enum RequestType {
|
|
1334
1336
|
APP = 3.0 ,
|
|
1337
|
+
KEY = 6.0 ,
|
|
1335
1338
|
LICENSE = 2.0 ,
|
|
1336
1339
|
MANIFEST = 0.0 ,
|
|
1337
1340
|
SEGMENT = 1.0 ,
|
|
@@ -1532,6 +1535,16 @@ declare namespace shaka.polyfill {
|
|
|
1532
1535
|
}
|
|
1533
1536
|
}
|
|
1534
1537
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
|
|
1538
|
+
declare namespace shaka.polyfill {
|
|
1539
|
+
class PatchedMediaKeysApple {
|
|
1540
|
+
private noStructuralTyping_shaka_polyfill_PatchedMediaKeysApple : any;
|
|
1541
|
+
/**
|
|
1542
|
+
* Installs the polyfill if needed.
|
|
1543
|
+
*/
|
|
1544
|
+
static install ( ) : any ;
|
|
1545
|
+
}
|
|
1546
|
+
}
|
|
1547
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
|
|
1535
1548
|
declare namespace shaka.polyfill {
|
|
1536
1549
|
class PatchedMediaKeysNop {
|
|
1537
1550
|
private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
|
|
@@ -2222,11 +2235,12 @@ declare namespace shaka.util.Error {
|
|
|
2222
2235
|
FAILED_TO_CREATE_CDM = 6002.0 ,
|
|
2223
2236
|
FAILED_TO_CREATE_SESSION = 6005.0 ,
|
|
2224
2237
|
FAILED_TO_GENERATE_LICENSE_REQUEST = 6006.0 ,
|
|
2225
|
-
|
|
2238
|
+
HLS_AES_128_INVALID_IV_LENGTH = 4043.0 ,
|
|
2239
|
+
HLS_AES_128_INVALID_KEY_LENGTH = 4044.0 ,
|
|
2226
2240
|
HLS_COULD_NOT_GUESS_CODECS = 4025.0 ,
|
|
2227
|
-
HLS_INTERNAL_SKIP_STREAM = 4035.0 ,
|
|
2228
2241
|
HLS_INVALID_PLAYLIST_HIERARCHY = 4017.0 ,
|
|
2229
2242
|
HLS_KEYFORMATS_NOT_SUPPORTED = 4026.0 ,
|
|
2243
|
+
HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED = 4041.0 ,
|
|
2230
2244
|
HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED = 4040.0 ,
|
|
2231
2245
|
HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND = 4020.0 ,
|
|
2232
2246
|
HLS_PLAYLIST_HEADER_MISSING = 4015.0 ,
|
|
@@ -2269,6 +2283,7 @@ declare namespace shaka.util.Error {
|
|
|
2269
2283
|
NO_RECOGNIZED_KEY_SYSTEMS = 6000.0 ,
|
|
2270
2284
|
NO_VARIANTS = 4036.0 ,
|
|
2271
2285
|
NO_VIDEO_ELEMENT = 7002.0 ,
|
|
2286
|
+
NO_WEB_CRYPTO_API = 4042.0 ,
|
|
2272
2287
|
OBJECT_DESTROYED = 7003.0 ,
|
|
2273
2288
|
OFFLINE_SESSION_REMOVED = 6013.0 ,
|
|
2274
2289
|
OPERATION_ABORTED = 7001.0 ,
|
|
@@ -2364,11 +2379,27 @@ declare namespace shaka.util {
|
|
|
2364
2379
|
* Common FairPlay response transform for some DRMs providers.
|
|
2365
2380
|
*/
|
|
2366
2381
|
static commonFairPlayResponse (type : shaka.net.NetworkingEngine.RequestType , response : shaka.extern.Response ) : any ;
|
|
2382
|
+
/**
|
|
2383
|
+
* Conax FairPlay request.
|
|
2384
|
+
*/
|
|
2385
|
+
static conaxFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2386
|
+
/**
|
|
2387
|
+
* Conax initDataTransform configuration.
|
|
2388
|
+
*/
|
|
2389
|
+
static conaxInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2367
2390
|
/**
|
|
2368
2391
|
* Using the default method, extract a content ID from the init data. This is
|
|
2369
2392
|
* based on the FairPlay example documentation.
|
|
2370
2393
|
*/
|
|
2371
2394
|
static defaultGetContentId (initData : ArrayBuffer | ArrayBufferView ) : string ;
|
|
2395
|
+
/**
|
|
2396
|
+
* EZDRM FairPlay request.
|
|
2397
|
+
*/
|
|
2398
|
+
static ezdrmFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2399
|
+
/**
|
|
2400
|
+
* EZDRM initDataTransform configuration.
|
|
2401
|
+
*/
|
|
2402
|
+
static ezdrmInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2372
2403
|
/**
|
|
2373
2404
|
* Transforms the init data buffer using the given data. The format is:
|
|
2374
2405
|
* <pre>
|
|
@@ -2387,9 +2418,13 @@ declare namespace shaka.util {
|
|
|
2387
2418
|
*/
|
|
2388
2419
|
static isFairPlaySupported ( ) : Promise < boolean > ;
|
|
2389
2420
|
/**
|
|
2390
|
-
*
|
|
2421
|
+
* Verimatrix FairPlay request.
|
|
2422
|
+
*/
|
|
2423
|
+
static verimatrixFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2424
|
+
/**
|
|
2425
|
+
* Verimatrix initDataTransform configuration.
|
|
2391
2426
|
*/
|
|
2392
|
-
static
|
|
2427
|
+
static verimatrixInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2393
2428
|
}
|
|
2394
2429
|
}
|
|
2395
2430
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
|
|
@@ -3298,6 +3333,10 @@ declare namespace shaka.extern {
|
|
|
3298
3333
|
* @param numBytes The total number of bytes transferred.
|
|
3299
3334
|
*/
|
|
3300
3335
|
segmentDownloaded (deltaTimeMs : number , numBytes : number ) : any ;
|
|
3336
|
+
/**
|
|
3337
|
+
* Set media element.
|
|
3338
|
+
*/
|
|
3339
|
+
setMediaElement (mediaElement : HTMLMediaElement | null ) : any ;
|
|
3301
3340
|
/**
|
|
3302
3341
|
* Updates manager's variants collection.
|
|
3303
3342
|
*/
|
|
@@ -3433,6 +3472,18 @@ declare namespace shaka.extern {
|
|
|
3433
3472
|
type DrmInfo = { audioRobustness : string , distinctiveIdentifierRequired : boolean , initData : shaka.extern.InitDataOverride [] | null , keyIds : Set < string > | null , keySystem : string , licenseServerUri : string , persistentStateRequired : boolean , serverCertificate : Uint8Array | null , serverCertificateUri : string , sessionType : string , videoRobustness : string } ;
|
|
3434
3473
|
}
|
|
3435
3474
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3475
|
+
declare namespace shaka.extern {
|
|
3476
|
+
/**
|
|
3477
|
+
* A function that fetches the crypto keys for AES-128.
|
|
3478
|
+
* Returns a promise that resolves when the keys have been fetched.
|
|
3479
|
+
*/
|
|
3480
|
+
type FetchCryptoKeysFunction = ( ) => Promise < any > ;
|
|
3481
|
+
}
|
|
3482
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3483
|
+
declare namespace shaka.extern {
|
|
3484
|
+
type HlsAes128Key = { cryptoKey ? : webCrypto.CryptoKey | null , fetchKey ? : shaka.extern.CreateSegmentIndexFunction , firstMediaSequenceNumber : number , iv ? : Uint8Array , method : string } ;
|
|
3485
|
+
}
|
|
3486
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3436
3487
|
declare namespace shaka.extern {
|
|
3437
3488
|
type InitDataOverride = { initData : Uint8Array , initDataType : string , keyId : string | null } ;
|
|
3438
3489
|
}
|
|
@@ -3786,7 +3837,7 @@ declare namespace shaka.extern {
|
|
|
3786
3837
|
}
|
|
3787
3838
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
3788
3839
|
declare namespace shaka.extern {
|
|
3789
|
-
type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , defaultBandwidthEstimate : number , enabled : boolean , restrictions : shaka.extern.Restrictions , switchInterval : number , useNetworkInformation : boolean } ;
|
|
3840
|
+
type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , defaultBandwidthEstimate : number , enabled : boolean , ignoreDevicePixelRatio : boolean , restrictToElementSize : boolean , restrictions : shaka.extern.Restrictions , switchInterval : number , useNetworkInformation : boolean } ;
|
|
3790
3841
|
}
|
|
3791
3842
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
3792
3843
|
declare namespace shaka.extern {
|
|
@@ -464,6 +464,7 @@ declare namespace shaka.abr {
|
|
|
464
464
|
init (switchCallback : any ) : any ;
|
|
465
465
|
playbackRateChanged (rate : any ) : any ;
|
|
466
466
|
segmentDownloaded (deltaTimeMs : any , numBytes : any ) : any ;
|
|
467
|
+
setMediaElement (mediaElement : any ) : any ;
|
|
467
468
|
setVariants (variants : any ) : any ;
|
|
468
469
|
stop ( ) : any ;
|
|
469
470
|
}
|
|
@@ -1102,6 +1103,7 @@ declare namespace shaka.media {
|
|
|
1102
1103
|
*/
|
|
1103
1104
|
constructor (segmentIndex : shaka.media.SegmentIndex | null , index : number , partialSegmentIndex : number ) ;
|
|
1104
1105
|
current ( ) : shaka.media.SegmentReference | null ;
|
|
1106
|
+
currentPosition ( ) : number ;
|
|
1105
1107
|
next ( ) : any ;
|
|
1106
1108
|
}
|
|
1107
1109
|
}
|
|
@@ -1113,7 +1115,7 @@ declare namespace shaka.media {
|
|
|
1113
1115
|
*/
|
|
1114
1116
|
class SegmentReference {
|
|
1115
1117
|
private noStructuralTyping_shaka_media_SegmentReference : any;
|
|
1116
|
-
constructor (startTime : number , endTime : number , uris : ( ) => string [] , startByte : number , endByte : number | null , initSegmentReference : shaka.media.InitSegmentReference | null , timestampOffset : number , appendWindowStart : number , appendWindowEnd : number , partialReferences ? : shaka.media.SegmentReference [] , tilesLayout ? : string | null , tileDuration ? : number | null , syncTime ? : number | null , status ? : shaka.media.SegmentReference.Status ) ;
|
|
1118
|
+
constructor (startTime : number , endTime : number , uris : ( ) => string [] , startByte : number , endByte : number | null , initSegmentReference : shaka.media.InitSegmentReference | null , timestampOffset : number , appendWindowStart : number , appendWindowEnd : number , partialReferences ? : shaka.media.SegmentReference [] , tilesLayout ? : string | null , tileDuration ? : number | null , syncTime ? : number | null , status ? : shaka.media.SegmentReference.Status , hlsAes128Key ? : shaka.extern.HlsAes128Key | null ) ;
|
|
1117
1119
|
/**
|
|
1118
1120
|
* Returns the offset from the start of the resource to the end of the
|
|
1119
1121
|
* segment, inclusive. A value of null indicates that the segment extends to
|
|
@@ -1332,6 +1334,7 @@ declare namespace shaka.net.NetworkingEngine {
|
|
|
1332
1334
|
*/
|
|
1333
1335
|
enum RequestType {
|
|
1334
1336
|
APP = 3.0 ,
|
|
1337
|
+
KEY = 6.0 ,
|
|
1335
1338
|
LICENSE = 2.0 ,
|
|
1336
1339
|
MANIFEST = 0.0 ,
|
|
1337
1340
|
SEGMENT = 1.0 ,
|
|
@@ -1532,6 +1535,16 @@ declare namespace shaka.polyfill {
|
|
|
1532
1535
|
}
|
|
1533
1536
|
}
|
|
1534
1537
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
|
|
1538
|
+
declare namespace shaka.polyfill {
|
|
1539
|
+
class PatchedMediaKeysApple {
|
|
1540
|
+
private noStructuralTyping_shaka_polyfill_PatchedMediaKeysApple : any;
|
|
1541
|
+
/**
|
|
1542
|
+
* Installs the polyfill if needed.
|
|
1543
|
+
*/
|
|
1544
|
+
static install ( ) : any ;
|
|
1545
|
+
}
|
|
1546
|
+
}
|
|
1547
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
|
|
1535
1548
|
declare namespace shaka.polyfill {
|
|
1536
1549
|
class PatchedMediaKeysNop {
|
|
1537
1550
|
private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
|
|
@@ -2222,11 +2235,12 @@ declare namespace shaka.util.Error {
|
|
|
2222
2235
|
FAILED_TO_CREATE_CDM = 6002.0 ,
|
|
2223
2236
|
FAILED_TO_CREATE_SESSION = 6005.0 ,
|
|
2224
2237
|
FAILED_TO_GENERATE_LICENSE_REQUEST = 6006.0 ,
|
|
2225
|
-
|
|
2238
|
+
HLS_AES_128_INVALID_IV_LENGTH = 4043.0 ,
|
|
2239
|
+
HLS_AES_128_INVALID_KEY_LENGTH = 4044.0 ,
|
|
2226
2240
|
HLS_COULD_NOT_GUESS_CODECS = 4025.0 ,
|
|
2227
|
-
HLS_INTERNAL_SKIP_STREAM = 4035.0 ,
|
|
2228
2241
|
HLS_INVALID_PLAYLIST_HIERARCHY = 4017.0 ,
|
|
2229
2242
|
HLS_KEYFORMATS_NOT_SUPPORTED = 4026.0 ,
|
|
2243
|
+
HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED = 4041.0 ,
|
|
2230
2244
|
HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED = 4040.0 ,
|
|
2231
2245
|
HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND = 4020.0 ,
|
|
2232
2246
|
HLS_PLAYLIST_HEADER_MISSING = 4015.0 ,
|
|
@@ -2269,6 +2283,7 @@ declare namespace shaka.util.Error {
|
|
|
2269
2283
|
NO_RECOGNIZED_KEY_SYSTEMS = 6000.0 ,
|
|
2270
2284
|
NO_VARIANTS = 4036.0 ,
|
|
2271
2285
|
NO_VIDEO_ELEMENT = 7002.0 ,
|
|
2286
|
+
NO_WEB_CRYPTO_API = 4042.0 ,
|
|
2272
2287
|
OBJECT_DESTROYED = 7003.0 ,
|
|
2273
2288
|
OFFLINE_SESSION_REMOVED = 6013.0 ,
|
|
2274
2289
|
OPERATION_ABORTED = 7001.0 ,
|
|
@@ -2364,11 +2379,27 @@ declare namespace shaka.util {
|
|
|
2364
2379
|
* Common FairPlay response transform for some DRMs providers.
|
|
2365
2380
|
*/
|
|
2366
2381
|
static commonFairPlayResponse (type : shaka.net.NetworkingEngine.RequestType , response : shaka.extern.Response ) : any ;
|
|
2382
|
+
/**
|
|
2383
|
+
* Conax FairPlay request.
|
|
2384
|
+
*/
|
|
2385
|
+
static conaxFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2386
|
+
/**
|
|
2387
|
+
* Conax initDataTransform configuration.
|
|
2388
|
+
*/
|
|
2389
|
+
static conaxInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2367
2390
|
/**
|
|
2368
2391
|
* Using the default method, extract a content ID from the init data. This is
|
|
2369
2392
|
* based on the FairPlay example documentation.
|
|
2370
2393
|
*/
|
|
2371
2394
|
static defaultGetContentId (initData : ArrayBuffer | ArrayBufferView ) : string ;
|
|
2395
|
+
/**
|
|
2396
|
+
* EZDRM FairPlay request.
|
|
2397
|
+
*/
|
|
2398
|
+
static ezdrmFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2399
|
+
/**
|
|
2400
|
+
* EZDRM initDataTransform configuration.
|
|
2401
|
+
*/
|
|
2402
|
+
static ezdrmInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2372
2403
|
/**
|
|
2373
2404
|
* Transforms the init data buffer using the given data. The format is:
|
|
2374
2405
|
* <pre>
|
|
@@ -2387,9 +2418,13 @@ declare namespace shaka.util {
|
|
|
2387
2418
|
*/
|
|
2388
2419
|
static isFairPlaySupported ( ) : Promise < boolean > ;
|
|
2389
2420
|
/**
|
|
2390
|
-
*
|
|
2421
|
+
* Verimatrix FairPlay request.
|
|
2422
|
+
*/
|
|
2423
|
+
static verimatrixFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2424
|
+
/**
|
|
2425
|
+
* Verimatrix initDataTransform configuration.
|
|
2391
2426
|
*/
|
|
2392
|
-
static
|
|
2427
|
+
static verimatrixInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2393
2428
|
}
|
|
2394
2429
|
}
|
|
2395
2430
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
|
|
@@ -3298,6 +3333,10 @@ declare namespace shaka.extern {
|
|
|
3298
3333
|
* @param numBytes The total number of bytes transferred.
|
|
3299
3334
|
*/
|
|
3300
3335
|
segmentDownloaded (deltaTimeMs : number , numBytes : number ) : any ;
|
|
3336
|
+
/**
|
|
3337
|
+
* Set media element.
|
|
3338
|
+
*/
|
|
3339
|
+
setMediaElement (mediaElement : HTMLMediaElement | null ) : any ;
|
|
3301
3340
|
/**
|
|
3302
3341
|
* Updates manager's variants collection.
|
|
3303
3342
|
*/
|
|
@@ -3433,6 +3472,18 @@ declare namespace shaka.extern {
|
|
|
3433
3472
|
type DrmInfo = { audioRobustness : string , distinctiveIdentifierRequired : boolean , initData : shaka.extern.InitDataOverride [] | null , keyIds : Set < string > | null , keySystem : string , licenseServerUri : string , persistentStateRequired : boolean , serverCertificate : Uint8Array | null , serverCertificateUri : string , sessionType : string , videoRobustness : string } ;
|
|
3434
3473
|
}
|
|
3435
3474
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3475
|
+
declare namespace shaka.extern {
|
|
3476
|
+
/**
|
|
3477
|
+
* A function that fetches the crypto keys for AES-128.
|
|
3478
|
+
* Returns a promise that resolves when the keys have been fetched.
|
|
3479
|
+
*/
|
|
3480
|
+
type FetchCryptoKeysFunction = ( ) => Promise < any > ;
|
|
3481
|
+
}
|
|
3482
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3483
|
+
declare namespace shaka.extern {
|
|
3484
|
+
type HlsAes128Key = { cryptoKey ? : webCrypto.CryptoKey | null , fetchKey ? : shaka.extern.CreateSegmentIndexFunction , firstMediaSequenceNumber : number , iv ? : Uint8Array , method : string } ;
|
|
3485
|
+
}
|
|
3486
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3436
3487
|
declare namespace shaka.extern {
|
|
3437
3488
|
type InitDataOverride = { initData : Uint8Array , initDataType : string , keyId : string | null } ;
|
|
3438
3489
|
}
|
|
@@ -3786,7 +3837,7 @@ declare namespace shaka.extern {
|
|
|
3786
3837
|
}
|
|
3787
3838
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
3788
3839
|
declare namespace shaka.extern {
|
|
3789
|
-
type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , defaultBandwidthEstimate : number , enabled : boolean , restrictions : shaka.extern.Restrictions , switchInterval : number , useNetworkInformation : boolean } ;
|
|
3840
|
+
type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , defaultBandwidthEstimate : number , enabled : boolean , ignoreDevicePixelRatio : boolean , restrictToElementSize : boolean , restrictions : shaka.extern.Restrictions , switchInterval : number , useNetworkInformation : boolean } ;
|
|
3790
3841
|
}
|
|
3791
3842
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
3792
3843
|
declare namespace shaka.extern {
|
|
@@ -597,13 +597,15 @@ shaka.util.Error.Code = {
|
|
|
597
597
|
'DASH_XLINK_DEPTH_LIMIT': 4028,
|
|
598
598
|
'CONTENT_UNSUPPORTED_BY_BROWSER': 4032,
|
|
599
599
|
'CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM': 4033,
|
|
600
|
-
'HLS_AES_128_ENCRYPTION_NOT_SUPPORTED': 4034,
|
|
601
|
-
'HLS_INTERNAL_SKIP_STREAM': 4035,
|
|
602
600
|
'NO_VARIANTS': 4036,
|
|
603
601
|
'PERIOD_FLATTENING_FAILED': 4037,
|
|
604
602
|
'INCONSISTENT_DRM_ACROSS_PERIODS': 4038,
|
|
605
603
|
'HLS_VARIABLE_NOT_FOUND': 4039,
|
|
606
604
|
'HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED': 4040,
|
|
605
|
+
'HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED': 4041,
|
|
606
|
+
'NO_WEB_CRYPTO_API': 4042,
|
|
607
|
+
'HLS_AES_128_INVALID_IV_LENGTH': 4043,
|
|
608
|
+
'HLS_AES_128_INVALID_KEY_LENGTH': 4044,
|
|
607
609
|
'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
|
|
608
610
|
'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
|
|
609
611
|
'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
|
|
@@ -1023,6 +1025,10 @@ shaka.abr.SimpleAbrManager = class {
|
|
|
1023
1025
|
* @override
|
|
1024
1026
|
*/
|
|
1025
1027
|
playbackRateChanged(rate) {}
|
|
1028
|
+
/**
|
|
1029
|
+
* @override
|
|
1030
|
+
*/
|
|
1031
|
+
setMediaElement(mediaElement) {}
|
|
1026
1032
|
/**
|
|
1027
1033
|
* @override
|
|
1028
1034
|
*/
|
|
@@ -1333,7 +1339,8 @@ shaka.net.NetworkingEngine.RequestType = {
|
|
|
1333
1339
|
'LICENSE': 2,
|
|
1334
1340
|
'APP': 3,
|
|
1335
1341
|
'TIMING': 4,
|
|
1336
|
-
'SERVER_CERTIFICATE': 5
|
|
1342
|
+
'SERVER_CERTIFICATE': 5,
|
|
1343
|
+
'KEY': 6
|
|
1337
1344
|
};
|
|
1338
1345
|
/**
|
|
1339
1346
|
* Priority level for network scheme plugins.
|
|
@@ -1702,8 +1709,10 @@ shaka.media.SegmentReference = class {
|
|
|
1702
1709
|
* @param {shaka.media.SegmentReference.Status=} status
|
|
1703
1710
|
* The segment status is used to indicate that a segment does not exist or is
|
|
1704
1711
|
* not available.
|
|
1712
|
+
* @param {?shaka.extern.HlsAes128Key=} hlsAes128Key
|
|
1713
|
+
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
1705
1714
|
*/
|
|
1706
|
-
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status) {}
|
|
1715
|
+
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status, hlsAes128Key) {}
|
|
1707
1716
|
/**
|
|
1708
1717
|
* Creates and returns the URIs of the resource containing the segment.
|
|
1709
1718
|
* @return {!Array.<string>}
|
|
@@ -2050,6 +2059,10 @@ shaka.media.SegmentIterator = class {
|
|
|
2050
2059
|
* @param {number} partialSegmentIndex
|
|
2051
2060
|
*/
|
|
2052
2061
|
constructor(segmentIndex, index, partialSegmentIndex) {}
|
|
2062
|
+
/**
|
|
2063
|
+
* @return {number}
|
|
2064
|
+
*/
|
|
2065
|
+
currentPosition() {}
|
|
2053
2066
|
/**
|
|
2054
2067
|
* @return {shaka.media.SegmentReference}
|
|
2055
2068
|
*/
|
|
@@ -3720,6 +3733,16 @@ shaka.polyfill.Orientation = class {
|
|
|
3720
3733
|
*/
|
|
3721
3734
|
static install() {}
|
|
3722
3735
|
};
|
|
3736
|
+
/**
|
|
3737
|
+
* @summary A polyfill to implement modern, standardized EME on top of Apple's
|
|
3738
|
+
* prefixed EME in Safari.
|
|
3739
|
+
*/
|
|
3740
|
+
shaka.polyfill.PatchedMediaKeysApple = class {
|
|
3741
|
+
/**
|
|
3742
|
+
* Installs the polyfill if needed.
|
|
3743
|
+
*/
|
|
3744
|
+
static install() {}
|
|
3745
|
+
};
|
|
3723
3746
|
/**
|
|
3724
3747
|
* @summary A polyfill to stub out
|
|
3725
3748
|
* {@link https://bit.ly/EmeMar15 EME draft 12 March 2015} on browsers without
|
|
@@ -3999,11 +4022,44 @@ shaka.util.FairPlayUtils = class {
|
|
|
3999
4022
|
*/
|
|
4000
4023
|
static initDataTransform(initData, contentId, cert) {}
|
|
4001
4024
|
/**
|
|
4002
|
-
*
|
|
4025
|
+
* Verimatrix initDataTransform configuration.
|
|
4026
|
+
* @param {!Uint8Array} initData
|
|
4027
|
+
* @param {string} initDataType
|
|
4028
|
+
* @param {?shaka.extern.DrmInfo} drmInfo
|
|
4029
|
+
*/
|
|
4030
|
+
static verimatrixInitDataTransform(initData, initDataType, drmInfo) {}
|
|
4031
|
+
/**
|
|
4032
|
+
* EZDRM initDataTransform configuration.
|
|
4033
|
+
* @param {!Uint8Array} initData
|
|
4034
|
+
* @param {string} initDataType
|
|
4035
|
+
* @param {?shaka.extern.DrmInfo} drmInfo
|
|
4036
|
+
*/
|
|
4037
|
+
static ezdrmInitDataTransform(initData, initDataType, drmInfo) {}
|
|
4038
|
+
/**
|
|
4039
|
+
* Conax initDataTransform configuration.
|
|
4040
|
+
* @param {!Uint8Array} initData
|
|
4041
|
+
* @param {string} initDataType
|
|
4042
|
+
* @param {?shaka.extern.DrmInfo} drmInfo
|
|
4043
|
+
*/
|
|
4044
|
+
static conaxInitDataTransform(initData, initDataType, drmInfo) {}
|
|
4045
|
+
/**
|
|
4046
|
+
* Verimatrix FairPlay request.
|
|
4047
|
+
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
4048
|
+
* @param {shaka.extern.Request} request
|
|
4049
|
+
*/
|
|
4050
|
+
static verimatrixFairPlayRequest(type, request) {}
|
|
4051
|
+
/**
|
|
4052
|
+
* EZDRM FairPlay request.
|
|
4053
|
+
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
4054
|
+
* @param {shaka.extern.Request} request
|
|
4055
|
+
*/
|
|
4056
|
+
static ezdrmFairPlayRequest(type, request) {}
|
|
4057
|
+
/**
|
|
4058
|
+
* Conax FairPlay request.
|
|
4003
4059
|
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
4004
4060
|
* @param {shaka.extern.Request} request
|
|
4005
4061
|
*/
|
|
4006
|
-
static
|
|
4062
|
+
static conaxFairPlayRequest(type, request) {}
|
|
4007
4063
|
/**
|
|
4008
4064
|
* Common FairPlay response transform for some DRMs providers.
|
|
4009
4065
|
* @param {shaka.net.NetworkingEngine.RequestType} type
|