@castlabs/prestoplay 6.9.0 → 6.10.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 (59) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +6 -6
  5. package/cjs/cl.cast.js +105 -104
  6. package/cjs/cl.conviva.js +33 -33
  7. package/cjs/cl.core.js +420 -417
  8. package/cjs/cl.crypto.js +10 -9
  9. package/cjs/cl.dash.js +71 -71
  10. package/cjs/cl.externs.js +11 -12
  11. package/cjs/cl.freewheel.js +21 -21
  12. package/cjs/cl.hls.js +72 -71
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +29 -31
  15. package/cjs/cl.ima.js +22 -22
  16. package/cjs/cl.mse.js +273 -272
  17. package/cjs/cl.muxdata.js +14 -15
  18. package/cjs/cl.onboard.js +3 -3
  19. package/cjs/cl.persistent.js +13 -13
  20. package/cjs/cl.playlist.js +6 -6
  21. package/cjs/cl.smooth.js +71 -71
  22. package/cjs/cl.thumbnails.js +24 -24
  23. package/cjs/cl.tizen.js +68 -68
  24. package/cjs/cl.ttml.js +27 -27
  25. package/cjs/cl.verimatrix.js +5 -5
  26. package/cjs/cl.vimond.js +13 -13
  27. package/cjs/cl.vr.js +19 -19
  28. package/cjs/cl.vtt.js +14 -14
  29. package/cjs/cl.youbora.js +16 -16
  30. package/cl.adobe.js +3 -3
  31. package/cl.airplay.js +3 -3
  32. package/cl.broadpeak.js +5 -5
  33. package/cl.cast.js +87 -87
  34. package/cl.conviva.js +27 -27
  35. package/cl.core.js +363 -359
  36. package/cl.crypto.js +9 -9
  37. package/cl.dash.js +67 -67
  38. package/cl.externs.js +11 -12
  39. package/cl.freewheel.js +17 -17
  40. package/cl.hls.js +61 -61
  41. package/cl.hlssmpte.js +5 -5
  42. package/cl.htmlcue.js +26 -25
  43. package/cl.ima.js +17 -17
  44. package/cl.mse.js +235 -236
  45. package/cl.muxdata.js +12 -12
  46. package/cl.onboard.js +4 -4
  47. package/cl.persistent.js +9 -9
  48. package/cl.playlist.js +5 -5
  49. package/cl.smooth.js +59 -58
  50. package/cl.thumbnails.js +17 -17
  51. package/cl.tizen.js +57 -57
  52. package/cl.ttml.js +22 -22
  53. package/cl.verimatrix.js +4 -4
  54. package/cl.vimond.js +8 -8
  55. package/cl.vr.js +14 -14
  56. package/cl.vtt.js +12 -12
  57. package/cl.youbora.js +13 -13
  58. package/package.json +1 -1
  59. package/typings.d.ts +47 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,42 @@
