@castlabs/prestoplay 6.34.0 → 6.35.0-beta.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 (61) hide show
  1. package/cjs/cl.adobe.js +3 -3
  2. package/cjs/cl.airplay.js +3 -3
  3. package/cjs/cl.broadpeak.js +18 -18
  4. package/cjs/cl.cast.js +125 -125
  5. package/cjs/cl.conviva.js +31 -31
  6. package/cjs/cl.core.js +579 -577
  7. package/cjs/cl.crypto.js +9 -9
  8. package/cjs/cl.dash.js +100 -100
  9. package/cjs/cl.freewheel.js +26 -26
  10. package/cjs/cl.hls.js +76 -76
  11. package/cjs/cl.hlssmpte.js +6 -6
  12. package/cjs/cl.htmlcue.js +30 -30
  13. package/cjs/cl.ima.js +25 -25
  14. package/cjs/cl.mediatailor.js +3 -3
  15. package/cjs/cl.mse.js +345 -345
  16. package/cjs/cl.muxdata.js +13 -13
  17. package/cjs/cl.onboard.js +4 -4
  18. package/cjs/cl.persistent.js +14 -14
  19. package/cjs/cl.playlist.js +5 -5
  20. package/cjs/cl.simid.js +16 -16
  21. package/cjs/cl.smooth.js +70 -70
  22. package/cjs/cl.thumbnails.js +25 -25
  23. package/cjs/cl.tizen.js +67 -67
  24. package/cjs/cl.ttml.js +29 -29
  25. package/cjs/cl.verimatrix.js +5 -5
  26. package/cjs/cl.vimond.js +8 -8
  27. package/cjs/cl.vr.js +19 -19
  28. package/cjs/cl.vtt.js +14 -14
  29. package/cjs/cl.yospace.js +3 -3
  30. package/cjs/cl.youbora.js +38 -38
  31. package/cl.adobe.js +3 -3
  32. package/cl.airplay.js +3 -3
  33. package/cl.broadpeak.js +14 -14
  34. package/cl.cast.js +97 -97
  35. package/cl.conviva.js +28 -27
  36. package/cl.core.js +463 -462
  37. package/cl.crypto.js +8 -8
  38. package/cl.dash.js +89 -89
  39. package/cl.freewheel.js +20 -20
  40. package/cl.hls.js +82 -82
  41. package/cl.hlssmpte.js +5 -5
  42. package/cl.htmlcue.js +26 -26
  43. package/cl.ima.js +19 -19
  44. package/cl.mediatailor.js +2 -2
  45. package/cl.mse.js +299 -299
  46. package/cl.muxdata.js +11 -11
  47. package/cl.onboard.js +5 -5
  48. package/cl.persistent.js +10 -10
  49. package/cl.playlist.js +5 -5
  50. package/cl.simid.js +14 -14
  51. package/cl.smooth.js +60 -60
  52. package/cl.thumbnails.js +17 -17
  53. package/cl.tizen.js +55 -55
  54. package/cl.ttml.js +22 -22
  55. package/cl.verimatrix.js +4 -4
  56. package/cl.vimond.js +7 -7
  57. package/cl.vr.js +14 -14
  58. package/cl.vtt.js +12 -12
  59. package/cl.yospace.js +3 -3
  60. package/cl.youbora.js +31 -31
  61. package/package.json +1 -1
