@castlabs/prestoplay 6.13.0 → 6.14.1

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 (62) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/cjs/cl.adobe.js +3 -3
  3. package/cjs/cl.airplay.js +3 -3
  4. package/cjs/cl.broadpeak.js +7 -6
  5. package/cjs/cl.cast.js +111 -111
  6. package/cjs/cl.conviva.js +33 -33
  7. package/cjs/cl.core.js +528 -518
  8. package/cjs/cl.crypto.js +9 -9
  9. package/cjs/cl.dash.js +72 -72
  10. package/cjs/cl.externs.js +60 -58
  11. package/cjs/cl.freewheel.js +24 -24
  12. package/cjs/cl.hls.js +69 -67
  13. package/cjs/cl.hlssmpte.js +6 -6
  14. package/cjs/cl.htmlcue.js +29 -30
  15. package/cjs/cl.ima.js +23 -23
  16. package/cjs/cl.mse.js +265 -274
  17. package/cjs/cl.muxdata.js +15 -14
  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.simid.js +15 -15
  22. package/cjs/cl.smooth.js +71 -71
  23. package/cjs/cl.thumbnails.js +26 -26
  24. package/cjs/cl.tizen.js +70 -70
  25. package/cjs/cl.ttml.js +28 -28
  26. package/cjs/cl.verimatrix.js +5 -5
  27. package/cjs/cl.vimond.js +13 -13
  28. package/cjs/cl.vr.js +19 -19
  29. package/cjs/cl.vtt.js +14 -14
  30. package/cjs/cl.youbora.js +20 -20
  31. package/cl.adobe.js +3 -3
  32. package/cl.airplay.js +3 -3
  33. package/cl.broadpeak.js +5 -5
  34. package/cl.cast.js +88 -88
  35. package/cl.conviva.js +27 -27
  36. package/cl.core.js +441 -431
  37. package/cl.crypto.js +8 -8
  38. package/cl.dash.js +68 -68
  39. package/cl.externs.js +60 -58
  40. package/cl.freewheel.js +19 -19
  41. package/cl.hls.js +71 -69
  42. package/cl.hlssmpte.js +5 -5
  43. package/cl.htmlcue.js +26 -26
  44. package/cl.ima.js +17 -17
  45. package/cl.mse.js +236 -239
  46. package/cl.muxdata.js +13 -12
  47. package/cl.onboard.js +4 -4
  48. package/cl.persistent.js +11 -11
  49. package/cl.playlist.js +5 -5
  50. package/cl.simid.js +13 -13
  51. package/cl.smooth.js +59 -59
  52. package/cl.thumbnails.js +19 -19
  53. package/cl.tizen.js +57 -57
  54. package/cl.ttml.js +22 -22
  55. package/cl.verimatrix.js +4 -4
  56. package/cl.vimond.js +8 -8
  57. package/cl.vr.js +14 -14
  58. package/cl.vtt.js +12 -12
  59. package/cl.youbora.js +15 -15
  60. package/clpp.styles.css +2 -0
  61. package/package.json +4 -4
  62. package/typings.d.ts +93 -50
