shaka-player 4.1.1 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/build-and-test.yaml +67 -15
- package/.github/workflows/compute-incremental-coverage.py +251 -0
- package/.github/workflows/report-incremental-coverage.yaml +39 -0
- package/.github/workflows/selenium-lab-tests.yaml +44 -1
- package/AUTHORS +1 -0
- package/CHANGELOG.md +36 -8
- package/CONTRIBUTORS +3 -0
- package/README.md +20 -6
- 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 -3
- package/demo/locales/en.json +2 -0
- package/demo/locales/source.json +8 -0
- package/dist/controls.css +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 +6 -5
- package/dist/locales.js +30 -30
- 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 +69 -5
- package/dist/shaka-player.compiled.debug.d.ts +69 -5
- package/dist/shaka-player.compiled.debug.externs.js +111 -42
- package/dist/shaka-player.compiled.debug.js +352 -301
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +111 -42
- package/dist/shaka-player.compiled.js +823 -802
- package/dist/shaka-player.compiled.map +4 -4
- package/dist/shaka-player.ui.d.ts +69 -5
- package/dist/shaka-player.ui.debug.d.ts +69 -5
- package/dist/shaka-player.ui.debug.externs.js +111 -42
- package/dist/shaka-player.ui.debug.js +360 -310
- package/dist/shaka-player.ui.debug.map +4 -4
- package/dist/shaka-player.ui.externs.js +111 -42
- package/dist/shaka-player.ui.js +980 -957
- package/dist/shaka-player.ui.map +4 -4
- package/docs/tutorials/fairplay.md +149 -0
- package/docs/tutorials/ui.md +6 -6
- package/docs/tutorials/upgrade.md +1 -0
- package/docs/tutorials/welcome.md +6 -3
- package/externs/shaka/abr_manager.js +8 -0
- package/externs/shaka/manifest.js +43 -0
- package/externs/shaka/player.js +13 -2
- package/karma.conf.js +3 -11
- package/lib/abr/simple_abr_manager.js +72 -4
- package/lib/ads/client_side_ad_manager.js +1 -1
- package/lib/dash/dash_parser.js +5 -0
- package/lib/hls/hls_parser.js +123 -27
- package/lib/media/drm_engine.js +1 -3
- package/lib/media/media_source_engine.js +57 -24
- package/lib/media/presentation_timeline.js +24 -1
- package/lib/media/segment_index.js +8 -0
- package/lib/media/segment_reference.js +7 -1
- package/lib/media/streaming_engine.js +42 -6
- package/lib/media/time_ranges_utils.js +46 -0
- package/lib/net/networking_engine.js +1 -0
- package/lib/player.js +8 -6
- package/lib/polyfill/media_capabilities.js +9 -0
- package/lib/polyfill/patchedmediakeys_apple.js +729 -0
- package/lib/polyfill/videoplaybackquality.js +3 -1
- package/lib/text/cue.js +0 -5
- package/lib/text/simple_text_displayer.js +21 -9
- package/lib/text/ui_text_displayer.js +83 -19
- package/lib/text/vtt_text_parser.js +61 -4
- package/lib/util/buffer_utils.js +3 -0
- package/lib/util/error.js +21 -1
- package/lib/util/fairplay_utils.js +100 -2
- package/lib/util/object_utils.js +1 -0
- package/lib/util/platform.js +30 -1
- package/lib/util/player_configuration.js +3 -10
- package/lib/util/stream_utils.js +23 -3
- package/lib/util/string_utils.js +102 -13
- package/maintained-branches.md +15 -0
- package/package.json +3 -5
- package/shaka-player.uncompiled.js +1 -0
- package/test/hls/hls_parser_unit.js +49 -33
- package/test/media/drm_engine_integration.js +24 -8
- package/test/media/media_source_engine_integration.js +24 -10
- package/test/media/media_source_engine_unit.js +53 -38
- package/test/media/streaming_engine_unit.js +107 -32
- package/test/test/util/fake_media_source_engine.js +10 -9
- package/test/test/util/simple_fakes.js +4 -0
- package/test/test/util/streaming_engine_util.js +10 -2
- package/test/text/simple_text_displayer_unit.js +27 -0
- package/test/text/ui_text_displayer_unit.js +65 -0
- package/test/text/vtt_text_parser_unit.js +26 -0
- package/test/util/string_utils_unit.js +46 -8
- package/ui/text_selection.js +2 -2
- package/app-engine/README.md +0 -9
- package/app-engine/demo-version-index/README.md +0 -14
- package/app-engine/demo-version-index/app.yaml +0 -28
- package/app-engine/demo-version-index/generate.py +0 -164
- package/app-engine/demo-version-index/main.py +0 -11
- package/app-engine/demo-version-index/requirements.txt +0 -5
- package/app-engine/demo-version-index/templates/index.html +0 -114
- package/app-engine/shaka-player-demo/README.md +0 -18
- package/app-engine/shaka-player-demo/app.yaml +0 -61
- package/app-engine/shaka-player-demo/main.py +0 -95
- package/app-engine/shaka-player-demo/posters/10yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/10yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/1yo.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/2yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/2yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/3yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/3yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/4yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/4yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/5yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/5yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/6yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/6yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/7yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/7yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/8yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/8yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/9yo.png +0 -0
- package/app-engine/shaka-player-demo/posters/9yo.xcf +0 -0
- package/app-engine/shaka-player-demo/posters/audioOnly.gif +0 -0
- package/app-engine/shaka-player-demo/posters/audioRickRoll.gif +0 -0
- package/app-engine/shaka-player-demo/posters/colorbars.gif +0 -0
- package/app-engine/shaka-player-demo/posters/fireworks.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/party-hat.png +0 -0
- package/app-engine/shaka-player-demo/posters/sources.txt +0 -46
- package/app-engine/shaka-player-demo/posters/standard.png +0 -0
- package/app-engine/shaka-player-demo/posters/trek.jpg +0 -0
- package/app-engine/shaka-player-demo/posters/valentines.png +0 -0
- package/app-engine/shaka-player-demo/posters/zombie.jpg +0 -0
- package/app-engine/shaka-player-demo/posters.py +0 -110
- package/app-engine/shaka-player-demo/requirements.txt +0 -5
- package/app-engine/shaka-player-demo/time.txt +0 -1
- package/build/README.md +0 -127
- package/build/__init__.py +0 -0
- package/build/all.py +0 -150
- package/build/apps.py +0 -186
- package/build/build.py +0 -392
- package/build/check.py +0 -354
- package/build/checkversion.py +0 -84
- package/build/compiler.py +0 -513
- package/build/conformance.textproto +0 -335
- package/build/docker/Dockerfile +0 -20
- package/build/docker/docker-compose.yml +0 -10
- package/build/docs.py +0 -54
- package/build/eslint-plugin-shaka-rules/arg-comment-spacing.js +0 -72
- package/build/eslint-plugin-shaka-rules/index.js +0 -24
- package/build/eslint-plugin-shaka-rules/package.json +0 -7
- package/build/eslint-plugin-shaka-rules/private.js +0 -109
- package/build/gendeps.py +0 -71
- package/build/generateExterns.js +0 -867
- package/build/generateLocalizations.py +0 -262
- package/build/generateTsDefs.py +0 -137
- package/build/install-linux-prereqs.sh +0 -136
- package/build/license-header +0 -5
- package/build/misspellings.txt +0 -39
- package/build/pixelsChanged.js +0 -35
- package/build/shaka-lab.yaml +0 -161
- package/build/shakaBuildHelpers.py +0 -356
- package/build/stats.py +0 -816
- package/build/subprocessWindowsPatch.py +0 -103
- package/build/test.py +0 -541
- package/build/types/ads +0 -8
- package/build/types/cast +0 -6
- package/build/types/cea +0 -13
- package/build/types/complete +0 -9
- package/build/types/core +0 -108
- package/build/types/dash +0 -8
- package/build/types/hls +0 -9
- package/build/types/manifests +0 -5
- package/build/types/networking +0 -6
- package/build/types/offline +0 -22
- package/build/types/polyfill +0 -18
- package/build/types/text +0 -11
- package/build/types/ui +0 -39
- package/build/updateScreenshots.py +0 -85
- package/build/wrapper.template.js +0 -52
|
@@ -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
|
}
|
|
@@ -923,6 +924,17 @@ declare namespace shaka.media {
|
|
|
923
924
|
getSegmentAvailabilityStart ( ) : number ;
|
|
924
925
|
isInProgress ( ) : boolean ;
|
|
925
926
|
isLive ( ) : boolean ;
|
|
927
|
+
/**
|
|
928
|
+
* Lock the presentation timeline's start time. After this is called, no
|
|
929
|
+
* further adjustments to presentationStartTime_ will be permitted.
|
|
930
|
+
* This should be called after all Periods have been parsed, and all calls to
|
|
931
|
+
* notifySegments() from the initial manifest parse have been made.
|
|
932
|
+
* Without this, we can get assertion failures in SegmentIndex for certain
|
|
933
|
+
* DAI content. If DAI adds ad segments to the manifest faster than
|
|
934
|
+
* real-time, adjustments to presentationStartTime_ can cause availability
|
|
935
|
+
* windows to jump around on updates.
|
|
936
|
+
*/
|
|
937
|
+
lockStartTime ( ) : any ;
|
|
926
938
|
/**
|
|
927
939
|
* Gives PresentationTimeline a Stream's maximum segment duration so it can
|
|
928
940
|
* size and position the segment availability window. This function should be
|
|
@@ -1091,6 +1103,7 @@ declare namespace shaka.media {
|
|
|
1091
1103
|
*/
|
|
1092
1104
|
constructor (segmentIndex : shaka.media.SegmentIndex | null , index : number , partialSegmentIndex : number ) ;
|
|
1093
1105
|
current ( ) : shaka.media.SegmentReference | null ;
|
|
1106
|
+
currentPosition ( ) : number ;
|
|
1094
1107
|
next ( ) : any ;
|
|
1095
1108
|
}
|
|
1096
1109
|
}
|
|
@@ -1102,7 +1115,7 @@ declare namespace shaka.media {
|
|
|
1102
1115
|
*/
|
|
1103
1116
|
class SegmentReference {
|
|
1104
1117
|
private noStructuralTyping_shaka_media_SegmentReference : any;
|
|
1105
|
-
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 ) ;
|
|
1106
1119
|
/**
|
|
1107
1120
|
* Returns the offset from the start of the resource to the end of the
|
|
1108
1121
|
* segment, inclusive. A value of null indicates that the segment extends to
|
|
@@ -1321,6 +1334,7 @@ declare namespace shaka.net.NetworkingEngine {
|
|
|
1321
1334
|
*/
|
|
1322
1335
|
enum RequestType {
|
|
1323
1336
|
APP = 3.0 ,
|
|
1337
|
+
KEY = 6.0 ,
|
|
1324
1338
|
LICENSE = 2.0 ,
|
|
1325
1339
|
MANIFEST = 0.0 ,
|
|
1326
1340
|
SEGMENT = 1.0 ,
|
|
@@ -1521,6 +1535,16 @@ declare namespace shaka.polyfill {
|
|
|
1521
1535
|
}
|
|
1522
1536
|
}
|
|
1523
1537
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.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.ui.externs.js
|
|
1524
1548
|
declare namespace shaka.polyfill {
|
|
1525
1549
|
class PatchedMediaKeysNop {
|
|
1526
1550
|
private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
|
|
@@ -1644,7 +1668,7 @@ declare namespace shaka.text {
|
|
|
1644
1668
|
linePadding : any ;
|
|
1645
1669
|
nestedCues : any ;
|
|
1646
1670
|
opacity : any ;
|
|
1647
|
-
payload :
|
|
1671
|
+
payload : any ;
|
|
1648
1672
|
position : any ;
|
|
1649
1673
|
positionAlign : any ;
|
|
1650
1674
|
region : any ;
|
|
@@ -2679,10 +2703,13 @@ declare namespace shaka.util.Error {
|
|
|
2679
2703
|
FAILED_TO_CREATE_SESSION = 6005.0 ,
|
|
2680
2704
|
FAILED_TO_GENERATE_LICENSE_REQUEST = 6006.0 ,
|
|
2681
2705
|
HLS_AES_128_ENCRYPTION_NOT_SUPPORTED = 4034.0 ,
|
|
2706
|
+
HLS_AES_128_INVALID_IV_LENGTH = 4043.0 ,
|
|
2707
|
+
HLS_AES_128_INVALID_KEY_LENGTH = 4044.0 ,
|
|
2682
2708
|
HLS_COULD_NOT_GUESS_CODECS = 4025.0 ,
|
|
2683
2709
|
HLS_INTERNAL_SKIP_STREAM = 4035.0 ,
|
|
2684
2710
|
HLS_INVALID_PLAYLIST_HIERARCHY = 4017.0 ,
|
|
2685
2711
|
HLS_KEYFORMATS_NOT_SUPPORTED = 4026.0 ,
|
|
2712
|
+
HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED = 4041.0 ,
|
|
2686
2713
|
HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED = 4040.0 ,
|
|
2687
2714
|
HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND = 4020.0 ,
|
|
2688
2715
|
HLS_PLAYLIST_HEADER_MISSING = 4015.0 ,
|
|
@@ -2725,6 +2752,7 @@ declare namespace shaka.util.Error {
|
|
|
2725
2752
|
NO_RECOGNIZED_KEY_SYSTEMS = 6000.0 ,
|
|
2726
2753
|
NO_VARIANTS = 4036.0 ,
|
|
2727
2754
|
NO_VIDEO_ELEMENT = 7002.0 ,
|
|
2755
|
+
NO_WEB_CRYPTO_API = 4042.0 ,
|
|
2728
2756
|
OBJECT_DESTROYED = 7003.0 ,
|
|
2729
2757
|
OFFLINE_SESSION_REMOVED = 6013.0 ,
|
|
2730
2758
|
OPERATION_ABORTED = 7001.0 ,
|
|
@@ -2820,11 +2848,27 @@ declare namespace shaka.util {
|
|
|
2820
2848
|
* Common FairPlay response transform for some DRMs providers.
|
|
2821
2849
|
*/
|
|
2822
2850
|
static commonFairPlayResponse (type : shaka.net.NetworkingEngine.RequestType , response : shaka.extern.Response ) : any ;
|
|
2851
|
+
/**
|
|
2852
|
+
* Conax FairPlay request.
|
|
2853
|
+
*/
|
|
2854
|
+
static conaxFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2855
|
+
/**
|
|
2856
|
+
* Conax initDataTransform configuration.
|
|
2857
|
+
*/
|
|
2858
|
+
static conaxInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2823
2859
|
/**
|
|
2824
2860
|
* Using the default method, extract a content ID from the init data. This is
|
|
2825
2861
|
* based on the FairPlay example documentation.
|
|
2826
2862
|
*/
|
|
2827
2863
|
static defaultGetContentId (initData : ArrayBuffer | ArrayBufferView ) : string ;
|
|
2864
|
+
/**
|
|
2865
|
+
* EZDRM FairPlay request.
|
|
2866
|
+
*/
|
|
2867
|
+
static ezdrmFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2868
|
+
/**
|
|
2869
|
+
* EZDRM initDataTransform configuration.
|
|
2870
|
+
*/
|
|
2871
|
+
static ezdrmInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2828
2872
|
/**
|
|
2829
2873
|
* Transforms the init data buffer using the given data. The format is:
|
|
2830
2874
|
* <pre>
|
|
@@ -2843,9 +2887,13 @@ declare namespace shaka.util {
|
|
|
2843
2887
|
*/
|
|
2844
2888
|
static isFairPlaySupported ( ) : Promise < boolean > ;
|
|
2845
2889
|
/**
|
|
2846
|
-
*
|
|
2890
|
+
* Verimatrix FairPlay request.
|
|
2891
|
+
*/
|
|
2892
|
+
static verimatrixFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2893
|
+
/**
|
|
2894
|
+
* Verimatrix initDataTransform configuration.
|
|
2847
2895
|
*/
|
|
2848
|
-
static
|
|
2896
|
+
static verimatrixInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2849
2897
|
}
|
|
2850
2898
|
}
|
|
2851
2899
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.externs.js
|
|
@@ -3754,6 +3802,10 @@ declare namespace shaka.extern {
|
|
|
3754
3802
|
* @param numBytes The total number of bytes transferred.
|
|
3755
3803
|
*/
|
|
3756
3804
|
segmentDownloaded (deltaTimeMs : number , numBytes : number ) : any ;
|
|
3805
|
+
/**
|
|
3806
|
+
* Set media element.
|
|
3807
|
+
*/
|
|
3808
|
+
setMediaElement (mediaElement : HTMLMediaElement | null ) : any ;
|
|
3757
3809
|
/**
|
|
3758
3810
|
* Updates manager's variants collection.
|
|
3759
3811
|
*/
|
|
@@ -3889,6 +3941,18 @@ declare namespace shaka.extern {
|
|
|
3889
3941
|
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 } ;
|
|
3890
3942
|
}
|
|
3891
3943
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3944
|
+
declare namespace shaka.extern {
|
|
3945
|
+
/**
|
|
3946
|
+
* A function that fetches the crypto keys for AES-128.
|
|
3947
|
+
* Returns a promise that resolves when the keys have been fetched.
|
|
3948
|
+
*/
|
|
3949
|
+
type FetchCryptoKeysFunction = ( ) => Promise < any > ;
|
|
3950
|
+
}
|
|
3951
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3952
|
+
declare namespace shaka.extern {
|
|
3953
|
+
type HlsAes128Key = { cryptoKey ? : webCrypto.CryptoKey | null , fetchKey ? : shaka.extern.CreateSegmentIndexFunction , firstMediaSequenceNumber : number , iv ? : Uint8Array , method : string } ;
|
|
3954
|
+
}
|
|
3955
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3892
3956
|
declare namespace shaka.extern {
|
|
3893
3957
|
type InitDataOverride = { initData : Uint8Array , initDataType : string , keyId : string | null } ;
|
|
3894
3958
|
}
|
|
@@ -4242,7 +4306,7 @@ declare namespace shaka.extern {
|
|
|
4242
4306
|
}
|
|
4243
4307
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4244
4308
|
declare namespace shaka.extern {
|
|
4245
|
-
type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , defaultBandwidthEstimate : number , enabled : boolean , restrictions : shaka.extern.Restrictions , switchInterval : number , useNetworkInformation : boolean } ;
|
|
4309
|
+
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 } ;
|
|
4246
4310
|
}
|
|
4247
4311
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4248
4312
|
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
|
}
|
|
@@ -923,6 +924,17 @@ declare namespace shaka.media {
|
|
|
923
924
|
getSegmentAvailabilityStart ( ) : number ;
|
|
924
925
|
isInProgress ( ) : boolean ;
|
|
925
926
|
isLive ( ) : boolean ;
|
|
927
|
+
/**
|
|
928
|
+
* Lock the presentation timeline's start time. After this is called, no
|
|
929
|
+
* further adjustments to presentationStartTime_ will be permitted.
|
|
930
|
+
* This should be called after all Periods have been parsed, and all calls to
|
|
931
|
+
* notifySegments() from the initial manifest parse have been made.
|
|
932
|
+
* Without this, we can get assertion failures in SegmentIndex for certain
|
|
933
|
+
* DAI content. If DAI adds ad segments to the manifest faster than
|
|
934
|
+
* real-time, adjustments to presentationStartTime_ can cause availability
|
|
935
|
+
* windows to jump around on updates.
|
|
936
|
+
*/
|
|
937
|
+
lockStartTime ( ) : any ;
|
|
926
938
|
/**
|
|
927
939
|
* Gives PresentationTimeline a Stream's maximum segment duration so it can
|
|
928
940
|
* size and position the segment availability window. This function should be
|
|
@@ -1091,6 +1103,7 @@ declare namespace shaka.media {
|
|
|
1091
1103
|
*/
|
|
1092
1104
|
constructor (segmentIndex : shaka.media.SegmentIndex | null , index : number , partialSegmentIndex : number ) ;
|
|
1093
1105
|
current ( ) : shaka.media.SegmentReference | null ;
|
|
1106
|
+
currentPosition ( ) : number ;
|
|
1094
1107
|
next ( ) : any ;
|
|
1095
1108
|
}
|
|
1096
1109
|
}
|
|
@@ -1102,7 +1115,7 @@ declare namespace shaka.media {
|
|
|
1102
1115
|
*/
|
|
1103
1116
|
class SegmentReference {
|
|
1104
1117
|
private noStructuralTyping_shaka_media_SegmentReference : any;
|
|
1105
|
-
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 ) ;
|
|
1106
1119
|
/**
|
|
1107
1120
|
* Returns the offset from the start of the resource to the end of the
|
|
1108
1121
|
* segment, inclusive. A value of null indicates that the segment extends to
|
|
@@ -1321,6 +1334,7 @@ declare namespace shaka.net.NetworkingEngine {
|
|
|
1321
1334
|
*/
|
|
1322
1335
|
enum RequestType {
|
|
1323
1336
|
APP = 3.0 ,
|
|
1337
|
+
KEY = 6.0 ,
|
|
1324
1338
|
LICENSE = 2.0 ,
|
|
1325
1339
|
MANIFEST = 0.0 ,
|
|
1326
1340
|
SEGMENT = 1.0 ,
|
|
@@ -1521,6 +1535,16 @@ declare namespace shaka.polyfill {
|
|
|
1521
1535
|
}
|
|
1522
1536
|
}
|
|
1523
1537
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.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.ui.debug.externs.js
|
|
1524
1548
|
declare namespace shaka.polyfill {
|
|
1525
1549
|
class PatchedMediaKeysNop {
|
|
1526
1550
|
private noStructuralTyping_shaka_polyfill_PatchedMediaKeysNop : any;
|
|
@@ -1644,7 +1668,7 @@ declare namespace shaka.text {
|
|
|
1644
1668
|
linePadding : any ;
|
|
1645
1669
|
nestedCues : any ;
|
|
1646
1670
|
opacity : any ;
|
|
1647
|
-
payload :
|
|
1671
|
+
payload : any ;
|
|
1648
1672
|
position : any ;
|
|
1649
1673
|
positionAlign : any ;
|
|
1650
1674
|
region : any ;
|
|
@@ -2679,10 +2703,13 @@ declare namespace shaka.util.Error {
|
|
|
2679
2703
|
FAILED_TO_CREATE_SESSION = 6005.0 ,
|
|
2680
2704
|
FAILED_TO_GENERATE_LICENSE_REQUEST = 6006.0 ,
|
|
2681
2705
|
HLS_AES_128_ENCRYPTION_NOT_SUPPORTED = 4034.0 ,
|
|
2706
|
+
HLS_AES_128_INVALID_IV_LENGTH = 4043.0 ,
|
|
2707
|
+
HLS_AES_128_INVALID_KEY_LENGTH = 4044.0 ,
|
|
2682
2708
|
HLS_COULD_NOT_GUESS_CODECS = 4025.0 ,
|
|
2683
2709
|
HLS_INTERNAL_SKIP_STREAM = 4035.0 ,
|
|
2684
2710
|
HLS_INVALID_PLAYLIST_HIERARCHY = 4017.0 ,
|
|
2685
2711
|
HLS_KEYFORMATS_NOT_SUPPORTED = 4026.0 ,
|
|
2712
|
+
HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED = 4041.0 ,
|
|
2686
2713
|
HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED = 4040.0 ,
|
|
2687
2714
|
HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND = 4020.0 ,
|
|
2688
2715
|
HLS_PLAYLIST_HEADER_MISSING = 4015.0 ,
|
|
@@ -2725,6 +2752,7 @@ declare namespace shaka.util.Error {
|
|
|
2725
2752
|
NO_RECOGNIZED_KEY_SYSTEMS = 6000.0 ,
|
|
2726
2753
|
NO_VARIANTS = 4036.0 ,
|
|
2727
2754
|
NO_VIDEO_ELEMENT = 7002.0 ,
|
|
2755
|
+
NO_WEB_CRYPTO_API = 4042.0 ,
|
|
2728
2756
|
OBJECT_DESTROYED = 7003.0 ,
|
|
2729
2757
|
OFFLINE_SESSION_REMOVED = 6013.0 ,
|
|
2730
2758
|
OPERATION_ABORTED = 7001.0 ,
|
|
@@ -2820,11 +2848,27 @@ declare namespace shaka.util {
|
|
|
2820
2848
|
* Common FairPlay response transform for some DRMs providers.
|
|
2821
2849
|
*/
|
|
2822
2850
|
static commonFairPlayResponse (type : shaka.net.NetworkingEngine.RequestType , response : shaka.extern.Response ) : any ;
|
|
2851
|
+
/**
|
|
2852
|
+
* Conax FairPlay request.
|
|
2853
|
+
*/
|
|
2854
|
+
static conaxFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2855
|
+
/**
|
|
2856
|
+
* Conax initDataTransform configuration.
|
|
2857
|
+
*/
|
|
2858
|
+
static conaxInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2823
2859
|
/**
|
|
2824
2860
|
* Using the default method, extract a content ID from the init data. This is
|
|
2825
2861
|
* based on the FairPlay example documentation.
|
|
2826
2862
|
*/
|
|
2827
2863
|
static defaultGetContentId (initData : ArrayBuffer | ArrayBufferView ) : string ;
|
|
2864
|
+
/**
|
|
2865
|
+
* EZDRM FairPlay request.
|
|
2866
|
+
*/
|
|
2867
|
+
static ezdrmFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2868
|
+
/**
|
|
2869
|
+
* EZDRM initDataTransform configuration.
|
|
2870
|
+
*/
|
|
2871
|
+
static ezdrmInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2828
2872
|
/**
|
|
2829
2873
|
* Transforms the init data buffer using the given data. The format is:
|
|
2830
2874
|
* <pre>
|
|
@@ -2843,9 +2887,13 @@ declare namespace shaka.util {
|
|
|
2843
2887
|
*/
|
|
2844
2888
|
static isFairPlaySupported ( ) : Promise < boolean > ;
|
|
2845
2889
|
/**
|
|
2846
|
-
*
|
|
2890
|
+
* Verimatrix FairPlay request.
|
|
2891
|
+
*/
|
|
2892
|
+
static verimatrixFairPlayRequest (type : shaka.net.NetworkingEngine.RequestType , request : shaka.extern.Request ) : any ;
|
|
2893
|
+
/**
|
|
2894
|
+
* Verimatrix initDataTransform configuration.
|
|
2847
2895
|
*/
|
|
2848
|
-
static
|
|
2896
|
+
static verimatrixInitDataTransform (initData : Uint8Array , initDataType : string , drmInfo : shaka.extern.DrmInfo | null ) : any ;
|
|
2849
2897
|
}
|
|
2850
2898
|
}
|
|
2851
2899
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.ui.debug.externs.js
|
|
@@ -3754,6 +3802,10 @@ declare namespace shaka.extern {
|
|
|
3754
3802
|
* @param numBytes The total number of bytes transferred.
|
|
3755
3803
|
*/
|
|
3756
3804
|
segmentDownloaded (deltaTimeMs : number , numBytes : number ) : any ;
|
|
3805
|
+
/**
|
|
3806
|
+
* Set media element.
|
|
3807
|
+
*/
|
|
3808
|
+
setMediaElement (mediaElement : HTMLMediaElement | null ) : any ;
|
|
3757
3809
|
/**
|
|
3758
3810
|
* Updates manager's variants collection.
|
|
3759
3811
|
*/
|
|
@@ -3889,6 +3941,18 @@ declare namespace shaka.extern {
|
|
|
3889
3941
|
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 } ;
|
|
3890
3942
|
}
|
|
3891
3943
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3944
|
+
declare namespace shaka.extern {
|
|
3945
|
+
/**
|
|
3946
|
+
* A function that fetches the crypto keys for AES-128.
|
|
3947
|
+
* Returns a promise that resolves when the keys have been fetched.
|
|
3948
|
+
*/
|
|
3949
|
+
type FetchCryptoKeysFunction = ( ) => Promise < any > ;
|
|
3950
|
+
}
|
|
3951
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3952
|
+
declare namespace shaka.extern {
|
|
3953
|
+
type HlsAes128Key = { cryptoKey ? : webCrypto.CryptoKey | null , fetchKey ? : shaka.extern.CreateSegmentIndexFunction , firstMediaSequenceNumber : number , iv ? : Uint8Array , method : string } ;
|
|
3954
|
+
}
|
|
3955
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/manifest.js
|
|
3892
3956
|
declare namespace shaka.extern {
|
|
3893
3957
|
type InitDataOverride = { initData : Uint8Array , initDataType : string , keyId : string | null } ;
|
|
3894
3958
|
}
|
|
@@ -4242,7 +4306,7 @@ declare namespace shaka.extern {
|
|
|
4242
4306
|
}
|
|
4243
4307
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4244
4308
|
declare namespace shaka.extern {
|
|
4245
|
-
type AbrConfiguration = { advanced : shaka.extern.AdvancedAbrConfiguration , bandwidthDowngradeTarget : number , bandwidthUpgradeTarget : number , defaultBandwidthEstimate : number , enabled : boolean , restrictions : shaka.extern.Restrictions , switchInterval : number , useNetworkInformation : boolean } ;
|
|
4309
|
+
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 } ;
|
|
4246
4310
|
}
|
|
4247
4311
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4248
4312
|
declare namespace shaka.extern {
|
|
@@ -265,6 +265,10 @@ shaka.util.Error.Code = {
|
|
|
265
265
|
'INCONSISTENT_DRM_ACROSS_PERIODS': 4038,
|
|
266
266
|
'HLS_VARIABLE_NOT_FOUND': 4039,
|
|
267
267
|
'HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED': 4040,
|
|
268
|
+
'HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED': 4041,
|
|
269
|
+
'NO_WEB_CRYPTO_API': 4042,
|
|
270
|
+
'HLS_AES_128_INVALID_IV_LENGTH': 4043,
|
|
271
|
+
'HLS_AES_128_INVALID_KEY_LENGTH': 4044,
|
|
268
272
|
'STREAMING_ENGINE_STARTUP_INVALID_STATE': 5006,
|
|
269
273
|
'NO_RECOGNIZED_KEY_SYSTEMS': 6000,
|
|
270
274
|
'REQUESTED_KEY_SYSTEM_CONFIG_UNAVAILABLE': 6001,
|
|
@@ -587,7 +591,6 @@ shaka.text.Cue.prototype.direction;
|
|
|
587
591
|
shaka.text.Cue.prototype.endTime;
|
|
588
592
|
/**
|
|
589
593
|
* @override
|
|
590
|
-
* @type {string}
|
|
591
594
|
*/
|
|
592
595
|
shaka.text.Cue.prototype.payload;
|
|
593
596
|
/**
|
|
@@ -912,6 +915,7 @@ shaka.util.BufferUtils = class {
|
|
|
912
915
|
* @param {?BufferSource} arr1
|
|
913
916
|
* @param {?BufferSource} arr2
|
|
914
917
|
* @return {boolean}
|
|
918
|
+
* @suppress {strictMissingProperties}
|
|
915
919
|
*/
|
|
916
920
|
static equal(arr1, arr2) {}
|
|
917
921
|
/**
|
|
@@ -980,6 +984,43 @@ shaka.dependencies = class {
|
|
|
980
984
|
shaka.dependencies.Allowed = {
|
|
981
985
|
muxjs: 'muxjs'
|
|
982
986
|
};
|
|
987
|
+
/**
|
|
988
|
+
* A timer allows a single function to be executed at a later time or at
|
|
989
|
+
* regular intervals.
|
|
990
|
+
* @final
|
|
991
|
+
*/
|
|
992
|
+
shaka.util.Timer = class {
|
|
993
|
+
/**
|
|
994
|
+
* Create a new timer. A timer is committed to a single callback function.
|
|
995
|
+
* While there is no technical reason to do this, it is far easier to
|
|
996
|
+
* understand and use timers when they are connected to one functional idea.
|
|
997
|
+
* @param {function()} onTick
|
|
998
|
+
*/
|
|
999
|
+
constructor(onTick) {}
|
|
1000
|
+
/**
|
|
1001
|
+
* Have the timer call |onTick| now.
|
|
1002
|
+
* @return {!shaka.util.Timer}
|
|
1003
|
+
*/
|
|
1004
|
+
tickNow() {}
|
|
1005
|
+
/**
|
|
1006
|
+
* Have the timer call |onTick| after |seconds| has elapsed unless |stop| is
|
|
1007
|
+
* called first.
|
|
1008
|
+
* @param {number} seconds
|
|
1009
|
+
* @return {!shaka.util.Timer}
|
|
1010
|
+
*/
|
|
1011
|
+
tickAfter(seconds) {}
|
|
1012
|
+
/**
|
|
1013
|
+
* Have the timer call |onTick| every |seconds| until |stop| is called.
|
|
1014
|
+
* @param {number} seconds
|
|
1015
|
+
* @return {!shaka.util.Timer}
|
|
1016
|
+
*/
|
|
1017
|
+
tickEvery(seconds) {}
|
|
1018
|
+
/**
|
|
1019
|
+
* Stop the timer and clear the previous behaviour. The timer is still usable
|
|
1020
|
+
* after calling |stop|.
|
|
1021
|
+
*/
|
|
1022
|
+
stop() {}
|
|
1023
|
+
};
|
|
983
1024
|
/**
|
|
984
1025
|
* @namespace shaka.util.StringUtils
|
|
985
1026
|
* @summary A set of string utility functions.
|
|
@@ -1112,43 +1153,6 @@ shaka.text.TextEngine = class {
|
|
|
1112
1153
|
*/
|
|
1113
1154
|
destroy() {}
|
|
1114
1155
|
};
|
|
1115
|
-
/**
|
|
1116
|
-
* A timer allows a single function to be executed at a later time or at
|
|
1117
|
-
* regular intervals.
|
|
1118
|
-
* @final
|
|
1119
|
-
*/
|
|
1120
|
-
shaka.util.Timer = class {
|
|
1121
|
-
/**
|
|
1122
|
-
* Create a new timer. A timer is committed to a single callback function.
|
|
1123
|
-
* While there is no technical reason to do this, it is far easier to
|
|
1124
|
-
* understand and use timers when they are connected to one functional idea.
|
|
1125
|
-
* @param {function()} onTick
|
|
1126
|
-
*/
|
|
1127
|
-
constructor(onTick) {}
|
|
1128
|
-
/**
|
|
1129
|
-
* Have the timer call |onTick| now.
|
|
1130
|
-
* @return {!shaka.util.Timer}
|
|
1131
|
-
*/
|
|
1132
|
-
tickNow() {}
|
|
1133
|
-
/**
|
|
1134
|
-
* Have the timer call |onTick| after |seconds| has elapsed unless |stop| is
|
|
1135
|
-
* called first.
|
|
1136
|
-
* @param {number} seconds
|
|
1137
|
-
* @return {!shaka.util.Timer}
|
|
1138
|
-
*/
|
|
1139
|
-
tickAfter(seconds) {}
|
|
1140
|
-
/**
|
|
1141
|
-
* Have the timer call |onTick| every |seconds| until |stop| is called.
|
|
1142
|
-
* @param {number} seconds
|
|
1143
|
-
* @return {!shaka.util.Timer}
|
|
1144
|
-
*/
|
|
1145
|
-
tickEvery(seconds) {}
|
|
1146
|
-
/**
|
|
1147
|
-
* Stop the timer and clear the previous behaviour. The timer is still usable
|
|
1148
|
-
* after calling |stop|.
|
|
1149
|
-
*/
|
|
1150
|
-
stop() {}
|
|
1151
|
-
};
|
|
1152
1156
|
/**
|
|
1153
1157
|
* @summary
|
|
1154
1158
|
* <p>
|
|
@@ -1207,6 +1211,10 @@ shaka.abr.SimpleAbrManager = class {
|
|
|
1207
1211
|
* @override
|
|
1208
1212
|
*/
|
|
1209
1213
|
playbackRateChanged(rate) {}
|
|
1214
|
+
/**
|
|
1215
|
+
* @override
|
|
1216
|
+
*/
|
|
1217
|
+
setMediaElement(mediaElement) {}
|
|
1210
1218
|
/**
|
|
1211
1219
|
* @override
|
|
1212
1220
|
*/
|
|
@@ -1440,7 +1448,8 @@ shaka.net.NetworkingEngine.RequestType = {
|
|
|
1440
1448
|
'LICENSE': 2,
|
|
1441
1449
|
'APP': 3,
|
|
1442
1450
|
'TIMING': 4,
|
|
1443
|
-
'SERVER_CERTIFICATE': 5
|
|
1451
|
+
'SERVER_CERTIFICATE': 5,
|
|
1452
|
+
'KEY': 6
|
|
1444
1453
|
};
|
|
1445
1454
|
/**
|
|
1446
1455
|
* Priority level for network scheme plugins.
|
|
@@ -1809,8 +1818,10 @@ shaka.media.SegmentReference = class {
|
|
|
1809
1818
|
* @param {shaka.media.SegmentReference.Status=} status
|
|
1810
1819
|
* The segment status is used to indicate that a segment does not exist or is
|
|
1811
1820
|
* not available.
|
|
1821
|
+
* @param {?shaka.extern.HlsAes128Key=} hlsAes128Key
|
|
1822
|
+
* The segment's AES-128-CBC full segment encryption key and iv.
|
|
1812
1823
|
*/
|
|
1813
|
-
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status) {}
|
|
1824
|
+
constructor(startTime, endTime, uris, startByte, endByte, initSegmentReference, timestampOffset, appendWindowStart, appendWindowEnd, partialReferences, tilesLayout, tileDuration, syncTime, status, hlsAes128Key) {}
|
|
1814
1825
|
/**
|
|
1815
1826
|
* Creates and returns the URIs of the resource containing the segment.
|
|
1816
1827
|
* @return {!Array.<string>}
|
|
@@ -1942,6 +1953,17 @@ shaka.media.PresentationTimeline = class {
|
|
|
1942
1953
|
* @param {!Array.<!shaka.media.SegmentReference>} references
|
|
1943
1954
|
*/
|
|
1944
1955
|
notifySegments(references) {}
|
|
1956
|
+
/**
|
|
1957
|
+
* Lock the presentation timeline's start time. After this is called, no
|
|
1958
|
+
* further adjustments to presentationStartTime_ will be permitted.
|
|
1959
|
+
* This should be called after all Periods have been parsed, and all calls to
|
|
1960
|
+
* notifySegments() from the initial manifest parse have been made.
|
|
1961
|
+
* Without this, we can get assertion failures in SegmentIndex for certain
|
|
1962
|
+
* DAI content. If DAI adds ad segments to the manifest faster than
|
|
1963
|
+
* real-time, adjustments to presentationStartTime_ can cause availability
|
|
1964
|
+
* windows to jump around on updates.
|
|
1965
|
+
*/
|
|
1966
|
+
lockStartTime() {}
|
|
1945
1967
|
/**
|
|
1946
1968
|
* Gives PresentationTimeline a Stream's minimum segment start time.
|
|
1947
1969
|
* @param {number} startTime
|
|
@@ -2146,6 +2168,10 @@ shaka.media.SegmentIterator = class {
|
|
|
2146
2168
|
* @param {number} partialSegmentIndex
|
|
2147
2169
|
*/
|
|
2148
2170
|
constructor(segmentIndex, index, partialSegmentIndex) {}
|
|
2171
|
+
/**
|
|
2172
|
+
* @return {number}
|
|
2173
|
+
*/
|
|
2174
|
+
currentPosition() {}
|
|
2149
2175
|
/**
|
|
2150
2176
|
* @return {shaka.media.SegmentReference}
|
|
2151
2177
|
*/
|
|
@@ -3816,6 +3842,16 @@ shaka.polyfill.Orientation = class {
|
|
|
3816
3842
|
*/
|
|
3817
3843
|
static install() {}
|
|
3818
3844
|
};
|
|
3845
|
+
/**
|
|
3846
|
+
* @summary A polyfill to implement modern, standardized EME on top of Apple's
|
|
3847
|
+
* prefixed EME in Safari.
|
|
3848
|
+
*/
|
|
3849
|
+
shaka.polyfill.PatchedMediaKeysApple = class {
|
|
3850
|
+
/**
|
|
3851
|
+
* Installs the polyfill if needed.
|
|
3852
|
+
*/
|
|
3853
|
+
static install() {}
|
|
3854
|
+
};
|
|
3819
3855
|
/**
|
|
3820
3856
|
* @summary A polyfill to stub out
|
|
3821
3857
|
* {@link https://bit.ly/EmeMar15 EME draft 12 March 2015} on browsers without
|
|
@@ -4095,11 +4131,44 @@ shaka.util.FairPlayUtils = class {
|
|
|
4095
4131
|
*/
|
|
4096
4132
|
static initDataTransform(initData, contentId, cert) {}
|
|
4097
4133
|
/**
|
|
4098
|
-
*
|
|
4134
|
+
* Verimatrix initDataTransform configuration.
|
|
4135
|
+
* @param {!Uint8Array} initData
|
|
4136
|
+
* @param {string} initDataType
|
|
4137
|
+
* @param {?shaka.extern.DrmInfo} drmInfo
|
|
4138
|
+
*/
|
|
4139
|
+
static verimatrixInitDataTransform(initData, initDataType, drmInfo) {}
|
|
4140
|
+
/**
|
|
4141
|
+
* EZDRM initDataTransform configuration.
|
|
4142
|
+
* @param {!Uint8Array} initData
|
|
4143
|
+
* @param {string} initDataType
|
|
4144
|
+
* @param {?shaka.extern.DrmInfo} drmInfo
|
|
4145
|
+
*/
|
|
4146
|
+
static ezdrmInitDataTransform(initData, initDataType, drmInfo) {}
|
|
4147
|
+
/**
|
|
4148
|
+
* Conax initDataTransform configuration.
|
|
4149
|
+
* @param {!Uint8Array} initData
|
|
4150
|
+
* @param {string} initDataType
|
|
4151
|
+
* @param {?shaka.extern.DrmInfo} drmInfo
|
|
4152
|
+
*/
|
|
4153
|
+
static conaxInitDataTransform(initData, initDataType, drmInfo) {}
|
|
4154
|
+
/**
|
|
4155
|
+
* Verimatrix FairPlay request.
|
|
4156
|
+
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
4157
|
+
* @param {shaka.extern.Request} request
|
|
4158
|
+
*/
|
|
4159
|
+
static verimatrixFairPlayRequest(type, request) {}
|
|
4160
|
+
/**
|
|
4161
|
+
* EZDRM FairPlay request.
|
|
4162
|
+
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
4163
|
+
* @param {shaka.extern.Request} request
|
|
4164
|
+
*/
|
|
4165
|
+
static ezdrmFairPlayRequest(type, request) {}
|
|
4166
|
+
/**
|
|
4167
|
+
* Conax FairPlay request.
|
|
4099
4168
|
* @param {shaka.net.NetworkingEngine.RequestType} type
|
|
4100
4169
|
* @param {shaka.extern.Request} request
|
|
4101
4170
|
*/
|
|
4102
|
-
static
|
|
4171
|
+
static conaxFairPlayRequest(type, request) {}
|
|
4103
4172
|
/**
|
|
4104
4173
|
* Common FairPlay response transform for some DRMs providers.
|
|
4105
4174
|
* @param {shaka.net.NetworkingEngine.RequestType} type
|