@castlabs/prestoplay 6.19.1 → 6.20.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 (65) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +8 -6
  3. package/cjs/cl.adobe.js +3 -3
  4. package/cjs/cl.airplay.js +3 -3
  5. package/cjs/cl.broadpeak.js +7 -7
  6. package/cjs/cl.cast.js +108 -108
  7. package/cjs/cl.conviva.js +33 -33
  8. package/cjs/cl.core.js +571 -567
  9. package/cjs/cl.crypto.js +9 -9
  10. package/cjs/cl.dash.js +77 -77
  11. package/cjs/cl.externs.js +34 -35
  12. package/cjs/cl.freewheel.js +21 -20
  13. package/cjs/cl.hls.js +71 -70
  14. package/cjs/cl.hlssmpte.js +6 -6
  15. package/cjs/cl.htmlcue.js +29 -28
  16. package/cjs/cl.ima.js +24 -24
  17. package/cjs/cl.mse.js +311 -309
  18. package/cjs/cl.muxdata.js +15 -15
  19. package/cjs/cl.onboard.js +3 -3
  20. package/cjs/cl.persistent.js +13 -13
  21. package/cjs/cl.playlist.js +6 -6
  22. package/cjs/cl.sessions.js +16 -16
  23. package/cjs/cl.simid.js +15 -15
  24. package/cjs/cl.smooth.js +72 -71
  25. package/cjs/cl.thumbnails.js +26 -26
  26. package/cjs/cl.tizen.js +69 -69
  27. package/cjs/cl.ttml.js +29 -28
  28. package/cjs/cl.verimatrix.js +5 -5
  29. package/cjs/cl.vimond.js +13 -12
  30. package/cjs/cl.vr.js +19 -19
  31. package/cjs/cl.vtt.js +14 -14
  32. package/cjs/cl.youbora.js +16 -16
  33. package/cl.adobe.js +3 -3
  34. package/cl.airplay.js +3 -3
  35. package/cl.broadpeak.js +5 -5
  36. package/cl.cast.js +88 -88
  37. package/cl.conviva.js +27 -27
  38. package/cl.core.js +459 -455
  39. package/cl.crypto.js +9 -9
  40. package/cl.dash.js +72 -72
  41. package/cl.externs.js +34 -35
  42. package/cl.freewheel.js +18 -18
  43. package/cl.hls.js +74 -74
  44. package/cl.hlssmpte.js +5 -5
  45. package/cl.htmlcue.js +26 -25
  46. package/cl.ima.js +17 -17
  47. package/cl.mse.js +278 -276
  48. package/cl.muxdata.js +13 -13
  49. package/cl.onboard.js +4 -4
  50. package/cl.persistent.js +10 -10
  51. package/cl.playlist.js +5 -5
  52. package/cl.sessions.js +10 -10
  53. package/cl.simid.js +13 -13
  54. package/cl.smooth.js +59 -59
  55. package/cl.thumbnails.js +19 -19
  56. package/cl.tizen.js +57 -57
  57. package/cl.ttml.js +22 -22
  58. package/cl.verimatrix.js +4 -4
  59. package/cl.vimond.js +8 -9
  60. package/cl.vr.js +14 -14
  61. package/cl.vtt.js +12 -12
  62. package/cl.youbora.js +14 -14
  63. package/clpp.styles.css +0 -8
  64. package/package.json +1 -1
  65. package/typings.d.ts +36 -14
package/CHANGELOG.md CHANGED
@@ -1,3 +1,28 @@
1
+ # 6.20.0
2
+
3
+ ## **Warning!**
4
+
5
+ Changes in this release might be breaking for some very specific use cases:
6
+
7
+ * Disallow passing a config with the `license` attribute into `player.load()`
8
+ and throw an error if it happens. License is intended to be passed into
9
+ the player constructor only.
10
+
11
+ ## New Features
12
+
13
+ * On Safari with native player improve support for timeline cues:
14
+ * Support cues in live streams.
15
+ * Expose client-defined attributes, i.e. attributes with the prefix "X-"
16
+ coming from EXT-X-DATERANGE.
17
+ * Correctly trigger `TIMELINE_CUE_ENTER` and `TIMELINE_CUE_EXIT` events
18
+ in case of overlapping cues and cues with unknown duration.
19
+
20
+ ## Changes
21
+
22
+ * Recognize MP3 file extension.
23
+ * Fix the payload of ad events emitted for HLS interstitial ads.
24
+ * Fix audio and subtitle track selection when casting to Chromecast devices.
25
+
1
26
  # 6.19.1