1
+ # 6.10.0
2
+
3
+ ## New Features
4
+
5
+ * Add Tracks original language value from manifest
6
+ * Extend `clpp.Track` with `clpp.Track.originalLanguage` value which contains the original language string as it is present in manifest.
7
+ * For details refer to [Track](https://demo.castlabs.com/#/docs?q=clpp.Track).
8
+ * Add support for the `EXT-X-PROGRAM-DATE-TIME` tag in live HLS to the MSE
9
+ player. If the tag is present its value is now accessible via
10
+ `player.getTimelineOffset().seekRangeStartDateTime`. The timeline offset can
11
+ be used to display wall-clock time in the UI like so:
12
+ ```js
13
+ const offset = player.getTimelineOffset();
14
+ if (offset) {
15
+ // Get the wall-clock values for UI
16
+ const position = player.getPosition() + offset.offsetDateTime;
17
+ const start = player.getSeekRange().start + offset.offsetDateTime;
18
+ const end = player.getSeekRange().end + offset.offsetDateTime;
19
+ }
20
+ ```
21
+ * Add support for fetching decryption keys from DRMtoday for
22
+ clear-key-encrypted HLS content (`METHOD=AES-128`).
23
+ * Add support for Widevine EME configuration options
24
+ * `persistentState` can be configured via the boolean option
25
+ `drm.customData.widevinePersistentStateRequired`
26
+ * `distinctiveIdentifier` can be configured via the boolean option
27
+ `drm.customData.widevineDistinctiveIdentifierRequired`
28
+
29
+
30
+ ## Changes
31
+
32
+ * Added `PlayerSurface` option to control webOS long startup patch `webOSStartupPatch`
33
+ * This patch could cause unexpected behavior for specific player setups.
34
+ * For details refer to [PlayerSurface Configuration](https://demo.castlabs.com/#/docs/surface#disabling-webos-startup-optimization).
35
+ * Fix a glitch where WebVTT XML tags were being displayed along with the subtitle
36
+ text in case of WebVTT subtitles embedded inside of MP4 media files.
37
+ * Fix an issue of the `HtmlCueComponent` where some subtitle cues were not begin
38
+ displayed in case of overlaps in segmented subtitles.
39
+
1
40
  # 6.9.0
2
41
 
3
42
  ## New Features
package/cjs/cl.adobe.js CHANGED
@@ -1,7 +1,7 @@
1
1
  (function(){var g={}; var _ = _ || {}
2
- var f=function(window){var oO=function(){this.l=this.f=null;this.a="";this.h=new _.I("clpp.adobe.AdobePlugin")},rO=function(a){a.f=new _.dg;a.f.on(a.l,_.Le,function(){return pO(a)});a.f.on(a.l,_.Ke,function(){s.Media.play(a.a,a.l.getPosition())});a.f.on(a.l,_.vd,function(){return qO(a)});a.f.on(a.l,_.pe,function(b){b=b.detail;switch(b.currentState){case _.Xm:a.a.length||qO(a);s.Media.play(a.a,a.l.getPosition());break;case _.Wm:case _.Om:pO(a);break;case _.Qm:case _.Em:case _.Um:a.h.info("Close session for "+a.a+" in player state "+
3
- (b.currentState+".")),pO(a),s.Media.close(a.a),a.a=""}})},qO=function(a){var b=a.l.getLoadedSource();a.a=b?b.name||b.url:"";a.h.info("Open session for "+a.a+" with duration "+a.l.getDuration());s.Media.open(a.a,a.l.getDuration(),_.oa)},pO=function(a){s.Media.stop(a.a,a.l.getPosition())},sO=function(){};_.w(oO,_.$p);oO.prototype.onPlayerCreated=function(a){window.s&&s.Media?(this.l=a,rO(this)):this.h.warn("Adobe API not available.")};
4
- oO.prototype.onPlayerWillDestroy=function(){this.f&&(this.f.release(),this.f=null);this.l=null;this.a=""};oO.prototype.id=function(){return"adobe"};_.C("clpp.adobe.AdobeAnalyticsPlugin",oO);oO.Id="adobe";sO.prototype.create=function(){return new oO};_.qo(new sO);};
2
+ var f=function(window){var AO=function(){this.l=this.f=null;this.a="";this.h=new _.I("clpp.adobe.AdobePlugin")},DO=function(a){a.f=new _.eg;a.f.on(a.l,_.Ne,function(){return BO(a)});a.f.on(a.l,_.Me,function(){s.Media.play(a.a,a.l.getPosition())});a.f.on(a.l,_.xd,function(){return CO(a)});a.f.on(a.l,_.re,function(b){b=b.detail;switch(b.currentState){case _.bn:a.a.length||CO(a);s.Media.play(a.a,a.l.getPosition());break;case _.an:case _.Tm:BO(a);break;case _.Vm:case _.Om:case _.Zm:a.h.info("Close session for "+a.a+" in player state "+
3
+ (b.currentState+".")),BO(a),s.Media.close(a.a),a.a=""}})},CO=function(a){var b=a.l.getLoadedSource();a.a=b?b.name||b.url:"";a.h.info("Open session for "+a.a+" with duration "+a.l.getDuration());s.Media.open(a.a,a.l.getDuration(),_.qa)},BO=function(a){s.Media.stop(a.a,a.l.getPosition())},EO=function(){};_.w(AO,_.eq);AO.prototype.onPlayerCreated=function(a){window.s&&s.Media?(this.l=a,DO(this)):this.h.warn("Adobe API not available.")};
4
+ AO.prototype.onPlayerWillDestroy=function(){this.f&&(this.f.release(),this.f=null);this.l=null;this.a=""};AO.prototype.id=function(){return"adobe"};_.C("clpp.adobe.AdobeAnalyticsPlugin",AO);AO.Id="adobe";EO.prototype.create=function(){return new AO};_.vo(new EO);};
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 mO=function(){var a=this;this.a=this.l=null;this.m=this.f=this.j=!1;this.o=new _.Ui(function(){a.l.play()["catch"](function(){})});this.g=new _.dg},nO=function(){};_.w(mO,_.$p);_.t=mO.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.hk.bind(this)),this.g.on(this.a,"webkitcurrentplaybacktargetiswirelesschanged",this.Jk.bind(this)))};
3
- _.t.onPlayerWillRelease=function(){this.o.stop();this.g.release()};_.t.id=function(){return"airplay"};_.t.hk=function(a){switch(a.availability){case "available":this.f=!0;break;case "not-available":this.f=!1}this.l.trigger(new _.J(_.$b,{canCast:this.f}))};_.t.Jk=function(){var a=(this.j=this.a.webkitCurrentPlaybackTargetIsWireless)?_.Yb:_.Xb;if(this.m||!this.l.isPaused()||this.l.getState()===_.Xm)this.m?this.l.play()["catch"](function(){}):this.o.aa(.01);this.l.trigger(new _.J(a))};_.t.mb=function(){return this.j};
4
- _.t.te=function(){return this.f};_.t.il=function(){this.f&&(this.m=!this.l.isPaused(),this.a.webkitShowPlaybackTargetPicker())};_.C("clpp.airplay.AirPlayPlugin",mO);mO.prototype.showCastMenu=mO.prototype.il;mO.prototype.canCast=mO.prototype.te;mO.prototype.isCasting=mO.prototype.mb;mO.Id="airplay";nO.prototype.create=function(){return new mO};_.qo(new nO);};
2
+ var f=function(window){var yO=function(){var a=this;this.a=this.l=null;this.m=this.f=this.j=!1;this.o=new _.Yi(function(){a.l.play()["catch"](function(){})});this.g=new _.eg},zO=function(){};_.w(yO,_.eq);_.t=yO.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.kk.bind(this)),this.g.on(this.a,"webkitcurrentplaybacktargetiswirelesschanged",this.Mk.bind(this)))};
3
+ _.t.onPlayerWillRelease=function(){this.o.stop();this.g.release()};_.t.id=function(){return"airplay"};_.t.kk=function(a){switch(a.availability){case "available":this.f=!0;break;case "not-available":this.f=!1}this.l.trigger(new _.J(_.cc,{canCast:this.f}))};_.t.Mk=function(){var a=(this.j=this.a.webkitCurrentPlaybackTargetIsWireless)?_.ac:_.$b;if(this.m||!this.l.isPaused()||this.l.getState()===_.bn)this.m?this.l.play()["catch"](function(){}):this.o.aa(.01);this.l.trigger(new _.J(a))};_.t.mb=function(){return this.j};
4
+ _.t.ve=function(){return this.f};_.t.ml=function(){this.f&&(this.m=!this.l.isPaused(),this.a.webkitShowPlaybackTargetPicker())};_.C("clpp.airplay.AirPlayPlugin",yO);yO.prototype.showCastMenu=yO.prototype.ml;yO.prototype.canCast=yO.prototype.ve;yO.prototype.isCasting=yO.prototype.mb;yO.Id="airplay";zO.prototype.create=function(){return new yO};_.vo(new zO);};
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,10 +1,10 @@
1
1
  (function(){var g={}; var _ = _ || {}
2
- var f=function(window){var eO=function(a,b){this.l=a;this.f=b;this.a=new _.dg;this.g=!1},fO=function(a){function b(c){var d=GenericPlayerApi.call(this)||this;d.l=c;d.a=_.ki();return d}_.w(b,GenericPlayerApi);b.prototype.getPlayerName=function(){return _.oa};b.prototype.getVersion=function(){return _.ea};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.l.isLive()?
3
- 0:1E3*this.l.getDuration()};b.prototype.getCurrentPosition=function(){return 1E3*this.l.getPosition()};b.prototype.getCurrentBitrate=function(){var c=this.l.getStats();return(c?c.streamBandwidth:0)/1E3};return new b(a)},gO=function(){this.j=this.f=this.a=this.g=this.l=null;this.m=new _.dg},hO=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===_.te&&a.g.setUUID(f))},iO=function(a,
4
- b){var c=b.customParameters||{};a.a=a.g.createStreamingSession();for(var d in c)a.a.setCustomParameter(d,c[d]);a.m.on(a.l,_.hd,a.U.bind(a));a.j=fO(a.l);a.a.attachPlayer(a.j)},jO=function(a,b){_.gg(a.m);a.f&&(a.f.release(),a.f=null);a.a&&(a.a.stopStreamingSession(b),a.a=null)},kO=function(){return!window.SmartLib||!window.GenericPlayerApi},lO=function(){};_.t=eO.prototype;_.t.init=function(){var a=this.l,b=this.a;b.on(a,_.pe,this.Eh.bind(this));b.on(a,_.rc,this.Ch.bind(this));b.on(a,"seek",this.Dh.bind(this))};
5
- _.t.Ch=function(a){a=a.detail;typeof a.bandwidth===_.k&&this.f.notifyLayerSwitch(a.bandwidth/1E3)};_.t.Eh=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.Dh=function(){var a=1E3*this.l.getPosition();this.f.notifySeek(a)};_.t.release=function(){this.a&&(_.gg(this.a),this.a=null)};_.w(gO,_.$p);_.t=gO.prototype;_.t.onPlayerCreated=function(a){this.l=a};_.t.onContentWillLoad=function(a,b){var c=this,d=a.getConfiguration().broadpeak;if(d){if(kO())return a.onError(new _.L(1,9,11E3));hO(this,d);iO(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}));jO(c,void 0)}else b.url=e.getURL(),c.f=new eO(c.l,c.j),c.f.init()})}};
6
- _.t.U=function(a){a=a.detail;if(7003===a.code)jO(this,SmartLib.BPFormatNotSupportedError);else if(a.severity===_.M)switch(a.category){case 3:jO(this,SmartLib.BPDecodingError);break;case 1:jO(this,SmartLib.BPNetworkingError);break;case 6:jO(this,SmartLib.BPAccessRightError);break;default:jO(this,SmartLib.BPUnspecifiedError)}};_.t.onPlayerWillRelease=function(){kO()||jO(this,SmartLib.BPSessionEndsNormally)};_.t.id=function(){return"broadpeak"};_.C("clpp.broadpeak.BroadpeakPlugin",gO);
7
- gO.isSdkMissing=kO;gO.Id="broadpeak";lO.prototype.create=function(){return new gO};_.qo(new lO);};
2
+ var f=function(window){var qO=function(a,b){this.l=a;this.f=b;this.a=new _.eg;this.g=!1},rO=function(a){function b(c){var d=GenericPlayerApi.call(this)||this;d.l=c;d.a=_.oi();return d}_.w(b,GenericPlayerApi);b.prototype.getPlayerName=function(){return _.qa};b.prototype.getVersion=function(){return _.ea};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.l.isLive()?
3
+ 0:1E3*this.l.getDuration()};b.prototype.getCurrentPosition=function(){return 1E3*this.l.getPosition()};b.prototype.getCurrentBitrate=function(){var c=this.l.getStats();return(c?c.streamBandwidth:0)/1E3};return new b(a)},sO=function(){this.j=this.f=this.a=this.g=this.l=null;this.m=new _.eg},tO=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===_.ve&&a.g.setUUID(f))},uO=function(a,
4
+ b){var c=b.customParameters||{};a.a=a.g.createStreamingSession();for(var d in c)a.a.setCustomParameter(d,c[d]);a.m.on(a.l,_.jd,a.U.bind(a));a.j=rO(a.l);a.a.attachPlayer(a.j)},vO=function(a,b){_.hg(a.m);a.f&&(a.f.release(),a.f=null);a.a&&(a.a.stopStreamingSession(b),a.a=null)},wO=function(){return!window.SmartLib||!window.GenericPlayerApi},xO=function(){};_.t=qO.prototype;_.t.init=function(){var a=this.l,b=this.a;b.on(a,_.re,this.Hh.bind(this));b.on(a,_.tc,this.Fh.bind(this));b.on(a,"seek",this.Gh.bind(this))};
5
+ _.t.Fh=function(a){a=a.detail;typeof a.bandwidth===_.k&&this.f.notifyLayerSwitch(a.bandwidth/1E3)};_.t.Hh=function(a){var b=this.l,c=this.f;a=a.detail;var d=a.currentState;a.previousState===_.Tm&&c.notifyStallEnd(!b.isPaused());switch(d){case _.Tm:c.notifyStallStart();break;case _.bn:this.g?c.notifyResume():(c.notifyFirstImage(),this.g=!0);break;case _.an:c.notifyPause()}};_.t.Gh=function(){var a=1E3*this.l.getPosition();this.f.notifySeek(a)};_.t.release=function(){this.a&&(_.hg(this.a),this.a=null)};_.w(sO,_.eq);_.t=sO.prototype;_.t.onPlayerCreated=function(a){this.l=a};_.t.onContentWillLoad=function(a,b){var c=this,d=a.getConfiguration().broadpeak;if(d){if(wO())return a.onError(new _.L(1,9,11E3));tO(this,d);uO(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}));vO(c,void 0)}else b.url=e.getURL(),c.f=new qO(c.l,c.j),c.f.init()})}};
6
+ _.t.U=function(a){a=a.detail;if(7003===a.code)vO(this,SmartLib.BPFormatNotSupportedError);else if(a.severity===_.M)switch(a.category){case 3:vO(this,SmartLib.BPDecodingError);break;case 1:vO(this,SmartLib.BPNetworkingError);break;case 6:vO(this,SmartLib.BPAccessRightError);break;default:vO(this,SmartLib.BPUnspecifiedError)}};_.t.onPlayerWillRelease=function(){wO()||vO(this,SmartLib.BPSessionEndsNormally)};_.t.id=function(){return"broadpeak"};_.C("clpp.broadpeak.BroadpeakPlugin",sO);
7
+ sO.isSdkMissing=wO;sO.Id="broadpeak";xO.prototype.create=function(){return new sO};_.vo(new xO);};
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));}