@castlabs/prestoplay 6.3.0 → 6.4.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/CHANGELOG.md +48 -1
- package/cjs/cl.adobe.js +3 -3
- package/cjs/cl.airplay.js +3 -3
- package/cjs/cl.broadpeak.js +6 -6
- package/cjs/cl.cast.js +108 -107
- package/cjs/cl.conviva.js +33 -33
- package/cjs/cl.core.js +410 -398
- package/cjs/cl.crypto.js +10 -10
- package/cjs/cl.dash.js +72 -69
- package/cjs/cl.externs.js +55 -52
- package/cjs/cl.freewheel.js +24 -24
- package/cjs/cl.hls.js +49 -44
- package/cjs/cl.hlssmpte.js +6 -6
- package/cjs/cl.htmlcue.js +32 -32
- package/cjs/cl.ima.js +22 -22
- package/cjs/cl.mse.js +259 -254
- package/cjs/cl.muxdata.js +12 -12
- package/cjs/cl.onboard.js +3 -3
- package/cjs/cl.persistent.js +14 -14
- package/cjs/cl.playlist.js +6 -6
- package/cjs/cl.smooth.js +69 -69
- package/cjs/cl.thumbnails.js +24 -23
- package/cjs/cl.tizen.js +69 -69
- package/cjs/cl.ttml.js +27 -26
- package/cjs/cl.verimatrix.js +5 -5
- package/cjs/cl.vimond.js +13 -13
- package/cjs/cl.vr.js +18 -18
- package/cjs/cl.vtt.js +14 -14
- package/cjs/cl.youbora.js +20 -19
- package/cl.adobe.js +3 -3
- package/cl.airplay.js +3 -3
- package/cl.broadpeak.js +5 -5
- package/cl.cast.js +88 -87
- package/cl.conviva.js +27 -27
- package/cl.core.js +353 -345
- package/cl.crypto.js +8 -8
- package/cl.dash.js +67 -63
- package/cl.externs.js +55 -52
- package/cl.freewheel.js +19 -19
- package/cl.hls.js +40 -37
- package/cl.hlssmpte.js +5 -5
- package/cl.htmlcue.js +25 -25
- package/cl.ima.js +16 -16
- package/cl.mse.js +232 -221
- package/cl.muxdata.js +8 -8
- package/cl.onboard.js +4 -4
- package/cl.persistent.js +10 -10
- package/cl.playlist.js +5 -5
- package/cl.smooth.js +58 -58
- package/cl.thumbnails.js +17 -17
- package/cl.tizen.js +57 -57
- package/cl.ttml.js +22 -21
- package/cl.verimatrix.js +4 -4
- package/cl.vimond.js +8 -8
- package/cl.vr.js +14 -14
- package/cl.vtt.js +12 -12
- package/cl.youbora.js +15 -14
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,51 @@
|
|
|
1
|
+
# 6.4.0
|
|
2
|
+
|
|
3
|
+
## New Features
|
|
4
|
+
|
|
5
|
+
* Add track accessibility features to the public API for DASH streams (under `clpp.Track.accessibility`).
|
|
6
|
+
* HTTP status codes that will not trigger the retry behaviour can now be configured.
|
|
7
|
+
Previously, status codes 401 and 403 were not triggering the retry behaviour. This is still
|
|
8
|
+
the default, but can be changed now in the [AttemptParameters](https://demo.castlabs.com/#/docs?q=clpp.net#AttemptParameters)
|
|
9
|
+
for requests types, and globally by adjusting `clpp.net.DEFAULT_FATAL_STATUS_CODES`. The
|
|
10
|
+
configuration is also forwarded to [clpp.net.Request](https://demo.castlabs.com/#/docs?q=clpp.net#Request)
|
|
11
|
+
and can be adjusted per request using a [RequestModifier](https://demo.castlabs.com/#/docs?q=clpp.net#RequestModifier).
|
|
12
|
+
* Add support for Low-Latency HLS.
|
|
13
|
+
* Support for Partial Segments and Preload Hint.
|
|
14
|
+
* Support for Blocking Playlist Reload.
|
|
15
|
+
* Configuration by [Player configuration](https://demo.castlabs.com/#/docs/configuration) property `lowLatencyMode`, defaults to `false`.
|
|
16
|
+
|
|
17
|
+
## Changes
|
|
18
|
+
|
|
19
|
+
* Fix timeline of dynamic to static transition in DASH.
|
|
20
|
+
* Several improvements of tracks.
|
|
21
|
+
* Fix an issue in DASH where similar `AdaptationSet` tags with distinct `Accessibility` tags where being
|
|
22
|
+
processed as renditions of the same track instead of being treated as two distinct tracks.
|
|
23
|
+
* Fix a corner-case issue where tracks with the same roles but in a different order were being treated as two
|
|
24
|
+
separate tracks instead of a single track with two different renditions.
|
|
25
|
+
* Fix issues with audio track selection when `preferredAudioRole` or `preferredAudioLanguage` is configured.
|
|
26
|
+
* Warn when an unsupported version of `youboralib` is supplied to the `YouboraPlugin` and emit
|
|
27
|
+
a recoverable error. Supported versions are 6.8.12 - 6.8.25.
|
|
28
|
+
* Fix support for custom styling of subtitles.
|
|
29
|
+
* Fix `clpp.utils.obj.merge`.
|
|
30
|
+
* Make sure it merges attributes with values that are DOM `Element`.
|
|
31
|
+
* Fix documentation: `clpp.utils.obj.merge` merges from left to right, not the other way around.
|
|
32
|
+
* Improve `clpp.PlayerSurface`.
|
|
33
|
+
* Add `clpp-video` class to the video/media element.
|
|
34
|
+
* Protect PRESTOplay class attributes from modification. This prevents unexpected
|
|
35
|
+
styling issues related to the re-rendering of the video or container element that can
|
|
36
|
+
easily occur when used with React, Vue or similar UI frameworks.
|
|
37
|
+
* Improve validation of arguments passed to `clpp.Player`.
|
|
38
|
+
* Fix an issue where special kinds of live streams such as IPR (in-progress recording)
|
|
39
|
+
were not correctly classified as live by `Player.isLive()`.
|
|
40
|
+
* Fix error reporting for invalid or failing thumbnails (VTT, BIF).
|
|
41
|
+
* Improved sync byte search for TS segment start time parsing
|
|
42
|
+
* Update metadata `player_name` default of Mux Analytics to `CastLabsPlayer`
|
|
43
|
+
* Fix time synchronization issues during sender/receiver switch for Smooth Streaming live streams on Chromecast.
|
|
44
|
+
* Dedicated handling for Widevine server certificate requests. We are now logging
|
|
45
|
+
Widevine Server Certificate requests explicitly and set the `licenseRequestType` of
|
|
46
|
+
the `request` to 'certificate-request'.
|
|
47
|
+
* Fixed issues with handling key restrictions in different multi period scenarios
|
|
48
|
+
|
|
1
49
|
# 6.3.0
|
|
2
50
|
|
|
3
51
|
## **Warning!**
|
|
@@ -5,7 +53,6 @@ Changes in this release might cause breaking changes for some use cases. Please
|
|
|
5
53
|
* `player.getPresentationStartTime()` - For non-live content, this method now returns `null`, instead of the previous `0`.
|
|
6
54
|
|
|
7
55
|
## Changes
|
|
8
|
-
|
|
9
56
|
* Fix issues with `YouboraPlugin`.
|
|
10
57
|
* Fix crash when Youbora configuration is not passed via `clpp.Player` constructor.
|
|
11
58
|
* Fix an issue where Youbora plugin stopped reporting events after a call to `setYouboraPlugin`.
|
package/cjs/cl.adobe.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(function(){var g={}; var _ = _ || {}
|
|
2
|
-
var f=function(window){var
|
|
3
|
-
(b.currentState+".")),
|
|
4
|
-
|
|
2
|
+
var f=function(window){var BM=function(){this.l=this.f=null;this.a="";this.g=new _.H("clpp.adobe.AdobePlugin")},EM=function(a){a.f=new _.bg;a.f.on(a.l,_.Ke,function(){return CM(a)});a.f.on(a.l,_.Je,function(){s.Media.play(a.a,a.l.getPosition())});a.f.on(a.l,_.rd,function(){return DM(a)});a.f.on(a.l,_.oe,function(b){b=b.detail;switch(b.currentState){case _.xm:a.a.length||DM(a);s.Media.play(a.a,a.l.getPosition());break;case _.wm:case _.om:CM(a);break;case _.qm:case _.jm:case _.um:a.g.info("Close session for "+a.a+" in player state "+
|
|
3
|
+
(b.currentState+".")),CM(a),s.Media.close(a.a),a.a=""}})},DM=function(a){var b=a.l.getLoadedSource();a.a=b?b.name||b.url:"";a.g.info("Open session for "+a.a+" with duration "+a.l.getDuration());s.Media.open(a.a,a.l.getDuration(),_.sa)},CM=function(a){s.Media.stop(a.a,a.l.getPosition())},FM=function(){};_.v(BM,_.Gp);BM.prototype.onPlayerCreated=function(a){window.s&&s.Media?(this.l=a,EM(this)):this.g.warn("Adobe API not available.")};
|
|
4
|
+
BM.prototype.onPlayerWillDestroy=function(){this.f&&(this.f.release(),this.f=null);this.l=null;this.a=""};BM.prototype.id=function(){return"adobe"};_.C("clpp.adobe.AdobeAnalyticsPlugin",BM);BM.Id="adobe";FM.prototype.create=function(){return new BM};_.Un(new FM);};
|
|
5
5
|
if(typeof(module)!="undefined"&&module.exports){var x=require("./cl.core.js");_ = x._;(f.call(g,this));module.exports=g;}
|
|
6
6
|
else if (typeof(define)!="undefined"&&define.amd) {define(["./cl.core"], function(c){_=c._;(f.call(g,this));return g;});}
|
|
7
7
|
else{_=this.clpp._;(f.call(g,this));}
|
package/cjs/cl.airplay.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(function(){var g={}; var _ = _ || {}
|
|
2
|
-
var f=function(window){var
|
|
3
|
-
_.t.onPlayerWillRelease=function(){this.m.stop();this.g.release()};_.t.id=function(){return"airplay"};_.t.
|
|
4
|
-
_.t.
|
|
2
|
+
var f=function(window){var zM=function(){var a=this;this.a=this.l=null;this.j=this.f=this.h=!1;this.m=new _.Ah(function(){a.l.play()["catch"](function(){})});this.g=new _.bg},AM=function(){};_.v(zM,_.Gp);_.t=zM.prototype;_.t.onPlayerCreated=function(a){this.l=a;this.a=a.getSurface().getMedia()};_.t.onContentWillLoad=function(){this.a&&(this.g.on(this.a,"webkitplaybacktargetavailabilitychanged",this.Qi.bind(this)),this.g.on(this.a,"webkitcurrentplaybacktargetiswirelesschanged",this.qj.bind(this)))};
|
|
3
|
+
_.t.onPlayerWillRelease=function(){this.m.stop();this.g.release()};_.t.id=function(){return"airplay"};_.t.Qi=function(a){switch(a.availability){case "available":this.f=!0;break;case "not-available":this.f=!1}this.l.trigger(new _.J(_.Wb,{canCast:this.f}))};_.t.qj=function(){var a=(this.h=this.a.webkitCurrentPlaybackTargetIsWireless)?_.Vb:_.Ub;if(this.j||!this.l.isPaused()||this.l.getState()===_.xm)this.j?this.l.play()["catch"](function(){}):this.m.$(.01);this.l.trigger(new _.J(a))};_.t.ib=function(){return this.h};
|
|
4
|
+
_.t.de=function(){return this.f};_.t.Ij=function(){this.f&&(this.j=!this.l.isPaused(),this.a.webkitShowPlaybackTargetPicker())};_.C("clpp.airplay.AirPlayPlugin",zM);zM.prototype.showCastMenu=zM.prototype.Ij;zM.prototype.canCast=zM.prototype.de;zM.prototype.isCasting=zM.prototype.ib;zM.Id="airplay";AM.prototype.create=function(){return new zM};_.Un(new AM);};
|
|
5
5
|
if(typeof(module)!="undefined"&&module.exports){var x=require("./cl.core.js");_ = x._;(f.call(g,this));module.exports=g;}
|
|
6
6
|
else if (typeof(define)!="undefined"&&define.amd) {define(["./cl.core"], function(c){_=c._;(f.call(g,this));return g;});}
|
|
7
7
|
else{_=this.clpp._;(f.call(g,this));}
|
package/cjs/cl.broadpeak.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
(function(){var g={}; var _ = _ || {}
|
|
2
|
-
var f=function(window){var
|
|
3
|
-
c[d]);a.j.on(a.l,_.
|
|
4
|
-
_.t.
|
|
5
|
-
_.t.getCurrentBitrate=function(){var a=this.l.getStats();return(a?a.streamBandwidth:0)/1E3};_.v(
|
|
6
|
-
_.t.S=function(a){a=a.detail;if(7003===a.code)
|
|
7
|
-
|
|
2
|
+
var f=function(window){var rM=function(a,b){this.l=a;this.f=b;this.a=new _.bg;this.g=!1},sM=function(a){var b=GenericPlayerApi.call(this)||this;b.l=a;b.a=_.vi();return b},tM=function(){this.h=this.f=this.a=this.g=this.l=null;this.j=new _.bg},uM=function(a,b){var c=b.analyticsAddress||null,d=b.nanoCDNHost||null,e=b.broadpeakDomainNames||"",f=b.uuid||null;a.g||(a.g=SmartLib.getInstance(),a.g.init(c,d,e),typeof f===_.se&&a.g.setUUID(f))},vM=function(a,b){var c=b.customParameters||{};a.a=a.g.createStreamingSession();for(var d in c)a.a.setCustomParameter(d,
|
|
3
|
+
c[d]);a.j.on(a.l,_.dd,a.S.bind(a));a.h=new sM(a.l);a.a.attachPlayer(a.h)},wM=function(a,b){_.eg(a.j);a.f&&(a.f.release(),a.f=null);a.a&&(a.a.stopStreamingSession(b),a.a=null)},xM=function(){return!window.SmartLib||!window.GenericPlayerApi},yM=function(){};_.t=rM.prototype;_.t.init=function(){var a=this.l,b=this.a;b.on(a,_.oe,this.Jg.bind(this));b.on(a,_.oc,this.Hg.bind(this));b.on(a,"seek",this.Ig.bind(this))};
|
|
4
|
+
_.t.Hg=function(a){a=a.detail;typeof a.bandwidth===_.k&&this.f.notifyLayerSwitch(a.bandwidth/1E3)};_.t.Jg=function(a){var b=this.l,c=this.f;a=a.detail;var d=a.currentState;a.previousState===_.om&&c.notifyStallEnd(!b.isPaused());switch(d){case _.om:c.notifyStallStart();break;case _.xm:this.g?c.notifyResume():(c.notifyFirstImage(),this.g=!0);break;case _.wm:c.notifyPause()}};_.t.Ig=function(){var a=1E3*this.l.getPosition();this.f.notifySeek(a)};_.t.release=function(){this.a&&(_.eg(this.a),this.a=null)};_.v(sM,GenericPlayerApi);_.t=sM.prototype;_.t.getPlayerName=function(){return _.sa};_.t.getVersion=function(){return _.ia};_.t.getOSName=function(){return this.a.os};_.t.getDeviceVersion=function(){return this.a.osVersion.name};_.t.getDeviceType=function(){return"browser"};_.t.getTotalDuration=function(){return this.l.isLive()?0:1E3*this.l.getDuration()};_.t.getCurrentPosition=function(){return 1E3*this.l.getPosition()};
|
|
5
|
+
_.t.getCurrentBitrate=function(){var a=this.l.getStats();return(a?a.streamBandwidth:0)/1E3};_.v(tM,_.Gp);_.t=tM.prototype;_.t.onPlayerCreated=function(a){this.l=a};_.t.onContentWillLoad=function(a,b){var c=this,d=a.getConfiguration().broadpeak;if(d){if(xM())return a.onError(new _.L(1,9,11E3));uM(this,d);vM(this,d);return this.a.getURL(b.url).then(function(e){if(e.isError()){var f=e.getDetailedErrorCode();e=e.getDetailedErrorMessage();c.l.onError(new _.L(1,9,11001,{bpkErrorCode:f,message:e}));wM(c,void 0)}else b.url=e.getURL(),c.f=new rM(c.l,c.h),c.f.init()})}};
|
|
6
|
+
_.t.S=function(a){a=a.detail;if(7003===a.code)wM(this,SmartLib.BPFormatNotSupportedError);else if(a.severity===_.M)switch(a.category){case 3:wM(this,SmartLib.BPDecodingError);break;case 1:wM(this,SmartLib.BPNetworkingError);break;case 6:wM(this,SmartLib.BPAccessRightError);break;default:wM(this,SmartLib.BPUnspecifiedError)}};_.t.onPlayerWillRelease=function(){xM()||wM(this,SmartLib.BPSessionEndsNormally)};_.t.id=function(){return"broadpeak"};_.C("clpp.broadpeak.BroadpeakPlugin",tM);
|
|
7
|
+
tM.isSdkMissing=xM;tM.Id="broadpeak";yM.prototype.create=function(){return new tM};_.Un(new yM);};
|
|
8
8
|
if(typeof(module)!="undefined"&&module.exports){var x=require("./cl.core.js");_ = x._;(f.call(g,this));module.exports=g;}
|
|
9
9
|
else if (typeof(define)!="undefined"&&define.amd) {define(["./cl.core"], function(c){_=c._;(f.call(g,this));return g;});}
|
|
10
10
|
else{_=this.clpp._;(f.call(g,this));}
|