@castlabs/prestoplay 6.8.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 +66 -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 +111 -110
  6. package/cjs/cl.conviva.js +33 -33
  7. package/cjs/cl.core.js +414 -411
  8. package/cjs/cl.crypto.js +10 -9
  9. package/cjs/cl.dash.js +72 -72
  10. package/cjs/cl.externs.js +36 -37
  11. package/cjs/cl.freewheel.js +24 -24
  12. package/cjs/cl.hls.js +73 -67
  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 +275 -274
  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 +70 -70
  22. package/cjs/cl.thumbnails.js +24 -24
  23. package/cjs/cl.tizen.js +70 -70
  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 +19 -19
  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 +88 -88
  34. package/cl.conviva.js +27 -27
  35. package/cl.core.js +366 -362
  36. package/cl.crypto.js +9 -9
  37. package/cl.dash.js +66 -66
  38. package/cl.externs.js +36 -37
  39. package/cl.freewheel.js +19 -19
  40. package/cl.hls.js +61 -58
  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 +238 -239
  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 +15 -15
  58. package/package.json +1 -1
  59. package/typings.d.ts +74 -2
package/CHANGELOG.md CHANGED
@@ -1,3 +1,69 @@
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
+
40
+ # 6.9.0
41
+
42
+ ## New Features
43
+
44
+ * Add config option `streaming.ignoreManagedMediaSourceStreamingHints` to ignore
45
+ hints generated by Managed Media Source (MMS) `startstreaming` and
46
+ `endstreaming` events. Default `false` optimizes for both performance and
47
+ resource management, particularly in varied network conditions and on
48
+ constrained devices, where managing power consumption and network efficiency
49
+ is crucial. Use with caution as enabling this option could lead to increased
50
+ power usage, making the default disabled setting a safer choice for general
51
+ use cases.
52
+
53
+ ## Changes
54
+
55
+ * HLS fixes:
56
+ * Fix support for URIs with missing file extensions in discontinuous HLS.
57
+ * Fix sporadic crashes in discontinuous live streams which contain
58
+ thumbnails or subtitles.
59
+ * Fix playback of MP4 streams with large baseMediaDecodeTime values.
60
+ * Additional Meta-Data such as accessibility information are no longer
61
+ fetched by default with the Safari Native Player implementation. This
62
+ behavior can be re-enabled by setting `enableMetadata` to `true` in the
63
+ [Safari Configuration](https://demo.castlabs.com/#/docs?q=clpp#SafariConfiguration).
64
+ * Fixed issue with Safaris native track selection where the player would
65
+ sometimes mark the wrong track as selected.
66
+
1
67
  # 6.8.0
2
68
 
3
69
  ## New Features
package/cjs/cl.adobe.js CHANGED
@@ -1,7 +1,7 @@
1
1
  (function(){var g={}; var _ = _ || {}
2
- var f=function(window){var aO=function(){this.l=this.f=null;this.a="";this.h=new _.H("clpp.adobe.AdobePlugin")},dO=function(a){a.f=new _.dg;a.f.on(a.l,_.Me,function(){return bO(a)});a.f.on(a.l,_.Le,function(){s.Media.play(a.a,a.l.getPosition())});a.f.on(a.l,_.wd,function(){return cO(a)});a.f.on(a.l,_.qe,function(b){b=b.detail;switch(b.currentState){case _.an:a.a.length||cO(a);s.Media.play(a.a,a.l.getPosition());break;case _.$m:case _.Sm:bO(a);break;case _.Um:case _.Nm:case _.Ym: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(),_.ra)},bO=function(a){s.Media.stop(a.a,a.l.getPosition())},eO=function(){};_.w(aO,_.cq);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};_.uo(new eO);};
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 ZN=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 _.dg},$N=function(){};_.w(ZN,_.cq);_.t=ZN.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.$j.bind(this)),this.g.on(this.a,"webkitcurrentplaybacktargetiswirelesschanged",this.Bk.bind(this)))};
3
- _.t.onPlayerWillRelease=function(){this.o.stop();this.g.release()};_.t.id=function(){return"airplay"};_.t.$j=function(a){switch(a.availability){case "available":this.f=!0;break;case "not-available":this.f=!1}this.l.trigger(new _.J(_.ac,{canCast:this.f}))};_.t.Bk=function(){var a=(this.j=this.a.webkitCurrentPlaybackTargetIsWireless)?_.$b:_.Zb;if(this.m||!this.l.isPaused()||this.l.getState()===_.an)this.m?this.l.play()["catch"](function(){}):this.o.$(.01);this.l.trigger(new _.J(a))};_.t.kb=function(){return this.j};
4
- _.t.qe=function(){return this.f};_.t.bl=function(){this.f&&(this.m=!this.l.isPaused(),this.a.webkitShowPlaybackTargetPicker())};_.C("clpp.airplay.AirPlayPlugin",ZN);ZN.prototype.showCastMenu=ZN.prototype.bl;ZN.prototype.canCast=ZN.prototype.qe;ZN.prototype.isCasting=ZN.prototype.kb;ZN.Id="airplay";$N.prototype.create=function(){return new ZN};_.uo(new $N);};
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 RN=function(a,b){this.l=a;this.f=b;this.a=new _.dg;this.g=!1},SN=function(a){function b(c){var d=GenericPlayerApi.call(this)||this;d.l=c;d.a=_.li();return d}_.w(b,GenericPlayerApi);b.prototype.getPlayerName=function(){return _.ra};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)},TN=function(){this.j=this.f=this.a=this.g=this.l=null;this.m=new _.dg},UN=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===_.ue&&a.g.setUUID(f))},VN=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,_.id,a.T.bind(a));a.j=SN(a.l);a.a.attachPlayer(a.j)},WN=function(a,b){_.gg(a.m);a.f&&(a.f.release(),a.f=null);a.a&&(a.a.stopStreamingSession(b),a.a=null)},XN=function(){return!window.SmartLib||!window.GenericPlayerApi},YN=function(){};_.t=RN.prototype;_.t.init=function(){var a=this.l,b=this.a;b.on(a,_.qe,this.zh.bind(this));b.on(a,_.tc,this.xh.bind(this));b.on(a,"seek",this.yh.bind(this))};
5
- _.t.xh=function(a){a=a.detail;typeof a.bandwidth===_.k&&this.f.notifyLayerSwitch(a.bandwidth/1E3)};_.t.zh=function(a){var b=this.l,c=this.f;a=a.detail;var d=a.currentState;a.previousState===_.Sm&&c.notifyStallEnd(!b.isPaused());switch(d){case _.Sm:c.notifyStallStart();break;case _.an:this.g?c.notifyResume():(c.notifyFirstImage(),this.g=!0);break;case _.$m:c.notifyPause()}};_.t.yh=function(){var a=1E3*this.l.getPosition();this.f.notifySeek(a)};_.t.release=function(){this.a&&(_.gg(this.a),this.a=null)};_.w(TN,_.cq);_.t=TN.prototype;_.t.onPlayerCreated=function(a){this.l=a};_.t.onContentWillLoad=function(a,b){var c=this,d=a.getConfiguration().broadpeak;if(d){if(XN())return a.onError(new _.L(1,9,11E3));UN(this,d);VN(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}));WN(c,void 0)}else b.url=e.getURL(),c.f=new RN(c.l,c.j),c.f.init()})}};
6
- _.t.T=function(a){a=a.detail;if(7003===a.code)WN(this,SmartLib.BPFormatNotSupportedError);else if(a.severity===_.M)switch(a.category){case 3:WN(this,SmartLib.BPDecodingError);break;case 1:WN(this,SmartLib.BPNetworkingError);break;case 6:WN(this,SmartLib.BPAccessRightError);break;default:WN(this,SmartLib.BPUnspecifiedError)}};_.t.onPlayerWillRelease=function(){XN()||WN(this,SmartLib.BPSessionEndsNormally)};_.t.id=function(){return"broadpeak"};_.C("clpp.broadpeak.BroadpeakPlugin",TN);
7
- TN.isSdkMissing=XN;TN.Id="broadpeak";YN.prototype.create=function(){return new TN};_.uo(new YN);};
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));}