shaka-player 4.3.5 → 4.3.7
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/demo-version-index.yaml +3 -3
- package/.github/workflows/selenium-lab-tests.yaml +23 -1
- package/AUTHORS +2 -1
- package/CHANGELOG.md +53 -0
- package/CONTRIBUTORS +4 -1
- package/README.md +3 -0
- package/demo/demo.less +1 -0
- package/dist/controls.css +2 -2
- package/dist/controls.css.map +1 -1
- package/dist/demo.compiled.debug.js +167 -296
- package/dist/demo.compiled.debug.map +4 -4
- package/dist/demo.compiled.js +167 -296
- package/dist/demo.compiled.map +4 -4
- package/dist/demo.css +1 -1
- package/dist/demo.css.map +1 -1
- package/dist/deps.js +1 -1
- package/dist/locales.js +32 -32
- package/dist/receiver.compiled.debug.js +34 -63
- package/dist/receiver.compiled.debug.map +4 -4
- package/dist/receiver.compiled.js +34 -63
- package/dist/receiver.compiled.map +4 -4
- package/dist/shaka-player.compiled.d.ts +20 -3
- package/dist/shaka-player.compiled.debug.d.ts +20 -3
- package/dist/shaka-player.compiled.debug.externs.js +29 -14
- package/dist/shaka-player.compiled.debug.js +303 -292
- package/dist/shaka-player.compiled.debug.map +4 -4
- package/dist/shaka-player.compiled.externs.js +29 -14
- package/dist/shaka-player.compiled.js +886 -879
- package/dist/shaka-player.compiled.map +3 -3
- package/dist/shaka-player.ui.d.ts +20 -3
- package/dist/shaka-player.ui.debug.d.ts +20 -3
- package/dist/shaka-player.ui.debug.externs.js +17 -2
- package/dist/shaka-player.ui.debug.js +321 -309
- package/dist/shaka-player.ui.debug.map +3 -3
- package/dist/shaka-player.ui.externs.js +17 -2
- package/dist/shaka-player.ui.js +1027 -1021
- package/dist/shaka-player.ui.map +3 -3
- package/docs/tutorials/a11y.md +0 -4
- package/docs/tutorials/ad_monetization.md +0 -4
- package/docs/tutorials/basic-usage.md +0 -5
- package/docs/tutorials/config.md +0 -5
- package/docs/tutorials/debugging.md +0 -5
- package/docs/tutorials/drm-config.md +0 -5
- package/docs/tutorials/fairplay.md +2 -2
- package/docs/tutorials/license-server-auth.md +0 -5
- package/docs/tutorials/license-wrapping.md +0 -5
- package/docs/tutorials/network-and-buffering-config.md +0 -5
- package/docs/tutorials/ui-customization.md +0 -5
- package/docs/tutorials/ui.md +0 -7
- package/docs/tutorials/welcome.md +1 -6
- package/externs/network_information.js +7 -2
- package/externs/shaka/abr_manager.js +6 -0
- package/externs/shaka/net.js +1 -0
- package/externs/shaka/player.js +13 -7
- package/lib/abr/simple_abr_manager.js +27 -3
- package/lib/ads/client_side_ad_manager.js +6 -3
- package/lib/cea/mp4_cea_parser.js +5 -2
- package/lib/dash/dash_parser.js +49 -48
- package/lib/debug/log.js +9 -13
- package/lib/hls/hls_parser.js +60 -7
- package/lib/hls/manifest_text_parser.js +10 -1
- package/lib/media/drm_engine.js +9 -6
- package/lib/media/media_source_engine.js +33 -13
- package/lib/media/presentation_timeline.js +9 -2
- package/lib/media/segment_index.js +2 -0
- package/lib/media/segment_reference.js +25 -2
- package/lib/media/streaming_engine.js +40 -11
- package/lib/net/http_fetch_plugin.js +79 -57
- package/lib/net/networking_engine.js +1 -0
- package/lib/player.js +26 -3
- package/lib/polyfill/media_capabilities.js +13 -0
- package/lib/text/mp4_vtt_parser.js +4 -0
- package/lib/text/text_engine.js +1 -0
- package/lib/util/manifest_parser_utils.js +1 -2
- package/lib/util/mime_utils.js +11 -0
- package/lib/util/periods.js +5 -5
- package/lib/util/stream_utils.js +2 -2
- package/maintained-branches.md +2 -3
- package/package.json +8 -3
- package/test/cea/mp4_cea_parser_unit.js +19 -0
- package/test/dash/dash_parser_live_unit.js +3 -2
- package/test/hls/hls_live_unit.js +3 -1
- package/test/hls/hls_parser_unit.js +156 -0
- package/test/media/content_workarounds_unit.js +43 -0
- package/test/media/drm_engine_integration.js +4 -17
- package/test/media/media_source_engine_unit.js +30 -0
- package/test/media/streaming_engine_unit.js +6 -1
- package/test/net/networking_engine_unit.js +6 -1
- package/test/player_integration.js +39 -0
- package/test/player_unit.js +57 -0
- package/test/polyfill/media_capabilities_unit.js +1 -0
- package/test/test/assets/h265-cea-init.mp4 +0 -0
- package/test/test/assets/h265-cea-segment.mp4 +0 -0
- package/test/test/assets/text-clip-alt.vtt +63 -0
- package/test/test/util/fake_drm_engine.js +3 -0
- package/test/test/util/fake_media_source_engine.js +4 -0
- package/test/test/util/layout_tests.js +4 -3
- package/test/test/util/simple_fakes.js +6 -0
- package/test/test/util/test_scheme.js +9 -14
- package/test/text/mp4_vtt_parser_unit.js +8 -0
- package/test/util/mime_utils_unit.js +10 -0
- package/ui/less/containers.less +4 -0
|
@@ -467,7 +467,7 @@ declare namespace shaka.Player {
|
|
|
467
467
|
}
|
|
468
468
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.externs.js
|
|
469
469
|
declare namespace shaka.abr {
|
|
470
|
-
class SimpleAbrManager implements shaka.extern.AbrManager {
|
|
470
|
+
class SimpleAbrManager implements shaka.extern.AbrManager , shaka.util.IReleasable {
|
|
471
471
|
private noStructuralTyping_shaka_abr_SimpleAbrManager : any;
|
|
472
472
|
chooseVariant ( ) : any ;
|
|
473
473
|
configure (config : any ) : any ;
|
|
@@ -476,6 +476,7 @@ declare namespace shaka.abr {
|
|
|
476
476
|
getBandwidthEstimate ( ) : any ;
|
|
477
477
|
init (switchCallback : any ) : any ;
|
|
478
478
|
playbackRateChanged (rate : any ) : any ;
|
|
479
|
+
release ( ) : any ;
|
|
479
480
|
segmentDownloaded (deltaTimeMs : any , numBytes : any ) : any ;
|
|
480
481
|
setMediaElement (mediaElement : any ) : any ;
|
|
481
482
|
setVariants (variants : any ) : any ;
|
|
@@ -1198,6 +1199,14 @@ declare namespace shaka.media {
|
|
|
1198
1199
|
* Creates and returns the URIs of the resource containing the segment.
|
|
1199
1200
|
*/
|
|
1200
1201
|
getUris ( ) : string [] ;
|
|
1202
|
+
/**
|
|
1203
|
+
* Returns true if the segment is preloaded.
|
|
1204
|
+
*/
|
|
1205
|
+
isPreload ( ) : boolean ;
|
|
1206
|
+
/**
|
|
1207
|
+
* Mark the reference as preload.
|
|
1208
|
+
*/
|
|
1209
|
+
markAsPreload ( ) : any ;
|
|
1201
1210
|
/**
|
|
1202
1211
|
* Mark the reference as unavailable.
|
|
1203
1212
|
*/
|
|
@@ -3490,6 +3499,10 @@ declare namespace shaka.extern {
|
|
|
3490
3499
|
* Updates manager playback rate.
|
|
3491
3500
|
*/
|
|
3492
3501
|
playbackRateChanged (rate : number ) : any ;
|
|
3502
|
+
/**
|
|
3503
|
+
* Request that this object release all internal references.
|
|
3504
|
+
*/
|
|
3505
|
+
release ( ) : any ;
|
|
3493
3506
|
/**
|
|
3494
3507
|
* Notifies the AbrManager that a segment has been downloaded (includes MP4
|
|
3495
3508
|
* SIDX data, WebM Cues data, initialization segments, and media segments).
|
|
@@ -3768,7 +3781,7 @@ declare namespace shaka.extern {
|
|
|
3768
3781
|
}
|
|
3769
3782
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
|
|
3770
3783
|
declare namespace shaka.extern {
|
|
3771
|
-
type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , status ? : number , timeMs ? : number , uri : string } ;
|
|
3784
|
+
type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , originalUri : string , status ? : number , timeMs ? : number , uri : string } ;
|
|
3772
3785
|
}
|
|
3773
3786
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
|
|
3774
3787
|
declare namespace shaka.extern {
|
|
@@ -4035,7 +4048,7 @@ declare namespace shaka.extern {
|
|
|
4035
4048
|
}
|
|
4036
4049
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4037
4050
|
declare namespace shaka.extern {
|
|
4038
|
-
type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? :
|
|
4051
|
+
type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : shaka.extern.InitDataTransform , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , parseInbandPsshEnabled : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
|
|
4039
4052
|
}
|
|
4040
4053
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4041
4054
|
declare namespace shaka.extern {
|
|
@@ -4054,6 +4067,10 @@ declare namespace shaka.extern {
|
|
|
4054
4067
|
type ID3Metadata = { cueTime : number | null , data : Uint8Array , dts : number | null , frames : shaka.extern.MetadataFrame [] , pts : number | null } ;
|
|
4055
4068
|
}
|
|
4056
4069
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4070
|
+
declare namespace shaka.extern {
|
|
4071
|
+
type InitDataTransform = (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array ;
|
|
4072
|
+
}
|
|
4073
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4057
4074
|
declare namespace shaka.extern {
|
|
4058
4075
|
type LanguageRole = { label : string | null , language : string , role : string } ;
|
|
4059
4076
|
}
|
|
@@ -467,7 +467,7 @@ declare namespace shaka.Player {
|
|
|
467
467
|
}
|
|
468
468
|
// Generated from /home/runner/work/shaka-player/shaka-player/dist/shaka-player.compiled.debug.externs.js
|
|
469
469
|
declare namespace shaka.abr {
|
|
470
|
-
class SimpleAbrManager implements shaka.extern.AbrManager {
|
|
470
|
+
class SimpleAbrManager implements shaka.extern.AbrManager , shaka.util.IReleasable {
|
|
471
471
|
private noStructuralTyping_shaka_abr_SimpleAbrManager : any;
|
|
472
472
|
chooseVariant ( ) : any ;
|
|
473
473
|
configure (config : any ) : any ;
|
|
@@ -476,6 +476,7 @@ declare namespace shaka.abr {
|
|
|
476
476
|
getBandwidthEstimate ( ) : any ;
|
|
477
477
|
init (switchCallback : any ) : any ;
|
|
478
478
|
playbackRateChanged (rate : any ) : any ;
|
|
479
|
+
release ( ) : any ;
|
|
479
480
|
segmentDownloaded (deltaTimeMs : any , numBytes : any ) : any ;
|
|
480
481
|
setMediaElement (mediaElement : any ) : any ;
|
|
481
482
|
setVariants (variants : any ) : any ;
|
|
@@ -1198,6 +1199,14 @@ declare namespace shaka.media {
|
|
|
1198
1199
|
* Creates and returns the URIs of the resource containing the segment.
|
|
1199
1200
|
*/
|
|
1200
1201
|
getUris ( ) : string [] ;
|
|
1202
|
+
/**
|
|
1203
|
+
* Returns true if the segment is preloaded.
|
|
1204
|
+
*/
|
|
1205
|
+
isPreload ( ) : boolean ;
|
|
1206
|
+
/**
|
|
1207
|
+
* Mark the reference as preload.
|
|
1208
|
+
*/
|
|
1209
|
+
markAsPreload ( ) : any ;
|
|
1201
1210
|
/**
|
|
1202
1211
|
* Mark the reference as unavailable.
|
|
1203
1212
|
*/
|
|
@@ -3490,6 +3499,10 @@ declare namespace shaka.extern {
|
|
|
3490
3499
|
* Updates manager playback rate.
|
|
3491
3500
|
*/
|
|
3492
3501
|
playbackRateChanged (rate : number ) : any ;
|
|
3502
|
+
/**
|
|
3503
|
+
* Request that this object release all internal references.
|
|
3504
|
+
*/
|
|
3505
|
+
release ( ) : any ;
|
|
3493
3506
|
/**
|
|
3494
3507
|
* Notifies the AbrManager that a segment has been downloaded (includes MP4
|
|
3495
3508
|
* SIDX data, WebM Cues data, initialization segments, and media segments).
|
|
@@ -3768,7 +3781,7 @@ declare namespace shaka.extern {
|
|
|
3768
3781
|
}
|
|
3769
3782
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
|
|
3770
3783
|
declare namespace shaka.extern {
|
|
3771
|
-
type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , status ? : number , timeMs ? : number , uri : string } ;
|
|
3784
|
+
type Response = { data : ArrayBuffer | ArrayBufferView , fromCache ? : boolean , headers : { [ key: string ]: string } , originalUri : string , status ? : number , timeMs ? : number , uri : string } ;
|
|
3772
3785
|
}
|
|
3773
3786
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/net.js
|
|
3774
3787
|
declare namespace shaka.extern {
|
|
@@ -4035,7 +4048,7 @@ declare namespace shaka.extern {
|
|
|
4035
4048
|
}
|
|
4036
4049
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4037
4050
|
declare namespace shaka.extern {
|
|
4038
|
-
type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? :
|
|
4051
|
+
type DrmConfiguration = { advanced : { [ key: string ]: shaka.extern.AdvancedDrmConfiguration } | null , clearKeys : { [ key: string ]: string } , delayLicenseRequestUntilPlayed : boolean , initDataTransform ? : shaka.extern.InitDataTransform , keySystemsMapping : { [ key: string ]: string } , logLicenseExchange : boolean , parseInbandPsshEnabled : boolean , preferredKeySystems : string [] , retryParameters : shaka.extern.RetryParameters , servers : { [ key: string ]: string } , updateExpirationTime : number } ;
|
|
4039
4052
|
}
|
|
4040
4053
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4041
4054
|
declare namespace shaka.extern {
|
|
@@ -4054,6 +4067,10 @@ declare namespace shaka.extern {
|
|
|
4054
4067
|
type ID3Metadata = { cueTime : number | null , data : Uint8Array , dts : number | null , frames : shaka.extern.MetadataFrame [] , pts : number | null } ;
|
|
4055
4068
|
}
|
|
4056
4069
|
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4070
|
+
declare namespace shaka.extern {
|
|
4071
|
+
type InitDataTransform = (a : Uint8Array , b : string , c : shaka.extern.DrmInfo | null ) => Uint8Array ;
|
|
4072
|
+
}
|
|
4073
|
+
// Generated from /home/runner/work/shaka-player/shaka-player/externs/shaka/player.js
|
|
4057
4074
|
declare namespace shaka.extern {
|
|
4058
4075
|
type LanguageRole = { label : string | null , language : string , role : string } ;
|
|
4059
4076
|
}
|
|
@@ -40,6 +40,18 @@ shaka.util = {};
|
|
|
40
40
|
/** @const */
|
|
41
41
|
shaka.util.CmcdManager = {};
|
|
42
42
|
|
|
43
|
+
/**
|
|
44
|
+
* An interface to standardize how objects release internal references
|
|
45
|
+
* synchronously. If an object needs to asynchronously release references, then
|
|
46
|
+
* it should use 'shaka.util.IDestroyable'.
|
|
47
|
+
* @interface
|
|
48
|
+
*/
|
|
49
|
+
shaka.util.IReleasable = class {
|
|
50
|
+
/**
|
|
51
|
+
* Request that this object release all internal references.
|
|
52
|
+
*/
|
|
53
|
+
release() {}
|
|
54
|
+
};
|
|
43
55
|
/**
|
|
44
56
|
* @implements {shaka.extern.Cue}
|
|
45
57
|
*/
|
|
@@ -993,6 +1005,7 @@ shaka.util.LanguageUtils = class {
|
|
|
993
1005
|
* per ({@link shaka.abr.SimpleAbrManager.SWITCH_INTERVAL_MS}).
|
|
994
1006
|
* </p>
|
|
995
1007
|
* @implements {shaka.extern.AbrManager}
|
|
1008
|
+
* @implements {shaka.util.IReleasable}
|
|
996
1009
|
*/
|
|
997
1010
|
shaka.abr.SimpleAbrManager = class {
|
|
998
1011
|
/** */
|
|
@@ -1001,6 +1014,10 @@ shaka.abr.SimpleAbrManager = class {
|
|
|
1001
1014
|
* @override
|
|
1002
1015
|
*/
|
|
1003
1016
|
stop() {}
|
|
1017
|
+
/**
|
|
1018
|
+
* @override
|
|
1019
|
+
*/
|
|
1020
|
+
release() {}
|
|
1004
1021
|
/**
|
|
1005
1022
|
* @override
|
|
1006
1023
|
*/
|
|
@@ -1149,18 +1166,6 @@ shaka.util.FakeEvent = class {
|
|
|
1149
1166
|
*/
|
|
1150
1167
|
constructor(type, dict) {}
|
|
1151
1168
|
};
|
|
1152
|
-
/**
|
|
1153
|
-
* An interface to standardize how objects release internal references
|
|
1154
|
-
* synchronously. If an object needs to asynchronously release references, then
|
|
1155
|
-
* it should use 'shaka.util.IDestroyable'.
|
|
1156
|
-
* @interface
|
|
1157
|
-
*/
|
|
1158
|
-
shaka.util.IReleasable = class {
|
|
1159
|
-
/**
|
|
1160
|
-
* Request that this object release all internal references.
|
|
1161
|
-
*/
|
|
1162
|
-
release() {}
|
|
1163
|
-
};
|
|
1164
1169
|
/**
|
|
1165
1170
|
* @summary A work-alike for EventTarget. Only DOM elements may be true
|
|
1166
1171
|
* EventTargets, but this can be used as a base class to provide event dispatch
|
|
@@ -1708,8 +1713,9 @@ shaka.media.SegmentReference = class {
|
|
|
1708
1713
|
* minus the first segment's tfdt box's 'baseMediaDecodeTime' field (after
|
|
1709
1714
|
* it has been converted to seconds).
|
|
1710
1715
|
* <br>
|
|
1711
|
-
* For HLS, this value should be
|
|
1712
|
-
*
|
|
1716
|
+
* For HLS, this value should be the start time of the most recent
|
|
1717
|
+
* discontinuity, or 0 if there is no preceding discontinuity. Only used
|
|
1718
|
+
* in segments mode.
|
|
1713
1719
|
* @param {number} appendWindowStart
|
|
1714
1720
|
* The start of the append window for this reference, relative to the
|
|
1715
1721
|
* presentation. Any content from before this time will be removed by
|
|
@@ -1787,6 +1793,15 @@ shaka.media.SegmentReference = class {
|
|
|
1787
1793
|
* Mark the reference as unavailable.
|
|
1788
1794
|
*/
|
|
1789
1795
|
markAsUnavailable() {}
|
|
1796
|
+
/**
|
|
1797
|
+
* Mark the reference as preload.
|
|
1798
|
+
*/
|
|
1799
|
+
markAsPreload() {}
|
|
1800
|
+
/**
|
|
1801
|
+
* Returns true if the segment is preloaded.
|
|
1802
|
+
* @return {boolean}
|
|
1803
|
+
*/
|
|
1804
|
+
isPreload() {}
|
|
1790
1805
|
/**
|
|
1791
1806
|
* Set the segment's thumbnail sprite.
|
|
1792
1807
|
* @param {shaka.media.SegmentReference.ThumbnailSprite} thumbnailSprite
|