@castlabs/prestoplay 6.18.0 → 6.19.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.
Files changed (64) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +7 -7
  5. package/cjs/cl.cast.js +115 -114
  6. package/cjs/cl.conviva.js +33 -33
  7. package/cjs/cl.core.js +578 -576
  8. package/cjs/cl.crypto.js +9 -9
  9. package/cjs/cl.dash.js +77 -75
  10. package/cjs/cl.externs.js +174 -292
  11. package/cjs/cl.freewheel.js +24 -24
  12. package/cjs/cl.hls.js +70 -71
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +29 -29
  15. package/cjs/cl.ima.js +24 -24
  16. package/cjs/cl.mse.js +312 -311
  17. package/cjs/cl.muxdata.js +15 -15
  18. package/cjs/cl.onboard.js +3 -3
  19. package/cjs/cl.persistent.js +14 -14
  20. package/cjs/cl.playlist.js +6 -6
  21. package/cjs/cl.sessions.js +16 -15
  22. package/cjs/cl.simid.js +15 -15
  23. package/cjs/cl.smooth.js +72 -72
  24. package/cjs/cl.thumbnails.js +26 -26
  25. package/cjs/cl.tizen.js +71 -71
  26. package/cjs/cl.ttml.js +29 -28
  27. package/cjs/cl.verimatrix.js +5 -5
  28. package/cjs/cl.vimond.js +13 -13
  29. package/cjs/cl.vr.js +19 -19
  30. package/cjs/cl.vtt.js +14 -14
  31. package/cjs/cl.youbora.js +18 -18
  32. package/cl.adobe.js +3 -3
  33. package/cl.airplay.js +3 -3
  34. package/cl.broadpeak.js +5 -5
  35. package/cl.cast.js +90 -89
  36. package/cl.conviva.js +27 -27
  37. package/cl.core.js +475 -474
  38. package/cl.crypto.js +9 -9
  39. package/cl.dash.js +71 -70
  40. package/cl.externs.js +171 -293
  41. package/cl.freewheel.js +19 -19
  42. package/cl.hls.js +74 -72
  43. package/cl.hlssmpte.js +5 -5
  44. package/cl.htmlcue.js +26 -26
  45. package/cl.ima.js +17 -17
  46. package/cl.mse.js +276 -274
  47. package/cl.muxdata.js +13 -13
  48. package/cl.onboard.js +4 -4
  49. package/cl.persistent.js +11 -11
  50. package/cl.playlist.js +5 -5
  51. package/cl.sessions.js +10 -10
  52. package/cl.simid.js +13 -13
  53. package/cl.smooth.js +59 -59
  54. package/cl.thumbnails.js +19 -19
  55. package/cl.tizen.js +57 -57
  56. package/cl.ttml.js +22 -22
  57. package/cl.verimatrix.js +4 -4
  58. package/cl.vimond.js +8 -8
  59. package/cl.vr.js +14 -14
  60. package/cl.vtt.js +12 -12
  61. package/cl.youbora.js +15 -15
  62. package/clpp.styles.css +14 -0
  63. package/package.json +1 -1
  64. package/typings.d.ts +379 -384