package/cl.conviva.js CHANGED
@@ -1,27 +1,28 @@
1
- import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var GU="Ad Error",HU="onAdBreakStarted()",IU="onAdBreakStopped()",JU=function(a){var b=_.li();let c=Conviva.Constants.DeviceType.DESKTOP,d=Conviva.Constants.DeviceCategory.WEB;const e=b.os;b=b.osVersion.name;let f="";_.Yh()&&(f="Apple");_.Xh()?(f="Google",c=Conviva.Constants.DeviceType.SETTOP,d=Conviva.Constants.DeviceCategory.CHROMECAST):_.Zh()?(c=Conviva.Constants.DeviceType.MOBILE,/(android)/i.test(navigator.userAgent)?d=Conviva.Constants.DeviceCategory.ANDROID_DEVICE:_.Yh()&&(d=Conviva.Constants.DeviceCategory.APPLE_DEVICE)):
2
- _.Sh()||_.Ph()||_.Oh("Hisense")?(c=Conviva.Constants.DeviceType.SMARTTV,d=Conviva.Constants.DeviceCategory.SMART_TV,_.Sh()?(b="",f="LG",d=Conviva.Constants.DeviceCategory.LG_TV):_.Ph()?(f="Samsung",d=Conviva.Constants.DeviceCategory.SAMSUNG_TV):_.Oh("Hisense")&&(b="",f="Hisense")):_.Oh("Xbox One")&&(f="Microsoft",c=Conviva.Constants.DeviceType.CONSOLE,d=Conviva.Constants.DeviceCategory.XBOX);const g=a.deviceMetadata||{},h=(k,l)=>{k in g||!l||(g[k]=l)};h(Conviva.Constants.DeviceMetadata.TYPE,a.deviceType||
3
- c);h(Conviva.Constants.DeviceMetadata.OS_NAME,e);h(Conviva.Constants.DeviceMetadata.OS_VERSION,b);h(Conviva.Constants.DeviceMetadata.CATEGORY,a.deviceCategory||d);h(Conviva.Constants.DeviceMetadata.BRAND,a.deviceBrand||f);return g},KU=function(a){return a?Conviva.Constants.StreamType.LIVE:Conviva.Constants.StreamType.VOD},LU=function(a){return 0===a?"Pre-roll":-1===a?"Post-roll":"Mid-roll"},NU=function(a,b,c,d){const e={};e[Conviva.Constants.PLAYER_NAME]=c;e[Conviva.Constants.VIEWER_ID]=b;e[Conviva.Constants.IS_LIVE]=
4
- KU(!!d);e[Conviva.Constants.ASSET_NAME]=GU;a&&(e[Conviva.Constants.ASSET_NAME]=a.getTitle(),e[Conviva.Constants.STREAM_URL]=a.getMediaUrl(),e[Conviva.Constants.DURATION]=a.getDuration(),e["c3.ad.id"]=MU(a.getId()),e["c3.ad.creativeId"]=MU(a.getCreativeId()),e["c3.ad.system"]=MU(a.getAdSystem()),e["c3.ad.mediaFileApiFramework"]=MU(a.getApiFramework()),e["c3.ad.advertiser"]=MU(a.getAdvertiserName()),e["c3.ad.position"]=LU(a.getPodIndex()),e["c3.ad.technology"]=0===a.ib()?Conviva.Constants.AdType.CLIENT_SIDE:
5
- Conviva.Constants.AdType.SERVER_SIDE,e["c3.ad.adManagerName"]=MU(a.fb()),e["c3.ad.adManagerVersion"]=MU(a.gb()),e["c3.ad.advertiserCategory"]=MU(null),e["c3.ad.advertiserId"]=MU(null),e["c3.ad.breakId"]=MU(null),e["c3.ad.campaignName"]=MU(null),e["c3.ad.category"]=MU(null),e["c3.ad.classification"]=MU(null),e["c3.ad.creativeName"]=MU(null),e["c3.ad.sequence"]=MU(a.hb()),e["c3.ad.sessionStartEvent"]=MU(null),e["c3.ad.unitName"]=MU(null),e["c3.ad.dayPart"]=MU(null),b=a.getWrapperAdIds().slice(-1)[0]||
6
- a.getId(),c=a.getWrapperAdSystems().slice(-1)[0]||a.getAdSystem(),a=a.getWrapperCreativeIds().slice(-1)[0]||a.getCreativeId(),e["c3.ad.firstAdId"]=MU(b),e["c3.ad.firstAdSystem"]=MU(c),e["c3.ad.firstCreativeId"]=MU(a));return e},MU=function(a){return a?""+a:"NA"},RU=function(a){a.f.on(a.m,_.Sb,a.C.bind(a));a.f.on(a.m,_.Tb,a.F.bind(a));a.f.on(a.m,_.kc,a.L.bind(a));a.f.on(a.m,_.ec,a.l.bind(a));a.f.on(a.m,_.dc,a.l.bind(a));a.f.on(a.m,_.fc,a.l.bind(a));a.f.on(a.m,_.Ub,a.l.bind(a));a.f.on(a.m,_.lc,a.M.bind(a));
7
- a.f.on(a.m,_.ic,a.K.bind(a));a.f.on(a.m,_.Vb,a.G.bind(a));a.f.on(a.m,_.ac,a.I.bind(a));a.f.on(a.m,_.bc,a.J.bind(a));a.f.on(a.m,_.Xb,a.H.bind(a));a.f.on(a.m,_.cc,a.S.bind(a));a.f.on(a.m,_.mc,a.P.bind(a));a.f.on(a.m,_.Sd,b=>{var c=b.detail;if(10003===c.code&&(a.g.debug("onAdError()"),!a.h)){b=Conviva.Constants.ErrorSeverity;switch(c.data.errorType){case 0:c="Ad Load Error";break;case 1:c="Ad Play Error";break;default:c=GU}null===a.a&&OU(a,null);a.a.reportAdError(c,b.FATAL);a.h=!0;a.g.debug("Ad Playback Failure");
8
- PU(a,QU,c)}})},PU=function(a,b,c=GU){if(a.a){a.a.reportAdMetric(Conviva.Constants.Playback.PLAYER_STATE,Conviva.Constants.PlayerState.STOPPED);switch(b){case QU:a.a.reportAdFailed(c,NU(null,a.B,a.A));break;case SU:a.a.reportAdSkipped();break;default:a.a.reportAdEnded()}a.a.release();a.a=null;a.j=!1}},OU=function(a,b){if(!a.o){a.h=!1;try{if(a.a=Conviva.Analytics.buildAdAnalytics(a.R()),b){const c=NU(b,a.B,a.A,a.m.isLive()),d=String(b.gb()),e={};e[Conviva.Constants.FRAMEWORK_NAME]=b.fb();e[Conviva.Constants.FRAMEWORK_VERSION]=
9
- d;a.a.setAdPlayerInfo(e);a.a.reportAdStarted(c)}}catch(c){a.g.error("Could not create ad analytics session",c)}}},TU=function(a,b){const c={};c[Conviva.Constants.LOG_LEVEL]=Conviva.Constants.LogLevel.DEBUG;b.serviceUrl&&(a.g.warn("Touchstone URL is set. Do not set this in production!"),c[Conviva.Constants.GATEWAY_URL]=b.serviceUrl.replace(/\/$/,""));Conviva.Analytics.init(b.customerKey,null,c);Conviva.Analytics.setDeviceMetadata(JU(b));b.connectionType&&Conviva.Analytics.reportDeviceMetric(Conviva.Constants.Network.CONNECTION_TYPE,
10
- b.connectionType);a.a=Conviva.Analytics.buildVideoAnalytics();a.o=!1;b={};b[Conviva.Constants.FRAMEWORK_NAME]=_.sa;b[Conviva.Constants.FRAMEWORK_VERSION]=_.ea;a.a.setPlayerInfo(b)},UU=function(a){return a.m.getConfiguration().autoplay||!1},WU=function(a){if(!a.l)if(a.C)a.g.warn("Current session still active. No-op.");else{var b=a.m.Sa()||a.K,c=a.m.getConfiguration().conviva||null,d=c&&c.viewerId||"N/A",e=c&&c.defaultResource||"N/A";a.g.debug(a.m.getConfiguration().source);var f={},g=new _.Tm(b.url);
11
- b&&(f[Conviva.Constants.ASSET_NAME]=b.name||"N/A",f[Conviva.Constants.STREAM_URL]=_.zj(g));f[Conviva.Constants.PLAYER_NAME]=c.playerName||_.sa;f[Conviva.Constants.VIEWER_ID]=d;f[Conviva.Constants.DEFAULT_RESOURCE]=e;if(c&&!_.z(c.customTags))for(const h in c.customTags)f[h]=c.customTags[h];a.a.reportPlaybackRequested(f);a.a.setCallback(()=>{a.g.debug("reportMiscellaneousMetrics()");if(VU(a)){var h=1E3*a.m.getPosition();a.a.reportPlaybackMetric(Conviva.Constants.Playback.PLAY_HEAD_TIME,h);if(h=a.m.getStats()){h=
12
- h.decodedFrames;const k=h-a.H;a.H=h;isFinite(k)&&(a.g.debug("Current FPS",k),a.a.reportPlaybackMetric(Conviva.Constants.Playback.RENDERED_FRAMERATE,k))}}});a.C=!0;a.h=!0;a.I=!1;0<a.j.length&&(a.g.debug("Report deferred events"),a.j.forEach(h=>{h.mg(h.args)}));a.j=[]}},XU=function(a){if(!a.l&&a.a){const b=KU(a.m.isLive()),c={};c[Conviva.Constants.IS_LIVE]=b;c[Conviva.Constants.DURATION]=a.m.getDuration();a.a.setContentInfo(c)}},VU=function(a){return null!==a.a&&a.C},YU=function(a){a.g.debug("terminateSession()");
13
- a.a&&(a.a.reportPlaybackMetric(Conviva.Constants.Playback.PLAYER_STATE,Conviva.Constants.PlayerState.STOPPED),a.a.reportPlaybackEnded(),a.a.release(),Conviva.Analytics.release(),a.o=!0,a.C=!1,a.A=!1,a.h=!1,a.w=null,a.B=!1,a.P=0,a.J=!1,a.j=[],a.H=0)},$U=function(a,b){const c=b.getConfiguration();a.a=!_.z(c.conviva)&&typeof c.conviva===_.Ce;a.a?"undefined"===typeof window.Conviva?(a.g.warn("Conviva SDK is not loaded. Will do nothing."),a.a=!1,a=new _.J(1,9,9E3),ZU(b,a)):b.namespace()===_.gd&&(a.a=!1,
14
- a.g.debug("Conviva does not report when casting.")):a.g.debug("Conviva plugin is loaded but not configured. Will do nothing.")},aV=function(a){const b=[];typeof a===_.Ce&&(a.customerKey||b.push("customerKey"),a.viewerId||b.push("viewerId"));if(0<b.length)throw new _.J(1,9,9001,{missingKeys:b});},ZU=function(a,b){a.trigger(new _.H(_.Sd,{detail:b}))};var cV=class{constructor(a,b){this.m=a;this.R=b;this.B="";this.A=_.sa;this.g=new _.S("clpp.conviva.ad");this.f=new _.Ut;this.a=null;this.h=this.o=this.w=this.j=!1}initialize(a){this.g.debug("Initialize Ad Insights");this.h=this.w=!1;this.B=a.viewerId;this.A=a.playerName||_.sa;RU(this)}release(){this.g.debug("Release Ad Insights");this.w?this.g.debug(_.ja):(_.Fh(this.f),this.a&&PU(this,bV),this.f.release(),this.w=!0,this.j=this.h=!1)}destroy(){this.g.debug(_.yd);this.o?this.g.debug(_.ia):this.o=!0}C(){this.g.debug(HU)}F(){this.g.debug(IU)}L(a){this.g.debug("onAdStarted()");
15
- a=a.ad;this.j||(this.g.warn("Ad load event was not triggered. This will have incidence on VSF"),OU(this,a));this.j=!1;this.a.reportAdMetric(Conviva.Constants.Playback.PLAYER_STATE,Conviva.Constants.PlayerState.PLAYING);this.a.reportAdMetric(Conviva.Constants.Playback.RESOLUTION,a.Va(),a.Ua());this.a.reportAdMetric(Conviva.Constants.Playback.BITRATE,a.Ba())}l(a){this.g.debug("onAdStateChanged()");if(this.a){const b=c=>{this.a.reportAdMetric(Conviva.Constants.Playback.PLAYER_STATE,c)};switch(a.type){case _.ec:case _.fc:b(Conviva.Constants.PlayerState.PLAYING);
16
- break;case _.dc:b(Conviva.Constants.PlayerState.PAUSED);break;case _.Ub:b(Conviva.Constants.PlayerState.BUFFERING)}}}M(){this.g.debug("onAdStopped()");this.a&&!this.h&&PU(this,bV)}K(){this.g.debug("onAdSkipped()");this.a&&PU(this,SU)}G(){this.g.debug("onAdClicked()");this.a&&this.a.reportAdPlayerEvent("AdClicked")}I(){this.g.debug("onAdImpression()");if(this.a){const a=Conviva.Constants.Events;this.a.reportAdPlayerEvent(a.AD_IMPRESSION_START);this.a.reportAdPlayerEvent(a.AD_IMPRESSION_END)}}J(a){this.g.debug("onAdLoaded()");
17
- const b=a.ad,c=()=>{this.j=!0;OU(this,b)};if(-1!==b.getPodIndex()||this.m.getPosition()>=this.m.getDuration()-5)c();else this.f.on(this.m,_.$f,()=>{this.m.getPosition()>=this.m.getDuration()-5&&(this.f.off(this.m,_.$f),c())})}H(){this.g.debug("onAdFirstQuartile()");this.a&&this.a.reportAdPlayerEvent(Conviva.Constants.Events.AD_FIRST_QUARTILE)}S(){this.g.debug("onAdMidPoint()");this.a&&this.a.reportAdPlayerEvent(Conviva.Constants.Events.AD_MID_QUARTILE)}P(){this.g.debug("onAdThirdQuartile()");this.a&&
18
- this.a.reportAdPlayerEvent(Conviva.Constants.Events.AD_THIRD_QUARTILE)}},SU=0,bV=1,QU=2;var dV=class{constructor(a,b){this.m=a;this.f=new _.Ut;this.a=null;this.o=!1;this.G=!0;this.B=this.h=this.A=this.C=this.l=!1;this.P=0;this.J=!1;this.w=null;this.I=!1;this.g=b;this.K=this.F=null;this.j=[];this.H=0}initialize(a,b,c){this.l||(this.g.debug("Initialize conviva"),this.G=!1,this.F=_.Yg(b),this.K=c,this.m=a,TU(this,this.F),this.f.on(this.m,_.Re,this.ja.bind(this)),this.f.on(this.m,_.bf,this.Z.bind(this)),this.f.on(this.m,_.Lc,this.L.bind(this)),this.f.on(this.m,_.kg,this.W.bind(this)),this.f.on(this.m,
19
- _.jg,this.U.bind(this)),this.f.on(this.m,_.Sb,this.R.bind(this)),this.f.on(this.m,_.Tb,this.S.bind(this)),this.f.on(this.m,_.oc,this.ca.bind(this)),this.f.on(this.m,_.Kc,this.da.bind(this)),this.f.on(this.m,_.Sd,this.M.bind(this)),UU(this)&&(this.g.debug("Start a new session: A new video starts in autoplay."),WU(this)))}release(){this.g.debug("Release conviva");this.G?this.g.debug(_.ja):(_.Fh(this.f),VU(this)||this.o||!UU(this)||this.a&&this.a.reportPlaybackFailed("Exit Before Video Start"),VU(this)&&
20
- YU(this),this.a=null,this.G=!0)}destroy(){this.g.debug(_.yd);this.l?this.g.debug(_.ia):this.l=!0}reportAppEvent(a,b){let c=!1;try{Conviva.Analytics.reportAppEvent(a,b),c=!0}catch(d){this.g.debug("Report app event error",d),c=!1}return c}ja(){this.g.debug("onPlayRequest()");VU(this)||UU(this)?VU(this)&&this.A&&!this.h&&(this.g.debug("Resuming VST monitoring ..."),VU(this)&&!this.h&&(this.a.reportPlaybackEvent(Conviva.Constants.Events.USER_WAIT_ENDED),this.h=!0),this.A=!1):(this.g.debug("Creating conviva session. On Play Requested / No autoplay"),
21
- WU(this))}Z(a){this.g.debug(_.Ie);const b=c=>{if(this.o&&(this.g.debug("Creating conviva session (On Seek / Replay)"),TU(this,this.F),WU(this),XU(this),VU(this))){var d=this.m.getTrackManager();d=d.ta()||d.wb();d.width&&d.height&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.RESOLUTION,d.width,d.height);d.bandwidth&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.BITRATE,d.bandwidth/1E3)}VU(this)&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.PLAYER_STATE,c)};switch(a.detail.currentState){case 8:b(Conviva.Constants.PlayerState.PLAYING);
22
- break;case 10:b(Conviva.Constants.PlayerState.PAUSED);break;case 6:b(Conviva.Constants.PlayerState.BUFFERING);break;case 11:this.g.debug("onVideoEnded()"),VU(this)&&(this.w&&this.w.Pb()?(this.g.debug("Waiting for postroll Ad before terminating session"),this.J=!0):YU(this))}}L(a){this.g.debug(_.De);if(VU(this)){if(a=a.detail,typeof a.width===_.r&&typeof a.height===_.r&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.RESOLUTION,a.width,a.height),a.bandwidth&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.BITRATE,
23
- a.bandwidth/1E3),(a=a.rendition)&&a.track&&(a=a.track)&&a.frameRate){const b={};b[Conviva.Constants.ENCODED_FRAMERATE]=a.frameRate;this.a.setContentInfo(b)}}else this.j.push({mg:this.L.bind(this),args:a})}W(){this.g.debug("onSeeking()");VU(this)&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.SEEK_STARTED)}U(){this.g.debug("onSeeked()");VU(this)&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.SEEK_ENDED)}ca(a){this.g.debug("onAdsTimelineChanged()");if(a=a.adsTimeline)this.w=a}R(a){this.g.debug(HU);
24
- var b=a.ad;a=0===b.Ca();const c=LU(b.getPodIndex());VU(this)||UU(this)||!a||WU(this);if(VU(this)){a=0===b.ib()?Conviva.Constants.AdType.CLIENT_SIDE:Conviva.Constants.AdType.SERVER_SIDE;let d=0;const e={};1===b.Wa()&&(d=b.getDuration());e[Conviva.Constants.POD_DURATION]=d;e[Conviva.Constants.POD_INDEX]=++this.P;e[Conviva.Constants.POD_POSITION]=c;b=Conviva.Constants.AdPlayer;b=a!==Conviva.Constants.AdType.CLIENT_SIDE||_.Xh()?b.CONTENT:b.SEPARATE;this.a.reportAdBreakStarted(a,b,e);this.B=!0}else this.g.debug("Bug: should already have a valid session")}S(){this.g.debug(IU);
25
- VU(this)&&this.B&&(this.a.reportAdBreakEnded(),this.B=!1,this.J&&YU(this))}M(a){this.g.debug(_.Fe);if(this.o&&this.I)this.g.debug("Session ended in VPF; ignoring subsequent errors");else{var b=a.detail||null,c=b&&b.message||"Player error",d=Conviva.Constants.ErrorSeverity.WARNING;b&&b.severity&&b.severity===_.C&&(d=Conviva.Constants.ErrorSeverity.FATAL,VU(this)||WU(this));VU(this)?(this.g.debug("Report error",c,d),this.a.reportPlaybackError(c,d),d===Conviva.Constants.ErrorSeverity.FATAL&&(this.g.debug("Video Playback Failure"),
26
- this.I=!0,YU(this))):this.j.push({mg:this.M.bind(this),args:a})}}da(){this.g.debug("onAutoPlayBlocked()");VU(this)&&(this.g.debug("Auto-play blocked. Pausing VST monitoring."),this.A=!0,VU(this)&&this.h&&(this.a.reportPlaybackEvent(Conviva.Constants.Events.USER_WAIT_STARTED),this.h=!1))}};var eV=class{constructor(){this.h=this.f=null;this.a=!1;this.g=new _.S("clpp.conviva")}onPlayerCreated(a){this.f=new dV(a,this.g)}onContentWillLoad(a,b){$U(this,a);if(this.a){var c=a.getConfiguration();c=_.Yg(c.conviva||{});try{aV(c);const d=c.enableAdInsights||!1;this.f.initialize(a,c,b);d&&(this.h=new cV(a,()=>this.f.a),this.h.initialize(c))}catch(d){d instanceof _.J?ZU(a,d):ZU(a,new _.J(1,9,9002,d,d))}}}onContentLoaded(){this.a&&XU(this.f)}onPlayerWillDestroy(){this.a&&(this.a=!1,this.f.destroy(),
27
- this.f=null,this.h&&(this.h.destroy(),this.h=null))}onPlayerWillRelease(){this.a&&(this.f.release(),this.h&&this.h.release())}id(){return"conviva"}reportAppEvent(a,b){return this.f?this.f.reportAppEvent(a,b):!1}};_.w("clpp.conviva.ConvivaPlugin",eV);eV.prototype.reportAppEvent=eV.prototype.reportAppEvent;eV.Id="conviva";_.Sr(new class{create(){return new eV}});};f.call(g, window);
1
+ import {clpp} from "./cl.core.js";let g={};const _ = clpp._;var f=function(window){'use strict';var HU="Ad Error",IU="Must have an AdTimeline",JU="onAdBreakStarted()",KU="onAdBreakStopped()",LU=function(a){var b=_.mi();let c=Conviva.Constants.DeviceType.DESKTOP,d=Conviva.Constants.DeviceCategory.WEB;const e=b.os;b=b.osVersion.name;let f="";_.Zh()&&(f="Apple");_.Yh()?(f="Google",c=Conviva.Constants.DeviceType.SETTOP,d=Conviva.Constants.DeviceCategory.CHROMECAST):_.$h()?(c=Conviva.Constants.DeviceType.MOBILE,/(android)/i.test(navigator.userAgent)?d=Conviva.Constants.DeviceCategory.ANDROID_DEVICE:
2
+ _.Zh()&&(d=Conviva.Constants.DeviceCategory.APPLE_DEVICE)):_.Th()||_.Qh()||_.Ph("Hisense")?(c=Conviva.Constants.DeviceType.SMARTTV,d=Conviva.Constants.DeviceCategory.SMART_TV,_.Th()?(b="",f="LG",d=Conviva.Constants.DeviceCategory.LG_TV):_.Qh()?(f="Samsung",d=Conviva.Constants.DeviceCategory.SAMSUNG_TV):_.Ph("Hisense")&&(b="",f="Hisense")):_.Ph("Xbox One")&&(f="Microsoft",c=Conviva.Constants.DeviceType.CONSOLE,d=Conviva.Constants.DeviceCategory.XBOX);const g=a.deviceMetadata||{},h=(k,l)=>{k in g||
3
+ !l||(g[k]=l)};h(Conviva.Constants.DeviceMetadata.TYPE,a.deviceType||c);h(Conviva.Constants.DeviceMetadata.OS_NAME,e);h(Conviva.Constants.DeviceMetadata.OS_VERSION,b);h(Conviva.Constants.DeviceMetadata.CATEGORY,a.deviceCategory||d);h(Conviva.Constants.DeviceMetadata.BRAND,a.deviceBrand||f);return g},MU=function(a){return a?Conviva.Constants.StreamType.LIVE:Conviva.Constants.StreamType.VOD},NU=function(a){return 0===a?"Pre-roll":-1===a?"Post-roll":"Mid-roll"},PU=function(a,b,c,d){const e={};e[Conviva.Constants.PLAYER_NAME]=
4
+ c;e[Conviva.Constants.VIEWER_ID]=b;e[Conviva.Constants.IS_LIVE]=MU(!!d);e[Conviva.Constants.ASSET_NAME]=HU;a&&(e[Conviva.Constants.ASSET_NAME]=a.getTitle(),e[Conviva.Constants.STREAM_URL]=a.getMediaUrl(),e[Conviva.Constants.DURATION]=a.getDuration(),e["c3.ad.id"]=OU(a.getId()),e["c3.ad.creativeId"]=OU(a.getCreativeId()),e["c3.ad.system"]=OU(a.getAdSystem()),e["c3.ad.mediaFileApiFramework"]=OU(a.getApiFramework()),e["c3.ad.advertiser"]=OU(a.getAdvertiserName()),e["c3.ad.position"]=NU(a.getPodIndex()),
5
+ e["c3.ad.technology"]=0===a.jb()?Conviva.Constants.AdType.CLIENT_SIDE:Conviva.Constants.AdType.SERVER_SIDE,e["c3.ad.adManagerName"]=OU(a.gb()),e["c3.ad.adManagerVersion"]=OU(a.hb()),e["c3.ad.advertiserCategory"]=OU(null),e["c3.ad.advertiserId"]=OU(null),e["c3.ad.breakId"]=OU(null),e["c3.ad.campaignName"]=OU(null),e["c3.ad.category"]=OU(null),e["c3.ad.classification"]=OU(null),e["c3.ad.creativeName"]=OU(null),e["c3.ad.sequence"]=OU(a.ib()),e["c3.ad.sessionStartEvent"]=OU(null),e["c3.ad.unitName"]=
6
+ OU(null),e["c3.ad.dayPart"]=OU(null),b=a.getWrapperAdIds().slice(-1)[0]||a.getId(),c=a.getWrapperAdSystems().slice(-1)[0]||a.getAdSystem(),a=a.getWrapperCreativeIds().slice(-1)[0]||a.getCreativeId(),e["c3.ad.firstAdId"]=OU(b),e["c3.ad.firstAdSystem"]=OU(c),e["c3.ad.firstCreativeId"]=OU(a));return e},OU=function(a){return a?""+a:"NA"},TU=function(a){a.f.on(a.m,_.Sb,a.C.bind(a));a.f.on(a.m,_.Tb,a.F.bind(a));a.f.on(a.m,_.jc,a.L.bind(a));a.f.on(a.m,_.ec,a.l.bind(a));a.f.on(a.m,_.dc,a.l.bind(a));a.f.on(a.m,
7
+ _.fc,a.l.bind(a));a.f.on(a.m,_.Ub,a.l.bind(a));a.f.on(a.m,_.lc,a.M.bind(a));a.f.on(a.m,_.gc,a.K.bind(a));a.f.on(a.m,_.Vb,a.G.bind(a));a.f.on(a.m,_.ac,a.I.bind(a));a.f.on(a.m,_.bc,a.J.bind(a));a.f.on(a.m,_.Xb,a.H.bind(a));a.f.on(a.m,_.cc,a.S.bind(a));a.f.on(a.m,_.mc,a.P.bind(a));a.f.on(a.m,_.Sd,b=>{var c=b.detail;if(10003===c.code&&(a.g.debug("onAdError()"),!a.h)){b=Conviva.Constants.ErrorSeverity;switch(c.data.errorType){case 0:c="Ad Load Error";break;case 1:c="Ad Play Error";break;default:c=HU}null===
8
+ a.a&&QU(a,null);a.a.reportAdError(c,b.FATAL);a.h=!0;a.g.debug("Ad Playback Failure");RU(a,SU,c)}})},RU=function(a,b,c=HU){if(a.a){a.a.reportAdMetric(Conviva.Constants.Playback.PLAYER_STATE,Conviva.Constants.PlayerState.STOPPED);switch(b){case SU:a.a.reportAdFailed(c,PU(null,a.B,a.A));break;case UU:a.a.reportAdSkipped();break;default:a.a.reportAdEnded()}a.a.release();a.a=null;a.j=!1}},QU=function(a,b){if(!a.o){a.h=!1;try{if(a.a=Conviva.Analytics.buildAdAnalytics(a.R()),b){const c=PU(b,a.B,a.A,a.m.isLive()),
9
+ d=String(b.hb()),e={};e[Conviva.Constants.FRAMEWORK_NAME]=b.gb();e[Conviva.Constants.FRAMEWORK_VERSION]=d;a.a.setAdPlayerInfo(e);a.a.reportAdStarted(c)}}catch(c){a.g.error("Could not create ad analytics session",c)}}},VU=function(a,b){const c={};c[Conviva.Constants.LOG_LEVEL]=Conviva.Constants.LogLevel.DEBUG;b.serviceUrl&&(a.g.warn("Touchstone URL is set. Do not set this in production!"),c[Conviva.Constants.GATEWAY_URL]=b.serviceUrl.replace(/\/$/,""));Conviva.Analytics.init(b.customerKey,null,c);
10
+ Conviva.Analytics.setDeviceMetadata(LU(b));b.connectionType&&Conviva.Analytics.reportDeviceMetric(Conviva.Constants.Network.CONNECTION_TYPE,b.connectionType);a.a=Conviva.Analytics.buildVideoAnalytics();a.A=!1;b={};b[Conviva.Constants.FRAMEWORK_NAME]=_.sa;b[Conviva.Constants.FRAMEWORK_VERSION]=_.ea;a.a.setPlayerInfo(b)},WU=function(a){return a.m.getConfiguration().autoplay||!1},YU=function(a){if(!a.o&&!a.B&&a.a){var b=a.m.Ua()||a.K;if(b){var c=a.m.getConfiguration().conviva||null;if(c){var d=c.viewerId||
11
+ "N/A",e=c.defaultResource||"N/A",f={},g=new _.Um(b.url);b&&(f[Conviva.Constants.ASSET_NAME]=b.name||"N/A",f[Conviva.Constants.STREAM_URL]=_.Aj(g));f[Conviva.Constants.PLAYER_NAME]=c.playerName||_.sa;f[Conviva.Constants.VIEWER_ID]=d;f[Conviva.Constants.DEFAULT_RESOURCE]=e;if(c&&!_.z(c.customTags))for(const h in c.customTags)f[h]=c.customTags[h];a.a.reportPlaybackRequested(f);a.a.setCallback(()=>{a.g.debug("reportMiscellaneousMetrics()");if(XU(a)){var h=1E3*a.m.getPosition();a.a.reportPlaybackMetric(Conviva.Constants.Playback.PLAY_HEAD_TIME,
12
+ h);if(h=a.m.getStats()){h=h.decodedFrames;const k=h-a.H;a.H=h;isFinite(k)&&(a.g.debug("Current FPS",k),a.a.reportPlaybackMetric(Conviva.Constants.Playback.RENDERED_FRAMERATE,k))}}});a.B=!0;a.l=!0;a.I=!1;0<a.j.length&&(a.g.debug("Report deferred events"),a.j.forEach(h=>{h.mg(h.args)}));a.j=[]}else a.g.warn("Must have Conviva plugin configuration")}else a.g.warn("Cannot start Conviva session without a loaded source")}},ZU=function(a){if(!a.o&&a.a){var b=MU(a.m.isLive()),c={};c[Conviva.Constants.IS_LIVE]=
13
+ b;c[Conviva.Constants.DURATION]=a.m.getDuration();a.a.setContentInfo(c)}},XU=function(a){return null!=a.a&&a.B},$U=function(a){a.g.debug("terminateSession()");a.a&&(a.a.reportPlaybackMetric(Conviva.Constants.Playback.PLAYER_STATE,Conviva.Constants.PlayerState.STOPPED),a.a.reportPlaybackEnded(),a.a.release(),Conviva.Analytics.release(),a.A=!0,a.B=!1,a.C=!1,a.l=!1,a.h=null,a.G=!1,a.P=0,a.J=!1,a.j=[],a.H=0)},bV=function(a,b){const c=b.getConfiguration();a.a=!_.z(c.conviva)&&typeof c.conviva===_.Ce;a.a?
14
+ "undefined"===typeof window.Conviva?(a.g.warn("Conviva SDK is not loaded. Will do nothing."),a.a=!1,a=new _.J(1,9,9E3),aV(b,a)):b.namespace()===_.gd&&(a.a=!1,a.g.debug("Conviva does not report when casting.")):a.g.debug("Conviva plugin is loaded but not configured. Will do nothing.")},cV=function(a){const b=[];typeof a===_.Ce&&(a.customerKey||b.push("customerKey"),a.viewerId||b.push("viewerId"));if(0<b.length)throw new _.J(1,9,9001,{missingKeys:b});},aV=function(a,b){a.trigger(new _.H(_.Sd,{detail:b}))};var eV=class{constructor(a,b){this.m=a;this.R=b;this.B="";this.A=_.sa;this.g=new _.S("clpp.conviva.ad");this.f=new _.Ut;this.a=null;this.h=this.o=this.w=this.j=!1}initialize(a){this.g.debug("Initialize Ad Insights");this.h=this.w=!1;this.B=a.viewerId;this.A=a.playerName||_.sa;TU(this)}release(){this.g.debug("Release Ad Insights");this.w?this.g.debug(_.ja):(_.Eh(this.f),this.a&&RU(this,dV),this.f.release(),this.w=!0,this.j=this.h=!1)}destroy(){this.g.debug(_.yd);this.o?this.g.debug(_.ia):this.o=!0}C(){this.g.debug(JU)}F(){this.g.debug(KU)}L(a){this.g.debug("onAdStarted()");
15
+ a=a.ad;this.j||(this.g.warn("Ad load event was not triggered. This will have incidence on VSF"),QU(this,a));this.j=!1;this.a.reportAdMetric(Conviva.Constants.Playback.PLAYER_STATE,Conviva.Constants.PlayerState.PLAYING);this.a.reportAdMetric(Conviva.Constants.Playback.RESOLUTION,a.Xa(),a.Wa());this.a.reportAdMetric(Conviva.Constants.Playback.BITRATE,a.Ba())}l(a){this.g.debug("onAdStateChanged()");if(this.a){const b=c=>{this.a.reportAdMetric(Conviva.Constants.Playback.PLAYER_STATE,c)};switch(a.type){case _.ec:case _.fc:b(Conviva.Constants.PlayerState.PLAYING);
16
+ break;case _.dc:b(Conviva.Constants.PlayerState.PAUSED);break;case _.Ub:b(Conviva.Constants.PlayerState.BUFFERING)}}}M(){this.g.debug("onAdStopped()");this.a&&!this.h&&RU(this,dV)}K(){this.g.debug("onAdSkipped()");this.a&&RU(this,UU)}G(){this.g.debug("onAdClicked()");this.a&&this.a.reportAdPlayerEvent("AdClicked")}I(){this.g.debug("onAdImpression()");if(this.a){const a=Conviva.Constants.Events;this.a.reportAdPlayerEvent(a.AD_IMPRESSION_START);this.a.reportAdPlayerEvent(a.AD_IMPRESSION_END)}}J(a){this.g.debug("onAdLoaded()");
17
+ const b=a.ad,c=()=>{this.j=!0;QU(this,b)};if(-1!==b.getPodIndex()||this.m.getPosition()>=this.m.getDuration()-5)c();else this.f.on(this.m,_.$f,()=>{this.m.getPosition()>=this.m.getDuration()-5&&(this.f.off(this.m,_.$f),c())})}H(){this.g.debug("onAdFirstQuartile()");this.a&&this.a.reportAdPlayerEvent(Conviva.Constants.Events.AD_FIRST_QUARTILE)}S(){this.g.debug("onAdMidPoint()");this.a&&this.a.reportAdPlayerEvent(Conviva.Constants.Events.AD_MID_QUARTILE)}P(){this.g.debug("onAdThirdQuartile()");this.a&&
18
+ this.a.reportAdPlayerEvent(Conviva.Constants.Events.AD_THIRD_QUARTILE)}},UU=0,dV=1,SU=2;var fV=class{constructor(a,b){this.m=a;this.f=new _.Ut;this.a=null;this.A=!1;this.w=!0;this.G=this.l=this.C=this.B=this.o=!1;this.P=0;this.J=!1;this.h=null;this.I=!1;this.g=b;this.K=this.F=null;this.j=[];this.H=0}initialize(a,b,c){!this.o&&this.w&&(this.g.debug("Initialize conviva"),this.w=!1,this.F=_.Yg(b),this.K=c,this.m=a,VU(this,this.F),this.f.on(this.m,_.Re,this.ja.bind(this)),this.f.on(this.m,_.bf,this.Z.bind(this)),this.f.on(this.m,_.Lc,this.L.bind(this)),this.f.on(this.m,_.kg,this.W.bind(this)),
19
+ this.f.on(this.m,_.jg,this.U.bind(this)),this.f.on(this.m,_.Sb,this.R.bind(this)),this.f.on(this.m,_.Tb,this.S.bind(this)),this.f.on(this.m,_.oc,this.ca.bind(this)),this.f.on(this.m,_.Kc,this.da.bind(this)),this.f.on(this.m,_.Sd,this.M.bind(this)),WU(this)&&(this.g.debug("Start a new session: A new video starts in autoplay."),YU(this)))}release(){this.g.debug("Release conviva");this.w?this.g.debug(_.ja):(_.Eh(this.f),XU(this)||this.A||!WU(this)||this.a&&this.a.reportPlaybackFailed("Exit Before Video Start"),
20
+ XU(this)&&$U(this),this.a=null,this.w=!0)}destroy(){this.g.debug(_.yd);this.w||this.release();this.o?this.g.debug(_.ia):this.o=!0}reportAppEvent(a,b){let c=!1;try{Conviva.Analytics.reportAppEvent(a,b),c=!0}catch(d){this.g.debug("Report app event error",d),c=!1}return c}ja(){this.g.debug("onPlayRequest()");XU(this)||WU(this)?XU(this)&&this.C&&!this.l&&(this.g.debug("Resuming VST monitoring ..."),this.a.reportPlaybackEvent(Conviva.Constants.Events.USER_WAIT_ENDED),this.l=!0,this.C=!1):(this.g.debug("Creating conviva session. On Play Requested / No autoplay"),
21
+ YU(this))}Z(a){this.g.debug(_.Ie);const b=c=>{if(this.A)if(this.B)this.g.warn("Cannot restart Conviva session while a session is still active.");else if(this.F&&this.m){if(this.g.debug("Creating conviva session (On Seek / Replay)"),VU(this,this.F),YU(this),ZU(this),XU(this)){var d=this.m.getTrackManager();(d=d.ta()||d.wb())?(d.width&&d.height&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.RESOLUTION,d.width,d.height),d.bandwidth&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.BITRATE,
22
+ d.bandwidth/1E3)):this.g.warn("Cannot restart Conviva session without a video rendition.")}}else this.g.warn("Cannot restart Conviva session without player/configuration.");XU(this)&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.PLAYER_STATE,c)};switch(a.detail.currentState){case 8:b(Conviva.Constants.PlayerState.PLAYING);break;case 10:b(Conviva.Constants.PlayerState.PAUSED);break;case 6:b(Conviva.Constants.PlayerState.BUFFERING);break;case 11:this.g.debug("onVideoEnded()"),XU(this)&&(this.h&&
23
+ this.h.Ab()?(this.g.debug("Waiting for postroll Ad before terminating session"),this.J=!0):$U(this))}}L(a){this.g.debug(_.De);if(XU(this)){if(a=a.detail,typeof a.width===_.r&&typeof a.height===_.r&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.RESOLUTION,a.width,a.height),a.bandwidth&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.BITRATE,a.bandwidth/1E3),(a=a.rendition)&&a.track&&(a=a.track)&&a.frameRate){const b={};b[Conviva.Constants.ENCODED_FRAMERATE]=a.frameRate;this.a.setContentInfo(b)}}else this.j.push({mg:this.L.bind(this),
24
+ args:a})}W(){this.g.debug("onSeeking()");XU(this)&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.SEEK_STARTED)}U(){this.g.debug("onSeeked()");XU(this)&&this.a.reportPlaybackMetric(Conviva.Constants.Playback.SEEK_ENDED)}ca(a){this.g.debug("onAdsTimelineChanged()");if(a=a.adsTimeline)this.h=a}R(a){this.g.debug(JU);var b=a.ad;a=0===b.Ca();const c=NU(b.getPodIndex());XU(this)||WU(this)||!a||YU(this);if(XU(this))if(this.h){a=0===b.jb()?Conviva.Constants.AdType.CLIENT_SIDE:Conviva.Constants.AdType.SERVER_SIDE;
25
+ var d=0,e={};1===b.Ya()&&(d=b.getDuration());e[Conviva.Constants.POD_DURATION]=d;e[Conviva.Constants.POD_INDEX]=++this.P;e[Conviva.Constants.POD_POSITION]=c;b=Conviva.Constants.AdPlayer;b=a!==Conviva.Constants.AdType.CLIENT_SIDE||_.Yh()?b.CONTENT:b.SEPARATE;this.a.reportAdBreakStarted(a,b,e);this.G=!0}else this.g.warn(IU);else this.g.warn("Should already have a valid session")}S(){this.g.debug(KU);XU(this)&&this.G&&(this.h?(this.a.reportAdBreakEnded(),this.G=!1,this.J&&(this.h.Ab()?$U(this):this.g.warn("Cannot postpone Conviva session closure without a postroll."))):
26
+ this.g.warn(IU))}M(a){this.g.debug(_.Fe);if(this.A&&this.I)this.g.debug("Session ended in VPF; ignoring subsequent errors");else{var b=a.detail||null,c=b&&b.message||"Player error",d=Conviva.Constants.ErrorSeverity.WARNING;b&&b.severity&&b.severity===_.C&&(d=Conviva.Constants.ErrorSeverity.FATAL,XU(this)||YU(this));XU(this)?(this.g.debug("Report error",c,d),this.a.reportPlaybackError(c,d),d===Conviva.Constants.ErrorSeverity.FATAL&&(this.g.debug("Video Playback Failure"),this.I=!0,$U(this))):this.j.push({mg:this.M.bind(this),
27
+ args:a})}}da(){this.g.debug("onAutoPlayBlocked()");XU(this)&&this.l?(this.g.debug("Auto-play blocked. Pausing VST monitoring."),this.C=!0,this.a.reportPlaybackEvent(Conviva.Constants.Events.USER_WAIT_STARTED),this.l=!1):this.g.warn("Should have an active session and monitoring session")}};var gV=class{constructor(){this.h=this.f=null;this.a=!1;this.g=new _.S("clpp.conviva")}onPlayerCreated(a){this.f=new fV(a,this.g)}onContentWillLoad(a,b){bV(this,a);if(this.a){var c=a.getConfiguration();c=_.Yg(c.conviva||{});try{cV(c);const d=c.enableAdInsights||!1;this.f.initialize(a,c,b);d&&(this.h=new eV(a,()=>this.f.a),this.h.initialize(c))}catch(d){d instanceof _.J?aV(a,d):aV(a,new _.J(1,9,9002,d,d))}}}onContentLoaded(){this.a&&ZU(this.f)}onPlayerWillDestroy(){this.a&&(this.a=!1,this.f.destroy(),
28
+ this.f=null,this.h&&(this.h.destroy(),this.h=null))}onPlayerWillRelease(){this.a&&(this.f.release(),this.h&&this.h.release())}id(){return"conviva"}reportAppEvent(a,b){return this.f?this.f.reportAppEvent(a,b):!1}};_.w("clpp.conviva.ConvivaPlugin",gV);gV.prototype.reportAppEvent=gV.prototype.reportAppEvent;gV.Id="conviva";_.Tr(new class{create(){return new gV}});};f.call(g, window);