2
27
 
3
28
  ## Changes
package/README.md CHANGED
@@ -20,16 +20,18 @@ Once installed, you can follow the [getting started guide](https://demo.castlabs
20
20
  example, but here is how it would look like:
21
21
 
22
22
  ```javascript
23
- import {clpp} from "@castlabs/prestoplay"
24
- import "@castlabs/prestoplay/cl.mse"
25
- import "@castlabs/prestoplay/cl.dash"
23
+ import { clpp } from "@castlabs/prestoplay";
24
+ import "@castlabs/prestoplay/cl.mse";
25
+ import "@castlabs/prestoplay/cl.dash";
26
+
27
+ clpp.install(clpp.dash.DashComponent);
26
28
 
27
29
  const player = new clpp.Player("video");
28
- player.use(clpp.dash.DashComponent);
29
30
 
30
31
  player.load({
31
- source: "https://content.players.castlabs.com/demos/clear-segmented/manifest.mpd"
32
- })
32
+ source: "https://content.players.castlabs.com/demos/clear-segmented/manifest.mpd",
33
+ autoplay: true,
34
+ });
33
35
  ```
34
36
 
35
37
  There is also an accompanying stylesheet that can be found in:
package/cjs/cl.adobe.js CHANGED
@@ -1,7 +1,7 @@
1
1
  (function(){var g={}; var _ = _ || {}
2
- var f=function(window){var nW=function(){this.m=this.f=null;this.a="";this.g=new _.K("clpp.adobe.AdobePlugin")},qW=function(a){a.f=new _.Oh;a.f.on(a.m,_.zg,function(){return oW(a)});a.f.on(a.m,_.yg,function(){s.Media.play(a.a,a.m.getPosition())});a.f.on(a.m,_.Ie,function(){return pW(a)});a.f.on(a.m,_.dg,function(b){b=b.detail;switch(b.currentState){case _.Cp:a.a.length||pW(a);s.Media.play(a.a,a.m.getPosition());break;case _.Bp:case _.tp:oW(a);break;case _.vp:case _.op:case _.zp:a.g.info("Close session for "+a.a+" in player state "+
3
- (b.currentState+".")),oW(a),s.Media.close(a.a),a.a=""}})},pW=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)},oW=function(a){s.Media.stop(a.a,a.m.getPosition())},rW=function(){};_.x(nW,_.Hu);nW.prototype.onPlayerCreated=function(a){window.s&&s.Media?(this.m=a,qW(this)):this.g.warn("Adobe API not available.")};
4
- nW.prototype.onPlayerWillDestroy=function(){this.f&&(this.f.release(),this.f=null);this.m=null;this.a=""};nW.prototype.id=function(){return"adobe"};_.J("clpp.adobe.AdobeAnalyticsPlugin",nW);nW.Id="adobe";rW.prototype.create=function(){return new nW};_.lt(new rW);};
2
+ var f=function(window){var FW=function(){this.m=this.f=null;this.a="";this.g=new _.K("clpp.adobe.AdobePlugin")},IW=function(a){a.f=new _.Qh;a.f.on(a.m,_.xg,function(){return GW(a)});a.f.on(a.m,_.wg,function(){s.Media.play(a.a,a.m.getPosition())});a.f.on(a.m,_.He,function(){return HW(a)});a.f.on(a.m,_.cg,function(b){b=b.detail;switch(b.currentState){case _.Mp:a.a.length||HW(a);s.Media.play(a.a,a.m.getPosition());break;case _.Lp:case _.Dp:GW(a);break;case _.Fp:case _.yp:case _.Jp:a.g.info("Close session for "+a.a+" in player state "+
3
+ (b.currentState+".")),GW(a),s.Media.close(a.a),a.a=""}})},HW=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)},GW=function(a){s.Media.stop(a.a,a.m.getPosition())},JW=function(){};_.x(FW,_.ev);FW.prototype.onPlayerCreated=function(a){var b=a.getConfiguration().adobe;b&&!1===b.enabled?this.g.debug("Adobe plugin is disabled."):window.s&&s.Media?(this.m=a,IW(this)):this.g.warn("Adobe API not available.")};
4
+ FW.prototype.onPlayerWillDestroy=function(){this.f&&(this.f.release(),this.f=null);this.m=null;this.a=""};FW.prototype.id=function(){return"adobe"};_.J("clpp.adobe.AdobeAnalyticsPlugin",FW);FW.Id="adobe";JW.prototype.create=function(){return new FW};_.Fs(new JW);};
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 lW=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 _.Oh},mW=function(){};_.x(lW,_.Hu);_.u=lW.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(_.Rc,{canCast:this.f}))};_.u.Gm=function(){var a=(this.j=this.a.webkitCurrentPlaybackTargetIsWireless)?_.Qc:_.Pc;if(this.l||!this.m.isPaused()||this.m.getState()===_.Cp)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",lW);lW.prototype.showCastMenu=lW.prototype.un;lW.prototype.canCast=lW.prototype.tf;lW.prototype.isCasting=lW.prototype.Hb;lW.Id="airplay";mW.prototype.create=function(){return new lW};_.lt(new mW);};
2
+ var f=function(window){var DW=function(){var a=this;this.a=this.m=null;this.l=this.f=this.j=!1;this.o=new _.jl(function(){a.m.play()["catch"](function(){})});this.h=new _.Qh},EW=function(){};_.x(DW,_.ev);_.u=DW.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.gm.bind(this)),this.h.on(this.a,"webkitcurrentplaybacktargetiswirelesschanged",this.Jm.bind(this)))};
3
+ _.u.onPlayerWillRelease=function(){this.o.stop();this.h.release()};_.u.id=function(){return"airplay"};_.u.gm=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.Jm=function(){var a=(this.j=this.a.webkitCurrentPlaybackTargetIsWireless)?_.Pc:_.Oc;if(this.l||!this.m.isPaused()||this.m.getState()===_.Mp)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.yn=function(){this.f&&(this.l=!this.m.isPaused(),this.a.webkitShowPlaybackTargetPicker())};_.J("clpp.airplay.AirPlayPlugin",DW);DW.prototype.showCastMenu=DW.prototype.yn;DW.prototype.canCast=DW.prototype.tf;DW.prototype.isCasting=DW.prototype.Hb;DW.Id="airplay";EW.prototype.create=function(){return new DW};_.Fs(new EW);};
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 dW=function(a,b){this.m=a;this.f=b;this.a=new _.Oh;this.h=!1},eW=function(a){function b(c){var d=GenericPlayerApi.call(this)||this;d.m=c;d.a=_.Kj();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)},fW=function(){this.l=this.f=this.a=this.h=this.m=null;this.o=new _.Oh;this.j=!1},gW=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===_.gg&&a.h.setUUID(f))},hW=
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,_.oe,a.S.bind(a));a.l=eW(a.m);a.a.attachPlayer(a.l)},iW=function(a,b){_.Rh(a.o);a.f&&(a.f.release(),a.f=null);a.a&&(a.a.stopStreamingSession(b),a.a=null)},jW=function(){return!window.SmartLib||!window.GenericPlayerApi},kW=function(){};_.u=dW.prototype;
5
- _.u.init=function(){var a=this.m,b=this.a;b.on(a,_.dg,this.qj.bind(this));b.on(a,_.jd,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===_.tp&&c.notifyStallEnd(!b.isPaused());switch(d){case _.tp:c.notifyStallStart();break;case _.Cp:this.h?c.notifyResume():(c.notifyFirstImage(),this.h=!0);break;case _.Bp:c.notifyPause()}};
6
- _.u.pj=function(){var a=1E3*this.m.getPosition();this.f.notifySeek(a)};_.u.release=function(){this.a&&(_.Rh(this.a),this.a=null)};_.x(fW,_.Hu);_.u=fW.prototype;_.u.onPlayerCreated=function(a){this.m=a};_.u.onContentWillLoad=function(a,b){var c=this,d=a.getConfiguration().broadpeak;if(d){if(jW())return a.onError(new _.N(1,9,11E3));this.j=!0;gW(this,d);hW(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}));iW(c,void 0)}else b.url=e.getURL(),c.f=new dW(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)iW(this,SmartLib.BPFormatNotSupportedError);else if(a.severity===_.O)switch(a.category){case 3:iW(this,SmartLib.BPDecodingError);break;case 1:iW(this,SmartLib.BPNetworkingError);break;case 6:iW(this,SmartLib.BPAccessRightError);break;default:iW(this,SmartLib.BPUnspecifiedError)}};_.u.onPlayerWillRelease=function(){jW()||iW(this,SmartLib.BPSessionEndsNormally);this.j=!1};_.u.id=function(){return"broadpeak"};
8
- _.J("clpp.broadpeak.BroadpeakPlugin",fW);fW.isSdkMissing=jW;fW.Id="broadpeak";kW.prototype.create=function(){return new fW};_.lt(new kW);};
2
+ var f=function(window){var vW=function(a,b){this.m=a;this.f=b;this.a=new _.Qh;this.h=!1},wW=function(a){function b(c){var d=GenericPlayerApi.call(this)||this;d.m=c;d.a=_.ok();return d}_.x(b,GenericPlayerApi);b.prototype.getPlayerName=function(){return _.va};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)},xW=function(){this.l=this.f=this.a=this.h=this.m=null;this.o=new _.Qh;this.j=!1},yW=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))},zW=
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=wW(a.m);a.a.attachPlayer(a.l)},AW=function(a,b){_.Th(a.o);a.f&&(a.f.release(),a.f=null);a.a&&(a.a.stopStreamingSession(b),a.a=null)},BW=function(){return!window.SmartLib||!window.GenericPlayerApi},CW=function(){};_.u=vW.prototype;
5
+ _.u.init=function(){var a=this.m,b=this.a;b.on(a,_.cg,this.sj.bind(this));b.on(a,_.hd,this.qj.bind(this));b.on(a,"seek",this.rj.bind(this))};_.u.qj=function(a){a=a.detail;typeof a.bandwidth===_.k&&this.f.notifyLayerSwitch(a.bandwidth/1E3)};_.u.sj=function(a){var b=this.m,c=this.f;a=a.detail;var d=a.currentState;a.previousState===_.Dp&&c.notifyStallEnd(!b.isPaused());switch(d){case _.Dp:c.notifyStallStart();break;case _.Mp:this.h?c.notifyResume():(c.notifyFirstImage(),this.h=!0);break;case _.Lp:c.notifyPause()}};
6
+ _.u.rj=function(){var a=1E3*this.m.getPosition();this.f.notifySeek(a)};_.u.release=function(){this.a&&(_.Th(this.a),this.a=null)};_.x(xW,_.ev);_.u=xW.prototype;_.u.onPlayerCreated=function(a){this.m=a};_.u.onContentWillLoad=function(a,b){var c=this,d=a.getConfiguration().broadpeak;if(d){if(BW())return a.onError(new _.N(1,9,11E3));this.j=!0;yW(this,d);zW(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}));AW(c,void 0)}else b.url=e.getURL(),c.f=new vW(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)AW(this,SmartLib.BPFormatNotSupportedError);else if(a.severity===_.P)switch(a.category){case 3:AW(this,SmartLib.BPDecodingError);break;case 1:AW(this,SmartLib.BPNetworkingError);break;case 6:AW(this,SmartLib.BPAccessRightError);break;default:AW(this,SmartLib.BPUnspecifiedError)}};_.u.onPlayerWillRelease=function(){BW()||AW(this,SmartLib.BPSessionEndsNormally);this.j=!1};_.u.id=function(){return"broadpeak"};
8
+ _.J("clpp.broadpeak.BroadpeakPlugin",xW);xW.isSdkMissing=BW;xW.Id="broadpeak";CW.prototype.create=function(){return new xW};_.Fs(new CW);};
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));}