package/CHANGELOG.md CHANGED
@@ -1,3 +1,45 @@
1
+ # 6.14.1
2
+
3
+ ## Changes
4
+
5
+ * Improve error handling of the `load()` method.
6
+ * Fix an issue on Safari where the player might get paused after seeking to
7
+ the very end of the video.
8
+ * Fix an issue with the player going to ENDED state early.
9
+ * Fix an issue where Tizen devices misreport AC-3 support for encrypted content.
10
+
11
+ # 6.14.0
12
+
13
+ ## New Features
14
+
15
+ * Add support for MPEG-DASH trick mode Adaptation Sets (i.e. those marked with an EssentialProperty descriptor with URL "http://dashif.org/guide-lines/trickmode").
16
+ * If such Adaptation Sets are present in the MPD, they are listed as separate [Tracks](https://demo.castlabs.com/#/docs?q=clpp.Track) by the [clpp.TrackManager#getVideoTracks()](https://demo.castlabs.com/#/docs?q=clpp.TrackManager#getVideoTracks) and marked with the `clpp.Track.trickPlay` flag set to `true`.
17
+ * These tracks and all their renditions are available only for manual selection using methods from [clpp.TrackManager](https://demo.castlabs.com/#/docs?q=clpp.TrackManager).
18
+ * At the moment, trick play tracks are completely ignored by ABR, meaning their renditions are not considered for automatic selection when the normal track associated with this trick play track is active. It is also not possible to enable ABR when the currently active track is a trick play track.
19
+ * For details, refer to the [clpp.Track.trickPlay](https://demo.castlabs.com/#/docs?q=clpp.Track#trickPlay) documentation.
20
+ * Add support for forced subtitles.
21
+ * For text tracks recognized as forced [clpp.Track.kind](https://demo.castlabs.com/#/docs?q=clpp.Track#kind) is set to `"forced"`.
22
+ * Added [config.preferForcedSubtitles](https://demo.castlabs.com/#/docs?q=clpp.PlayerConfiguration#preferForcedSubtitles) to prioritize forced subtitles over other text track types when `config.preferredTextLanguage` is also provided.
23
+ * If `config.preferredTextLanguage` is not specified, but the `config.preferForcedSubtitles` is set to `true` we first try to fallback to the language from the currently selected audio track. If there is no audio track, then we fallback to the language of the video track as a last resort.
24
+ * We assume that the forced subtitles are a subset of the full subtitles for the same language, i.e., all forced subtitles events should be included within the corresponding full subtitles. When the normal subtitles are being disabled, the corresponding forced subtitles in the same language are enabled automatically.
25
+
26
+ ## Changes
27
+
28
+ * Fix issues with live presentation delay when `lowLatencyMode` is `true`.
29
+ * Fix `suggestedPresentationDelay` config option.
30
+ * Make sure presentation delay gets set to 0 by default in DASH.
31
+ * Fix support for `timescale` attribute of thumbnail streams in DASH.
32
+ * Add Mux Data Plugin method to send custom events using `emit` method
33
+ * For details refer to [Mux Data Analytics Docs](https://demo.castlabs.com/#/docs/analytics#custom-events)
34
+ * Upgrade supported version of Broadpeak Plugin.
35
+ * Minimum recommended version is now v5.0.1-4c69e21. Refer to Analytics Documentation for details.
36
+ * Add support for [session precache](https://delivery-platform.broadpeak.tv/smartlib/public/advanced-features/precache/) to the Broadpeak plugin.
37
+ * This fixes issues with client side ad insertion with pre-rolls.
38
+ * Fix CMSD header parsing to be case insensitive.
39
+ * Fix `clpp.SpeedUpMode` enum missing `DECODER` value.
40
+ * Update minimum recommended version of Mux Data SDK to 4.30.0
41
+ * Refer to [Mux Data Analytics Documentation](https://demo.castlabs.com/#/docs/analytics#mux-data) for details.
42
+
1
43
  # 6.13.0
2
44
 
3
45
  ## New Features
package/cjs/cl.adobe.js CHANGED
@@ -1,7 +1,7 @@
1
1
  (function(){var g={}; var _ = _ || {}
2
- var f=function(window){var $R=function(){this.m=this.f=null;this.a="";this.g=new _.K("clpp.adobe.AdobePlugin")},cS=function(a){a.f=new _.Eh;a.f.on(a.m,_.ng,function(){return aS(a)});a.f.on(a.m,_.mg,function(){s.Media.play(a.a,a.m.getPosition())});a.f.on(a.m,_.Fe,function(){return bS(a)});a.f.on(a.m,_.Tf,function(b){b=b.detail;switch(b.currentState){case _.Uo:a.a.length||bS(a);s.Media.play(a.a,a.m.getPosition());break;case _.To:case _.Lo:aS(a);break;case _.No:case _.Go:case _.Ro:a.g.info("Close session for "+a.a+" in player state "+
3
- (b.currentState+".")),aS(a),s.Media.close(a.a),a.a=""}})},bS=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)},aS=function(a){s.Media.stop(a.a,a.m.getPosition())},dS=function(){};_.w($R,_.qt);$R.prototype.onPlayerCreated=function(a){window.s&&s.Media?(this.m=a,cS(this)):this.g.warn("Adobe API not available.")};
4
- $R.prototype.onPlayerWillDestroy=function(){this.f&&(this.f.release(),this.f=null);this.m=null;this.a=""};$R.prototype.id=function(){return"adobe"};_.H("clpp.adobe.AdobeAnalyticsPlugin",$R);$R.Id="adobe";dS.prototype.create=function(){return new $R};_.mq(new dS);};
2
+ var f=function(window){var wS=function(){this.m=this.f=null;this.a="";this.g=new _.K("clpp.adobe.AdobePlugin")},zS=function(a){a.f=new _.Eh;a.f.on(a.m,_.pg,function(){return xS(a)});a.f.on(a.m,_.og,function(){s.Media.play(a.a,a.m.getPosition())});a.f.on(a.m,_.Ie,function(){return yS(a)});a.f.on(a.m,_.Vf,function(b){b=b.detail;switch(b.currentState){case _.ip:a.a.length||yS(a);s.Media.play(a.a,a.m.getPosition());break;case _.hp:case _.$o:xS(a);break;case _.bp:case _.Vo:case _.fp:a.g.info("Close session for "+a.a+" in player state "+
3
+ (b.currentState+".")),xS(a),s.Media.close(a.a),a.a=""}})},yS=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)},xS=function(a){s.Media.stop(a.a,a.m.getPosition())},AS=function(){};_.w(wS,_.fu);wS.prototype.onPlayerCreated=function(a){window.s&&s.Media?(this.m=a,zS(this)):this.g.warn("Adobe API not available.")};
4
+ wS.prototype.onPlayerWillDestroy=function(){this.f&&(this.f.release(),this.f=null);this.m=null;this.a=""};wS.prototype.id=function(){return"adobe"};_.I("clpp.adobe.AdobeAnalyticsPlugin",wS);wS.Id="adobe";AS.prototype.create=function(){return new wS};_.Dq(new AS);};
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 YR=function(){var a=this;this.a=this.m=null;this.l=this.f=this.j=!1;this.o=new _.sk(function(){a.m.play()["catch"](function(){})});this.h=new _.Eh},ZR=function(){};_.w(YR,_.qt);_.r=YR.prototype;_.r.onPlayerCreated=function(a){this.m=a;this.a=a.getSurface().getMedia()};_.r.onContentWillLoad=function(){this.a&&(this.h.on(this.a,"webkitplaybacktargetavailabilitychanged",this.cl.bind(this)),this.h.on(this.a,"webkitcurrentplaybacktargetiswirelesschanged",this.Dl.bind(this)))};
3
- _.r.onPlayerWillRelease=function(){this.o.stop();this.h.release()};_.r.id=function(){return"airplay"};_.r.cl=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}))};_.r.Dl=function(){var a=(this.j=this.a.webkitCurrentPlaybackTargetIsWireless)?_.Pc:_.Oc;if(this.l||!this.m.isPaused()||this.m.getState()===_.Uo)this.l?this.m.play()["catch"](function(){}):this.o.aa(.01);this.m.trigger(new _.L(a))};_.r.ob=function(){return this.j};
4
- _.r.Se=function(){return this.f};_.r.mm=function(){this.f&&(this.l=!this.m.isPaused(),this.a.webkitShowPlaybackTargetPicker())};_.H("clpp.airplay.AirPlayPlugin",YR);YR.prototype.showCastMenu=YR.prototype.mm;YR.prototype.canCast=YR.prototype.Se;YR.prototype.isCasting=YR.prototype.ob;YR.Id="airplay";ZR.prototype.create=function(){return new YR};_.mq(new ZR);};
2
+ var f=function(window){var uS=function(){var a=this;this.a=this.m=null;this.l=this.f=this.j=!1;this.o=new _.Ek(function(){a.m.play()["catch"](function(){})});this.h=new _.Eh},vS=function(){};_.w(uS,_.fu);_.r=uS.prototype;_.r.onPlayerCreated=function(a){this.m=a;this.a=a.getSurface().getMedia()};_.r.onContentWillLoad=function(){this.a&&(this.h.on(this.a,"webkitplaybacktargetavailabilitychanged",this.fl.bind(this)),this.h.on(this.a,"webkitcurrentplaybacktargetiswirelesschanged",this.Gl.bind(this)))};
3
+ _.r.onPlayerWillRelease=function(){this.o.stop();this.h.release()};_.r.id=function(){return"airplay"};_.r.fl=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}))};_.r.Gl=function(){var a=(this.j=this.a.webkitCurrentPlaybackTargetIsWireless)?_.Nc:_.Mc;if(this.l||!this.m.isPaused()||this.m.getState()===_.ip)this.l?this.m.play()["catch"](function(){}):this.o.aa(.01);this.m.trigger(new _.L(a))};_.r.qb=function(){return this.j};
4
+ _.r.Se=function(){return this.f};_.r.pm=function(){this.f&&(this.l=!this.m.isPaused(),this.a.webkitShowPlaybackTargetPicker())};_.I("clpp.airplay.AirPlayPlugin",uS);uS.prototype.showCastMenu=uS.prototype.pm;uS.prototype.canCast=uS.prototype.Se;uS.prototype.isCasting=uS.prototype.qb;uS.Id="airplay";vS.prototype.create=function(){return new uS};_.Dq(new vS);};
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,11 @@
1
1
  (function(){var g={}; var _ = _ || {}
2
- var f=function(window){var PR=function(a,b){this.m=a;this.f=b;this.a=new _.Eh;this.h=!1},QR=function(a){function b(c){var d=GenericPlayerApi.call(this)||this;d.m=c;d.a=_.Fj();return d}_.w(b,GenericPlayerApi);b.prototype.getPlayerName=function(){return _.wa};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)},RR=function(){this.j=this.f=this.a=this.h=this.m=null;this.l=new _.Eh},SR=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===_.Wf&&a.h.setUUID(f))},TR=function(a,
4
- b){var c=b.customParameters||{};a.a=a.h.createStreamingSession();for(var d in c)a.a.setCustomParameter(d,c[d]);a.l.on(a.m,_.ne,a.U.bind(a));a.j=QR(a.m);a.a.attachPlayer(a.j)},UR=function(a,b){_.Hh(a.l);a.f&&(a.f.release(),a.f=null);a.a&&(a.a.stopStreamingSession(b),a.a=null)},VR=function(){return!window.SmartLib||!window.GenericPlayerApi},WR=function(){};_.r=PR.prototype;_.r.init=function(){var a=this.m,b=this.a;b.on(a,_.Tf,this.si.bind(this));b.on(a,_.gd,this.pi.bind(this));b.on(a,"seek",this.ri.bind(this))};
5
- _.r.pi=function(a){a=a.detail;typeof a.bandwidth===_.k&&this.f.notifyLayerSwitch(a.bandwidth/1E3)};_.r.si=function(a){var b=this.m,c=this.f;a=a.detail;var d=a.currentState;a.previousState===_.Lo&&c.notifyStallEnd(!b.isPaused());switch(d){case _.Lo:c.notifyStallStart();break;case _.Uo:this.h?c.notifyResume():(c.notifyFirstImage(),this.h=!0);break;case _.To:c.notifyPause()}};_.r.ri=function(){var a=1E3*this.m.getPosition();this.f.notifySeek(a)};_.r.release=function(){this.a&&(_.Hh(this.a),this.a=null)};_.w(RR,_.qt);_.r=RR.prototype;_.r.onPlayerCreated=function(a){this.m=a};_.r.onContentWillLoad=function(a,b){var c=this,d=a.getConfiguration().broadpeak;if(d){if(VR())return a.onError(new _.P(1,9,11E3));SR(this,d);TR(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 _.P(1,9,11001,{bpkErrorCode:f,message:e}));UR(c,void 0)}else b.url=e.getURL(),c.f=new PR(c.m,c.j),c.f.init()})}};
6
- _.r.U=function(a){a=a.detail;if(7003===a.code)UR(this,SmartLib.BPFormatNotSupportedError);else if(a.severity===_.Q)switch(a.category){case 3:UR(this,SmartLib.BPDecodingError);break;case 1:UR(this,SmartLib.BPNetworkingError);break;case 6:UR(this,SmartLib.BPAccessRightError);break;default:UR(this,SmartLib.BPUnspecifiedError)}};_.r.onPlayerWillRelease=function(){VR()||UR(this,SmartLib.BPSessionEndsNormally)};_.r.id=function(){return"broadpeak"};_.H("clpp.broadpeak.BroadpeakPlugin",RR);
7
- RR.isSdkMissing=VR;RR.Id="broadpeak";WR.prototype.create=function(){return new RR};_.mq(new WR);};
2
+ var f=function(window){var mS=function(a,b){this.m=a;this.f=b;this.a=new _.Eh;this.h=!1},nS=function(a){function b(c){var d=GenericPlayerApi.call(this)||this;d.m=c;d.a=_.Ij();return d}_.w(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)},oS=function(){this.l=this.f=this.a=this.h=this.m=null;this.o=new _.Eh;this.j=!1},pS=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===_.Yf&&a.h.setUUID(f))},qS=
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,_.pe,a.T.bind(a));a.l=nS(a.m);a.a.attachPlayer(a.l)},rS=function(a,b){_.Hh(a.o);a.f&&(a.f.release(),a.f=null);a.a&&(a.a.stopStreamingSession(b),a.a=null)},sS=function(){return!window.SmartLib||!window.GenericPlayerApi},tS=function(){};_.r=mS.prototype;
5
+ _.r.init=function(){var a=this.m,b=this.a;b.on(a,_.Vf,this.xi.bind(this));b.on(a,_.hd,this.vi.bind(this));b.on(a,"seek",this.wi.bind(this))};_.r.vi=function(a){a=a.detail;typeof a.bandwidth===_.k&&this.f.notifyLayerSwitch(a.bandwidth/1E3)};_.r.xi=function(a){var b=this.m,c=this.f;a=a.detail;var d=a.currentState;a.previousState===_.$o&&c.notifyStallEnd(!b.isPaused());switch(d){case _.$o:c.notifyStallStart();break;case _.ip:this.h?c.notifyResume():(c.notifyFirstImage(),this.h=!0);break;case _.hp:c.notifyPause()}};
6
+ _.r.wi=function(){var a=1E3*this.m.getPosition();this.f.notifySeek(a)};_.r.release=function(){this.a&&(_.Hh(this.a),this.a=null)};_.w(oS,_.fu);_.r=oS.prototype;_.r.onPlayerCreated=function(a){this.m=a};_.r.onContentWillLoad=function(a,b){var c=this,d=a.getConfiguration().broadpeak;if(d){if(sS())return a.onError(new _.P(1,9,11E3));this.j=!0;pS(this,d);qS(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 _.P(1,9,11001,{bpkErrorCode:f,message:e}));rS(c,void 0)}else b.url=e.getURL(),c.f=new mS(c.m,c.l),c.f.init()})}};
7
+ _.r.onContentLoaded=function(){!1!==this.j&&this.a.precacheEnded()};_.r.T=function(a){a=a.detail;if(7003===a.code)rS(this,SmartLib.BPFormatNotSupportedError);else if(a.severity===_.Q)switch(a.category){case 3:rS(this,SmartLib.BPDecodingError);break;case 1:rS(this,SmartLib.BPNetworkingError);break;case 6:rS(this,SmartLib.BPAccessRightError);break;default:rS(this,SmartLib.BPUnspecifiedError)}};_.r.onPlayerWillRelease=function(){sS()||rS(this,SmartLib.BPSessionEndsNormally);this.j=!1};_.r.id=function(){return"broadpeak"};
8
+ _.I("clpp.broadpeak.BroadpeakPlugin",oS);oS.isSdkMissing=sS;oS.Id="broadpeak";tS.prototype.create=function(){return new oS};_.Dq(new tS);};
8
9
  if(typeof(module)!="undefined"&&module.exports){var x=require("./cl.core.js");_ = x._;(f.call(g,this));module.exports=g;}
9
10
  else if (typeof(define)!="undefined"&&define.amd) {define(["./cl.core"], function(c){_=c._;(f.call(g,this));return g;});}
10
11
  else{_=this.clpp._;(f.call(g,this));}