package/CHANGELOG.md CHANGED
@@ -1,3 +1,28 @@
1
+ # 6.19.0
2
+
3
+ ## New Features
4
+
5
+ * Add support for CMSD (Common Media Server Data)
6
+ * When `CMSD-Dynamic` or `CMSD-Static` header is parsed from network request, player now emits event `clpp.events.CMSD_EVENT`.
7
+ * For details refer to [CMSD Event](https://demo.castlabs.com/#/docs?q=clpp.events#CMSD_EVENT).
8
+ * MSE player now also supports CMSD headers **estimatedThroughput** and **maxSuggestedBitrate** to drive its ABR decisions.
9
+ * For details refer to [config.abr.useCmsd](https://demo.castlabs.com/#/docs?q=clpp#AbrConfiguration).
10
+ * Add `clpp.events.TIMELINE_CUES_CHANGED` event indicating a change in timeline cues.
11
+ * Support EXT-X-DATERANGE augmentation in HLS.
12
+ * Add Chromecast Web Receiver methods `setContentMetadata`, `updateContentMetadata` supporting set or
13
+ merge the current content metadata.
14
+ * Add support for HLS interstitials.
15
+
16
+ ## Changes
17
+
18
+ * Evict old timeline cues in live streams.
19
+ * Allow extra whitespaces in HLS playlists.
20
+ * Fix a problem with text track selection when `preferForcedSubtitles` is configured.
21
+ * Fix typescript typings of utility functions.
22
+ * For Low Latency streams and `lowLatencyMode` the streaming configuration `ignoreDrift` is now `false` by default
23
+ * `ignoreDrift` could cause additional startup delay for some streams. In case you still want to disable drift detection for
24
+ low latency streams, set `ignoreDrift` of [streaming configuration](https://demo.castlabs.com/#/docs?q=clpp#StreamingConfiguration).
25
+
1
26
  # 6.18.0
2
27
 
3
28
  ## New Features
package/cjs/cl.adobe.js CHANGED
@@ -1,7 +1,7 @@
1
1
  (function(){var g={}; var _ = _ || {}
2
- var f=function(window){var bW=function(){this.m=this.f=null;this.a="";this.g=new _.K("clpp.adobe.AdobePlugin")},eW=function(a){a.f=new _.Xh;a.f.on(a.m,_.Gg,function(){return cW(a)});a.f.on(a.m,_.Dg,function(){s.Media.play(a.a,a.m.getPosition())});a.f.on(a.m,_.Ne,function(){return dW(a)});a.f.on(a.m,_.jg,function(b){b=b.detail;switch(b.currentState){case _.Bp:a.a.length||dW(a);s.Media.play(a.a,a.m.getPosition());break;case _.Ap:case _.sp:cW(a);break;case _.up:case _.np:case _.yp:a.g.info("Close session for "+a.a+" in player state "+
3
- (b.currentState+".")),cW(a),s.Media.close(a.a),a.a=""}})},dW=function(a){var b=a.m.getLoadedSource();a.a=b?b.name||b.url:"";a.g.info("Open session for "+a.a+" with duration "+a.m.getDuration());s.Media.open(a.a,a.m.getDuration(),_.wa)},cW=function(a){s.Media.stop(a.a,a.m.getPosition())},fW=function(){};_.x(bW,_.Gu);bW.prototype.onPlayerCreated=function(a){window.s&&s.Media?(this.m=a,eW(this)):this.g.warn("Adobe API not available.")};
4
- bW.prototype.onPlayerWillDestroy=function(){this.f&&(this.f.release(),this.f=null);this.m=null;this.a=""};bW.prototype.id=function(){return"adobe"};_.J("clpp.adobe.AdobeAnalyticsPlugin",bW);bW.Id="adobe";fW.prototype.create=function(){return new bW};_.br(new fW);};
2
+ var f=function(window){var mW=function(){this.m=this.f=null;this.a="";this.g=new _.K("clpp.adobe.AdobePlugin")},pW=function(a){a.f=new _.Sh;a.f.on(a.m,_.yg,function(){return nW(a)});a.f.on(a.m,_.xg,function(){s.Media.play(a.a,a.m.getPosition())});a.f.on(a.m,_.He,function(){return oW(a)});a.f.on(a.m,_.cg,function(b){b=b.detail;switch(b.currentState){case _.xp:a.a.length||oW(a);s.Media.play(a.a,a.m.getPosition());break;case _.wp:case _.op:nW(a);break;case _.qp:case _.jp:case _.up:a.g.info("Close session for "+a.a+" in player state "+
3
+ (b.currentState+".")),nW(a),s.Media.close(a.a),a.a=""}})},oW=function(a){var b=a.m.getLoadedSource();a.a=b?b.name||b.url:"";a.g.info("Open session for "+a.a+" with duration "+a.m.getDuration());s.Media.open(a.a,a.m.getDuration(),_.va)},nW=function(a){s.Media.stop(a.a,a.m.getPosition())},qW=function(){};_.x(mW,_.Cu);mW.prototype.onPlayerCreated=function(a){window.s&&s.Media?(this.m=a,pW(this)):this.g.warn("Adobe API not available.")};
4
+ mW.prototype.onPlayerWillDestroy=function(){this.f&&(this.f.release(),this.f=null);this.m=null;this.a=""};mW.prototype.id=function(){return"adobe"};_.J("clpp.adobe.AdobeAnalyticsPlugin",mW);mW.Id="adobe";qW.prototype.create=function(){return new mW};_.qs(new qW);};
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 $V=function(){var a=this;this.a=this.m=null;this.l=this.f=this.j=!1;this.o=new _.Xk(function(){a.m.play()["catch"](function(){})});this.h=new _.Xh},aW=function(){};_.x($V,_.Gu);_.t=$V.prototype;_.t.onPlayerCreated=function(a){this.m=a;this.a=a.getSurface().getMedia()};_.t.onContentWillLoad=function(){this.a&&(this.h.on(this.a,"webkitplaybacktargetavailabilitychanged",this.Zl.bind(this)),this.h.on(this.a,"webkitcurrentplaybacktargetiswirelesschanged",this.Bm.bind(this)))};
3
- _.t.onPlayerWillRelease=function(){this.o.stop();this.h.release()};_.t.id=function(){return"airplay"};_.t.Zl=function(a){switch(a.availability){case "available":this.f=!0;break;case "not-available":this.f=!1}this.m.trigger(new _.L(_.Tc,{canCast:this.f}))};_.t.Bm=function(){var a=(this.j=this.a.webkitCurrentPlaybackTargetIsWireless)?_.Sc:_.Rc;if(this.l||!this.m.isPaused()||this.m.getState()===_.Bp)this.l?this.m.play()["catch"](function(){}):this.o.da(.01);this.m.trigger(new _.L(a))};_.t.ub=function(){return this.j};
4
- _.t.nf=function(){return this.f};_.t.kn=function(){this.f&&(this.l=!this.m.isPaused(),this.a.webkitShowPlaybackTargetPicker())};_.J("clpp.airplay.AirPlayPlugin",$V);$V.prototype.showCastMenu=$V.prototype.kn;$V.prototype.canCast=$V.prototype.nf;$V.prototype.isCasting=$V.prototype.ub;$V.Id="airplay";aW.prototype.create=function(){return new $V};_.br(new aW);};
2
+ var f=function(window){var kW=function(){var a=this;this.a=this.m=null;this.l=this.f=this.j=!1;this.o=new _.Tk(function(){a.m.play()["catch"](function(){})});this.h=new _.Sh},lW=function(){};_.x(kW,_.Cu);_.u=kW.prototype;_.u.onPlayerCreated=function(a){this.m=a;this.a=a.getSurface().getMedia()};_.u.onContentWillLoad=function(){this.a&&(this.h.on(this.a,"webkitplaybacktargetavailabilitychanged",this.em.bind(this)),this.h.on(this.a,"webkitcurrentplaybacktargetiswirelesschanged",this.Gm.bind(this)))};
3
+ _.u.onPlayerWillRelease=function(){this.o.stop();this.h.release()};_.u.id=function(){return"airplay"};_.u.em=function(a){switch(a.availability){case "available":this.f=!0;break;case "not-available":this.f=!1}this.m.trigger(new _.L(_.Qc,{canCast:this.f}))};_.u.Gm=function(){var a=(this.j=this.a.webkitCurrentPlaybackTargetIsWireless)?_.Pc:_.Oc;if(this.l||!this.m.isPaused()||this.m.getState()===_.xp)this.l?this.m.play()["catch"](function(){}):this.o.ea(.01);this.m.trigger(new _.L(a))};_.u.Hb=function(){return this.j};
4
+ _.u.tf=function(){return this.f};_.u.un=function(){this.f&&(this.l=!this.m.isPaused(),this.a.webkitShowPlaybackTargetPicker())};_.J("clpp.airplay.AirPlayPlugin",kW);kW.prototype.showCastMenu=kW.prototype.un;kW.prototype.canCast=kW.prototype.tf;kW.prototype.isCasting=kW.prototype.Hb;kW.Id="airplay";lW.prototype.create=function(){return new kW};_.qs(new lW);};
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));}
@@ -1,11 +1,11 @@
1
1
  (function(){var g={}; var _ = _ || {}
2
- var f=function(window){var SV=function(a,b){this.m=a;this.f=b;this.a=new _.Xh;this.h=!1},TV=function(a){function b(c){var d=GenericPlayerApi.call(this)||this;d.m=c;d.a=_.ak();return d}_.x(b,GenericPlayerApi);b.prototype.getPlayerName=function(){return _.wa};b.prototype.getVersion=function(){return _.ja};b.prototype.getOSName=function(){return this.a.os};b.prototype.getDeviceVersion=function(){return this.a.osVersion.name};b.prototype.getDeviceType=function(){return"browser"};b.prototype.getTotalDuration=function(){return this.m.isLive()?
3
- 0:1E3*this.m.getDuration()};b.prototype.getCurrentPosition=function(){return 1E3*this.m.getPosition()};b.prototype.getCurrentBitrate=function(){var c=this.m.getStats();return(c?c.streamBandwidth:0)/1E3};return new b(a)},UV=function(){this.l=this.f=this.a=this.h=this.m=null;this.o=new _.Xh;this.j=!1},VV=function(a,b){var c=b.analyticsAddress||null,d=b.nanoCDNHost||null,e=b.broadpeakDomainNames||"",f=b.uuid||null;a.h||(a.h=SmartLib.getInstance(),a.h.init(c,d,e),typeof f===_.mg&&a.h.setUUID(f))},WV=
4
- function(a,b){var c=b.customParameters||{};a.a=a.h.createStreamingSession();a.a.setOption(StreamingSessionOptions.SESSION_PRECACHE,!0);for(var d in c)a.a.setCustomParameter(d,c[d]);a.o.on(a.m,_.te,a.T.bind(a));a.l=TV(a.m);a.a.attachPlayer(a.l)},XV=function(a,b){_.$h(a.o);a.f&&(a.f.release(),a.f=null);a.a&&(a.a.stopStreamingSession(b),a.a=null)},YV=function(){return!window.SmartLib||!window.GenericPlayerApi},ZV=function(){};_.t=SV.prototype;
5
- _.t.init=function(){var a=this.m,b=this.a;b.on(a,_.jg,this.ej.bind(this));b.on(a,_.ld,this.cj.bind(this));b.on(a,"seek",this.dj.bind(this))};_.t.cj=function(a){a=a.detail;typeof a.bandwidth===_.k&&this.f.notifyLayerSwitch(a.bandwidth/1E3)};_.t.ej=function(a){var b=this.m,c=this.f;a=a.detail;var d=a.currentState;a.previousState===_.sp&&c.notifyStallEnd(!b.isPaused());switch(d){case _.sp:c.notifyStallStart();break;case _.Bp:this.h?c.notifyResume():(c.notifyFirstImage(),this.h=!0);break;case _.Ap:c.notifyPause()}};
6
- _.t.dj=function(){var a=1E3*this.m.getPosition();this.f.notifySeek(a)};_.t.release=function(){this.a&&(_.$h(this.a),this.a=null)};_.x(UV,_.Gu);_.t=UV.prototype;_.t.onPlayerCreated=function(a){this.m=a};_.t.onContentWillLoad=function(a,b){var c=this,d=a.getConfiguration().broadpeak;if(d){if(YV())return a.onError(new _.N(1,9,11E3));this.j=!0;VV(this,d);WV(this,d);return this.a.getURL(b.url).then(function(e){if(e.isError()){var f=e.getDetailedErrorCode();e=e.getDetailedErrorMessage();c.m.onError(new _.N(1,9,11001,{bpkErrorCode:f,message:e}));XV(c,void 0)}else b.url=e.getURL(),c.f=new SV(c.m,c.l),c.f.init()})}};
7
- _.t.onContentLoaded=function(){!1!==this.j&&this.a.precacheEnded()};_.t.T=function(a){a=a.detail;if(7003===a.code)XV(this,SmartLib.BPFormatNotSupportedError);else if(a.severity===_.O)switch(a.category){case 3:XV(this,SmartLib.BPDecodingError);break;case 1:XV(this,SmartLib.BPNetworkingError);break;case 6:XV(this,SmartLib.BPAccessRightError);break;default:XV(this,SmartLib.BPUnspecifiedError)}};_.t.onPlayerWillRelease=function(){YV()||XV(this,SmartLib.BPSessionEndsNormally);this.j=!1};_.t.id=function(){return"broadpeak"};
8
- _.J("clpp.broadpeak.BroadpeakPlugin",UV);UV.isSdkMissing=YV;UV.Id="broadpeak";ZV.prototype.create=function(){return new UV};_.br(new ZV);};
2
+ var f=function(window){var cW=function(a,b){this.m=a;this.f=b;this.a=new _.Sh;this.h=!1},dW=function(a){function b(c){var d=GenericPlayerApi.call(this)||this;d.m=c;d.a=_.Wj();return d}_.x(b,GenericPlayerApi);b.prototype.getPlayerName=function(){return _.va};b.prototype.getVersion=function(){return _.ia};b.prototype.getOSName=function(){return this.a.os};b.prototype.getDeviceVersion=function(){return this.a.osVersion.name};b.prototype.getDeviceType=function(){return"browser"};b.prototype.getTotalDuration=function(){return this.m.isLive()?
3
+ 0:1E3*this.m.getDuration()};b.prototype.getCurrentPosition=function(){return 1E3*this.m.getPosition()};b.prototype.getCurrentBitrate=function(){var c=this.m.getStats();return(c?c.streamBandwidth:0)/1E3};return new b(a)},eW=function(){this.l=this.f=this.a=this.h=this.m=null;this.o=new _.Sh;this.j=!1},fW=function(a,b){var c=b.analyticsAddress||null,d=b.nanoCDNHost||null,e=b.broadpeakDomainNames||"",f=b.uuid||null;a.h||(a.h=SmartLib.getInstance(),a.h.init(c,d,e),typeof f===_.fg&&a.h.setUUID(f))},gW=
4
+ function(a,b){var c=b.customParameters||{};a.a=a.h.createStreamingSession();a.a.setOption(StreamingSessionOptions.SESSION_PRECACHE,!0);for(var d in c)a.a.setCustomParameter(d,c[d]);a.o.on(a.m,_.ne,a.S.bind(a));a.l=dW(a.m);a.a.attachPlayer(a.l)},hW=function(a,b){_.Vh(a.o);a.f&&(a.f.release(),a.f=null);a.a&&(a.a.stopStreamingSession(b),a.a=null)},iW=function(){return!window.SmartLib||!window.GenericPlayerApi},jW=function(){};_.u=cW.prototype;
5
+ _.u.init=function(){var a=this.m,b=this.a;b.on(a,_.cg,this.qj.bind(this));b.on(a,_.id,this.oj.bind(this));b.on(a,"seek",this.pj.bind(this))};_.u.oj=function(a){a=a.detail;typeof a.bandwidth===_.k&&this.f.notifyLayerSwitch(a.bandwidth/1E3)};_.u.qj=function(a){var b=this.m,c=this.f;a=a.detail;var d=a.currentState;a.previousState===_.op&&c.notifyStallEnd(!b.isPaused());switch(d){case _.op:c.notifyStallStart();break;case _.xp:this.h?c.notifyResume():(c.notifyFirstImage(),this.h=!0);break;case _.wp:c.notifyPause()}};
6
+ _.u.pj=function(){var a=1E3*this.m.getPosition();this.f.notifySeek(a)};_.u.release=function(){this.a&&(_.Vh(this.a),this.a=null)};_.x(eW,_.Cu);_.u=eW.prototype;_.u.onPlayerCreated=function(a){this.m=a};_.u.onContentWillLoad=function(a,b){var c=this,d=a.getConfiguration().broadpeak;if(d){if(iW())return a.onError(new _.N(1,9,11E3));this.j=!0;fW(this,d);gW(this,d);return this.a.getURL(b.url).then(function(e){if(e.isError()){var f=e.getDetailedErrorCode();e=e.getDetailedErrorMessage();c.m.onError(new _.N(1,9,11001,{bpkErrorCode:f,message:e}));hW(c,void 0)}else b.url=e.getURL(),c.f=new cW(c.m,c.l),c.f.init()})}};
7
+ _.u.onContentLoaded=function(){!1!==this.j&&this.a.precacheEnded()};_.u.S=function(a){a=a.detail;if(7003===a.code)hW(this,SmartLib.BPFormatNotSupportedError);else if(a.severity===_.O)switch(a.category){case 3:hW(this,SmartLib.BPDecodingError);break;case 1:hW(this,SmartLib.BPNetworkingError);break;case 6:hW(this,SmartLib.BPAccessRightError);break;default:hW(this,SmartLib.BPUnspecifiedError)}};_.u.onPlayerWillRelease=function(){iW()||hW(this,SmartLib.BPSessionEndsNormally);this.j=!1};_.u.id=function(){return"broadpeak"};
8
+ _.J("clpp.broadpeak.BroadpeakPlugin",eW);eW.isSdkMissing=iW;eW.Id="broadpeak";jW.prototype.create=function(){return new eW};_.qs(new jW);};
9
9
  if(typeof(module)!="undefined"&&module.exports){var x=require("./cl.core.js");_ = x._;(f.call(g,this));module.exports=g;}
10
10
  else if (typeof(define)!="undefined"&&define.amd) {define(["./cl.core"], function(c){_=c._;(f.call(g,this));return g;});}
11
11
  else{_=this.clpp._;(f.call(g,this));}