@newrelic/video-videojs 4.0.3 → 4.1.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.
- package/CHANGELOG.md +36 -3
- package/README.md +287 -67
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.LICENSE.txt +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.LICENSE.txt +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/umd/newrelic-video-videojs.min.js +1 -1
- package/dist/umd/newrelic-video-videojs.min.js.LICENSE.txt +1 -1
- package/dist/umd/newrelic-video-videojs.min.js.map +1 -1
- package/package.json +1 -1
- package/src/techs/contrib-hls.js +64 -52
- package/src/techs/hls-js.js +29 -12
- package/src/techs/shaka.js +37 -10
- package/src/tracker.js +77 -36
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@newrelic/video-videojs/./node_modules/@newrelic/video-core/dist/esm/index.js","webpack://@newrelic/video-videojs/./src/ads/brightcove-ima.js","webpack://@newrelic/video-videojs/./src/ads/dai.js","webpack://@newrelic/video-videojs/./src/ads/freewheel.js","webpack://@newrelic/video-videojs/./src/ads/ima.js","webpack://@newrelic/video-videojs/./src/ads/videojs-ads.js","webpack://@newrelic/video-videojs/./src/techs/contrib-hls.js","webpack://@newrelic/video-videojs/./src/techs/hls-js.js","webpack://@newrelic/video-videojs/./src/techs/shaka.js","webpack://@newrelic/video-videojs/./src/tracker.js","webpack://@newrelic/video-videojs/webpack/bootstrap","webpack://@newrelic/video-videojs/webpack/runtime/define property getters","webpack://@newrelic/video-videojs/webpack/runtime/hasOwnProperty shorthand","webpack://@newrelic/video-videojs/webpack/runtime/make namespace object","webpack://@newrelic/video-videojs/./src/index.js"],"sourcesContent":["/*! For license information please see index.js.LICENSE.txt */\nvar e={28:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.OptimizedHttpClient=void 0;var s,r=i(347),a=(s=i(144))&&s.__esModule?s:{default:s};class n{async send(e,t){const{url:i,payload:s,options:r={}}=e;try{if(!i||!s)throw new Error(\"URL and payload are required\");const e={url:i,payload:s,options:r,callback:t};await this.executeRequest(e)}catch(e){a.default.error(\"Failed to send request:\",e.message),t({retry:!1,status:0,error:e.message})}}async executeRequest(e){const{url:t,payload:i,options:s,callback:r}=e,a=Date.now();try{const r=JSON.stringify(i.body);if(s.isFinalHarvest&&navigator.sendBeacon){const i=await this.sendWithBeacon(t,r),s={success:i,status:i?204:0};return void this.handleRequestComplete(e,s,a)}const n=await this.fetchWithTimeout(t,{method:\"POST\",body:r,headers:{\"Content-Type\":\"application/json\"},keepalive:s.isFinalHarvest},1e4),d={success:n.ok,status:n.status,statusText:n.statusText};this.handleRequestComplete(e,d,a)}catch(t){const i={success:!1,status:0,error:t.message};this.handleRequestComplete(e,i,a)}}handleRequestComplete(e,t){const{callback:i}=e;i({retry:!t.success&&(0===t.status||(0,r.shouldRetry)(t.status)),status:t.status,error:t.error})}async sendWithBeacon(e,t){try{return navigator.sendBeacon(e,t)}catch(e){return a.default.warn(\"sendBeacon failed, falling back to fetch:\",e.message),!1}}async fetchWithTimeout(e,t,i){const s=new AbortController,r=setTimeout(()=>s.abort(),i);try{const i=await fetch(e,{...t,signal:s.signal});return clearTimeout(r),i}catch(e){if(clearTimeout(r),\"AbortError\"===e.name)throw new Error(`Request timeout after ${i}ms`);throw e}}}t.OptimizedHttpClient=n,t.default=n},51:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;class i{}i.AdPositions={PRE:\"pre\",MID:\"mid\",POST:\"post\"},i.COLLECTOR={US:[\"bam.nr-data.net\",\"bam-cell.nr-data.net\"],EU:\"bam.eu01.nr-data.net\",Staging:\"staging-bam-cell.nr-data.net\",GOV:\"gov-bam.nr-data.net\"},i.VALID_EVENT_TYPES=[\"VideoAction\",\"VideoAdAction\",\"VideoErrorAction\",\"VideoCustomAction\"],i.MAX_PAYLOAD_SIZE=1048576,i.MAX_BEACON_SIZE=61440,i.MAX_EVENTS_PER_BATCH=1e3,i.INTERVAL=1e4,t.default=i},144:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;class i{static error(...e){s(e,i.Levels.ERROR,\"darkred\")}static warn(...e){s(e,i.Levels.WARNING,\"darkorange\")}static notice(...e){s([].slice.call(arguments),i.Levels.NOTICE,\"darkcyan\")}static debug(...e){s(e,i.Levels.DEBUG,\"indigo\")}static debugCommonVideoEvents(e,t,s){try{if(i.level<=i.Levels.DEBUG){s=s||function(e){i.debug(\"Event: \"+e.type)};var r=[\"canplay\",\"buffering\",\"waiting\",\"ended\",\"play\",\"playing\",\"pause\",\"resume\",\"error\",\"abort\",\"seek\",\"seeking\",\"seeked\",\"stalled\",\"dispose\",\"loadeddata\",\"loadstart\",\"loadedmetadata\"];t&&(null===t[0]?(t.shift(),r=t):r=r.concat(t));for(var a=0;a<r.length;a++)\"function\"==typeof e?e.call(window,r[a],s):e.on?e.on(r[a],s):e.addEventListener?e.addEventListener(r[a],s):e.addEventHandler?e.addEventHandler(r[a],s):i.warn(\"debugCommonVideoEvents: No common listener function found for \",e)}}catch(e){i.warn(e)}}}function s(e,t,s){t=t||i.Levels.NOTICE,s=s||\"darkcyan\";var n,d,o=i.prefix;i.includeTime&&(o+=\"[\"+(\"0\"+(n=new Date).getDate()).slice(-2)+\":\"+(\"0\"+n.getMinutes()).slice(-2)+\":\"+(\"0\"+n.getSeconds()).slice(-2)+\".\"+(\"00\"+n.getMilliseconds()).slice(-3)+\"] \"),o+=function(e){return a[e]}(t)+\":\",i.level<=t&&t!==i.Levels.SILENT&&(!i.colorful||\"undefined\"!=typeof document&&document.documentMode?r(e,o):(d=t===i.Levels.ERROR&&console.error?console.error:t===i.Levels.WARNING&&console.warn?console.warn:t===i.Levels.DEBUG&&console.debug&&null==window.cast?console.debug:console.log,o=\"%c\"+o,e.splice(0,0,o,\"color: \"+s),d.apply(console,e)))}function r(e,t){if(e instanceof Array)for(var i in e)r(e[i],t);else\"string\"==typeof e?console.log(t+\" \"+e):(console.log(t+\"↵\"),console.log(e))}i.Levels={SILENT:5,ERROR:4,WARNING:3,NOTICE:2,DEBUG:1,ALL:0},i.level=i.Levels.ERROR,i.colorful=!0,i.includeTime=!0,i.prefix=\"[nrvideo]\";const a={4:\"e\",3:\"w\",2:\"n\",1:\"d\"};!function(){if(\"undefined\"!=typeof window&&window.location&&window.location.search){var e=/\\?.*&*nrvideo-debug=(.+)/i.exec(window.location.search);null!==e&&(\"true\"===e[1]?i.level=i.Levels.ALL:i.level=e[1]),null!==/\\?.*&*nrvideo-colors=false/i.exec(window.location.search)&&(i.colorful=!1)}}(),t.default=i},302:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var s=l(i(330)),r=l(i(568)),a=l(i(455)),n=l(i(51)),d=i(487),o=l(i(144));function l(e){return e&&e.__esModule?e:{default:e}}class u extends r.default{constructor(e){super(),this.customData={},this.heartbeat=null,this.parentTracker=null,this._trackerReadyChrono=new a.default,this._trackerReadyChrono.start(),this._actionTable=n.default.ACTION_TABLE,this._actionAdTable=n.default.ACTION_AD_TABLE,e=e||{},this.setOptions(e)}setOptions(e){e&&(e.parentTracker&&(this.parentTracker=e.parentTracker),e.customData&&(this.customData=e.customData),e.heartbeat&&(this.heartbeat=e.heartbeat))}dispose(){this.unregisterListeners()}registerListeners(){}unregisterListeners(){}getHeartbeat(){return this.state._isAd?2e3:this.heartbeat?this.heartbeat:this.parentTracker&&this.parentTracker.heartbeat?this.parentTracker.heartbeat:3e4}startHeartbeat(){this._heartbeatInterval=setInterval(this.sendHeartbeat.bind(this),Math.max(this.getHeartbeat(),2e3))}stopHeartbeat(){this._heartbeatInterval&&clearInterval(this._heartbeatInterval)}sendHeartbeat(e){this.sendVideoAction(u.Events.HEARTBEAT,e)}getAttributes(e,t){(e=e||{}).trackerName=this.getTrackerName(),e.trackerVersion=this.getTrackerVersion(),e.coreVersion=s.default.version,e.timeSinceTrackerReady=this._trackerReadyChrono.getDeltaTime();for(let t in this.customData)e[t]=this.customData[t];return null!=document.hidden&&(e.isBackgroundEvent=document.hidden),e}getTrackerVersion(){return s.default.version}getTrackerName(){return\"base-tracker\"}sendVideoAction(e,t){this.emit(\"VideoAction\",e,this.getAttributes(t))}sendVideoAdAction(e,t){this.emit(\"VideoAdAction\",e,this.getAttributes(t))}sendVideoErrorAction(e,t){let i=this.isAd()?\"adError\":\"videoError\";this.emit(\"VideoErrorAction\",e,this.getAttributes(t,i))}sendVideoCustomAction(e,t){this.emit(\"VideoCustomAction\",e,this.getAttributes(t,\"customAction\"))}setHarvestInterval(e){if(d.videoAnalyticsHarvester)try{d.videoAnalyticsHarvester.setHarvestInterval(e)}catch(e){return void o.default.error(\"Failed to set harvest interval:\",e.message)}else o.default.error(\"VideoAnalyticsHarvester is not available\")}}u.Events={HEARTBEAT:\"HEARTBEAT\"},t.default=u},328:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var s=a(i(455)),r=a(i(144));function a(e){return e&&e.__esModule?e:{default:e}}t.default=class{constructor(){this.reset(),this._createdAt=Date.now(),this._hb=!0,this._acc=0,this._bufferAcc=0}reset(){this._viewSession=null,this._viewCount=0,this._isAd=!1,this.numberOfErrors=0,this.numberOfAds=0,this.numberOfVideos=0,this.totalPlaytime=0,this.totalAdPlaytime=0,this.isAdBreak=!1,this.initialBufferingHappened=!1,this.resetFlags(),this.resetChronos()}resetFlags(){this.isPlayerReady=!1,this.isRequested=!1,this.isStarted=!1,this.isPaused=!1,this.isSeeking=!1,this.isBuffering=!1,this.isPlaying=!1}resetChronos(){this.timeSinceRequested=new s.default,this.timeSinceStarted=new s.default,this.timeSincePaused=new s.default,this.timeSinceSeekBegin=new s.default,this.timeSinceBufferBegin=new s.default,this.timeSinceAdBreakStart=new s.default,this.timeSinceLastDownload=new s.default,this.timeSinceLastHeartbeat=new s.default,this.timeSinceLastRenditionChange=new s.default,this.timeSinceLastAdQuartile=new s.default,this.timeSinceLastAd=new s.default,this.timeSinceResumed=new s.default,this.timeSinceSeekEnd=new s.default,this.playtimeSinceLastEvent=new s.default,this.customTimeSinceAttributes={},this.elapsedTime=new s.default,this.bufferElapsedTime=new s.default}isAd(){return this._isAd}setIsAd(e){this._isAd=e}setTimeSinceAttribute(e){this.customTimeSinceAttributes[e]=new s.default,this.customTimeSinceAttributes[e].start()}removeTimeSinceAttribute(e){delete this.customTimeSinceAttributes[e]}getViewSession(){if(!this._viewSession){let e=(new Date).getTime(),t=Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2);this._viewSession=e+\"-\"+t}return this._viewSession}getViewId(){return this.getViewSession()+\"-\"+this._viewCount}getStateAttributes(e){e=e||{},this.isAd()?(this.isRequested&&(e.timeSinceAdRequested=this.timeSinceRequested.getDeltaTime(),e.timeSinceLastAdHeartbeat=this.timeSinceLastHeartbeat.getDeltaTime()),this.isStarted&&(e.timeSinceAdStarted=this.timeSinceStarted.getDeltaTime()),this.isPaused&&(e.timeSinceAdPaused=this.timeSincePaused.getDeltaTime()),this.isBuffering&&(e.timeSinceAdBufferBegin=this.timeSinceBufferBegin.getDeltaTime()),this.isSeeking&&(e.timeSinceAdSeekBegin=this.timeSinceSeekBegin.getDeltaTime()),this.isAdBreak&&(e.timeSinceAdBreakBegin=this.timeSinceAdBreakStart.getDeltaTime()),e.numberOfAds=this.numberOfAds):(this.isRequested&&(e.timeSinceRequested=this.timeSinceRequested.getDeltaTime(),e.timeSinceLastHeartbeat=this.timeSinceLastHeartbeat.getDeltaTime()),this.isStarted&&(e.timeSinceStarted=this.timeSinceStarted.getDeltaTime()),this.isPaused&&(e.timeSincePaused=this.timeSincePaused.getDeltaTime()),this.isBuffering&&(e.timeSinceBufferBegin=this.timeSinceBufferBegin.getDeltaTime()),this.isSeeking&&(e.timeSinceSeekBegin=this.timeSinceSeekBegin.getDeltaTime()),e.timeSinceLastAd=this.timeSinceLastAd.getDeltaTime(),e.numberOfVideos=this.numberOfVideos),e.numberOfErrors=this.numberOfErrors,this.isAd()||(this.playtimeSinceLastEvent.startTime>0?e.playtimeSinceLastEvent=this.playtimeSinceLastEvent.getDeltaTime():e.playtimeSinceLastEvent=0,this.isPlaying?this.playtimeSinceLastEvent.start():this.playtimeSinceLastEvent.reset(),this.totalPlaytime+=e.playtimeSinceLastEvent,e.totalPlaytime=this.totalPlaytime);for(const[t,i]of Object.entries(this.customTimeSinceAttributes))e[t]=i.getDeltaTime();return e}calculateBufferType(e){let t=\"\";return t=e?\"initial\":this.isSeeking?\"seek\":this.isPaused?\"pause\":\"connection\",r.default.debug(\"Buffer Type = \"+t),t}goViewCountUp(){this._viewCount++}goPlayerReady(){return!this.isPlayerReady&&(this.isPlayerReady=!0,!0)}goRequest(){return!this.isRequested&&(this.isRequested=!0,this.timeSinceLastAd.reset(),this.timeSinceRequested.start(),!0)}goStart(){return!(!this.isRequested||this.isStarted||(this.isAd()?this.numberOfAds++:this.numberOfVideos++,this.isStarted=!0,this.isPlaying=!0,this.timeSinceStarted.start(),this.playtimeSinceLastEvent.start(),0))}goEnd(){return!!this.isRequested&&(this.numberOfErrors=0,this.resetFlags(),this.timeSinceRequested.stop(),this.timeSinceStarted.stop(),this.playtimeSinceLastEvent.stop(),!0)}goPause(){return!(!this.isStarted||this.isPaused||(this.isPaused=!0,this.isPlaying=!1,this.timeSincePaused.start(),this.playtimeSinceLastEvent.stop(),this.timeSinceResumed.reset(),this.isBuffering&&(this._bufferAcc+=this.bufferElapsedTime.getDeltaTime()),this.elapsedTime.start(),0))}goResume(){return!(!this.isStarted||!this.isPaused||(this.isPaused=!1,this.isPlaying=!0,this.timeSincePaused.stop(),this.timeSinceResumed.start(),this._hb?(this._acc=this.elapsedTime.getDeltaTime(),this._hb=!1):(this.isBuffering&&this.bufferElapsedTime.start(),this._acc+=this.elapsedTime.getDeltaTime()),0))}goBufferStart(){return!(!this.isRequested||this.isBuffering||(this.isBuffering=!0,this.isPlaying=!1,this.timeSinceBufferBegin.start(),this.bufferElapsedTime.start(),0))}goBufferEnd(){return!(!this.isRequested||!this.isBuffering||(this.isBuffering=!1,this.isPlaying=!0,this.timeSinceBufferBegin.stop(),this._hb?(this._bufferAcc=this.bufferElapsedTime.getDeltaTime(),this._hb=!1):this._bufferAcc+=this.bufferElapsedTime.getDeltaTime(),0))}goSeekStart(){return!(!this.isStarted||this.isSeeking||(this.isSeeking=!0,this.isPlaying=!1,this.timeSinceSeekBegin.start(),this.timeSinceSeekEnd.reset(),0))}goSeekEnd(){return!(!this.isStarted||!this.isSeeking||(this.isSeeking=!1,this.isPlaying=!0,this.timeSinceSeekBegin.stop(),this.timeSinceSeekEnd.start(),0))}goAdBreakStart(){return!this.isAdBreak&&(this.isAdBreak=!0,this.timeSinceAdBreakStart.start(),!0)}goAdBreakEnd(){return!!this.isAdBreak&&(this.isRequested=!1,this.isAdBreak=!1,this.totalAdPlaytime=this.timeSinceAdBreakStart.getDeltaTime(),this.timeSinceAdBreakStart.stop(),!0)}goDownload(){this.timeSinceLastDownload.start()}goHeartbeat(){this.timeSinceLastHeartbeat.start()}goRenditionChange(){this.timeSinceLastRenditionChange.start()}goAdQuartile(){this.timeSinceLastAdQuartile.start()}goError(){this.isError=!0,this.numberOfErrors++}goLastAd(){this.timeSinceLastAd.start()}}},330:e=>{e.exports=JSON.parse('{\"name\":\"@newrelic/video-core\",\"version\":\"4.0.0\",\"description\":\"New Relic video tracking core library\",\"main\":\"./dist/cjs/index.js\",\"module\":\"./dist/esm/index.js\",\"scripts\":{\"build\":\"webpack --mode production\",\"build:dev\":\"webpack --mode development\",\"watch\":\"webpack --mode production --progress --color --watch\",\"watch:dev\":\"webpack --progress --color --watch\",\"clean\":\"rm -rf dist coverage doc\",\"test\":\"nyc --reporter=html --reporter=text mocha --require @babel/register\",\"doc\":\"jsdoc -c jsdoc.json -d documentation\",\"deploy\":\"node scripts/deploy.js\",\"third-party-updates\":\"oss third-party manifest --includeOptDeps && oss third-party notices --includeOptDeps && git add THIRD_PARTY_NOTICES.md third_party_manifest.json\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/newrelic/video-core-js\"},\"author\":\"Jordi Aguilar\",\"contributors\":[\"Andreu Santarén Llop\",\"Malay Chandan\",\"Bharat Sarsawat\"],\"license\":\"Apache-2.0\",\"devDependencies\":{\"@babel/core\":\"^7.24.5\",\"@babel/plugin-transform-modules-commonjs\":\"^7.24.1\",\"@newrelic/newrelic-oss-cli\":\"^0.1.2\",\"@babel/preset-env\":\"^7.24.5\",\"@babel/register\":\"^7.24.6\",\"aws-sdk\":\"^2.920.0\",\"babel-loader\":\"^9.1.3\",\"chai\":\"^4.3.4\",\"diff\":\"^5.0.0\",\"jsdom\":\"^25.0.1\",\"mocha\":\"^10.4.0\",\"nyc\":\"^15.1.0\",\"sinon\":\"^2.4.1\",\"webpack\":\"^5.91.0\",\"webpack-cli\":\"^4.9.2\"},\"files\":[\"THIRD_PARTY_NOTICES.md\",\"dist\",\"src\",\"CHANGELOG.md\",\"LICENSE\",\"README.md\",\"src\",\"!test\"],\"publishConfig\":{\"access\":\"public\"}}')},347:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.buildUrl=function(e){try{if(!window.NRVIDEO||!window.NRVIDEO.info)throw new Error(\"NRVIDEO info is not available.\");let{beacon:t,licenseKey:i,applicationID:r}=window.NRVIDEO.info;if(!t||!i)throw new Error(\"Options object provided by New Relic is not correctly initialized\");return r?`https://${e||t}/ins/1/${i}?a=${r}&v=${s.default.version}&ref=${window.location.href}&ca=VA`:`https://${e||t}/ins/1/${i}?&v=${s.default.version}&ref=${window.location.href}&ca=VA`}catch(e){return console.error(e.message),null}},t.compressPayload=function(e){const t=JSON.stringify(e),i=new Blob([t]).stream(),s=new CompressionStream(\"gzip\"),r=i.pipeThrough(s);return new Response(r).blob()},t.dataSize=function(e){if(\"string\"==typeof e&&e.length)return e.length;if(\"object\"==typeof e){if(\"undefined\"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if(\"undefined\"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!(\"undefined\"!=typeof FormData&&e instanceof FormData))try{return function(e){try{return JSON.stringify(e,n())??\"\"}catch(e){return r.default.error(\"Error stringifying value:\",e.message),\"\"}}(e).length}catch(e){return}}},t.decompressPayload=async function(e){try{let t;if(e instanceof Blob)t=e.stream();else if(e instanceof ArrayBuffer)t=new Blob([e]).stream();else{if(!(e instanceof Uint8Array))throw new Error(\"Unsupported compressed data type\");t=new Blob([e]).stream()}const i=new DecompressionStream(\"gzip\"),s=t.pipeThrough(i),r=new Response(s),a=await r.text();return JSON.parse(a)}catch(e){throw new Error(`Failed to decompress payload: ${e.message}`)}},t.shouldRetry=function(e){switch(e){case 408:case 429:case 500:return!0;case 401:case 403:case 404:return!1}return e>=502&&e<=504||e>=512&&e<=530};var s=a(i(330)),r=a(i(144));function a(e){return e&&e.__esModule?e:{default:e}}const n=()=>{const e=new WeakSet;return(t,i)=>{if(\"object\"==typeof i&&null!==i){if(e.has(i))return;e.add(i)}return i}}},374:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.HarvestScheduler=void 0;var s=i(431),r=i(413),a=i(28),n=i(347),d=l(i(51)),o=l(i(144));function l(e){return e&&e.__esModule?e:{default:e}}t.HarvestScheduler=class{constructor(e){this.eventBuffer=e,this.retryQueueHandler=new r.RetryQueueHandler,this.httpClient=new a.OptimizedHttpClient,this.fallBackUrl=\"\",this.retryCount=0,this.eventBuffer instanceof s.NrVideoEventAggregator&&this.eventBuffer.setSmartHarvestCallback((e,t)=>this.triggerSmartHarvest(e,t)),this.isStarted=!1,this.currentTimerId=null,this.harvestCycle=d.default.INTERVAL,this.isHarvesting=!1,this.setupPageLifecycleHandlers()}startScheduler(){this.isStarted?o.default.warn(\"Harvest scheduler is already started\"):(this.isStarted=!0,o.default.notice(\"Starting harvest scheduler\",{harvestCycle:this.harvestCycle,eventBufferSize:this.eventBuffer?this.eventBuffer.size():0}),this.scheduleNextHarvest())}stopScheduler(){this.isStarted&&(this.isStarted=!1,this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null),o.default.notice(\"Harvest scheduler stopped\"))}async triggerSmartHarvest(e,t){if(o.default.notice(`${e} harvest triggered at ${t}% threshold`,{type:e,threshold:t}),this.eventBuffer&&!this.eventBuffer.isEmpty()){this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null);try{await this.triggerHarvest({})}catch(t){o.default.error(`${e} harvest failed:`,t.message)}finally{this.isStarted&&this.scheduleNextHarvest()}}}scheduleNextHarvest(){if(!this.isStarted)return;const e=this.harvestCycle;this.currentTimerId=setTimeout(()=>this.onHarvestInterval(),e)}async onHarvestInterval(){try{const e=this.eventBuffer&&!this.eventBuffer.isEmpty(),t=this.retryQueueHandler&&this.retryQueueHandler.getQueueSize()>0;if(!e&&!t)return;await this.triggerHarvest({})}catch(e){o.default.error(\"Error during scheduled harvest:\",e.message)}finally{this.scheduleNextHarvest()}}async triggerHarvest(e={}){if(this.isHarvesting)return{success:!1,reason:\"harvest_in_progress\"};this.isHarvesting=!0;try{let t=this.drainEvents(e);if(e.isFinalHarvest){const e=d.default.MAX_BEACON_SIZE;(0,n.dataSize)(t)>e&&(t=this.trimEventsToFit(t,e))}const i=await this.sendChunk(t,e,!0);return{success:i.success,totalChunks:1,results:[i]}}catch(e){return o.default.error(\"Harvest cycle failed:\",e.message),this.handleHarvestFailure(e),{success:!1,error:e.message,consecutiveFailures:this.consecutiveFailures}}finally{this.isHarvesting=!1}}trimEventsToFit(e,t){if(0===e.length)return e;const i=[];let s=0;for(let r=e.length-1;r>=0;r--){const a=e[r],d=(0,n.dataSize)({ins:[a,...i]});d>t||(i.unshift(a),s=d)}const r=e.length-i.length;if(r>0){const a=e.slice(0,r);o.default.warn(`Discarded ${r} events to fit beacon size limit`,{originalCount:e.length,trimmedCount:i.length,finalSize:s,maxSize:t}),this.retryQueueHandler&&this.retryQueueHandler.addFailedEvents(a)}return i}drainEvents(){const e=this.eventBuffer.drain();let t=[...e],i=(0,n.dataSize)(e);if(this.retryQueueHandler&&this.retryQueueHandler.getQueueSize()>0){const e=d.default.MAX_PAYLOAD_SIZE-i,s=d.default.MAX_EVENTS_PER_BATCH-t.length;if(e>0&&s>0){const i=this.retryQueueHandler.getRetryEventsToFit(e,s);i.length>0&&(t=[...i,...t])}}return t}async sendChunk(e,t,i){const s={url:(0,n.buildUrl)(this.fallBackUrl),payload:{body:{ins:e}},options:{...t,isLastChunk:i}};return new Promise(t=>{this.httpClient.send(s,i=>{i.retry?this.handleRequestFailure(e):(this.retryCount=0,this.fallBackUrl=\"\"),t({success:!i.retry,status:i.status,error:i.error,chunk:e,eventCount:e.length})})})}handleRequestFailure(e){this.retryQueueHandler.addFailedEvents(e),\"US\"===window.NRVIDEO?.info?.region&&(this.retryCount++,this.retryCount>5?(this.retryCount=0,this.fallBackUrl=\"\"):this.retryCount>=2&&(this.fallBackUrl=d.default.COLLECTOR.US[1]))}handleHarvestFailure(e){this.consecutiveFailures++,o.default.warn(\"Harvest failure handled\",{error:e.message,consecutiveFailures:this.consecutiveFailures})}updateHarvestInterval(e){\"number\"!=typeof e&&isNaN(e)?o.default.warn(\"Invalid newInterval provided to updateHarvestInterval\"):e<1e3||e>3e5?o.default.warn(\"newInterval out of bounds (1000-300000), ignoring\"):this.harvestCycle!==e&&(this.harvestCycle=e,o.default.notice(\"Updated harvestCycle:\",this.harvestCycle),this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null),this.isStarted&&this.scheduleNextHarvest())}setupPageLifecycleHandlers(){let e=!1;const t=()=>{e||(e=!0,this.triggerHarvest({isFinalHarvest:!0,force:!0}))};document.addEventListener(\"visibilitychange\",()=>{document.hidden&&t()}),window.addEventListener(\"pagehide\",()=>{t()}),window.addEventListener(\"beforeunload\",()=>{t()})}}},399:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var s,r=(s=i(144))&&s.__esModule?s:{default:s},a=i(449),n=i(659);class d{static addTracker(e,t){t?.info&&(0,n.setVideoConfig)(t.info),e.on&&e.emit?(o.push(e),e.on(\"*\",l),\"function\"==typeof e.trackerInit&&e.trackerInit()):r.default.error(\"Tried to load a non-tracker.\",e)}static removeTracker(e){e.off(\"*\",l),e.dispose();let t=o.indexOf(e);-1!==t&&o.splice(t,1)}static getTrackers(){return o}static send(e,t,i){const s={actionName:t,...i};return(0,a.recordEvent)(e,s)}static sendError(e){return(0,a.recordEvent)(\"VideoErrorAction\",{actionName:\"ERROR\",...e})}static async forceHarvest(){try{const{videoAnalyticsHarvester:e}=i(487);return await e.forceHarvest()}catch(e){return r.default.error(\"Failed to force harvest:\",e.message),{success:!1,error:e.message}}}}let o=[];function l(e){try{let t=function(e){let t={};for(let i in e)null!==e[i]&&void 0!==e[i]&&(t[i]=e[i]);return t}(e.data);r.default.level<=r.default.Levels.DEBUG?r.default.notice(\"Sent\",e.type,t):r.default.notice(\"Sent\",e.type),d.send(e.eventType,e.type,t)}catch(e){r.default.error(\"Error in event handler:\",e.message)}}t.default=d},413:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.RetryQueueHandler=void 0;var s=n(i(144)),r=i(347),a=n(i(51));function n(e){return e&&e.__esModule?e:{default:e}}const{MAX_PAYLOAD_SIZE:d,MAX_EVENTS_PER_BATCH:o}=a.default;class l{constructor(){this.retryQueue=[],this.maxQueueSize=o,this.maxQueueSizeBytes=d}addFailedEvents(e){try{const t=Array.isArray(e)?e:[e];s.default.notice(`Adding ${t.length} failed events to retry queue`,{queueSizeBefore:this.retryQueue.length});for(const e of t){this.retryQueue.length>=this.maxQueueSize&&this.evictOldestEvent();const t=(0,r.dataSize)(e);for(;(0,r.dataSize)(this.retryQueue)+t>this.maxQueueSizeBytes;)this.evictOldestEvent();this.retryQueue.push({...e})}}catch(e){s.default.error(\"Failed to add events to retry queue:\",e.message)}}discardEvent(e,t){s.default.warn(\"Discarded event\",{reason:t,eventType:e.eventType})}evictOldestEvent(){if(this.retryQueue.length>0){const e=this.retryQueue.shift();this.discardEvent(e,\"Queue full - evicted oldest\")}}getRetryEventsToFit(e,t){const i=[];let s=0,a=0;for(let n=this.retryQueue.length-1;n>=0;n--){const d=this.retryQueue[n];if(a>=t)break;const o=(0,r.dataSize)(d);if(s+o>e)break;i.unshift(d),s+=o,a++,this.retryQueue.splice(n,1)}return i}getQueueSize(){return this.retryQueue.length}clear(){this.retryQueue=[]}}t.RetryQueueHandler=l,t.default=l},431:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=t.NrVideoEventAggregator=void 0;var s=n(i(144)),r=n(i(51)),a=i(347);function n(e){return e&&e.__esModule?e:{default:e}}const{MAX_PAYLOAD_SIZE:d,MAX_EVENTS_PER_BATCH:o}=r.default;class l{constructor(){this.buffer=[],this.maxPayloadSize=d,this.maxEventsPerBatch=o,this.currentPayloadSize=0,this.totalEvents=0,this.smartHarvestPayloadThreshold=Math.floor(.6*this.maxPayloadSize),this.overflowPayloadThreshold=Math.floor(.9*this.maxPayloadSize),this.smartHarvestEventThreshold=Math.floor(.6*this.maxEventsPerBatch),this.overflowEventThreshold=Math.floor(.9*this.maxEventsPerBatch),this.onSmartHarvestTrigger=null}add(e){try{const t=(0,a.dataSize)(e),i=this.currentPayloadSize+t>=this.maxPayloadSize,s=this.totalEvents+1>=this.maxEventsPerBatch;return(i||s)&&this.makeRoom(t),this.buffer.push(e),this.totalEvents++,this.currentPayloadSize+=t,this.checkSmartHarvestTrigger(),!0}catch(e){return s.default.error(\"Failed to add event to buffer:\",e.message),!1}}checkSmartHarvestTrigger(){const e=this.currentPayloadSize/this.maxPayloadSize,t=this.totalEvents/this.maxEventsPerBatch,i=this.currentPayloadSize>=this.overflowPayloadThreshold,r=this.totalEvents>=this.overflowEventThreshold;if(i||r){const r=i?`payload ${this.currentPayloadSize}/${this.maxPayloadSize} bytes (${Math.round(100*e)}%)`:`events ${this.totalEvents}/${this.maxEventsPerBatch} (${Math.round(100*t)}%)`;s.default.warn(`OVERFLOW PREVENTION: ${r} - Emergency harvest triggered`),this.onSmartHarvestTrigger&&\"function\"==typeof this.onSmartHarvestTrigger&&this.onSmartHarvestTrigger(\"overflow\",90)}else{const e=this.currentPayloadSize>=this.smartHarvestPayloadThreshold,t=this.totalEvents>=this.smartHarvestEventThreshold;(e||t)&&this.onSmartHarvestTrigger&&\"function\"==typeof this.onSmartHarvestTrigger&&this.onSmartHarvestTrigger(\"smart\",60)}}setSmartHarvestCallback(e){this.onSmartHarvestTrigger=e}drain(){try{const e=this.buffer.splice(0);return this.totalEvents=0,this.currentPayloadSize=0,e}catch(e){return s.default.error(\"Failed to drain events from buffer:\",e.message),[]}}isEmpty(){return 0===this.totalEvents}size(){return this.totalEvents}clear(){this.buffer=[],this.totalEvents=0}makeRoom(e){if(e>this.maxPayloadSize)s.default.error(\"Event dropped: Event size exceeds maximum payload size.\");else for(;(this.totalEvents>=this.maxEventsPerBatch||this.currentPayloadSize+e>=this.maxPayloadSize)&&this.buffer.length>0;){const e=this.buffer.shift(),t=(0,a.dataSize)(e);this.totalEvents--,this.currentPayloadSize-=t,s.default.warn(\"Event buffer full, oldest event removed.\")}}}t.NrVideoEventAggregator=l,t.default=l},449:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.recordEvent=function(e,t={}){try{if(!r.default.VALID_EVENT_TYPES.includes(e))return a.default.warn(\"Invalid event type provided to recordEvent\",{eventType:e}),!1;if(!window?.NRVIDEO?.info)return;const{appName:i,applicationID:n}=window.NRVIDEO.info,d={...t,eventType:e,...n?{}:{appName:i},timestamp:Date.now(),timeSinceLoad:window.performance?window.performance.now()/1e3:null};return s.videoAnalyticsHarvester.addEvent(d)}catch(e){return a.default.error(\"Failed to record event:\",e.message),!1}};var s=i(487),r=n(i(51)),a=n(i(144));function n(e){return e&&e.__esModule?e:{default:e}}},455:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;class i{constructor(){this.reset()}reset(){this.startTime=0,this.stopTime=0,this.offset=0}getDeltaTime(){return this.startTime?this.offset+((new Date).getTime()-this.startTime):null}start(){this.startTime=(new Date).getTime(),this.stopTime=0}stop(){return this.stopTime=(new Date).getTime(),this.getDeltaTime()}clone(){var e=new i;return e.startTime=this.startTime,e.stopTime=this.stopTime,e.offset=this.offset,e}}t.default=i},487:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.videoAnalyticsHarvester=void 0;var s,r=i(374),a=i(431),n=(s=i(144))&&s.__esModule?s:{default:s};const d=new class{constructor(){this.isInitialized=!1,this.harvestScheduler=null,this.eventBuffer=null}initialize(){if(this.isInitialized)n.default.warn(\"Video analytics agent already initialized\");else try{this.eventBuffer=new a.NrVideoEventAggregator,this.harvestScheduler=new r.HarvestScheduler(this.eventBuffer),this.harvestScheduler.startScheduler(),this.isInitialized=!0,n.default.notice(\"Video analytics agent initialized successfully\")}catch(e){n.default.error(\"Failed to initialize video analytics agent:\",e.message)}}addEvent(e){this.isInitialized||(n.default.warn(\"Video analytics agent not initialized, initializing now\"),this.initialize());try{return this.eventBuffer.add(e)}catch(e){return n.default.error(\"Failed to add event to harvesting system:\",e.message),!1}}setHarvestInterval(e){this.isInitialized||this.initialize(),this.harvestScheduler.updateHarvestInterval(e)}};t.videoAnalyticsHarvester=d},568:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,t.default=class{on(e,t){if(this._listeners=this._listeners||{},\"function\"==typeof t)return this._listeners[e]=this._listeners[e]||[],this._listeners[e].push(t),this}off(e,t){if(this._listeners=this._listeners||{},this._listeners[e]){var i=this._listeners[e].indexOf(t);-1!==i&&this._listeners[e].splice(i,1)}return this}emit(e,t,i){return this._listeners=this._listeners||{},i=i||{},Array.isArray(this._listeners[t])&&this._listeners[t].forEach(s=>{s.call(this,{eventType:e,type:t,data:i,target:this})}),Array.isArray(this._listeners[\"*\"])&&this._listeners[\"*\"].forEach(s=>{s.call(this,{eventType:e,type:t,data:i,target:this})}),this}}},659:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0,t.setVideoConfig=function(e){return o.setConfiguration(e)},t.videoConfiguration=void 0;var s=a(i(144)),r=a(i(51));function a(e){return e&&e.__esModule?e:{default:e}}const{COLLECTOR:n}=r.default;class d{setConfiguration(e){return this.initializeGlobalConfig(e),s.default.notice(\"Video analytics configuration initialized successfully\"),!0}validateRequiredFields(e){if(!e||\"object\"!=typeof e)return s.default.error(\"Configuration must be an object\"),!1;const{licenseKey:t,appName:i,region:r,applicationID:a,beacon:d}=e;if(!t)return s.default.error(\"licenseKey is required\"),!1;if(a){if(!d)return s.default.error(\"beacon is required when applicationID is provided\"),!1;if(!Object.values(n).flatMap(e=>e).includes(d))return s.default.error(`Invalid beacon: ${d}`),!1}else{if(!i||!r)return s.default.error(\"appName and region are required when applicationID is not provided\"),!1;if(!n[r])return s.default.error(`Invalid region: ${r}. Valid regions are: ${Object.keys(n).join(\", \")}`),!1}return!0}initializeGlobalConfig(e){if(!this.validateRequiredFields(e))return;let{licenseKey:t,appName:i,region:s,beacon:a,applicationID:d}=e;a=\"US\"===s?r.default.COLLECTOR.US[0]:a||n[s],window.NRVIDEO={info:{...s?{region:s}:{},beacon:a,licenseKey:t,applicationID:d,...d?{}:{appName:i}}}}}const o=t.videoConfiguration=new d;t.default=d},793:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var s=d(i(144)),r=d(i(302)),a=d(i(328)),n=d(i(330));function d(e){return e&&e.__esModule?e:{default:e}}class o extends r.default{constructor(e,t){super(),this.state=new a.default,this.adsTracker=null,this._lastBufferType=null,this._userId=null,t=t||{},this.setOptions(t),e&&this.setPlayer(e,t.tag),s.default.notice(\"Tracker \"+this.getTrackerName()+\" v\"+this.getTrackerVersion()+\" is ready.\")}setUserId(e){this._userId=e}setOptions(e){e&&(e.adsTracker&&this.setAdsTracker(e.adsTracker),\"boolean\"==typeof e.isAd&&this.setIsAd(e.isAd),r.default.prototype.setOptions.apply(this,arguments))}setPlayer(e,t){(this.player||this.tag)&&this.dispose(),\"undefined\"!=typeof document&&document.getElementById&&(\"string\"==typeof e&&(e=document.getElementById(e)),\"string\"==typeof t&&(t=document.getElementById(t))),t=t||e,this.player=e,this.tag=t,this.registerListeners()}isAd(){return this.state.isAd()}setIsAd(e){this.state.setIsAd(e)}setAdsTracker(e){this.disposeAdsTracker(),e&&(this.adsTracker=e,this.adsTracker.setIsAd(!0),this.adsTracker.parentTracker=this,this.adsTracker.on(\"*\",l.bind(this)))}disposeAdsTracker(){this.adsTracker&&(this.adsTracker.off(\"*\",l),this.adsTracker.dispose())}dispose(){this.stopHeartbeat(),this.disposeAdsTracker(),this.unregisterListeners(),this.player=null,this.tag=null}registerListeners(){}unregisterListeners(){}getViewId(){return this.parentTracker?this.parentTracker.getViewId():this.state.getViewId()}getViewSession(){return this.parentTracker?this.parentTracker.getViewSession():this.state.getViewSession()}getVideoId(){return null}getTitle(){return null}isLive(){return null}getBitrate(){return null}getWebkitBitrate(){if(this.tag&&this.tag.webkitVideoDecodedByteCount){let e;if(this._lastWebkitBitrate){e=this.tag.webkitVideoDecodedByteCount;let t=e-this._lastWebkitBitrate,i=this.getHeartbeat()/1e3;e=Math.round(t/i*8)}return this._lastWebkitBitrate=this.tag.webkitVideoDecodedByteCount,e||null}}getRenditionName(){return null}getRenditionBitrate(){return null}getRenditionShift(e){let t,i=this.getRenditionBitrate();return this.isAd()?(t=this._lastAdRendition,e&&(this._lastAdRendition=i)):(t=this._lastRendition,e&&(this._lastRendition=i)),i&&t?i>t?\"up\":i<t?\"down\":null:null}getRenditionHeight(){return this.tag?this.tag.videoHeight:null}getRenditionWidth(){return this.tag?this.tag.videoWidth:null}getDuration(){return this.tag?this.tag.duration:null}getPlayhead(){return this.tag?this.tag.currentTime:null}getLanguage(){return null}getSrc(){return this.tag?this.tag.currentSrc:null}getPlayrate(){return this.tag?this.tag.playbackRate:null}isMuted(){return this.tag?this.tag.muted:null}isFullscreen(){return null}getCdn(){return null}getPlayerName(){return this.getTrackerName()}getPlayerVersion(){return n.default.version}getFps(){return null}isAutoplayed(){return this.tag?this.tag.autoplay:null}getPreload(){return this.tag?this.tag.preload:null}getAdQuartile(){return null}getAdPosition(){return this.parentTracker?this.parentTracker.state.isStarted?\"mid\":\"pre\":null}getAdPartner(){return null}getAdCreativeId(){return null}getInstrumentationProvider(){return null}getInstrumentationName(){return null}getInstrumentationVersion(){return null}getAttributes(e,t){if(void 0===(e=r.default.prototype.getAttributes.apply(this,arguments)).isAd&&(e.isAd=this.isAd()),e.viewSession=this.getViewSession(),e.viewId=this.getViewId(),e.playerName=this.getPlayerName(),e.playerVersion=this.getPlayerVersion(),e[\"instrumentation.provider\"]=this.getInstrumentationProvider(),e[\"instrumentation.name\"]=this.getInstrumentationName(),e[\"instrumentation.version\"]=this.getInstrumentationVersion(),e[\"enduser.id\"]=this._userId,e.src=\"Browser\",\"customAction\"===t)return e;try{e.pageUrl=window.location.href}catch(e){}this.isAd()?(e.adId=this.getVideoId(),e.adTitle=this.getTitle(),e.adSrc=this.getSrc(),e.adCdn=this.getCdn(),e.adBitrate=this.getBitrate()||this.getWebkitBitrate()||this.getRenditionBitrate(),e.adRenditionName=this.getRenditionName(),e.adRenditionBitrate=this.getRenditionBitrate(),e.adRenditionHeight=this.getRenditionHeight(),e.adRenditionWidth=this.getRenditionWidth(),e.adDuration=this.getDuration(),e.adPlayhead=this.getPlayhead(),e.adLanguage=this.getLanguage(),e.adIsMuted=this.isMuted(),e.adFps=this.getFps(),e.adPosition=this.getAdPosition(),e.adCreativeId=this.getAdCreativeId(),e.adPartner=this.getAdPartner()):(e.contentId=this.getVideoId(),e.contentTitle=this.getTitle(),e.contentSrc=this.getSrc(),e.contentCdn=this.getCdn(),e.contentPlayhead=this.getPlayhead(),e.contentIsLive=this.isLive(),e.contentBitrate=this.getBitrate()||this.getWebkitBitrate()||this.getRenditionBitrate(),e.contentRenditionName=this.getRenditionName(),e.contentRenditionBitrate=this.getRenditionBitrate(),e.contentRenditionHeight=this.getRenditionHeight(),e.contentRenditionWidth=this.getRenditionWidth(),e.contentDuration=this.getDuration(),e.contentLanguage=this.getLanguage(),e.contentPlayrate=this.getPlayrate(),e.contentIsFullscreen=this.isFullscreen(),e.contentIsMuted=this.isMuted(),e.contentIsAutoplayed=this.isAutoplayed(),e.contentPreload=this.getPreload(),e.contentFps=this.getFps(),null!=this.adsTracker&&this.adsTracker.state.totalAdPlaytime>0&&(e.totalAdPlaytime=this.adsTracker.state.totalAdPlaytime)),this.state.getStateAttributes(e);for(let t in this.customData)e[t]=this.customData[t];return e}sendCustom(e,t,i){i=i||{},this.sendVideoCustomAction(e,i),this.state.setTimeSinceAttribute(t)}sendPlayerReady(e){this.state.goPlayerReady()&&(e=e||{},this.sendVideoAction(o.Events.PLAYER_READY,e))}sendRequest(e){if(this.state.goRequest()){let t;this.isAd()?(t=o.Events.AD_REQUEST,this.sendVideoAdAction(t,e)):(t=o.Events.CONTENT_REQUEST,this.sendVideoAction(t,e))}}sendStart(e){if(this.state.goStart()){let t;this.isAd()?(t=o.Events.AD_START,this.parentTracker&&(this.parentTracker.state.isPlaying=!1),this.sendVideoAdAction(t,e)):(t=o.Events.CONTENT_START,this.sendVideoAction(t,e)),this.startHeartbeat(),this.state.goHeartbeat()}}sendEnd(e){if(this.state.goEnd()){let t;e=e||{},this.isAd()?(t=o.Events.AD_END,e.timeSinceAdRequested=this.state.timeSinceRequested.getDeltaTime(),e.timeSinceAdStarted=this.state.timeSinceStarted.getDeltaTime(),this.parentTracker&&(this.parentTracker.state.isPlaying=!0)):(t=o.Events.CONTENT_END,e.timeSinceRequested=this.state.timeSinceRequested.getDeltaTime(),e.timeSinceStarted=this.state.timeSinceStarted.getDeltaTime()),this.stopHeartbeat(),this.isAd()?this.sendVideoAdAction(t,e):this.sendVideoAction(t,e),this.parentTracker&&this.isAd()&&this.parentTracker.state.goLastAd(),this.state.goViewCountUp(),this.state.totalPlaytime=0}}sendPause(e){if(this.state.goPause()){let t=this.isAd()?o.Events.AD_PAUSE:o.Events.CONTENT_PAUSE;this.isAd()?this.sendVideoAdAction(t,e):this.sendVideoAction(t,e)}}sendResume(e){if(this.state.goResume()){let t;e=e||{},this.isAd()?(t=o.Events.AD_RESUME,e.timeSinceAdPaused=this.state.timeSincePaused.getDeltaTime()):(t=o.Events.CONTENT_RESUME,e.timeSincePaused=this.state.timeSincePaused.getDeltaTime()),this.isAd()?this.sendVideoAdAction(t,e):this.sendVideoAction(t,e)}}sendBufferStart(e){if(this.state.goBufferStart()){let t;e=e||{},t=this.isAd()?o.Events.AD_BUFFER_START:o.Events.CONTENT_BUFFER_START,e=this.buildBufferAttributes(e),this._lastBufferType=e.bufferType,this.isAd()?this.sendVideoAdAction(t,e):this.sendVideoAction(t,e)}}sendBufferEnd(e){if(this.state.goBufferEnd()){let t;e=e||{},this.isAd()?(t=o.Events.AD_BUFFER_END,e.timeSinceAdBufferBegin=this.state.timeSinceBufferBegin.getDeltaTime()):(t=o.Events.CONTENT_BUFFER_END,e.timeSinceBufferBegin=this.state.timeSinceBufferBegin.getDeltaTime()),e=this.buildBufferAttributes(e),null!=this._lastBufferType&&(e.bufferType=this._lastBufferType),this.isAd()?this.sendVideoAdAction(t,e):this.sendVideoAction(t,e),this.state.initialBufferingHappened=!0}}buildBufferAttributes(e){return null==e.timeSinceStarted||e.timeSinceStarted<100?e.isInitialBuffering=!this.state.initialBufferingHappened:e.isInitialBuffering=!1,e.bufferType=this.state.calculateBufferType(e.isInitialBuffering),e.timeSinceResumed=this.state.timeSinceResumed.getDeltaTime(),e.timeSinceSeekEnd=this.state.timeSinceSeekEnd.getDeltaTime(),e}sendSeekStart(e){if(this.state.goSeekStart()){let t;t=this.isAd()?o.Events.AD_SEEK_START:o.Events.CONTENT_SEEK_START,this.isAd()?this.sendVideoAdAction(t,e):this.sendVideoAction(t,e)}}sendSeekEnd(e){if(this.state.goSeekEnd()){let t;e=e||{},this.isAd()?(t=o.Events.AD_SEEK_END,e.timeSinceAdSeekBegin=this.state.timeSinceSeekBegin.getDeltaTime()):(t=o.Events.CONTENT_SEEK_END,e.timeSinceSeekBegin=this.state.timeSinceSeekBegin.getDeltaTime()),this.isAd()?this.sendVideoAdAction(t,e):this.sendVideoAction(t,e)}}sendDownload(e){(e=e||{}).state||s.default.warn(\"Called sendDownload without { state: xxxxx }.\"),this.sendVideoAction(o.Events.DOWNLOAD,e),this.state.goDownload()}sendError(e){(e=e||{}).isAd=this.isAd(),this.state.goError();let t=this.isAd()?o.Events.AD_ERROR:o.Events.CONTENT_ERROR;this.sendVideoErrorAction(t,e)}sendRenditionChanged(e){let t;(e=e||{}).timeSinceLastRenditionChange=this.state.timeSinceLastRenditionChange.getDeltaTime(),e.shift=this.getRenditionShift(!0),t=this.isAd()?o.Events.AD_RENDITION_CHANGE:o.Events.CONTENT_RENDITION_CHANGE,this.isAd()?this.sendVideoAdAction(t,e):this.sendVideoAction(t,e),this.state.goRenditionChange()}sendHeartbeat(e){if(this.state.isRequested){let t,i=this.getHeartbeat();this.state._hb=!0,i=this.adjustElapsedTimeForPause(i),this.isAd()?(t=o.Events.AD_HEARTBEAT,\"bitmovin-ads\"===this.getPlayerName()?this.sendVideoAdAction(t,e):this.sendVideoAdAction(t,{elapsedTime:i,...e})):(t=o.Events.CONTENT_HEARTBEAT,this.sendVideoAction(t,{elapsedTime:i,...e})),this.state.goHeartbeat()}}adjustElapsedTimeForPause(e){return this.state._acc&&(e-=this.state._acc,this.state._acc=0),this.state.isPaused&&((e-=this.state.elapsedTime.getDeltaTime())<10&&(e=0),this.state.elapsedTime.start()),this.state._bufferAcc?(e-=this.state._bufferAcc,this.state._bufferAcc=0):this.state.isBuffering&&((e-=this.state.bufferElapsedTime.getDeltaTime())<5&&(e=0),this.state.bufferElapsedTime.start()),Math.max(0,e)}sendAdBreakStart(e){this.isAd()&&this.state.goAdBreakStart()&&(this.state.totalAdPlaytime=0,this.parentTracker&&(this.parentTracker.state.isPlaying=!1),this.sendVideoAdAction(o.Events.AD_BREAK_START,e))}sendAdBreakEnd(e){this.isAd()&&this.state.goAdBreakEnd()&&((e=e||{}).timeSinceAdBreakBegin=this.state.timeSinceAdBreakStart.getDeltaTime(),this.sendVideoAdAction(o.Events.AD_BREAK_END,e),this.parentTracker&&(this.parentTracker.state.isPlaying=!0),this.stopHeartbeat(),this.parentTracker&&this.isAd()&&this.parentTracker.state.goLastAd())}sendAdQuartile(e){this.isAd()&&((e=e||{}).quartile||s.default.warn(\"Called sendAdQuartile without { quartile: xxxxx }.\"),e.timeSinceLastAdQuartile=this.state.timeSinceLastAdQuartile.getDeltaTime(),this.sendVideoAdAction(o.Events.AD_QUARTILE,e),this.state.goAdQuartile())}sendAdClick(e){this.isAd()&&((e=e||{}).url||s.default.warn(\"Called sendAdClick without { url: xxxxx }.\"),this.sendVideoAdAction(o.Events.AD_CLICK,e))}}function l(e){e.type!==o.Events.AD_ERROR?this.sendVideoAdAction(e.type,e.data):this.sendVideoErrorAction(e.type,e.data)}o.Events={PLAYER_READY:\"PLAYER_READY\",DOWNLOAD:\"DOWNLOAD\",ERROR:\"ERROR\",CONTENT_REQUEST:\"CONTENT_REQUEST\",CONTENT_START:\"CONTENT_START\",CONTENT_END:\"CONTENT_END\",CONTENT_PAUSE:\"CONTENT_PAUSE\",CONTENT_RESUME:\"CONTENT_RESUME\",CONTENT_SEEK_START:\"CONTENT_SEEK_START\",CONTENT_SEEK_END:\"CONTENT_SEEK_END\",CONTENT_BUFFER_START:\"CONTENT_BUFFER_START\",CONTENT_BUFFER_END:\"CONTENT_BUFFER_END\",CONTENT_HEARTBEAT:\"CONTENT_HEARTBEAT\",CONTENT_RENDITION_CHANGE:\"CONTENT_RENDITION_CHANGE\",CONTENT_ERROR:\"CONTENT_ERROR\",AD_REQUEST:\"AD_REQUEST\",AD_START:\"AD_START\",AD_END:\"AD_END\",AD_PAUSE:\"AD_PAUSE\",AD_RESUME:\"AD_RESUME\",AD_SEEK_START:\"AD_SEEK_START\",AD_SEEK_END:\"AD_SEEK_END\",AD_BUFFER_START:\"AD_BUFFER_START\",AD_BUFFER_END:\"AD_BUFFER_END\",AD_HEARTBEAT:\"AD_HEARTBEAT\",AD_RENDITION_CHANGE:\"AD_RENDITION_CHANGE\",AD_ERROR:\"AD_ERROR\",AD_BREAK_START:\"AD_BREAK_START\",AD_BREAK_END:\"AD_BREAK_END\",AD_QUARTILE:\"AD_QUARTILE\",AD_CLICK:\"AD_CLICK\"},t.default=o}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var a=t[s]={exports:{}};return e[s](a,a.exports,i),a.exports}var s={};(()=>{var e=s;Object.defineProperty(e,\"B\",{value:!0}),e.A=void 0;var t=v(i(399)),r=v(i(51)),a=v(i(455)),n=v(i(144)),d=v(i(568)),o=v(i(302)),l=v(i(793)),u=v(i(328)),h=i(431),c=i(413),f=i(28),g=i(374),m=i(449),E=i(330);function v(e){return e&&e.__esModule?e:{default:e}}const A={Constants:r.default,Chrono:a.default,Log:n.default,Emitter:d.default,Tracker:o.default,VideoTracker:l.default,VideoTrackerState:u.default,Core:t.default,version:E.version,NrVideoEventAggregator:h.NrVideoEventAggregator,RetryQueueHandler:c.RetryQueueHandler,OptimizedHttpClient:f.OptimizedHttpClient,HarvestScheduler:g.HarvestScheduler,recordEvent:m.recordEvent};e.A=A})();const r=s.B,a=s.A;export{r as __esModule,a as default};\n//# sourceMappingURL=index.js.map","import nrvideo from '@newrelic/video-core'\nimport VideojsAdsTracker from './videojs-ads'\n\nexport default class BrightcoveImaAdsTracker extends VideojsAdsTracker {\n static isUsing (player) {\n return !!player.ima3\n }\n\n getTrackerName () {\n return 'brightcove-ima-ads'\n }\n\n getPlayerName () {\n return 'brightcove-ima-ads'\n }\n\n getPlayhead () {\n return this.player?.ima3?.adPlayer?.currentTime()\n }\n\n registerListeners () {\n nrvideo.Log.debugCommonVideoEvents(this.player, [\n null,\n 'ima3-ready',\n 'ima3error',\n 'ima3-ad-error',\n 'ima3-started',\n 'ima3-complete',\n 'ima3-paused',\n 'ima3-resumed',\n 'ads-request',\n 'ads-load',\n 'ads-ad-started',\n 'ads-ad-ended',\n 'ads-pause',\n 'ads-play',\n 'ads-click',\n 'ads-pod-started',\n 'ads-pod-ended',\n 'ads-allpods-completed'\n ])\n\n this.player.on('ima3-started', this.onStarted.bind(this))\n this.player.on('ima3-paused', this.onPaused.bind(this))\n this.player.on('ima3-resumed', this.onResume.bind(this))\n this.player.on('ima3-complete', this.onComplete.bind(this))\n this.player.on('ima3-skipped', this.onSkipped.bind(this))\n this.player.on('adserror', this.onError.bind(this))\n this.player.on('ads-click', this.onClick.bind(this))\n }\n\n unregisterListeners () {\n this.player.off('ima3-started', this.onStarted)\n this.player.off('ima3-paused', this.onPaused)\n this.player.off('ima3-resumed', this.onResume)\n this.player.off('ima3-complete', this.onComplete)\n this.player.off('ima3-skipped', this.onSkipped)\n this.player.off('adserror', this.onError)\n this.player.off('ads-click', this.onClick)\n }\n\n onStarted (e) {\n this.sendRequest()\n this.sendStart()\n }\n\n onPaused (e) {\n this.sendPause()\n }\n\n onResume (e) {\n this.sendResume()\n }\n\n onComplete (e) {\n this.sendEnd()\n }\n\n onSkipped (e) {\n this.sendEnd({ skipped: true })\n }\n\n onError (e) {\n this.sendError()\n }\n\n onClick (e) {\n this.sendClick()\n }\n}\n","/* global google */\nimport nrvideo from '@newrelic/video-core';\nimport VideojsAdsTracker from './videojs-ads';\n\nconst daiEvents = {\n // Stream Events\n DAI_STREAM_INITIALIZED: 'dai-stream-initialized',\n DAI_STREAM_LOADED: 'dai-stream-loaded',\n DAI_STREAM_ERROR: 'dai-stream-error',\n\n // Ad Events\n DAI_AD_BREAK_STARTED: 'dai-ad-break-started',\n DAI_AD_BREAK_ENDED: 'dai-ad-break-ended',\n DAI_AD_PERIOD_STARTED: 'dai-ad-period-started',\n DAI_AD_PERIOD_ENDED: 'dai-ad-period-ended',\n DAI_AD_STARTED: 'dai-ad-started',\n DAI_AD_FIRST_QUARTILE: 'dai-ad-first-quartile',\n DAI_AD_MIDPOINT: 'dai-ad-midpoint',\n DAI_AD_THIRD_QUARTILE: 'dai-ad-third-quartile',\n DAI_AD_COMPLETE: 'dai-ad-complete',\n DAI_AD_SKIPPED: 'dai-ad-skipped',\n DAI_AD_PAUSED: 'dai-ad-paused',\n DAI_AD_RESUMED: 'dai-ad-resumed',\n DAI_AD_CLICKED: 'dai-ad-clicked',\n DAI_AD_ERROR: 'dai-ad-error',\n\n // Cue Point Events\n DAI_CUEPOINTS_CHANGED: 'dai-cuepoints-changed',\n\n // Timed Metadata Events\n DAI_TIMED_METADATA: 'dai-timed-metadata',\n};\n\nexport default class DaiAdsTracker extends VideojsAdsTracker {\n static isUsing(player) {\n // Check for DAI plugin or imaDai method\n return (\n (player.imaDai && typeof player.imaDai === 'function') ||\n (player.dai && typeof player.dai.VERSION !== 'undefined') ||\n (player.ima && player.ima.dai) ||\n player.streamManager\n );\n }\n\n constructor(player) {\n super(player);\n this.streamManager = null;\n this.currentAdData = null;\n this.adBreakData = null;\n this.streamData = null;\n this.cuePoints = [];\n this.initialized = false;\n this.eventHandlers = null;\n }\n\n setStreamManager(streamManager) {\n this.streamManager = streamManager;\n this.setupStreamManagerListeners();\n this.initialized = true;\n nrvideo.Log.debug(\n 'DaiAdsTracker: StreamManager set and listeners registered'\n );\n }\n\n setupStreamManagerListeners() {\n if (!this.streamManager || !google?.ima?.dai?.api?.StreamEvent) {\n nrvideo.Log.warn('DaiAdsTracker: StreamManager or DAI API not available');\n return;\n }\n\n const StreamEvent = google.ima.dai.api.StreamEvent.Type;\n\n // Create the event handler mapping\n this.eventHandlers = {\n // Stream Events\n [StreamEvent.LOADED]: this.onStreamLoaded.bind(this),\n [StreamEvent.STREAM_INITIALIZED]: this.onStreamInitialized.bind(this),\n [StreamEvent.ERROR]: this.onStreamError.bind(this),\n\n // Ad Break Events\n [StreamEvent.AD_BREAK_STARTED]: this.onAdBreakStarted.bind(this),\n [StreamEvent.AD_BREAK_ENDED]: this.onAdBreakEnded.bind(this),\n\n // Ad Period Events\n [StreamEvent.AD_PERIOD_STARTED]: this.onAdPeriodStarted.bind(this),\n [StreamEvent.AD_PERIOD_ENDED]: this.onAdPeriodEnded.bind(this),\n\n // Individual Ad Events\n [StreamEvent.STARTED]: this.onAdStarted.bind(this),\n [StreamEvent.FIRST_QUARTILE]: this.onAdFirstQuartile.bind(this),\n [StreamEvent.MIDPOINT]: this.onAdMidpoint.bind(this),\n [StreamEvent.THIRD_QUARTILE]: this.onAdThirdQuartile.bind(this),\n [StreamEvent.COMPLETE]: this.onAdComplete.bind(this),\n [StreamEvent.SKIPPED]: this.onAdSkipped.bind(this),\n [StreamEvent.PAUSED]: this.onAdPaused.bind(this),\n [StreamEvent.RESUMED]: this.onAdResumed.bind(this),\n [StreamEvent.CLICK]: this.onAdClicked.bind(this),\n [StreamEvent.VIDEO_CLICKED]: this.onAdClicked.bind(this),\n\n // Cue Points and Metadata Events\n [StreamEvent.CUEPOINTS_CHANGED]: this.onCuePointsChanged.bind(this),\n [StreamEvent.TIMED_METADATA]: this.onTimedMetadata.bind(this),\n };\n\n // Register all event listeners using the mapping\n Object.entries(this.eventHandlers).forEach(([eventType, handler]) => {\n this.streamManager.addEventListener(eventType, handler);\n });\n\n nrvideo.Log.debug('DaiAdsTracker: StreamManager listeners registered');\n }\n\n registerListeners() {\n // Call parent to register basic videojs-ads events\n super.registerListeners();\n\n nrvideo.Log.debugCommonVideoEvents(this.player, [\n null,\n Object.values(daiEvents),\n ]);\n }\n\n unregisterListeners() {\n // Call parent cleanup\n super.unregisterListeners();\n\n // Clean up StreamManager listeners using the same mapping\n if (this.streamManager && this.eventHandlers) {\n Object.entries(this.eventHandlers).forEach(([eventType, handler]) => {\n this.streamManager.removeEventListener(eventType, handler);\n });\n }\n\n // Reset state\n this.streamManager = null;\n this.currentAdData = null;\n this.adBreakData = null;\n this.streamData = null;\n this.cuePoints = [];\n this.initialized = false;\n this.eventHandlers = null;\n }\n\n // Stream Event Handlers\n onStreamLoaded(event) {\n this.streamData = this.extractStreamData(event);\n nrvideo.Log.debug('DaiAdsTracker: Stream loaded', this.streamData);\n this.sendRequest();\n }\n\n onStreamInitialized(event) {\n nrvideo.Log.debug('DaiAdsTracker: Stream initialized');\n this.sendDownload({ state: 'stream-initialized' });\n }\n\n onStreamError(event) {\n const errorData = this.extractErrorData(event);\n nrvideo.Log.error('DaiAdsTracker: Stream error', errorData);\n this.sendError(errorData);\n }\n\n // Ad Break Event Handlers\n onAdBreakStarted(event) {\n this.adBreakData = this.extractAdBreakData(event);\n nrvideo.Log.debug('DaiAdsTracker: Ad break started', this.adBreakData);\n this.sendAdBreakStart(this.adBreakData);\n }\n\n onAdBreakEnded(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad break ended');\n this.sendAdBreakEnd();\n this.adBreakData = null;\n }\n\n // Ad Period Event Handlers (for bumpers, etc.)\n onAdPeriodStarted(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad period started');\n // Track as ad break start if no current break\n if (!this.adBreakData) {\n this.onAdBreakStarted(event);\n }\n }\n\n onAdPeriodEnded(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad period ended');\n // Don't end the break here as there might be more ads\n }\n\n // Individual Ad Event Handlers\n onAdStarted(event) {\n this.currentAdData = this.extractAdData(event);\n nrvideo.Log.debug('DaiAdsTracker: Ad started', this.currentAdData);\n this.sendStart();\n }\n\n onAdFirstQuartile(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad first quartile');\n this.sendAdQuartile({ quartile: 1 });\n }\n\n onAdMidpoint(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad midpoint');\n this.sendAdQuartile({ quartile: 2 });\n }\n\n onAdThirdQuartile(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad third quartile');\n this.sendAdQuartile({ quartile: 3 });\n }\n\n onAdComplete(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad complete');\n this.sendEnd();\n this.currentAdData = null;\n }\n\n onAdSkipped(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad skipped');\n this.sendEnd({ skipped: true });\n this.currentAdData = null;\n }\n\n onAdPaused(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad paused');\n this.sendPause();\n }\n\n onAdResumed(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad resumed');\n this.sendResume();\n }\n\n onAdClicked(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad clicked');\n this.sendAdClick({ url: this.getClickThroughUrl() });\n }\n\n // Cue Points Handler\n onCuePointsChanged(event) {\n this.cuePoints = this.extractCuePoints(event);\n nrvideo.Log.debug('DaiAdsTracker: Cue points changed', this.cuePoints);\n }\n\n // Timed Metadata Handler\n onTimedMetadata(event) {\n const metadata = this.extractTimedMetadata(event);\n nrvideo.Log.debug('DaiAdsTracker: Timed metadata', metadata);\n }\n\n // Data Extraction Methods\n extractStreamData(event) {\n try {\n const streamData = event.getStreamData();\n return {\n streamId: streamData?.streamId,\n url: streamData?.url,\n adTagParameters: streamData?.adTagParameters,\n streamType: this.getStreamType(),\n };\n } catch (error) {\n nrvideo.Log.warn('DaiAdsTracker: Failed to extract stream data', error);\n return {};\n }\n }\n\n extractAdBreakData(event) {\n try {\n const adBreakData = event.getAdBreak();\n return {\n adBreakId: adBreakData?.id,\n adBreakTitle: adBreakData?.title,\n adCount: adBreakData?.ads?.length || 0,\n position: this.getAdPosition(),\n };\n } catch (error) {\n nrvideo.Log.warn('DaiAdsTracker: Failed to extract ad break data', error);\n return {};\n }\n }\n\n extractAdData(event) {\n try {\n const ad = event.getAd();\n return {\n adId: ad?.getAdId(),\n creativeId: ad?.getCreativeId(),\n duration: ad?.getDuration(),\n title: ad?.getTitle(),\n description: ad?.getDescription(),\n advertiserName: ad?.getAdvertiserName(),\n clickThroughUrl: ad?.getClickThroughUrl(),\n dealId: ad?.getDealId(),\n wrapperAdIds: ad?.getWrapperAdIds(),\n position: this.getAdPosition(),\n };\n } catch (error) {\n nrvideo.Log.warn('DaiAdsTracker: Failed to extract ad data', error);\n return {};\n }\n }\n\n extractErrorData(event) {\n try {\n const error = event.getError();\n return {\n errorCode: error?.getErrorCode(),\n errorMessage: error?.getMessage(),\n innerError: error?.getInnerError(),\n };\n } catch (error) {\n nrvideo.Log.warn('DaiAdsTracker: Failed to extract error data', error);\n return { errorMessage: 'Unknown DAI error' };\n }\n }\n\n extractCuePoints(event) {\n try {\n return event.getCuepoints() || [];\n } catch (error) {\n nrvideo.Log.warn('DaiAdsTracker: Failed to extract cue points', error);\n return [];\n }\n }\n\n extractTimedMetadata(event) {\n try {\n return {\n type: event.getType(),\n data: event.getData(),\n };\n } catch (error) {\n nrvideo.Log.warn(\n 'DaiAdsTracker: Failed to extract timed metadata',\n error\n );\n return {};\n }\n }\n\n // Override parent methods for DAI-specific implementations\n getTrackerName() {\n return 'dai-ads';\n }\n\n getPlayerName() {\n return 'videojs-dai';\n }\n\n getPlayerVersion() {\n if (this.player.dai?.VERSION) {\n return this.player.dai.VERSION;\n }\n if (this.player.ima?.VERSION) {\n return `ima-dai: ${this.player.ima.VERSION}`;\n }\n return 'unknown';\n }\n\n getAdCuePoints() {\n return this.cuePoints;\n }\n\n getAdPosition() {\n if (!this.currentAdData && !this.adBreakData) return null;\n\n // Try to determine position from current playback time\n const currentTime = this.player.currentTime();\n const duration = this.player.duration();\n\n if (currentTime < 5) {\n return 'pre';\n } else if (duration && currentTime > duration - 10) {\n return 'post';\n } else {\n return 'mid';\n }\n }\n\n getDuration() {\n if (this.currentAdData?.duration !== undefined) {\n return this.currentAdData.duration * 1000; // Convert to milliseconds\n }\n return null;\n }\n\n getVideoId() {\n return this.currentAdData?.adId || null;\n }\n\n getAdCreativeId() {\n return this.currentAdData?.creativeId || null;\n }\n\n getTitle() {\n return this.currentAdData?.title || null;\n }\n\n getSrc() {\n return this.streamData?.url || null;\n }\n\n getPlayhead() {\n if (this.streamManager) {\n try {\n const streamTime = this.streamManager.getStreamTime();\n return streamTime * 1000; // Convert to milliseconds\n } catch (error) {\n // Fallback to player current time\n return this.player.currentTime() * 1000;\n }\n }\n return this.player.currentTime() * 1000;\n }\n\n getAdPartner() {\n return 'google-dai';\n }\n\n getClickThroughUrl() {\n return this.currentAdData?.clickThroughUrl || null;\n }\n\n getStreamType() {\n // Determine if this is VOD or Live\n if (this.streamData?.streamType) {\n return this.streamData.streamType;\n }\n // Try to infer from player\n const duration = this.player.duration();\n return duration === Infinity ? 'live' : 'vod';\n }\n\n // Additional helper methods\n isLiveStream() {\n return this.getStreamType() === 'live';\n }\n\n getCurrentAdBreak() {\n return this.adBreakData;\n }\n\n getCurrentAd() {\n return this.currentAdData;\n }\n\n getStreamData() {\n return this.streamData;\n }\n\n getBitrate() {\n const tech = this.getTech()\n if (tech && tech.tech && tech.tech.stats) {\n return tech.tech.stats.bandwidth;\n }\n }\n\n getRenditionBitrate() {\n const tech = this.getTech();\n if (tech && tech.getRenditionBitrate) {\n return tech.getRenditionBitrate();\n }\n }\n}\n","import VideojsAdsTracker from './videojs-ads'\n\nexport default class FreewheelAdsTracker extends VideojsAdsTracker {\n static isUsing (player) {\n return !!player.FreeWheelPlugin && typeof tv !== 'undefined' && tv.freewheel\n }\n\n getTrackerName () {\n return 'freewheel-ads'\n }\n\n getPlayerName () {\n return 'freewheel-ads'\n }\n\n getPlayerVersion () {\n return this.player.FreeWheelPlugin.VERSION\n }\n\n getPlayhead () {\n if (this.player.ads.ad.currentTime) {\n return this.player.ads.ad.currentTime() * 1000\n }\n }\n\n getDuration () {\n if (this.player.ads.ad.duration) {\n return this.player.ads.ad.duration * 1000\n }\n }\n\n getVideoId () {\n return this.player.ads.ad.id\n }\n\n getAdPartner () {\n return 'freewheel'\n }\n\n getAdCreativeId () {\n try {\n return this.player.ads.provider.event.adInstance.getActiveCreativeRendition().getId()\n } catch (err) { /* do nothing */ }\n }\n\n getSrc () {\n try {\n let acr = this.player.ads.provider.event.adInstance.getActiveCreativeRendition()\n return acr.getPrimaryCreativeRenditionAsset().getUrl()\n } catch (err) { /* do nothing */ }\n }\n\n getTitle () {\n try {\n let acr = this.player.ads.provider.event.adInstance.getActiveCreativeRendition()\n return acr.getPrimaryCreativeRenditionAsset().getName()\n } catch (err) { /* do nothing */ }\n }\n\n getAdPosition () {\n switch (this.player.ads.ad.type) {\n case 'PREROLL':\n return nrvideo.Constants.AdPositions.PRE\n case 'MIDROLL':\n return nrvideo.Constants.AdPositions.MID\n case 'POSTROLL':\n return nrvideo.Constants.AdPositions.POST\n }\n }\n}\n","/* global google */\nimport nrvideo from '@newrelic/video-core';\nimport VideojsAdsTracker from './videojs-ads';\n\nexport default class ImaAdsTracker extends VideojsAdsTracker {\n static isUsing(player) {\n return player.ima && typeof google !== 'undefined';\n }\n\n getTrackerName() {\n return 'ima-ads';\n }\n\n getPlayerName() {\n return 'ima';\n }\n\n getPlayerVersion() {\n return (\n 'ima: ' + google.ima.VERSION + '; contrib-ads: ' + this.player.ads.VERSION\n );\n }\n\n getCuePoints() {\n return this.player.ima.getAdsManager().getCuePoints();\n }\n\n getAdPosition() {\n if (\n this.lastAdData &&\n this.lastAdData.podInfo &&\n this.lastAdData.podInfo.podIndex !== undefined\n ) {\n const podIndex = this.lastAdData.podInfo.podIndex;\n\n if (podIndex === 0) {\n return 'pre';\n } else if (podIndex === -1) {\n return 'post';\n } else {\n return 'mid';\n }\n }\n return null;\n }\n\n getDuration() {\n if (this.lastAdData && this.lastAdData.duration !== undefined) {\n return this.lastAdData.duration * 1000;\n }\n return null;\n }\n\n getVideoId() {\n if (this.lastAdData && this.lastAdData.adId) {\n return this.lastAdData.adId;\n }\n return null;\n }\n\n getAdCreativeId() {\n if (this.lastAdData && this.lastAdData.creativeId) {\n return this.lastAdData.creativeId;\n }\n return null;\n }\n\n getSrc() {\n if (this.lastAdData && this.lastAdData.mediaUrl) {\n return this.lastAdData.mediaUrl;\n }\n return null;\n }\n\n getTitle() {\n if (this.lastAdData && this.lastAdData.title) {\n return this.lastAdData.title;\n }\n return null;\n }\n\n getPlayhead() {\n let manager = this.player.ima.getAdsManager();\n if (manager) {\n return (this.getDuration() - manager.getRemainingTime()) * 1000;\n }\n }\n\n getPlayrate() {\n return this.player.playbackRate();\n }\n\n getAdPartner() {\n return 'ima';\n }\n\n getWebkitBitrate() {\n const adVideoElement = this.getAdVideoElement();\n if (adVideoElement && adVideoElement.webkitVideoDecodedByteCount) {\n let bitrate;\n if (this._lastAdWebkitBitrate > 0) {\n const current = adVideoElement.webkitVideoDecodedByteCount;\n const delta = current - this._lastAdWebkitBitrate;\n const seconds = this.getHeartbeat() / 1000;\n bitrate = Math.round((delta / seconds) * 8);\n }\n \n this._lastAdWebkitBitrate = adVideoElement.webkitVideoDecodedByteCount;\n return bitrate ?? null;\n }\n return null;\n }\n\n getRenditionBitrate() {\n if (this.lastAdData) {\n return this.lastAdData.renditionBitrate;\n }\n }\n\n registerListeners() {\n // Shortcut events\n let e = google.ima.AdEvent.Type;\n let AD_ERROR = google.ima.AdErrorEvent.Type.AD_ERROR;\n\n //store ad data\n this.lastAdData = null;\n // debug\n nrvideo.Log.debugCommonVideoEvents(this.player.ima.addEventListener, [\n null,\n e.ALL_ADS_COMPLETED,\n e.LINEAR_CHANGED,\n e.COMPLETE,\n e.USER_CLOSE,\n e.IMPRESSION,\n e.CONTENT_PAUSE_REQUESTED,\n e.CONTENT_RESUME_REQUESTED,\n e.SKIPPED,\n e.SKIPPABLE_STATE_CHANGED,\n e.LOADED,\n e.PAUSED,\n e.RESUMED,\n e.STARTED,\n e.AD_CAN_PLAY,\n e.AD_METADATA,\n e.EXPANDED_CHANGED,\n e.AD_BREAK_READY,\n e.LOG,\n e.CLICK,\n e.FIRST_QUARTILE,\n e.MIDPOINT,\n e.THIRD_QUARTILE,\n AD_ERROR,\n ]);\n\n // Register listeners\n this.player.ima.addEventListener(e.LOADED, this.onLoaded.bind(this));\n this.player.ima.addEventListener(e.STARTED, this.onStart.bind(this));\n this.player.ima.addEventListener(e.PAUSED, this.onPaused.bind(this));\n this.player.ima.addEventListener(e.RESUMED, this.onResumed.bind(this));\n this.player.ima.addEventListener(e.COMPLETE, this.onComplete.bind(this));\n this.player.ima.addEventListener(e.SKIPPED, this.onSkipped.bind(this));\n this.player.ima.addEventListener(e.CLICK, this.onClick.bind(this));\n this.player.ima.addEventListener(\n e.FIRST_QUARTILE,\n this.onFirstQuartile.bind(this)\n );\n this.player.ima.addEventListener(e.MIDPOINT, this.onMidpoint.bind(this));\n this.player.ima.addEventListener(\n e.THIRD_QUARTILE,\n this.onThirdQuartile.bind(this)\n );\n this.player.ima.addEventListener(AD_ERROR, this.onError.bind(this));\n }\n\n unregisterListeners() {\n // Shortcut events\n let e = google.ima.AdEvent.Type;\n let AD_ERROR = google.ima.AdErrorEvent.Type.AD_ERROR;\n\n // unregister listeners\n this.player.ima.removeEventListener(e.LOADED, this.onLoaded);\n this.player.ima.removeEventListener(e.STARTED, this.onLoaded.bind(this));\n this.player.ima.removeEventListener(e.IMPRESSION, this.onImpression);\n this.player.ima.removeEventListener(e.PAUSED, this.onPaused);\n this.player.ima.removeEventListener(e.RESUMED, this.onResumed);\n this.player.ima.removeEventListener(e.COMPLETE, this.onComplete);\n this.player.ima.removeEventListener(e.SKIPPED, this.onSkipped);\n this.player.ima.removeEventListener(e.CLICK, this.onClick);\n this.player.ima.removeEventListener(e.FIRST_QUARTILE, this.onFirstQuartile);\n this.player.ima.removeEventListener(e.MIDPOINT, this.onMidpoint);\n this.player.ima.removeEventListener(e.THIRD_QUARTILE, this.onThirdQuartile);\n this.player.ima.removeEventListener(AD_ERROR, this.onError);\n //clear ad data\n this.lastAdData = null;\n }\n\n onLoaded(e) {\n this.lastAdData = this.getAdData();\n this.sendRequest();\n }\n\n onStart(e) {\n this.lastAdData = this.getAdData();\n this._lastAdWebkitBitrate = 0;\n this.sendStart();\n }\n\n onComplete(e) {\n this.sendEnd();\n this.lastAdData = null; // Clear the data\n }\n\n onSkipped(e) {\n this.sendEnd({ skipped: true });\n this.lastAdData = null; // Clear the data\n }\n\n onError(e) {\n const adError = e.getError();\n\n const errorCode = adError.getErrorCode();\n const errorMessage = adError.getMessage();\n this.sendError({ adError, errorCode, errorMessage });\n }\n\n onClick(e) {\n this.sendAdClick();\n }\n\n onFirstQuartile() {\n this.sendAdQuartile({ adQuartile: 1 });\n }\n\n onMidpoint() {\n this.sendAdQuartile({ adQuartile: 2 });\n }\n\n onThirdQuartile() {\n this.sendAdQuartile({ adQuartile: 3 });\n }\n\n onPaused() {\n this.sendPause();\n }\n\n onResumed() {\n this.sendResume();\n }\n\n getAdData() {\n try {\n const adsManager = this.player.ima.getAdsManager();\n if (adsManager) {\n const currentAd = adsManager.getCurrentAd();\n if (currentAd) {\n return {\n adId: currentAd.getAdId(),\n creativeId: currentAd.getCreativeId(),\n duration: currentAd.getDuration(),\n mediaUrl: currentAd.getMediaUrl(),\n title: currentAd.getTitle(),\n podInfo: currentAd.getAdPodInfo()?.data,\n renditionBitrate: currentAd.getVastMediaBitrate(),\n // Add other properties as needed\n };\n }\n }\n return null;\n } catch (err) {\n return null;\n }\n }\n\n getAdVideoElement() {\n if (this.player.ima && this.player.ima.controller && this.player.ima.controller.adUi) {\n const adContainerDiv = this.player.ima.controller.adUi.adContainerDiv;\n if (adContainerDiv) {\n const adVideoElement = adContainerDiv.querySelector('video');\n if (adVideoElement) {\n return adVideoElement;\n }\n }\n }\n }\n}\n","import nrvideo from '@newrelic/video-core'\nimport pkg from '../../package.json'\nimport ContribHlsTech from '../techs/contrib-hls';\nimport HlsJsTech from '../techs/hls-js';\nimport ShakaTech from '../techs/shaka';\n\nexport default class VideojsAdsTracker extends nrvideo.VideoTracker {\n\n getTech() {\n const tech = this.player.tech({ IWillNotUseThisInPlugins: true });\n \n if (tech) {\n if (ContribHlsTech.isUsing(tech)) {\n return new ContribHlsTech(tech);\n } else if (HlsJsTech.isUsing(tech)) {\n return new HlsJsTech(tech);\n } else if (ShakaTech.isUsing(tech)) {\n return new ShakaTech(tech);\n }\n }\n }\n \n getTrackerName () {\n return 'videojs-ads'\n }\n\n getTrackerVersion () {\n return pkg.version\n }\n\n isMuted () {\n return this.player.muted()\n }\n\n getRenditionHeight () {\n return null\n }\n\n getRenditionWidth () {\n return null\n }\n\n getPlayerName () {\n return 'videojs-ads'\n }\n\n getPlayerVersion () {\n return this.player.ads.VERSION\n }\n\n registerListeners () {\n nrvideo.Log.debugCommonVideoEvents(this.player, [\n null,\n 'ads-request',\n 'ads-load',\n 'adstart',\n 'adend',\n 'adskip',\n 'adserror',\n 'ads-click',\n 'ads-pod-started',\n 'ads-pod-ended',\n 'ads-first-quartile',\n 'ads-midpoint',\n 'ads-third-quartile',\n 'ads-pause',\n 'ads-play',\n 'adtimeout'\n ])\n\n // Register listeners\n this.player.on('ads-request', this.onAdrequest.bind(this))\n this.player.on('ads-load', this.onAdload.bind(this))\n this.player.on('adstart', this.onAdstart.bind(this))\n this.player.on('adend', this.onAdend.bind(this))\n this.player.on('adskip', this.onAdskip.bind(this))\n this.player.on('adserror', this.onAdserror.bind(this))\n this.player.on('ads-click', this.onAdsClick.bind(this))\n this.player.on('ads-pod-started', this.onPodStart.bind(this))\n this.player.on('ads-pod-ended', this.onPodEnd.bind(this))\n this.player.on('ads-first-quartile', this.onFirstQuartile.bind(this))\n this.player.on('ads-midpoint', this.onMidpoint.bind(this))\n this.player.on('ads-third-quartile', this.onThirdQuartile.bind(this))\n this.player.on('ads-pause', this.onAdspause.bind(this))\n this.player.on('ads-play', this.onAdsplay.bind(this))\n }\n\n unregisterListeners () {\n // unregister listeners\n this.player.off('ads-request', this.onAdrequest)\n this.player.off('ads-load', this.onAdload)\n this.player.off('adstart', this.onAdstart)\n this.player.off('adend', this.onAdend)\n this.player.off('adskip', this.onAdskip)\n this.player.off('adserror', this.onAdserror)\n this.player.off('ads-click', this.onAdsClick)\n this.player.off('ads-pod-started', this.onPodStart)\n this.player.off('ads-pod-ended', this.onPodEnd)\n this.player.off('ads-first-quartile', this.onFirstQuartile)\n this.player.off('ads-midpoint', this.onMidpoint)\n this.player.off('ads-third-quartile', this.onThirdQuartile)\n this.player.off('ads-pause', this.onAdspause)\n this.player.off('ads-play', this.onAdsplay)\n }\n\n onAdrequest (e) {\n this.sendRequest()\n this.sendDownload({ state: 'ads-request' })\n }\n\n onAdload (e) {\n this.sendDownload({ state: 'ads-load' })\n }\n\n onAdstart (e) {\n this.sendRequest()\n this.sendStart()\n }\n\n onAdend (e) {\n this.sendEnd()\n }\n\n onAdskip (e) {\n this.sendEnd({ skipped: true })\n }\n\n onAdserror (e) {\n this.sendError()\n }\n\n onAdsClick (e) {\n this.sendAdClick({ url: 'unknown' })\n }\n\n onPodStart (e) {\n this.sendAdBreakStart()\n }\n\n onPodEnd (e) {\n this.sendAdBreakEnd()\n }\n\n onFirstQuartile () {\n this.sendAdQuartile({ quartile: 1 })\n }\n\n onMidpoint () {\n this.sendAdQuartile({ quartile: 2 })\n }\n\n onThirdQuartile () {\n this.sendAdQuartile({ quartile: 3 })\n }\n\n onAdspause () {\n this.sendPause()\n }\n\n onAdsplay () {\n this.sendResume()\n }\n}\n","export default class ContribHlsTech {\n constructor (tech) {\n this.tech = tech.vhs\n this.player = tech.el().player // Store player reference for playback bitrate calculation\n }\n\n getRenditionName () {\n try {\n var media = this.tech.playlists.media()\n if (media && media.attributes) return media.attributes.NAME\n } catch (err) { }\n return null\n }\n\n getRenditionBitrate () {\n try {\n var media = this.tech.playlists.media()\n if (media && media.attributes) return media.attributes.BANDWIDTH\n } catch (err) { }\n return null\n }\n\n getRenditionWidth () {\n try {\n var media = this.tech.playlists.media()\n if (media && media.attributes && media.attributes.RESOLUTION) {\n return media.attributes.RESOLUTION.width\n }\n } catch (err) { }\n return null\n }\n\n getRenditionHeight () {\n try {\n var media = this.tech.playlists.media()\n if (media && media.attributes && media.attributes.RESOLUTION) {\n return media.attributes.RESOLUTION.height\n }\n } catch (err) { }\n return null\n }\n\n getBitrate () {\n // Calculate playback bitrate (actual content consumption rate)\n return this.getContentBitratePlayback()\n }\n\n getContentBitratePlayback () {\n try {\n // VHS provides stats for calculating actual playback bitrate\n if (this.tech.stats && this.player) {\n const stats = this.tech.stats\n\n // Calculate actual playback bitrate based on content consumption\n if (stats.mediaBytesTransferred > 0 && stats.mediaRequests > 0) {\n const currentTime = this.player.currentTime() // in seconds\n const playbackRate = this.player.playbackRate() || 1\n\n // Adjust playback time by playback rate\n const effectivePlaybackTime = currentTime / playbackRate\n\n if (effectivePlaybackTime > 0) {\n const bitsTransferred = stats.mediaBytesTransferred * 8\n return bitsTransferred / effectivePlaybackTime\n }\n }\n }\n\n // Fallback to VHS bandwidth estimates if stats not available\n if (this.tech.bandwidth !== undefined && this.tech.bandwidth > 0) {\n return this.tech.bandwidth\n }\n if (this.tech.systemBandwidth !== undefined && this.tech.systemBandwidth > 0) {\n return this.tech.systemBandwidth\n }\n } catch (err) { }\n return null\n }\n}\n\nContribHlsTech.isUsing = function (tech) {\n return !!tech.vhs\n}\n","export default class HlsJs {\n constructor(tech) {\n this.tech = tech.vhs_;\n this.player = tech.el().player; // Store player reference for currentTime\n }\n\n getResource(tech) {\n return this.tech.url;\n }\n\n getRenditionName(tech) {\n try {\n var level = this.tech.levels[this.tech.currentLevel];\n if (level && level.name) return level.name;\n } catch (err) {}\n return null;\n }\n\n getRenditionBitrate(tech) {\n try {\n var level = this.tech.levels[this.tech.currentLevel];\n if (level && level.bitrate) return level.bitrate;\n } catch (err) {}\n return null;\n }\n\n getRenditionWidth(tech) {\n try {\n var level = this.tech.levels[this.tech.currentLevel];\n if (level && level.width) return level.width;\n } catch (err) {}\n return null;\n }\n\n getRenditionHeight(tech) {\n try {\n var level = this.tech.levels[this.tech.currentLevel];\n if (level && level.height) return level.height;\n } catch (err) {}\n return null;\n }\n\n getBitrate() {\n // Default uses playback bitrate (Method 4)\n return this.getContentBitratePlayback();\n }\n\n getContentBitratePlayback() {\n try {\n if (this.tech.stats && this.player) {\n const stats = this.tech.stats;\n // Calculate actual playback bitrate based on content consumption\n if (stats.mediaBytesTransferred > 0 && stats.mediaRequests > 0) {\n const currentTime = this.player.currentTime(); // in seconds\n const playbackRate = this.player.playbackRate() || 1;\n const effectivePlaybackTime = currentTime / playbackRate;\n\n if (effectivePlaybackTime > 0) {\n const bitsTransferred = stats.mediaBytesTransferred * 8;\n return bitsTransferred / effectivePlaybackTime;\n }\n }\n }\n } catch (err) {}\n return null;\n }\n}\n\nHlsJs.isUsing = function (tech) {\n return !!tech.vhs_;\n};\n","export default class ShakaTech {\n constructor(tech) {\n this.tech = tech.shakaPlayer;\n this.player = tech.el().player; // Store player reference for playback bitrate calculation\n }\n\n getSrc(tech) {\n try {\n return this.tech.getManifestUri();\n } catch (err) {}\n return null;\n }\n\n getRenditionBitrate(tech) {\n try {\n return this.tech.getStats().streamBandwidth;\n } catch (err) {}\n return null;\n }\n\n getRenditionWidth(tech) {\n try {\n var tracks = this.tech.getVariantTracks();\n for (var i in tracks) {\n var track = tracks[i];\n if (track.active && track.type === 'video') {\n return track.width;\n }\n }\n } catch (err) {}\n return null;\n }\n\n getRenditionHeight(tech) {\n try {\n var tracks = this.tech.getVariantTracks();\n for (var i in tracks) {\n var track = tracks[i];\n if (track.active && track.type === 'video') {\n return track.height;\n }\n }\n } catch (err) {}\n return null;\n }\n\n getBitrate() {\n // Calculate playback bitrate (actual content consumption rate)\n return this.getContentBitratePlayback();\n }\n\n getContentBitratePlayback() {\n try {\n var stats = this.tech.getStats();\n if (stats) {\n // Shaka's estimatedBandwidth is the actual measured network bandwidth\n // This is the closest equivalent to playback bitrate calculation\n if (stats.estimatedBandwidth && stats.estimatedBandwidth > 0) {\n return stats.estimatedBandwidth;\n }\n\n // Fallback to streamBandwidth (bitrate of current variant from manifest)\n if (stats.streamBandwidth && stats.streamBandwidth > 0) {\n return stats.streamBandwidth;\n }\n }\n } catch (err) {}\n return null;\n }\n}\n\nShakaTech.isUsing = function (tech) {\n return !!tech.shakaPlayer;\n};\n","import nrvideo from '@newrelic/video-core';\nimport pkg from '../package.json';\nimport ContribHlsTech from './techs/contrib-hls';\nimport HlsJsTech from './techs/hls-js';\nimport ShakaTech from './techs/shaka';\nimport VideojsAdsTracker from './ads/videojs-ads';\nimport ImaAdsTracker from './ads/ima';\nimport BrightcoveImaAdsTracker from './ads/brightcove-ima';\nimport FreewheelAdsTracker from './ads/freewheel';\nimport DaiAdsTracker from './ads/dai';\n\nexport default class VideojsTracker extends nrvideo.VideoTracker {\n constructor(player, options) {\n super(player, options);\n this.isContentEnd = false;\n this.imaAdCuePoints = '';\n this.daiInitialized = false;\n nrvideo.Core.addTracker(this, options);\n }\n\n getTech() {\n let tech = this.player.tech({ IWillNotUseThisInPlugins: true });\n\n if (tech) {\n if (ContribHlsTech.isUsing(tech)) {\n return new ContribHlsTech(tech);\n } else if (HlsJsTech.isUsing(tech)) {\n return new HlsJsTech(tech);\n } else if (ShakaTech.isUsing(tech)) {\n return new ShakaTech(tech);\n }\n }\n }\n\n getTrackerName() {\n return 'videojs';\n }\n\n getInstrumentationProvider() {\n return 'New Relic';\n }\n\n getInstrumentationName() {\n return this.getPlayerName();\n }\n\n getInstrumentationVersion() {\n return this.getPlayerVersion();\n }\n\n getTrackerVersion() {\n return pkg.version;\n }\n\n getPlayhead() {\n if (\n this.player.ads &&\n this.player.ads.state === 'ads-playback' &&\n this.player.ads.snapshot &&\n this.player.ads.snapshot.currentTime\n ) {\n return this.player.ads.snapshot.currentTime * 1000;\n } else if (this.player.absoluteTime) {\n return this.player.absoluteTime() * 1000;\n } else {\n return this.player.currentTime() * 1000;\n }\n }\n\n getDuration() {\n if (\n this.player.mediainfo &&\n typeof this.player.mediainfo.duration !== 'undefined'\n ) {\n return this.player.mediainfo.duration * 1000; // Brightcove\n } else {\n return this.player.duration() * 1000;\n }\n }\n\n getTitle() {\n return this.player?.mediainfo?.name; // Brightcove\n }\n\n getId() {\n return this.player?.mediainfo?.id; // Brightcove\n }\n\n getLanguage() {\n return this.player?.language();\n }\n\n getSrc() {\n let tech = this.getTech();\n if (tech && tech.getSrc) {\n return tech.getSrc();\n } else {\n return this.player.currentSrc();\n }\n }\n\n getPlayerName() {\n return this.player?.name() || 'videojs';\n }\n\n getPlayerVersion() {\n return this.player?.version || videojs.VERSION;\n }\n\n isMuted() {\n return this.player.muted();\n }\n\n getBitrate() {\n return this.getContentBitratePlayback();\n }\n\n // Measures: Actual content consumption rate during playback\n getContentBitratePlayback() {\n const tech = this.player.tech({ IWillNotUseThisInPlugins: true });\n\n // VHS/HLS support - calculate actual playback bitrate\n if (tech?.vhs?.stats) {\n const stats = tech.vhs.stats;\n\n // Calculate actual playback bitrate based on content consumption\n // This represents the bitrate at which content is being played back\n if (stats.mediaBytesTransferred > 0 && stats.mediaRequests > 0) {\n // Get total playback time (accounting for playback rate)\n const currentTime = this.player.currentTime(); // in seconds\n const playbackRate = this.player.playbackRate() || 1;\n\n // Adjust playback time by playback rate\n // If playing at 2x speed, you consume 2x the bitrate\n const effectivePlaybackTime = currentTime / playbackRate;\n\n if (effectivePlaybackTime > 0) {\n const bitsTransferred = stats.mediaBytesTransferred * 8;\n const playbackBitrate = bitsTransferred / effectivePlaybackTime;\n return playbackBitrate;\n }\n }\n }\n\n // Support for other tech implementations using the same formula\n const techWrapper = this.getTech();\n if (techWrapper?.getBitrate) {\n return techWrapper.getBitrate();\n }\n\n return null;\n }\n\n getRenditionName() {\n let tech = this.getTech();\n if (tech && tech.getRenditionName) {\n return tech.getRenditionName();\n }\n }\n\n getRenditionBitrate() {\n // Returns the target bitrate from the manifest (static, changes only on rendition switch)\n // This is different from getBitrate() which returns the actual measured bitrate\n let tech = this.getTech();\n\n if (tech && tech.getRenditionBitrate) {\n return tech.getRenditionBitrate();\n }\n }\n\n getRenditionHeight() {\n let tech = this.getTech();\n\n if (tech && tech.getRenditionHeight) {\n return tech.getRenditionHeight();\n }\n return this.player.videoHeight();\n }\n\n getRenditionWidth() {\n let tech = this.getTech();\n if (tech && tech.getRenditionWidth) {\n return tech.getRenditionWidth();\n }\n return this.player.videoWidth();\n }\n\n getPlayrate() {\n return this.player.playbackRate();\n }\n\n isAutoplayed() {\n return this.player.autoplay();\n }\n\n isFullscreen() {\n return this.player.isFullscreen();\n }\n\n getPreload() {\n return this.player.preload();\n }\n\n registerListeners() {\n nrvideo.Log.debugCommonVideoEvents(this.player, [\n 'adstart',\n 'adend',\n 'adskip',\n 'adsready',\n 'adserror',\n 'dispose',\n ]);\n\n // BIND LISTENER METHODS\n this.onDownload = this.onDownload.bind(this);\n this.onAdsready = this.onAdsready.bind(this);\n this.onAdStart = this.onAdStart.bind(this);\n this.onAdEnd = this.onAdEnd.bind(this);\n this.onPlay = this.onPlay.bind(this);\n this.onPause = this.onPause.bind(this);\n this.onPlaying = this.onPlaying.bind(this);\n this.onAbort = this.onAbort.bind(this);\n this.onEnded = this.onEnded.bind(this);\n this.onDispose = this.onDispose.bind(this);\n this.onSeeking = this.onSeeking.bind(this);\n this.onSeeked = this.onSeeked.bind(this);\n this.onError = this.onError.bind(this);\n this.onWaiting = this.onWaiting.bind(this);\n this.onTimeupdate = this.onTimeupdate.bind(this);\n this.OnAdsAllpodsCompleted = this.OnAdsAllpodsCompleted.bind(this);\n this.onStreamManager = this.onStreamManager.bind(this);\n\n this.player.on('loadstart', this.onDownload);\n this.player.on('loadeddata', this.onDownload);\n this.player.on('loadedmetadata', this.onDownload);\n this.player.on('adsready', this.onAdsready);\n this.player.on('adstart', this.onAdStart);\n this.player.on('adend', this.onAdEnd);\n this.player.on('play', this.onPlay);\n this.player.on('pause', this.onPause);\n this.player.on('playing', this.onPlaying);\n this.player.on('abort', this.onAbort);\n this.player.on('ended', this.onEnded);\n this.player.on('dispose', this.onDispose);\n this.player.on('seeking', this.onSeeking);\n this.player.on('seeked', this.onSeeked);\n this.player.on('error', this.onError);\n this.player.on('waiting', this.onWaiting);\n this.player.on('timeupdate', this.onTimeupdate);\n this.player.on('ads-allpods-completed', this.OnAdsAllpodsCompleted);\n\n this.player.on('stream-manager', this.onStreamManager);\n }\n\n unregisterListeners() {\n this.player.off('loadstart', this.onDownload);\n this.player.off('loadeddata', this.onDownload);\n this.player.off('loadedmetadata', this.onDownload);\n this.player.off('adsready', this.onAdsready);\n this.player.off('adstart', this.onAdStart);\n this.player.off('adend', this.onAdEnd);\n this.player.off('play', this.onPlay);\n this.player.off('pause', this.onPause);\n this.player.off('playing', this.onPlaying);\n this.player.off('abort', this.onAbort);\n this.player.off('ended', this.onEnded);\n this.player.off('dispose', this.onDispose);\n this.player.off('seeking', this.onSeeking);\n this.player.off('seeked', this.onSeeked);\n this.player.off('error', this.onError);\n this.player.off('waiting', this.onWaiting);\n this.player.off('timeupdate', this.onTimeupdate);\n this.player.off('ads-allpods-completed', this.OnAdsAllpodsCompleted);\n\n this.player.off('stream-manager', this.onStreamManager);\n }\n\n onDownload(e) {\n this.sendDownload({ state: e.type });\n }\n\n // DAI methods\n onStreamManager(event) {\n if (!this.adsTracker && event.StreamManager) {\n const daiTracker = new DaiAdsTracker(this.player);\n daiTracker.setStreamManager(event.StreamManager);\n this.setAdsTracker(daiTracker);\n }\n }\n // DAI methods end\n\n onAdsready() {\n if (!this.adsTracker) {\n if (BrightcoveImaAdsTracker.isUsing(this.player)) {\n // BC IMA\n this.setAdsTracker(new BrightcoveImaAdsTracker(this.player));\n } else if (ImaAdsTracker.isUsing(this.player)) {\n // IMA\n this.setAdsTracker(new ImaAdsTracker(this.player));\n } else if (FreewheelAdsTracker.isUsing(this.player)) {\n // FW\n\n this.setAdsTracker(new FreewheelAdsTracker(this.player));\n // } else if (OnceAdsTracker.isUsing(this)) { // Once\n } else {\n // Generic\n this.setAdsTracker(new VideojsAdsTracker(this.player));\n }\n }\n }\n\n onAdStart() {\n this.currentAdPlaying = true;\n\n /* get the array with all the cue points which will be played */\n if (!this.imaAdCuePoints) {\n this.imaAdCuePoints = this.player?.ima?.getAdsManager().getCuePoints();\n }\n }\n onAdEnd() {\n if (this.isContentEnd) {\n this.sendEnd();\n }\n }\n\n OnAdsAllpodsCompleted() {\n this.onEnded.bind(this);\n this.FreewheelAdsCompleted = true;\n }\n\n onPlay() {\n this.sendRequest();\n }\n\n onPause() {\n this.sendPause();\n }\n\n onPlaying() {\n this.sendResume();\n this.sendBufferEnd();\n }\n\n onAbort() {\n this.sendEnd();\n }\n\n onEnded() {\n if (this.adsTracker) {\n this.isContentEnd = true;\n if (this.imaAdCuePoints && !this.imaAdCuePoints.includes(-1)) {\n this.sendEnd();\n }\n } else {\n this.sendEnd();\n }\n }\n\n onDispose() {\n this.sendEnd();\n }\n\n onSeeking() {\n this.sendSeekStart();\n }\n\n onSeeked() {\n this.sendSeekEnd();\n }\n\n onError() {\n const error = this.player.error();\n\n const errorCode = error.code;\n const errorMessage = error.message;\n if (this.player.error && this.player.error()) {\n this.sendError({ errorCode, errorMessage });\n }\n }\n\n onWaiting(e) {\n this.sendBufferStart();\n }\n\n onTimeupdate(e) {\n if (this.getPlayhead() > 0.1) {\n this.sendStart();\n }\n }\n}\n\n// Static members\nexport {\n HlsJsTech,\n ContribHlsTech,\n ShakaTech,\n VideojsAdsTracker,\n ImaAdsTracker,\n BrightcoveImaAdsTracker,\n FreewheelAdsTracker,\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import VideojsTracker from './tracker';\nexport default VideojsTracker;"],"names":["e","t","i","Object","defineProperty","value","default","OptimizedHttpClient","s","r","a","__esModule","n","send","url","payload","options","Error","callback","this","executeRequest","error","message","retry","status","Date","now","JSON","stringify","body","isFinalHarvest","navigator","sendBeacon","sendWithBeacon","success","handleRequestComplete","fetchWithTimeout","method","headers","keepalive","d","ok","statusText","shouldRetry","warn","AbortController","setTimeout","abort","fetch","signal","clearTimeout","name","AdPositions","PRE","MID","POST","COLLECTOR","US","EU","Staging","GOV","VALID_EVENT_TYPES","MAX_PAYLOAD_SIZE","MAX_BEACON_SIZE","MAX_EVENTS_PER_BATCH","INTERVAL","Levels","ERROR","WARNING","notice","slice","call","arguments","NOTICE","debug","DEBUG","debugCommonVideoEvents","level","type","shift","concat","length","window","on","addEventListener","addEventHandler","o","prefix","includeTime","getDate","getMinutes","getSeconds","getMilliseconds","SILENT","colorful","document","documentMode","console","cast","log","splice","apply","Array","ALL","location","search","exec","l","u","constructor","super","customData","heartbeat","parentTracker","_trackerReadyChrono","start","_actionTable","ACTION_TABLE","_actionAdTable","ACTION_AD_TABLE","setOptions","dispose","unregisterListeners","registerListeners","getHeartbeat","state","_isAd","startHeartbeat","_heartbeatInterval","setInterval","sendHeartbeat","bind","Math","max","stopHeartbeat","clearInterval","sendVideoAction","Events","HEARTBEAT","getAttributes","trackerName","getTrackerName","trackerVersion","getTrackerVersion","coreVersion","version","timeSinceTrackerReady","getDeltaTime","hidden","isBackgroundEvent","emit","sendVideoAdAction","sendVideoErrorAction","isAd","sendVideoCustomAction","setHarvestInterval","videoAnalyticsHarvester","reset","_createdAt","_hb","_acc","_bufferAcc","_viewSession","_viewCount","numberOfErrors","numberOfAds","numberOfVideos","totalPlaytime","totalAdPlaytime","isAdBreak","initialBufferingHappened","resetFlags","resetChronos","isPlayerReady","isRequested","isStarted","isPaused","isSeeking","isBuffering","isPlaying","timeSinceRequested","timeSinceStarted","timeSincePaused","timeSinceSeekBegin","timeSinceBufferBegin","timeSinceAdBreakStart","timeSinceLastDownload","timeSinceLastHeartbeat","timeSinceLastRenditionChange","timeSinceLastAdQuartile","timeSinceLastAd","timeSinceResumed","timeSinceSeekEnd","playtimeSinceLastEvent","customTimeSinceAttributes","elapsedTime","bufferElapsedTime","setIsAd","setTimeSinceAttribute","removeTimeSinceAttribute","getViewSession","getTime","random","toString","substring","getViewId","getStateAttributes","timeSinceAdRequested","timeSinceLastAdHeartbeat","timeSinceAdStarted","timeSinceAdPaused","timeSinceAdBufferBegin","timeSinceAdSeekBegin","timeSinceAdBreakBegin","startTime","entries","calculateBufferType","goViewCountUp","goPlayerReady","goRequest","goStart","goEnd","stop","goPause","goResume","goBufferStart","goBufferEnd","goSeekStart","goSeekEnd","goAdBreakStart","goAdBreakEnd","goDownload","goHeartbeat","goRenditionChange","goAdQuartile","goError","isError","goLastAd","exports","parse","buildUrl","NRVIDEO","info","beacon","licenseKey","applicationID","href","compressPayload","Blob","stream","CompressionStream","pipeThrough","Response","blob","dataSize","ArrayBuffer","byteLength","size","FormData","decompressPayload","async","Uint8Array","DecompressionStream","text","WeakSet","has","add","HarvestScheduler","eventBuffer","retryQueueHandler","RetryQueueHandler","httpClient","fallBackUrl","retryCount","NrVideoEventAggregator","setSmartHarvestCallback","triggerSmartHarvest","currentTimerId","harvestCycle","isHarvesting","setupPageLifecycleHandlers","startScheduler","eventBufferSize","scheduleNextHarvest","stopScheduler","threshold","isEmpty","triggerHarvest","onHarvestInterval","getQueueSize","reason","drainEvents","trimEventsToFit","sendChunk","totalChunks","results","handleHarvestFailure","consecutiveFailures","ins","unshift","originalCount","trimmedCount","finalSize","maxSize","addFailedEvents","drain","getRetryEventsToFit","isLastChunk","Promise","handleRequestFailure","chunk","eventCount","region","updateHarvestInterval","isNaN","force","addTracker","setVideoConfig","push","trackerInit","removeTracker","off","indexOf","getTrackers","actionName","recordEvent","sendError","forceHarvest","data","eventType","retryQueue","maxQueueSize","maxQueueSizeBytes","isArray","queueSizeBefore","evictOldestEvent","discardEvent","clear","buffer","maxPayloadSize","maxEventsPerBatch","currentPayloadSize","totalEvents","smartHarvestPayloadThreshold","floor","overflowPayloadThreshold","smartHarvestEventThreshold","overflowEventThreshold","onSmartHarvestTrigger","makeRoom","checkSmartHarvestTrigger","round","includes","appName","timestamp","timeSinceLoad","performance","addEvent","stopTime","offset","clone","isInitialized","harvestScheduler","initialize","_listeners","forEach","target","setConfiguration","videoConfiguration","initializeGlobalConfig","validateRequiredFields","values","flatMap","keys","join","adsTracker","_lastBufferType","_userId","setPlayer","tag","setUserId","setAdsTracker","prototype","player","getElementById","disposeAdsTracker","getVideoId","getTitle","isLive","getBitrate","getWebkitBitrate","webkitVideoDecodedByteCount","_lastWebkitBitrate","getRenditionName","getRenditionBitrate","getRenditionShift","_lastAdRendition","_lastRendition","getRenditionHeight","videoHeight","getRenditionWidth","videoWidth","getDuration","duration","getPlayhead","currentTime","getLanguage","getSrc","currentSrc","getPlayrate","playbackRate","isMuted","muted","isFullscreen","getCdn","getPlayerName","getPlayerVersion","getFps","isAutoplayed","autoplay","getPreload","preload","getAdQuartile","getAdPosition","getAdPartner","getAdCreativeId","getInstrumentationProvider","getInstrumentationName","getInstrumentationVersion","viewSession","viewId","playerName","playerVersion","src","pageUrl","adId","adTitle","adSrc","adCdn","adBitrate","adRenditionName","adRenditionBitrate","adRenditionHeight","adRenditionWidth","adDuration","adPlayhead","adLanguage","adIsMuted","adFps","adPosition","adCreativeId","adPartner","contentId","contentTitle","contentSrc","contentCdn","contentPlayhead","contentIsLive","contentBitrate","contentRenditionName","contentRenditionBitrate","contentRenditionHeight","contentRenditionWidth","contentDuration","contentLanguage","contentPlayrate","contentIsFullscreen","contentIsMuted","contentIsAutoplayed","contentPreload","contentFps","sendCustom","sendPlayerReady","PLAYER_READY","sendRequest","AD_REQUEST","CONTENT_REQUEST","sendStart","AD_START","CONTENT_START","sendEnd","AD_END","CONTENT_END","sendPause","AD_PAUSE","CONTENT_PAUSE","sendResume","AD_RESUME","CONTENT_RESUME","sendBufferStart","AD_BUFFER_START","CONTENT_BUFFER_START","buildBufferAttributes","bufferType","sendBufferEnd","AD_BUFFER_END","CONTENT_BUFFER_END","isInitialBuffering","sendSeekStart","AD_SEEK_START","CONTENT_SEEK_START","sendSeekEnd","AD_SEEK_END","CONTENT_SEEK_END","sendDownload","DOWNLOAD","AD_ERROR","CONTENT_ERROR","sendRenditionChanged","AD_RENDITION_CHANGE","CONTENT_RENDITION_CHANGE","adjustElapsedTimeForPause","AD_HEARTBEAT","CONTENT_HEARTBEAT","sendAdBreakStart","AD_BREAK_START","sendAdBreakEnd","AD_BREAK_END","sendAdQuartile","quartile","AD_QUARTILE","sendAdClick","AD_CLICK","A","v","h","c","f","g","m","E","Constants","Chrono","Log","Emitter","Tracker","VideoTracker","VideoTrackerState","Core","B","_videoCore","_interopRequireDefault","require","_videojsAds","BrightcoveImaAdsTracker","VideojsAdsTracker","isUsing","ima3","adPlayer","nrvideo","onStarted","onPaused","onResume","onComplete","onSkipped","onError","onClick","skipped","sendClick","daiEvents","DAI_STREAM_INITIALIZED","DAI_STREAM_LOADED","DAI_STREAM_ERROR","DAI_AD_BREAK_STARTED","DAI_AD_BREAK_ENDED","DAI_AD_PERIOD_STARTED","DAI_AD_PERIOD_ENDED","DAI_AD_STARTED","DAI_AD_FIRST_QUARTILE","DAI_AD_MIDPOINT","DAI_AD_THIRD_QUARTILE","DAI_AD_COMPLETE","DAI_AD_SKIPPED","DAI_AD_PAUSED","DAI_AD_RESUMED","DAI_AD_CLICKED","DAI_AD_ERROR","DAI_CUEPOINTS_CHANGED","DAI_TIMED_METADATA","DaiAdsTracker","imaDai","dai","VERSION","ima","streamManager","currentAdData","adBreakData","streamData","cuePoints","initialized","eventHandlers","setStreamManager","setupStreamManagerListeners","google","api","StreamEvent","Type","LOADED","onStreamLoaded","STREAM_INITIALIZED","onStreamInitialized","onStreamError","AD_BREAK_STARTED","onAdBreakStarted","AD_BREAK_ENDED","onAdBreakEnded","AD_PERIOD_STARTED","onAdPeriodStarted","AD_PERIOD_ENDED","onAdPeriodEnded","STARTED","onAdStarted","FIRST_QUARTILE","onAdFirstQuartile","MIDPOINT","onAdMidpoint","THIRD_QUARTILE","onAdThirdQuartile","COMPLETE","onAdComplete","SKIPPED","onAdSkipped","PAUSED","onAdPaused","RESUMED","onAdResumed","CLICK","onAdClicked","VIDEO_CLICKED","CUEPOINTS_CHANGED","onCuePointsChanged","TIMED_METADATA","onTimedMetadata","handler","removeEventListener","event","extractStreamData","errorData","extractErrorData","extractAdBreakData","extractAdData","getClickThroughUrl","extractCuePoints","metadata","extractTimedMetadata","getStreamData","streamId","adTagParameters","streamType","getStreamType","getAdBreak","adBreakId","id","adBreakTitle","title","adCount","ads","position","ad","getAd","getAdId","creativeId","getCreativeId","description","getDescription","advertiserName","getAdvertiserName","clickThroughUrl","dealId","getDealId","wrapperAdIds","getWrapperAdIds","getError","errorCode","getErrorCode","errorMessage","getMessage","innerError","getInnerError","getCuepoints","getType","getData","getAdCuePoints","undefined","getStreamTime","Infinity","isLiveStream","getCurrentAdBreak","getCurrentAd","tech","getTech","stats","bandwidth","FreewheelAdsTracker","FreeWheelPlugin","tv","freewheel","provider","adInstance","getActiveCreativeRendition","getId","err","getPrimaryCreativeRenditionAsset","getUrl","getName","ImaAdsTracker","getCuePoints","getAdsManager","lastAdData","podInfo","podIndex","mediaUrl","manager","getRemainingTime","adVideoElement","getAdVideoElement","bitrate","_lastAdWebkitBitrate","delta","seconds","renditionBitrate","AdEvent","AdErrorEvent","ALL_ADS_COMPLETED","LINEAR_CHANGED","USER_CLOSE","IMPRESSION","CONTENT_PAUSE_REQUESTED","CONTENT_RESUME_REQUESTED","SKIPPABLE_STATE_CHANGED","AD_CAN_PLAY","AD_METADATA","EXPANDED_CHANGED","AD_BREAK_READY","LOG","onLoaded","onStart","onResumed","onFirstQuartile","onMidpoint","onThirdQuartile","onImpression","getAdData","adError","adQuartile","adsManager","currentAd","getMediaUrl","getAdPodInfo","getVastMediaBitrate","controller","adUi","adContainerDiv","querySelector","_package","_contribHls","_hlsJs","_shaka","IWillNotUseThisInPlugins","ContribHlsTech","HlsJsTech","ShakaTech","pkg","onAdrequest","onAdload","onAdstart","onAdend","onAdskip","onAdserror","onAdsClick","onPodStart","onPodEnd","onAdspause","onAdsplay","vhs","el","media","playlists","attributes","NAME","BANDWIDTH","RESOLUTION","width","height","getContentBitratePlayback","mediaBytesTransferred","mediaRequests","effectivePlaybackTime","systemBandwidth","HlsJs","vhs_","getResource","levels","currentLevel","shakaPlayer","getManifestUri","getStats","streamBandwidth","tracks","getVariantTracks","track","active","estimatedBandwidth","_ima","_brightcoveIma","_freewheel","_dai","VideojsTracker","isContentEnd","imaAdCuePoints","daiInitialized","snapshot","absoluteTime","mediainfo","language","videojs","techWrapper","onDownload","onAdsready","onAdStart","onAdEnd","onPlay","onPause","onPlaying","onAbort","onEnded","onDispose","onSeeking","onSeeked","onWaiting","onTimeupdate","OnAdsAllpodsCompleted","onStreamManager","StreamManager","daiTracker","currentAdPlaying","FreewheelAdsCompleted","code","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","__webpack_modules__","definition","key","enumerable","get","obj","prop","hasOwnProperty","Symbol","toStringTag","_tracker"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@newrelic/video-videojs/./node_modules/@newrelic/video-core/dist/esm/index.js","webpack://@newrelic/video-videojs/./src/ads/brightcove-ima.js","webpack://@newrelic/video-videojs/./src/ads/dai.js","webpack://@newrelic/video-videojs/./src/ads/freewheel.js","webpack://@newrelic/video-videojs/./src/ads/ima.js","webpack://@newrelic/video-videojs/./src/ads/videojs-ads.js","webpack://@newrelic/video-videojs/./src/techs/contrib-hls.js","webpack://@newrelic/video-videojs/./src/techs/hls-js.js","webpack://@newrelic/video-videojs/./src/techs/shaka.js","webpack://@newrelic/video-videojs/./src/tracker.js","webpack://@newrelic/video-videojs/webpack/bootstrap","webpack://@newrelic/video-videojs/webpack/runtime/define property getters","webpack://@newrelic/video-videojs/webpack/runtime/hasOwnProperty shorthand","webpack://@newrelic/video-videojs/webpack/runtime/make namespace object","webpack://@newrelic/video-videojs/./src/index.js"],"sourcesContent":["/*! For license information please see index.js.LICENSE.txt */\nvar t={487(t,e,i){i.r(e),i.d(e,{videoAnalyticsHarvester:()=>h});var s=i(374),r=i(431),a=i(51),n=i(144),o=i(302);const h=new class{constructor(){this.isInitialized=!1,this.harvestScheduler=null,this.eventBuffer=null}initialize(){if(this.isInitialized)n.A.warn(\"Video analytics agent already initialized\");else try{this.eventBuffer=new r.t,this.harvestScheduler=new s.n(this.eventBuffer),this.harvestScheduler.startScheduler(),this.isInitialized=!0,n.A.notice(\"Video analytics agent initialized successfully\")}catch(t){n.A.error(\"Failed to initialize video analytics agent:\",t.message)}}addEvent(t){this.isInitialized||(n.A.warn(\"Video analytics agent not initialized, initializing now\"),this.initialize());try{return t.actionName&&t.actionName===o.A.Events.QOE_AGGREGATE?t.viewId?this.eventBuffer.addOrReplaceByActionNameAndViewId(o.A.Events.QOE_AGGREGATE,t.viewId,t):this.eventBuffer.addOrReplaceByActionName(o.A.Events.QOE_AGGREGATE,t):this.eventBuffer.add(t)}catch(t){return n.A.error(\"Failed to add event to harvesting system:\",t.message),!1}}setHarvestInterval(t){this.isInitialized||this.initialize(),this.harvestScheduler.updateHarvestInterval(t)}forceNextQoeCycle(){this.harvestScheduler&&(this.harvestScheduler.forceNextQoeCycle=!0)}setBeforeDrainCallback(t){this.harvestScheduler&&(this.harvestScheduler.beforeDrainCallback=t)}refreshQoeKpis(t,e){if(!this.eventBuffer||!t)return;const i=e?this.eventBuffer.findByActionNameAndViewId(o.A.Events.QOE_AGGREGATE,e):this.eventBuffer.findByActionName(o.A.Events.QOE_AGGREGATE);if(i){const s={...i};for(const e of a.A.QOE_KPI_KEYS)e in t&&(s[e]=t[e]);e?this.eventBuffer.addOrReplaceByActionNameAndViewId(o.A.Events.QOE_AGGREGATE,e,s):this.eventBuffer.addOrReplaceByActionName(o.A.Events.QOE_AGGREGATE,s)}}}},455(t,e,i){i.d(e,{A:()=>r});class s{constructor(){this.reset()}reset(){this.startTime=0,this.stopTime=0,this.accumulator=0,this.offset=0}getDeltaTime(){return this.startTime?this.offset+((new Date).getTime()-this.startTime):null}start(){this.startTime=(new Date).getTime(),this.stopTime=0}stop(){return this.stopTime=(new Date).getTime(),this.startTime<this.stopTime&&(this.accumulator+=this.stopTime-this.startTime),this.getDeltaTime()}getDuration(){return this.stopTime?this.accumulator+this.offset:this.accumulator+(this.getDeltaTime()??0)}clone(){var t=new s;return t.startTime=this.startTime,t.stopTime=this.stopTime,t.offset=this.offset,t.accumulator=this.accumulator,t}}const r=s},51(t,e,i){i.d(e,{A:()=>r});class s{}s.AdPositions={PRE:\"pre\",MID:\"mid\",POST:\"post\"},s.COLLECTOR={US:[\"bam.nr-data.net\",\"bam-cell.nr-data.net\"],EU:\"bam.eu01.nr-data.net\",Staging:\"staging-bam-cell.nr-data.net\",GOV:\"gov-bam.nr-data.net\"},s.VALID_EVENT_TYPES=[\"VideoAction\",\"VideoAdAction\",\"VideoErrorAction\",\"VideoCustomAction\"],s.MAX_PAYLOAD_SIZE=1048576,s.MAX_BEACON_SIZE=61440,s.MAX_EVENTS_PER_BATCH=1e3,s.INTERVAL=1e4,s.QOE_KPI_KEYS=[\"startupTime\",\"peakBitrate\",\"averageBitrate\",\"totalPlaytime\",\"totalRebufferingTime\",\"rebufferingRatio\",\"hadStartupError\",\"hadPlaybackError\",\"numberOfErrors\"],s.QOE_AGGREGATE_KEYS=[\"coreVersion\",\"instrumentation.name\",\"instrumentation.provider\",\"instrumentation.version\",\"isBackgroundEvent\",\"playerName\",\"playerVersion\",\"src\",\"viewId\",\"viewSession\",\"contentIsAutoplayed\",\"contentIsMuted\",\"contentRenditionHeight\",\"contentRenditionWidth\",\"contentSrc\",\"numberOfVideos\",\"pageUrl\",\"trackerName\",\"trackerVersion\",\"contentDuration\",\"contentPlayrate\",\"contentPlayhead\",\"contentPreload\",\"elapsedTime\",\"contentTitle\",\"contentId\",\"contentIsLive\",\"deviceType\",\"deviceGroup\",\"deviceManufacturer\",\"deviceModel\",\"deviceName\",\"deviceSize\",\"deviceUuid\",\"contentRenditionName\",\"contentIsFullscreen\",\"contentCdn\",\"contentFps\",\"asnOrganization\",\"asnLongitude\",\"asnLatitude\",\"asn\",\"timeSinceRequested\",\"timeSinceStarted\"];const r=s},568(t,e,i){i.d(e,{A:()=>s});const s=class{on(t,e){if(this._listeners=this._listeners||{},\"function\"==typeof e)return this._listeners[t]=this._listeners[t]||[],this._listeners[t].push(e),this}off(t,e){if(this._listeners=this._listeners||{},this._listeners[t]){var i=this._listeners[t].indexOf(e);-1!==i&&this._listeners[t].splice(i,1)}return this}emit(t,e,i){return this._listeners=this._listeners||{},i=i||{},Array.isArray(this._listeners[e])&&this._listeners[e].forEach(s=>{s.call(this,{eventType:t,type:e,data:i,target:this})}),Array.isArray(this._listeners[\"*\"])&&this._listeners[\"*\"].forEach(s=>{s.call(this,{eventType:t,type:e,data:i,target:this})}),this}}},431(t,e,i){i.d(e,{t:()=>h});var s=i(144),r=i(51),a=i(347);const{MAX_PAYLOAD_SIZE:n,MAX_EVENTS_PER_BATCH:o}=r.A;class h{constructor(){this.buffer=[],this.maxPayloadSize=n,this.maxEventsPerBatch=o,this.currentPayloadSize=0,this.totalEvents=0,this.smartHarvestPayloadThreshold=Math.floor(.6*this.maxPayloadSize),this.overflowPayloadThreshold=Math.floor(.9*this.maxPayloadSize),this.smartHarvestEventThreshold=Math.floor(.6*this.maxEventsPerBatch),this.overflowEventThreshold=Math.floor(.9*this.maxEventsPerBatch),this.onSmartHarvestTrigger=null}addOrReplaceByActionName(t,e){const i=this.buffer.findIndex(e=>e.actionName===t);try{return-1===i?this.add(e):this.add(e,i),!0}catch(t){return s.A.error(\"Failed to set or replace the event to buffer:\",t.message),!1}}addOrReplaceByActionNameAndViewId(t,e,i){const r=this.buffer.findIndex(i=>i.actionName===t&&i.viewId===e);try{return-1===r?this.add(i):this.add(i,r),!0}catch(t){return s.A.error(\"Failed to set or replace the event to buffer:\",t.message),!1}}findByActionNameAndViewId(t,e){return this.buffer.find(i=>i.actionName===t&&i.viewId===e)||null}findByActionName(t){return this.buffer.find(e=>e.actionName===t)||null}add(t,e){try{const i=(0,a.Q3)(t),s=this.currentPayloadSize+i>=this.maxPayloadSize,r=this.totalEvents+1>=this.maxEventsPerBatch;if((s||r)&&this.makeRoom(i),null!=e&&e>-1){const s=(0,a.Q3)(this.buffer[e]);this.buffer[e]=t,this.currentPayloadSize+=i-s}else this.buffer.push(t),this.totalEvents++,this.currentPayloadSize+=i;return this.checkSmartHarvestTrigger(),!0}catch(t){return s.A.error(\"Failed to add event to buffer:\",t.message),!1}}checkSmartHarvestTrigger(){const t=this.currentPayloadSize/this.maxPayloadSize,e=this.totalEvents/this.maxEventsPerBatch,i=this.currentPayloadSize>=this.overflowPayloadThreshold,r=this.totalEvents>=this.overflowEventThreshold;if(i||r){const r=i?`payload ${this.currentPayloadSize}/${this.maxPayloadSize} bytes (${Math.round(100*t)}%)`:`events ${this.totalEvents}/${this.maxEventsPerBatch} (${Math.round(100*e)}%)`;s.A.warn(`OVERFLOW PREVENTION: ${r} - Emergency harvest triggered`),this.onSmartHarvestTrigger&&\"function\"==typeof this.onSmartHarvestTrigger&&this.onSmartHarvestTrigger(\"overflow\",90)}else{const t=this.currentPayloadSize>=this.smartHarvestPayloadThreshold,e=this.totalEvents>=this.smartHarvestEventThreshold;(t||e)&&this.onSmartHarvestTrigger&&\"function\"==typeof this.onSmartHarvestTrigger&&this.onSmartHarvestTrigger(\"smart\",60)}}setSmartHarvestCallback(t){this.onSmartHarvestTrigger=t}drain(){try{const t=this.buffer.splice(0);return this.totalEvents=0,this.currentPayloadSize=0,t}catch(t){return s.A.error(\"Failed to drain events from buffer:\",t.message),[]}}isEmpty(){return 0===this.totalEvents}size(){return this.totalEvents}clear(){this.buffer=[],this.totalEvents=0}makeRoom(t){if(t>this.maxPayloadSize)s.A.error(\"Event dropped: Event size exceeds maximum payload size.\");else for(;(this.totalEvents>=this.maxEventsPerBatch||this.currentPayloadSize+t>=this.maxPayloadSize)&&this.buffer.length>0;){const t=this.buffer.shift(),e=(0,a.Q3)(t);this.totalEvents--,this.currentPayloadSize-=e,s.A.warn(\"Event buffer full, oldest event removed.\")}}}},374(t,e,i){i.d(e,{n:()=>l});var s=i(431),r=i(413),a=i(481),n=i(347),o=i(51),h=i(302),d=i(144);class l{constructor(t){this.eventBuffer=t,this.retryQueueHandler=new r.u,this.httpClient=new a.X,this.fallBackUrl=\"\",this.retryCount=0,this.eventBuffer instanceof s.t&&this.eventBuffer.setSmartHarvestCallback((t,e)=>this.triggerSmartHarvest(t,e)),this.isStarted=!1,this.currentTimerId=null,this.harvestCycle=o.A.INTERVAL,this.isHarvesting=!1,this.qoeCycleCount=1,this.forceNextQoeCycle=!1,this.beforeDrainCallback=null,this._lastSentQoeKpis={},this.setupPageLifecycleHandlers()}startScheduler(){this.isStarted?d.A.warn(\"Harvest scheduler is already started\"):(this.isStarted=!0,d.A.notice(\"Starting harvest scheduler\",{harvestCycle:this.harvestCycle,eventBufferSize:this.eventBuffer?this.eventBuffer.size():0}),this.scheduleNextHarvest())}stopScheduler(){this.isStarted&&(this.isStarted=!1,this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null),d.A.notice(\"Harvest scheduler stopped\"))}async triggerSmartHarvest(t,e){if(d.A.notice(`${t} harvest triggered at ${e}% threshold`,{type:t,threshold:e}),this.eventBuffer&&!this.eventBuffer.isEmpty()){this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null);try{await this.triggerHarvest({})}catch(e){d.A.error(`${t} harvest failed:`,e.message)}finally{this.isStarted&&this.scheduleNextHarvest()}}}scheduleNextHarvest(){if(!this.isStarted)return;const t=this.harvestCycle;this.currentTimerId=setTimeout(()=>this.onHarvestInterval(),t)}async onHarvestInterval(){try{const t=this.eventBuffer&&!this.eventBuffer.isEmpty(),e=this.retryQueueHandler&&this.retryQueueHandler.getQueueSize()>0;if(!t&&!e)return;await this.triggerHarvest({})}catch(t){d.A.error(\"Error during scheduled harvest:\",t.message)}finally{this.scheduleNextHarvest()}}async triggerHarvest(t={}){if(this.isHarvesting)return{success:!1,reason:\"harvest_in_progress\"};this.isHarvesting=!0;try{let e=this.drainEvents(t);if(t.isFinalHarvest){const t=o.A.MAX_BEACON_SIZE;(0,n.Q3)(e)>t&&(e=this.trimEventsToFit(e,t))}const i=await this.sendChunk(e,t,!0);return{success:i.success,totalChunks:1,results:[i]}}catch(t){return d.A.error(\"Harvest cycle failed:\",t.message),this.handleHarvestFailure(t),{success:!1,error:t.message,consecutiveFailures:this.consecutiveFailures}}finally{this.isHarvesting=!1}}trimEventsToFit(t,e){if(0===t.length)return t;const i=[];let s=0;for(let r=t.length-1;r>=0;r--){const a=t[r],o=(0,n.Q3)({ins:[a,...i]});o>e||(i.unshift(a),s=o)}const r=t.length-i.length;if(r>0){const a=t.slice(0,r);d.A.warn(`Discarded ${r} events to fit beacon size limit`,{originalCount:t.length,trimmedCount:i.length,finalSize:s,maxSize:e}),this.retryQueueHandler&&this.retryQueueHandler.addFailedEvents(a)}return i}drainEvents(t={}){const e=window.NRVIDEO?.config?.qoeIntervalFactor??1,i=!!t.isFinalHarvest||this.forceNextQoeCycle,s=(this.qoeCycleCount-1)%e==0||i;if(this.forceNextQoeCycle&&(this.forceNextQoeCycle=!1),this.beforeDrainCallback&&\"function\"==typeof this.beforeDrainCallback)try{this.beforeDrainCallback()}catch(t){d.A.error(\"Before drain callback failed:\",t.message)}const r=this.eventBuffer.drain();let a;if(s)a=r;else{a=[];for(const t of r)t.actionName===h.A.Events.QOE_AGGREGATE?this.eventBuffer.add(t):a.push(t)}this.qoeCycleCount++;for(let t=a.length-1;t>=0;t--){const e=a[t];e.actionName===h.A.Events.QOE_AGGREGATE&&(!i&&this._qoeKpisUnchanged(e)?a.splice(t,1):this._saveQoeKpis(e))}let l=[...a],c=(0,n.Q3)(a);if(this.retryQueueHandler&&this.retryQueueHandler.getQueueSize()>0){const t=o.A.MAX_PAYLOAD_SIZE-c,e=o.A.MAX_EVENTS_PER_BATCH-l.length;if(t>0&&e>0){const i=this.retryQueueHandler.getRetryEventsToFit(t,e);i.length>0&&(l=[...i,...l])}}return l}async sendChunk(t,e,i){const s={url:(0,n.c$)(this.fallBackUrl),payload:{body:{ins:t}},options:{...e,isLastChunk:i}};return new Promise(e=>{this.httpClient.send(s,i=>{i.retry?this.handleRequestFailure(t):(this.retryCount=0,this.fallBackUrl=\"\"),e({success:!i.retry,status:i.status,error:i.error,chunk:t,eventCount:t.length})})})}handleRequestFailure(t){this.retryQueueHandler.addFailedEvents(t),\"US\"===window.NRVIDEO?.info?.region&&(this.retryCount++,this.retryCount>5?(this.retryCount=0,this.fallBackUrl=\"\"):this.retryCount>=2&&(this.fallBackUrl=o.A.COLLECTOR.US[1]))}handleHarvestFailure(t){this.consecutiveFailures++,d.A.warn(\"Harvest failure handled\",{error:t.message,consecutiveFailures:this.consecutiveFailures})}updateHarvestInterval(t){\"number\"!=typeof t&&isNaN(t)?d.A.warn(\"Invalid newInterval provided to updateHarvestInterval\"):t<1e3||t>3e5?d.A.warn(\"newInterval out of bounds (1000-300000), ignoring\"):this.harvestCycle!==t&&(this.harvestCycle=t,d.A.notice(\"Updated harvestCycle:\",this.harvestCycle),this.currentTimerId&&(clearTimeout(this.currentTimerId),this.currentTimerId=null),this.isStarted&&this.scheduleNextHarvest())}setupPageLifecycleHandlers(){let t=!1;const e=()=>{t||(t=!0,this.triggerHarvest({isFinalHarvest:!0,force:!0}))};document.addEventListener(\"visibilitychange\",()=>{document.hidden&&e()}),window.addEventListener(\"pagehide\",()=>{e()}),window.addEventListener(\"beforeunload\",()=>{e()})}_qoeKpisUnchanged(t){const e=this._lastSentQoeKpis[t.viewId];if(!e)return!1;for(const i of o.A.QOE_KPI_KEYS)if(t[i]!==e[i])return!1;return!0}_saveQoeKpis(t){const e={};for(const i of o.A.QOE_KPI_KEYS)e[i]=t[i];this._lastSentQoeKpis[t.viewId]=e}}},144(t,e,i){i.d(e,{A:()=>o});class s{static error(...t){r(t,s.Levels.ERROR,\"darkred\")}static warn(...t){r(t,s.Levels.WARNING,\"darkorange\")}static notice(...t){r([].slice.call(arguments),s.Levels.NOTICE,\"darkcyan\")}static debug(...t){r(t,s.Levels.DEBUG,\"indigo\")}static debugCommonVideoEvents(t,e,i){try{if(s.level<=s.Levels.DEBUG){i=i||function(t){s.debug(\"Event: \"+t.type)};var r=[\"canplay\",\"buffering\",\"waiting\",\"ended\",\"play\",\"playing\",\"pause\",\"resume\",\"error\",\"abort\",\"seek\",\"seeking\",\"seeked\",\"stalled\",\"dispose\",\"loadeddata\",\"loadstart\",\"loadedmetadata\"];e&&(null===e[0]?(e.shift(),r=e):r=r.concat(e));for(var a=0;a<r.length;a++)\"function\"==typeof t?t.call(window,r[a],i):t.on?t.on(r[a],i):t.addEventListener?t.addEventListener(r[a],i):t.addEventHandler?t.addEventHandler(r[a],i):s.warn(\"debugCommonVideoEvents: No common listener function found for \",t)}}catch(t){s.warn(t)}}}function r(t,e,i){e=e||s.Levels.NOTICE,i=i||\"darkcyan\";var r,o,h=s.prefix;s.includeTime&&(h+=\"[\"+(\"0\"+(r=new Date).getDate()).slice(-2)+\":\"+(\"0\"+r.getMinutes()).slice(-2)+\":\"+(\"0\"+r.getSeconds()).slice(-2)+\".\"+(\"00\"+r.getMilliseconds()).slice(-3)+\"] \"),h+=function(t){return n[t]}(e)+\":\",s.level<=e&&e!==s.Levels.SILENT&&(!s.colorful||\"undefined\"!=typeof document&&document.documentMode?a(t,h):(o=e===s.Levels.ERROR&&console.error?console.error:e===s.Levels.WARNING&&console.warn?console.warn:e===s.Levels.DEBUG&&console.debug&&null==window.cast?console.debug:console.log,h=\"%c\"+h,t.splice(0,0,h,\"color: \"+i),o.apply(console,t)))}function a(t,e){if(t instanceof Array)for(var i in t)a(t[i],e);else\"string\"==typeof t?console.log(e+\" \"+t):(console.log(e+\"↵\"),console.log(t))}s.Levels={SILENT:5,ERROR:4,WARNING:3,NOTICE:2,DEBUG:1,ALL:0},s.level=s.Levels.ERROR,s.colorful=!0,s.includeTime=!0,s.prefix=\"[nrvideo]\";const n={4:\"e\",3:\"w\",2:\"n\",1:\"d\"};!function(){if(\"undefined\"!=typeof window&&window.location&&window.location.search){var t=/\\?.*&*nrvideo-debug=(.+)/i.exec(window.location.search);null!==t&&(\"true\"===t[1]?s.level=s.Levels.ALL:s.level=t[1]),null!==/\\?.*&*nrvideo-colors=false/i.exec(window.location.search)&&(s.colorful=!1)}}();const o=s},481(t,e,i){i.d(e,{X:()=>a});var s=i(347),r=i(144);class a{async send(t,e){const{url:i,payload:s,options:a={}}=t;try{if(!i||!s)throw new Error(\"URL and payload are required\");const t={url:i,payload:s,options:a,callback:e};await this.executeRequest(t)}catch(t){r.A.error(\"Failed to send request:\",t.message),e({retry:!1,status:0,error:t.message})}}async executeRequest(t){const{url:e,payload:i,options:s,callback:a}=t,n=Date.now();try{const a=(o=JSON.stringify(i.body),h=window.NRVIDEO?.config?.obfuscate,h&&0!==h.length?h.reduce((t,e)=>{let i;try{if(e.regex instanceof RegExp){const t=e.regex.flags.includes(\"g\")?e.regex.flags:e.regex.flags+\"g\";i=new RegExp(e.regex.source,t)}else i=new RegExp(e.regex,\"g\")}catch(i){return r.A.warn(\"applyObfuscationRules: invalid regex, skipping rule:\",e.regex,i.message),t}return t.replace(i,e.replacement)},o):o);if(s.isFinalHarvest&&navigator.sendBeacon){const i=await this.sendWithBeacon(e,a),s={success:i,status:i?204:0};return void this.handleRequestComplete(t,s,n)}const d=await this.fetchWithTimeout(e,{method:\"POST\",body:a,headers:{\"Content-Type\":\"application/json\"},keepalive:s.isFinalHarvest},1e4),l={success:d.ok,status:d.status,statusText:d.statusText};this.handleRequestComplete(t,l,n)}catch(e){const i={success:!1,status:0,error:e.message};this.handleRequestComplete(t,i,n)}var o,h}handleRequestComplete(t,e){const{callback:i}=t;i({retry:!e.success&&(0===e.status||(0,s.Sc)(e.status)),status:e.status,error:e.error})}async sendWithBeacon(t,e){try{return navigator.sendBeacon(t,e)}catch(t){return r.A.warn(\"sendBeacon failed, falling back to fetch:\",t.message),!1}}async fetchWithTimeout(t,e,i){const s=new AbortController,r=setTimeout(()=>s.abort(),i);try{const i=await fetch(t,{...e,signal:s.signal});return clearTimeout(r),i}catch(t){if(clearTimeout(r),\"AbortError\"===t.name)throw new Error(`Request timeout after ${i}ms`);throw t}}}},413(t,e,i){i.d(e,{u:()=>h});var s=i(144),r=i(347),a=i(51);const{MAX_PAYLOAD_SIZE:n,MAX_EVENTS_PER_BATCH:o}=a.A;class h{constructor(){this.retryQueue=[],this.maxQueueSize=o,this.maxQueueSizeBytes=n}addFailedEvents(t){try{const e=Array.isArray(t)?t:[t];s.A.notice(`Adding ${e.length} failed events to retry queue`,{queueSizeBefore:this.retryQueue.length});for(const t of e){this.retryQueue.length>=this.maxQueueSize&&this.evictOldestEvent();const e=(0,r.Q3)(t);for(;(0,r.Q3)(this.retryQueue)+e>this.maxQueueSizeBytes;)this.evictOldestEvent();this.retryQueue.push({...t})}}catch(t){s.A.error(\"Failed to add events to retry queue:\",t.message)}}discardEvent(t,e){s.A.warn(\"Discarded event\",{reason:e,eventType:t.eventType})}evictOldestEvent(){if(this.retryQueue.length>0){const t=this.retryQueue.shift();this.discardEvent(t,\"Queue full - evicted oldest\")}}getRetryEventsToFit(t,e){const i=[];let s=0,a=0;for(let n=this.retryQueue.length-1;n>=0;n--){const o=this.retryQueue[n];if(a>=e)break;const h=(0,r.Q3)(o);if(s+h>t)break;i.unshift(o),s+=h,a++,this.retryQueue.splice(n,1)}return i}getQueueSize(){return this.retryQueue.length}clear(){this.retryQueue=[]}}},302(t,e,i){i.d(e,{A:()=>l});var s=i(330),r=i(568),a=i(455),n=i(51),o=i(487),h=i(144);class d extends r.A{constructor(t){super(),this.customData={},this.heartbeat=null,this.parentTracker=null,this._trackerReadyChrono=new a.A,this._trackerReadyChrono.start(),this._actionTable=n.A.ACTION_TABLE,this._actionAdTable=n.A.ACTION_AD_TABLE,t=t||{},this.setOptions(t)}setOptions(t){t&&(t.parentTracker&&(this.parentTracker=t.parentTracker),t.customData&&(this.customData=t.customData),t.heartbeat&&(this.heartbeat=t.heartbeat))}dispose(){this.unregisterListeners()}registerListeners(){}unregisterListeners(){}getHeartbeat(){return this.state._isAd?2e3:this.heartbeat?this.heartbeat:this.parentTracker&&this.parentTracker.heartbeat?this.parentTracker.heartbeat:3e4}startHeartbeat(){this._heartbeatInterval=setInterval(this.sendHeartbeat.bind(this),Math.max(this.getHeartbeat(),2e3))}stopHeartbeat(){this._heartbeatInterval&&clearInterval(this._heartbeatInterval)}sendHeartbeat(t){this.sendVideoAction(d.Events.HEARTBEAT,t)}getAttributes(t,e){(t=t||{}).trackerName=this.getTrackerName(),t.trackerVersion=this.getTrackerVersion(),t.coreVersion=s.rE,t.timeSinceTrackerReady=this._trackerReadyChrono.getDeltaTime();for(let e in this.customData)t[e]=this.customData[e];return null!=document.hidden&&(t.isBackgroundEvent=document.hidden),t}getTrackerVersion(){return s.rE}getTrackerName(){return\"base-tracker\"}sendVideoAction(t,e){this.emit(\"VideoAction\",t,this.getAttributes(e))}sendVideoAdAction(t,e){this.emit(\"VideoAdAction\",t,this.getAttributes(e))}sendVideoErrorAction(t,e){let i=this.isAd()?\"adError\":\"videoError\";this.emit(\"VideoErrorAction\",t,this.getAttributes(e,i))}sendVideoCustomAction(t,e){this.emit(\"VideoCustomAction\",t,this.getAttributes(e,\"customAction\"))}setHarvestInterval(t){if(o.videoAnalyticsHarvester)try{o.videoAnalyticsHarvester.setHarvestInterval(t)}catch(t){return void h.A.error(\"Failed to set harvest interval:\",t.message)}else h.A.error(\"VideoAnalyticsHarvester is not available\")}}d.Events={HEARTBEAT:\"HEARTBEAT\",QOE_AGGREGATE:\"QOE_AGGREGATE\"};const l=d},347(t,e,i){i.d(e,{Q3:()=>n,Sc:()=>o,c$:()=>a,z8:()=>h});var s=i(330),r=i(144);function a(t){try{if(!window.NRVIDEO||!window.NRVIDEO.info)throw new Error(\"NRVIDEO info is not available.\");let{beacon:e,licenseKey:i,applicationID:r}=window.NRVIDEO.info;if(!e||!i)throw new Error(\"Options object provided by New Relic is not correctly initialized\");return r?`https://${t||e}/ins/1/${i}?a=${r}&v=${s.rE}&ref=${window.location.href}&ca=VA`:`https://${t||e}/ins/1/${i}?&v=${s.rE}&ref=${window.location.href}&ca=VA`}catch(t){return console.error(t.message),null}}function n(t){if(\"string\"==typeof t&&t.length)return t.length;if(\"object\"==typeof t){if(\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if(\"undefined\"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!(\"undefined\"!=typeof FormData&&t instanceof FormData))try{return function(t){try{return JSON.stringify(t,(()=>{const t=new WeakSet;return(e,i)=>{if(\"object\"==typeof i&&null!==i){if(t.has(i))return;t.add(i)}return i}})())??\"\"}catch(t){return r.A.error(\"Error stringifying value:\",t.message),\"\"}}(t).length}catch(t){return}}}function o(t){switch(t){case 408:case 429:case 500:return!0;case 401:case 403:case 404:return!1}return t>=502&&t<=504||t>=512&&t<=530}function h(t,e){return t&&Array.isArray(t)&&0!==t.length?e&&\"object\"==typeof e?t.reduce((t,i)=>(i in e&&(t[i]=e[i]),t),{}):{}:e}},330(t){t.exports={rE:\"4.1.5\"}}},e={};function i(s){var r=e[s];if(void 0!==r)return r.exports;var a=e[s]={exports:{}};return t[s](a,a.exports,i),a.exports}i.d=(t,e)=>{for(var s in e)i.o(e,s)&&!i.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})};var s=i(144),r=i(487),a=i(51),n=i(302),o=i(347);function h(t,e={}){try{if(!a.A.VALID_EVENT_TYPES.includes(t))return s.A.warn(\"Invalid event type provided to recordEvent\",{eventType:t}),!1;if(!window?.NRVIDEO?.info)return;const{appName:i,applicationID:h}=window.NRVIDEO.info,{qoe:d,...l}=e,c=d?{...d}:{},u={...h?{}:{appName:i},timestamp:Date.now(),timeSinceLoad:window.performance?window.performance.now()/1e3:null},A={...l,eventType:t,...u},g=(0,o.z8)(a.A.QOE_AGGREGATE_KEYS,e);let m=null;\"VideoAction\"===t&&(m={eventType:\"VideoAction\",actionName:n.A.Events.QOE_AGGREGATE,qoeAggregateVersion:\"1.0.0\",...c,...g,...u});const f=r.videoAnalyticsHarvester.addEvent(A);if(m&&window?.NRVIDEO?.config?.qoeAggregate){const t=r.videoAnalyticsHarvester.addEvent(m);return f&&t}return f}catch(t){return s.A.error(\"Failed to record event:\",t.message),!1}}const{COLLECTOR:d}=a.A;const l=new class{setConfiguration(t,e){return!!this.validateRequiredFields(t)&&!!this.validateConfigFields(e)&&(this.initializeGlobalConfig(t,e),s.A.notice(\"Video analytics configuration initialized successfully\"),!0)}validateRequiredFields(t){if(!t||\"object\"!=typeof t)return s.A.error(\"Configuration must be an object\"),!1;const{licenseKey:e,appName:i,region:r,applicationID:a,beacon:n}=t;if(!e)return s.A.error(\"licenseKey is required\"),!1;if(a){if(!n)return s.A.error(\"beacon is required when applicationID is provided\"),!1;if(!Object.values(d).flatMap(t=>t).includes(n))return s.A.error(`Invalid beacon: ${n}`),!1}else{if(!i||!r)return s.A.error(\"appName and region are required when applicationID is not provided\"),!1;if(!d[r])return s.A.error(`Invalid region: ${r}. Valid regions are: ${Object.keys(d).join(\", \")}`),!1}return!0}validateConfigFields(t){if(null==t)return!0;if(\"object\"!=typeof t||Array.isArray(t))return s.A.error(\"config must be an object\"),!1;const{qoeAggregate:e,obfuscate:i}=t;return void 0!==e&&\"boolean\"!=typeof e?(s.A.error(\"qoeAggregate must be a boolean\"),!1):!(void 0!==i&&!Array.isArray(i)&&(s.A.error(\"obfuscate must be an array\"),1))}filterObfuscateRules(t){return t?t.filter(t=>{const e=void 0!==t.regex&&(\"string\"==typeof t.regex||t.regex instanceof RegExp),i=void 0!==t.replacement&&\"string\"==typeof t.replacement;return!(!e||!i)||(s.A.warn(\"obfuscate rule missing required 'regex' (string|RegExp) and/or 'replacement' (string), skipping:\",t),!1)}):[]}sanitizeQoeIntervalFactor(t){return null==t?1:\"number\"==typeof t&&Number.isInteger(t)&&t>=1?t:(console.warn(`[nrvideo] Invalid qoeIntervalFactor \"${t}\" — must be a positive integer. Defaulting to 1.`),1)}initializeGlobalConfig(t,e){let{licenseKey:i,appName:s,region:r,beacon:n,applicationID:o}=t;n=\"US\"===r?a.A.COLLECTOR.US[0]:n||d[r],window.NRVIDEO={info:{...r?{region:r}:{},beacon:n,licenseKey:i,applicationID:o,...o?{}:{appName:s}},config:{qoeAggregate:e?.qoeAggregate??!1,qoeIntervalFactor:this.sanitizeQoeIntervalFactor(e?.qoeIntervalFactor),obfuscate:this.filterObfuscateRules(e?.obfuscate)}}}};class c{static addTracker(t,e){var i,r;e?.info&&(i=e.info,r=e?.config,l.setConfiguration(i,r)),t.on&&t.emit?(u.push(t),t.on(\"*\",A),\"function\"==typeof t.trackerInit&&t.trackerInit()):s.A.error(\"Tried to load a non-tracker.\",t)}static removeTracker(t){t.off(\"*\",A),t.dispose();let e=u.indexOf(t);-1!==e&&u.splice(e,1)}static getTrackers(){return u}static send(t,e,i){return h(t,{actionName:e,...i})}static sendError(t){return h(\"VideoErrorAction\",{actionName:\"ERROR\",...t})}static async forceHarvest(){try{const{videoAnalyticsHarvester:t}=i(487);return await t.forceHarvest()}catch(t){return s.A.error(\"Failed to force harvest:\",t.message),{success:!1,error:t.message}}}}let u=[];function A(t){try{let e=function(t){let e={};for(let i in t)null!==t[i]&&void 0!==t[i]&&(e[i]=t[i]);return e}(t.data);s.A.level<=s.A.Levels.DEBUG?s.A.notice(\"Sent\",t.type,e):s.A.notice(\"Sent\",t.type),c.send(t.eventType,t.type,e)}catch(t){s.A.error(\"Error in event handler:\",t.message)}}const g=c;var m=i(455),f=i(568);const E=class{constructor(){this.reset(),this._createdAt=Date.now(),this._hb=!0,this._acc=0,this._bufferAcc=0}reset(){this._viewSession=null,this._viewCount=0,this._isAd=!1,this.numberOfErrors=0,this.numberOfAds=0,this.numberOfVideos=0,this.totalPlaytime=0,this.weightedAverageBitrate=0,this.totalAdPlaytime=0,this.isAdBreak=!1,this.initialBufferingHappened=!1,this.startupTime=null,this.peakBitrate=0,this._lastBitrate=null,this._lastBitrateChangeTimestamp=null,this.partialAverageBitrate=0,this._totalBitrateDuration=0,this.hadStartupError=!1,this.hadPlaybackError=!1,this.totalRebufferingTime=0,this.resetFlags(),this.resetChronos()}resetFlags(){this.isPlayerReady=!1,this.isRequested=!1,this.isStarted=!1,this.isPaused=!1,this.isSeeking=!1,this.isBuffering=!1,this.isPlaying=!1}resetChronos(){this.timeSinceRequested=new m.A,this.timeSinceStarted=new m.A,this.timeSincePaused=new m.A,this.timeSinceSeekBegin=new m.A,this.timeSinceBufferBegin=new m.A,this.timeSinceAdBreakStart=new m.A,this.timeSinceLastDownload=new m.A,this.timeSinceLastHeartbeat=new m.A,this.timeSinceLastRenditionChange=new m.A,this.timeSinceLastAdQuartile=new m.A,this.timeSinceLastAd=new m.A,this.timeSinceLastError=new m.A,this.timeSinceLastAdError=new m.A,this.timeSinceResumed=new m.A,this.timeSinceSeekEnd=new m.A,this.playtimeSinceLastEvent=new m.A,this.customTimeSinceAttributes={},this.elapsedTime=new m.A,this.bufferElapsedTime=new m.A,this._totalAdPlaytime=new m.A}isAd(){return this._isAd}setIsAd(t){this._isAd=t}setTimeSinceAttribute(t){this.customTimeSinceAttributes[t]=new m.A,this.customTimeSinceAttributes[t].start()}removeTimeSinceAttribute(t){delete this.customTimeSinceAttributes[t]}getViewSession(){if(!this._viewSession){let t=(new Date).getTime(),e=Math.random().toString(36).substring(2)+Math.random().toString(36).substring(2);this._viewSession=t+\"-\"+e}return this._viewSession}getViewId(){return this.getViewSession()+\"-\"+this._viewCount}getStateAttributes(t){t=t||{},this.isAd()?(this.isRequested&&(t.timeSinceAdRequested=this.timeSinceRequested.getDeltaTime(),t.timeSinceLastAdHeartbeat=this.timeSinceLastHeartbeat.getDeltaTime()),this.isStarted&&(t.timeSinceAdStarted=this.timeSinceStarted.getDeltaTime()),this.isPaused&&(t.timeSinceAdPaused=this.timeSincePaused.getDeltaTime()),this.isBuffering&&(t.timeSinceAdBufferBegin=this.timeSinceBufferBegin.getDeltaTime()),this.isSeeking&&(t.timeSinceAdSeekBegin=this.timeSinceSeekBegin.getDeltaTime()),this.isAdBreak&&(t.timeSinceAdBreakBegin=this.timeSinceAdBreakStart.getDeltaTime()),this.numberOfErrors>0&&this.timeSinceLastAdError.startTime>0&&(t.timeSinceLastAdError=this.timeSinceLastAdError.getDeltaTime()),t.numberOfAds=this.numberOfAds):(this.isRequested&&(t.timeSinceRequested=this.timeSinceRequested.getDeltaTime(),t.timeSinceLastHeartbeat=this.timeSinceLastHeartbeat.getDeltaTime()),this.isStarted&&(t.timeSinceStarted=this.timeSinceStarted.getDeltaTime()),this.isPaused&&(t.timeSincePaused=this.timeSincePaused.getDeltaTime()),this.isBuffering&&(t.timeSinceBufferBegin=this.timeSinceBufferBegin.getDeltaTime()),this.isSeeking&&(t.timeSinceSeekBegin=this.timeSinceSeekBegin.getDeltaTime()),t.timeSinceLastAd=this.timeSinceLastAd.getDeltaTime(),this.numberOfErrors>0&&this.timeSinceLastError.startTime>0&&(t.timeSinceLastError=this.timeSinceLastError.getDeltaTime()),t.numberOfVideos=this.numberOfVideos),t.numberOfErrors=this.numberOfErrors,this.isAd()||(this.playtimeSinceLastEvent.startTime>0?t.playtimeSinceLastEvent=this.playtimeSinceLastEvent.getDeltaTime():t.playtimeSinceLastEvent=0,this.isPlaying?this.playtimeSinceLastEvent.start():this.playtimeSinceLastEvent.reset(),this.totalPlaytime+=t.playtimeSinceLastEvent,t.totalPlaytime=this.totalPlaytime);for(const[e,i]of Object.entries(this.customTimeSinceAttributes))t[e]=i.getDeltaTime();return t}getQoeAttributes(t){t=t||{};const e={};try{null!==this.startupTime&&(e.startupTime=this.startupTime),this.peakBitrate>0&&(e.peakBitrate=this.peakBitrate),e.hadStartupError=this.hadStartupError,e.hadPlaybackError=this.hadPlaybackError,e.totalRebufferingTime=this.totalRebufferingTime,e.rebufferingRatio=this.totalPlaytime>0?this.totalRebufferingTime/this.totalPlaytime*100:0,e.totalPlaytime=this.totalPlaytime,e.averageBitrate=this.weightedBitrate,e.numberOfErrors=this.numberOfErrors}catch(t){s.A.error(\"Failed to add attributes for QOE KPIs\",t.message)}return t.qoe=e,t}calculateBufferType(t){let e=\"\";return e=t?\"initial\":this.isSeeking?\"seek\":this.isPaused?\"pause\":\"connection\",s.A.debug(\"Buffer Type = \"+e),e}goViewCountUp(){this._viewCount++}goPlayerReady(){return!this.isPlayerReady&&(this.isPlayerReady=!0,!0)}goRequest(){return!this.isRequested&&(this.isRequested=!0,this.timeSinceLastAd.reset(),this.timeSinceRequested.start(),!0)}goStart(){return!(!this.isRequested||this.isStarted||(this.isAd()?this.numberOfAds++:this.numberOfVideos++,this.isStarted=!0,this.isPlaying=!0,this.timeSinceStarted.start(),this.playtimeSinceLastEvent.start(),0))}goEnd(){return!!this.isRequested&&(this.numberOfErrors=0,this.resetFlags(),this.timeSinceRequested.stop(),this.timeSinceStarted.stop(),this.playtimeSinceLastEvent.stop(),this.isPlaying=!1,!0)}goPause(){return!(!this.isStarted||this.isPaused||(this.isPaused=!0,this.isPlaying=!1,this.timeSincePaused.start(),this.playtimeSinceLastEvent.stop(),this.timeSinceResumed.reset(),this.isBuffering&&(this._bufferAcc+=this.bufferElapsedTime.getDeltaTime()),this.elapsedTime.start(),0))}goResume(){return!(!this.isStarted||!this.isPaused||(this.isPaused=!1,this.isPlaying=!0,this.timeSincePaused.stop(),this.timeSinceResumed.start(),this._hb?(this._acc=this.elapsedTime.getDeltaTime(),this._hb=!1):(this.isBuffering&&this.bufferElapsedTime.start(),this._acc+=this.elapsedTime.getDeltaTime()),0))}goBufferStart(){return!(!this.isRequested||this.isBuffering||(this.isBuffering=!0,this.isPlaying=!1,this.timeSinceBufferBegin.start(),this.bufferElapsedTime.start(),0))}goBufferEnd(){return!(!this.isRequested||!this.isBuffering||(this.isBuffering=!1,this.isPlaying=!0,this.timeSinceBufferBegin.stop(),this._hb?(this._bufferAcc=this.bufferElapsedTime.getDeltaTime(),this._hb=!1):this._bufferAcc+=this.bufferElapsedTime.getDeltaTime(),!this.isAd()&&this.initialBufferingHappened&&(this.totalRebufferingTime+=this.timeSinceBufferBegin.stopTime-this.timeSinceBufferBegin.startTime),0))}goSeekStart(){return!(!this.isStarted||this.isSeeking||(this.isSeeking=!0,this.isPlaying=!1,this.timeSinceSeekBegin.start(),this.timeSinceSeekEnd.reset(),0))}goSeekEnd(){return!(!this.isStarted||!this.isSeeking||(this.isSeeking=!1,this.isPlaying=!0,this.timeSinceSeekBegin.stop(),this.timeSinceSeekEnd.start(),0))}goAdBreakStart(){return!this.isAdBreak&&(this.isAdBreak=!0,this.timeSinceAdBreakStart.start(),!0)}goAdBreakEnd(){return!!this.isAdBreak&&(this.isRequested=!1,this.isAdBreak=!1,this.totalAdPlaytime=this.timeSinceAdBreakStart.getDeltaTime(),this.timeSinceAdBreakStart.stop(),!0)}goDownload(){this.timeSinceLastDownload.start()}goHeartbeat(){this.timeSinceLastHeartbeat.start()}goRenditionChange(){this.timeSinceLastRenditionChange.start()}goAdQuartile(){this.timeSinceLastAdQuartile.start()}goError(){this.isError=!0,this.numberOfErrors++,this.isAd()?this.timeSinceLastAdError.start():(this.timeSinceLastError.start(),this.isStarted?this.hadPlaybackError=!0:this.hadStartupError=!0)}goLastAd(){this.timeSinceLastAd.start()}trackContentBitrateState(t){if(t&&\"number\"==typeof t){this.peakBitrate=Math.max(this.peakBitrate,t);const e=Date.now();if(!this.isPlaying){if(null!==this._lastBitrate&&null!==this._lastBitrateChangeTimestamp){const t=e-this._lastBitrateChangeTimestamp;t>0&&(this.partialAverageBitrate+=this._lastBitrate*t,this._totalBitrateDuration+=t),this._lastBitrateChangeTimestamp=null}return void(this._lastBitrate=t)}if(null===this._lastBitrateChangeTimestamp&&null!==this._lastBitrate&&(this._lastBitrateChangeTimestamp=e),null!==this._lastBitrate&&this._lastBitrate!==t&&null!==this._lastBitrateChangeTimestamp){const t=e-this._lastBitrateChangeTimestamp;t>0&&(this.partialAverageBitrate+=this._lastBitrate*t,this._totalBitrateDuration+=t),this._lastBitrateChangeTimestamp=e}null===this._lastBitrateChangeTimestamp&&(this._lastBitrateChangeTimestamp=e),this._lastBitrate=t;let i=this.partialAverageBitrate,s=this._totalBitrateDuration;const r=e-this._lastBitrateChangeTimestamp;r>0&&(i+=t*r,s+=r),this.weightedBitrate=s>0?Math.round(i/s):t}}resetViewIdTrackedState(){this.peakBitrate=0,this.partialAverageBitrate=0,this._totalBitrateDuration=0,this.startupTime=null,this._lastBitrate=null,this._lastBitrateChangeTimestamp=null}clearTotalAdsTime(){s.A.debug(\"clear total ads time\",this.totalAdTime),this._totalAdPlaytime.reset()}totalAdTime(){return this._totalAdPlaytime.getDuration()}startAdsTime(){return s.A.debug(\"startAdsTime\"),this._totalAdPlaytime.start()}stopAdsTime(){return s.A.debug(\"stopAdsTime\"),this._totalAdPlaytime.stop()}setStartupTime(t){null===this.startupTime&&(this.startupTime=Math.max(this.timeSinceRequested.getDeltaTime()-t,0))}};var T=i(330);class v extends n.A{constructor(t,e){super(),this.state=new E,this.adsTracker=null,this._lastBufferType=null,this._userId=null,e=e||{},this.setOptions(e),t&&this.setPlayer(t,e.tag),s.A.notice(\"Tracker \"+this.getTrackerName()+\" v\"+this.getTrackerVersion()+\" is ready.\")}setUserId(t){this._userId=t}setOptions(t){t&&(t.adsTracker&&this.setAdsTracker(t.adsTracker),\"boolean\"==typeof t.isAd&&this.setIsAd(t.isAd),n.A.prototype.setOptions.apply(this,arguments))}setPlayer(t,e){(this.player||this.tag)&&this.dispose(),\"undefined\"!=typeof document&&document.getElementById&&(\"string\"==typeof t&&(t=document.getElementById(t)),\"string\"==typeof e&&(e=document.getElementById(e))),e=e||t,this.player=t,this.tag=e,this.registerListeners()}isAd(){return this.state.isAd()}setIsAd(t){this.state.setIsAd(t)}setAdsTracker(t){this.disposeAdsTracker(),t&&(this.adsTracker=t,this.adsTracker.setIsAd(!0),this.adsTracker.parentTracker=this,this.adsTracker.on(\"*\",S.bind(this)))}disposeAdsTracker(){this.adsTracker&&(this.adsTracker.off(\"*\",S),this.adsTracker.dispose())}dispose(){this.stopHeartbeat(),this.disposeAdsTracker(),this.unregisterListeners(),this.player=null,this.tag=null}registerListeners(){}unregisterListeners(){}getViewId(){return this.parentTracker?this.parentTracker.getViewId():this.state.getViewId()}getViewSession(){return this.parentTracker?this.parentTracker.getViewSession():this.state.getViewSession()}getVideoId(){return null}getTitle(){return null}isLive(){return null}getBitrate(){return null}getManifestBitrate(){return null}getSegmentDownloadBitrate(){return null}getNetworkDownloadBitrate(){return null}getWebkitBitrate(){if(this.tag&&this.tag.webkitVideoDecodedByteCount){let t;if(this._lastWebkitBitrate){t=this.tag.webkitVideoDecodedByteCount;let e=t-this._lastWebkitBitrate,i=this.getHeartbeat()/1e3;t=Math.round(e/i*8)}return this._lastWebkitBitrate=this.tag.webkitVideoDecodedByteCount,t||null}}getRenditionName(){return null}getRenditionBitrate(){return null}getRenditionShift(t){let e,i=this.getRenditionBitrate();return this.isAd()?(e=this._lastAdRendition,t&&(this._lastAdRendition=i)):(e=this._lastRendition,t&&(this._lastRendition=i)),i&&e?i>e?\"up\":i<e?\"down\":null:null}getRenditionHeight(){return this.tag?this.tag.videoHeight:null}getRenditionWidth(){return this.tag?this.tag.videoWidth:null}getDuration(){return this.tag?this.tag.duration:null}getPlayhead(){return this.tag?this.tag.currentTime:null}getLanguage(){return null}getSrc(){return this.tag?this.tag.currentSrc:null}getPlayrate(){return this.tag?this.tag.playbackRate:null}isMuted(){return this.tag?this.tag.muted:null}isFullscreen(){return null}getCdn(){return null}getPlayerName(){return this.getTrackerName()}getPlayerVersion(){return T.rE}getFps(){return null}isAutoplayed(){return this.tag?this.tag.autoplay:null}getPreload(){return this.tag?this.tag.preload:null}getAdQuartile(){return null}getAdPosition(){return this.parentTracker?this.parentTracker.state.isStarted?\"mid\":\"pre\":null}getAdPartner(){return null}getAdCreativeId(){return null}getInstrumentationProvider(){return null}getInstrumentationName(){return null}getInstrumentationVersion(){return null}getAttributes(t,e){if(void 0===(t=n.A.prototype.getAttributes.apply(this,arguments)).isAd&&(t.isAd=this.isAd()),t.viewSession=this.getViewSession(),t.viewId=this.getViewId(),t.playerName=this.getPlayerName(),t.playerVersion=this.getPlayerVersion(),t[\"instrumentation.provider\"]=this.getInstrumentationProvider(),t[\"instrumentation.name\"]=this.getInstrumentationName(),t[\"instrumentation.version\"]=this.getInstrumentationVersion(),t[\"enduser.id\"]=this._userId,t.src=\"Browser\",\"customAction\"===e)return t;try{t.pageUrl=window.location.href}catch(t){}this.isAd()?(t.adId=this.getVideoId(),t.adTitle=this.getTitle(),t.adSrc=this.getSrc(),t.adCdn=this.getCdn(),this.state.isStarted&&(t.adBitrate=this.getBitrate()||0),t.adRenditionName=this.getRenditionName(),t.adRenditionHeight=this.getRenditionHeight(),t.adRenditionWidth=this.getRenditionWidth(),t.adDuration=this.getDuration(),t.adPlayhead=this.getPlayhead(),t.adLanguage=this.getLanguage(),t.adIsMuted=this.isMuted(),t.adFps=this.getFps(),t.adPosition=this.getAdPosition(),t.adCreativeId=this.getAdCreativeId(),t.adPartner=this.getAdPartner()):(t.contentId=this.getVideoId(),t.contentTitle=this.getTitle(),t.contentSrc=this.getSrc(),t.contentCdn=this.getCdn(),t.contentPlayhead=this.getPlayhead(),t.contentIsLive=this.isLive(),this.state.isStarted&&(t.contentBitrate=this.getBitrate()||0,t.contentManifestBitrate=this.getManifestBitrate()||0,t.contentSegmentDownloadBitrate=this.getSegmentDownloadBitrate()||0,t.contentNetworkDownloadBitrate=this.getNetworkDownloadBitrate()||0),t.contentRenditionName=this.getRenditionName(),t.contentRenditionHeight=this.getRenditionHeight(),t.contentRenditionWidth=this.getRenditionWidth(),t.contentDuration=this.getDuration(),t.contentLanguage=this.getLanguage(),t.contentPlayrate=this.getPlayrate(),t.contentIsFullscreen=this.isFullscreen(),t.contentIsMuted=this.isMuted(),t.contentIsAutoplayed=this.isAutoplayed(),t.contentPreload=this.getPreload(),t.contentFps=this.getFps(),null!=this.adsTracker&&this.adsTracker.state.totalAdPlaytime>0&&(t.totalAdPlaytime=this.adsTracker.state.totalAdPlaytime)),this.state.getStateAttributes(t),this.state.isStarted&&!this.isAd()&&this.state.trackContentBitrateState(t.contentBitrate);for(let e in this.customData)t[e]=this.customData[e];return this.addQoeAttributes(t),t}addQoeAttributes(t){const e=(t=this.state.getQoeAttributes(t)).qoe;for(let t in this.customData)e[t]=this.customData[t]}sendCustom(t,e,i){i=i||{},this.sendVideoCustomAction(t,i),this.state.setTimeSinceAttribute(e)}sendPlayerReady(t){this.state.goPlayerReady()&&(t=t||{},this.sendVideoAction(v.Events.PLAYER_READY,t))}sendRequest(t){if(this.state.goRequest()){let e;this.isAd()?(e=v.Events.AD_REQUEST,this.sendVideoAdAction(e,t)):(e=v.Events.CONTENT_REQUEST,this.sendVideoAction(e,t))}}sendStart(t){if(this.state.goStart()){let e;if(this.isAd())e=v.Events.AD_START,this.parentTracker&&(this.parentTracker.state.isPlaying=!1),this.sendVideoAdAction(e,t),this.state.startAdsTime();else{e=v.Events.CONTENT_START;let i=0;this.adsTracker&&((this.adsTracker.state.isPlaying||this.adsTracker.state.isBuffering)&&(this.adsTracker.state.stopAdsTime(),this.adsTracker.state.isPlaying=!1,this.adsTracker.state.isBuffering=!1),i=this.adsTracker.state.totalAdTime()??0),this.state.setStartupTime(i),this.sendVideoAction(e,t),r.videoAnalyticsHarvester.setBeforeDrainCallback(()=>{if(this.state){const t=this.state.getQoeAttributes({}).qoe;r.videoAnalyticsHarvester.refreshQoeKpis(t,this.getViewId())}})}this.startHeartbeat(),this.state.goHeartbeat()}}sendEnd(t){if(this.state.goEnd()){let e;t=t||{},this.isAd()?(e=v.Events.AD_END,t.timeSinceAdRequested=this.state.timeSinceRequested.getDeltaTime(),t.timeSinceAdStarted=this.state.timeSinceStarted.getDeltaTime(),this.parentTracker&&(this.parentTracker.state.isPlaying=!0),this.state.stopAdsTime()):(e=v.Events.CONTENT_END,t.timeSinceRequested=this.state.timeSinceRequested.getDeltaTime(),t.timeSinceStarted=this.state.timeSinceStarted.getDeltaTime()),this.stopHeartbeat(),this.isAd()?this.sendVideoAdAction(e,t):this.sendVideoAction(e,t),this.parentTracker&&this.isAd()&&this.parentTracker.state.goLastAd(),this.state.goViewCountUp(),this.state.totalPlaytime=0,this.isAd()||(r.videoAnalyticsHarvester.forceNextQoeCycle(),r.videoAnalyticsHarvester.setBeforeDrainCallback(null),this.adsTracker&&this.adsTracker.state.clearTotalAdsTime(),this.state.resetViewIdTrackedState())}}sendPause(t){if(this.state.goPause()){let e=this.isAd()?v.Events.AD_PAUSE:v.Events.CONTENT_PAUSE;this.isAd()?this.sendVideoAdAction(e,t):this.sendVideoAction(e,t)}}sendResume(t){if(this.state.goResume()){let e;t=t||{},this.isAd()?(e=v.Events.AD_RESUME,t.timeSinceAdPaused=this.state.timeSincePaused.getDeltaTime()):(e=v.Events.CONTENT_RESUME,t.timeSincePaused=this.state.timeSincePaused.getDeltaTime()),this.isAd()?this.sendVideoAdAction(e,t):this.sendVideoAction(e,t)}}sendBufferStart(t){if(this.state.goBufferStart()){let e;t=t||{},e=this.isAd()?v.Events.AD_BUFFER_START:v.Events.CONTENT_BUFFER_START,t=this.buildBufferAttributes(t),this._lastBufferType=t.bufferType,this.isAd()?this.sendVideoAdAction(e,t):this.sendVideoAction(e,t)}}sendBufferEnd(t){if(this.state.goBufferEnd()){let e;t=t||{},this.isAd()?(e=v.Events.AD_BUFFER_END,t.timeSinceAdBufferBegin=this.state.timeSinceBufferBegin.getDeltaTime()):(e=v.Events.CONTENT_BUFFER_END,t.timeSinceBufferBegin=this.state.timeSinceBufferBegin.getDeltaTime()),t=this.buildBufferAttributes(t),null!=this._lastBufferType&&(t.bufferType=this._lastBufferType),this.isAd()?this.sendVideoAdAction(e,t):this.sendVideoAction(e,t),this.state.initialBufferingHappened=!0}}buildBufferAttributes(t){return null==t.timeSinceStarted||t.timeSinceStarted<100?t.isInitialBuffering=!this.state.initialBufferingHappened:t.isInitialBuffering=!1,t.bufferType=this.state.calculateBufferType(t.isInitialBuffering),t.timeSinceResumed=this.state.timeSinceResumed.getDeltaTime(),t.timeSinceSeekEnd=this.state.timeSinceSeekEnd.getDeltaTime(),t}sendSeekStart(t){if(this.state.goSeekStart()){let e;e=this.isAd()?v.Events.AD_SEEK_START:v.Events.CONTENT_SEEK_START,this.isAd()?this.sendVideoAdAction(e,t):this.sendVideoAction(e,t)}}sendSeekEnd(t){if(this.state.goSeekEnd()){let e;t=t||{},this.isAd()?(e=v.Events.AD_SEEK_END,t.timeSinceAdSeekBegin=this.state.timeSinceSeekBegin.getDeltaTime()):(e=v.Events.CONTENT_SEEK_END,t.timeSinceSeekBegin=this.state.timeSinceSeekBegin.getDeltaTime()),this.isAd()?this.sendVideoAdAction(e,t):this.sendVideoAction(e,t)}}sendDownload(t){(t=t||{}).state||s.A.warn(\"Called sendDownload without { state: xxxxx }.\"),this.sendVideoAction(v.Events.DOWNLOAD,t),this.state.goDownload()}sendError(t){(t=t||{}).isAd=this.isAd(),this.state.goError();let e=this.isAd()?v.Events.AD_ERROR:v.Events.CONTENT_ERROR;this.sendVideoErrorAction(e,t)}sendRenditionChanged(t){let e;(t=t||{}).timeSinceLastRenditionChange=this.state.timeSinceLastRenditionChange.getDeltaTime(),t.shift=this.getRenditionShift(!0),e=this.isAd()?v.Events.AD_RENDITION_CHANGE:v.Events.CONTENT_RENDITION_CHANGE,this.isAd()?this.sendVideoAdAction(e,t):this.sendVideoAction(e,t),this.state.goRenditionChange()}sendHeartbeat(t){if(this.state.isRequested){let e,i=this.getHeartbeat();this.state._hb=!0,i=this.adjustElapsedTimeForPause(i),this.isAd()?(e=v.Events.AD_HEARTBEAT,\"bitmovin-ads\"===this.getPlayerName()?this.sendVideoAdAction(e,t):this.sendVideoAdAction(e,{elapsedTime:i,...t})):(e=v.Events.CONTENT_HEARTBEAT,this.sendVideoAction(e,{elapsedTime:i,...t})),this.state.goHeartbeat()}}adjustElapsedTimeForPause(t){return this.state._acc&&(t-=this.state._acc,this.state._acc=0),this.state.isPaused&&((t-=this.state.elapsedTime.getDeltaTime())<10&&(t=0),this.state.elapsedTime.start()),this.state._bufferAcc?(t-=this.state._bufferAcc,this.state._bufferAcc=0):this.state.isBuffering&&((t-=this.state.bufferElapsedTime.getDeltaTime())<5&&(t=0),this.state.bufferElapsedTime.start()),Math.max(0,t)}sendAdBreakStart(t){this.isAd()&&this.state.goAdBreakStart()&&(this.state.totalAdPlaytime=0,this.parentTracker&&(this.parentTracker.state.isPlaying=!1),this.sendVideoAdAction(v.Events.AD_BREAK_START,t))}sendAdBreakEnd(t){this.isAd()&&this.state.goAdBreakEnd()&&((t=t||{}).timeSinceAdBreakBegin=this.state.timeSinceAdBreakStart.getDeltaTime(),this.sendVideoAdAction(v.Events.AD_BREAK_END,t),this.parentTracker&&(this.parentTracker.state.isPlaying=!0),this.stopHeartbeat(),this.parentTracker&&this.isAd()&&this.parentTracker.state.goLastAd())}sendAdQuartile(t){this.isAd()&&((t=t||{}).quartile||s.A.warn(\"Called sendAdQuartile without { quartile: xxxxx }.\"),t.timeSinceLastAdQuartile=this.state.timeSinceLastAdQuartile.getDeltaTime(),this.sendVideoAdAction(v.Events.AD_QUARTILE,t),this.state.goAdQuartile())}sendAdClick(t){this.isAd()&&((t=t||{}).url||s.A.warn(\"Called sendAdClick without { url: xxxxx }.\"),this.sendVideoAdAction(v.Events.AD_CLICK,t))}}function S(t){t.type!==v.Events.AD_ERROR?this.sendVideoAdAction(t.type,t.data):this.sendVideoErrorAction(t.type,t.data)}v.Events={PLAYER_READY:\"PLAYER_READY\",DOWNLOAD:\"DOWNLOAD\",ERROR:\"ERROR\",CONTENT_REQUEST:\"CONTENT_REQUEST\",CONTENT_START:\"CONTENT_START\",CONTENT_END:\"CONTENT_END\",CONTENT_PAUSE:\"CONTENT_PAUSE\",CONTENT_RESUME:\"CONTENT_RESUME\",CONTENT_SEEK_START:\"CONTENT_SEEK_START\",CONTENT_SEEK_END:\"CONTENT_SEEK_END\",CONTENT_BUFFER_START:\"CONTENT_BUFFER_START\",CONTENT_BUFFER_END:\"CONTENT_BUFFER_END\",CONTENT_HEARTBEAT:\"CONTENT_HEARTBEAT\",CONTENT_RENDITION_CHANGE:\"CONTENT_RENDITION_CHANGE\",CONTENT_ERROR:\"CONTENT_ERROR\",AD_REQUEST:\"AD_REQUEST\",AD_START:\"AD_START\",AD_END:\"AD_END\",AD_PAUSE:\"AD_PAUSE\",AD_RESUME:\"AD_RESUME\",AD_SEEK_START:\"AD_SEEK_START\",AD_SEEK_END:\"AD_SEEK_END\",AD_BUFFER_START:\"AD_BUFFER_START\",AD_BUFFER_END:\"AD_BUFFER_END\",AD_HEARTBEAT:\"AD_HEARTBEAT\",AD_RENDITION_CHANGE:\"AD_RENDITION_CHANGE\",AD_ERROR:\"AD_ERROR\",AD_BREAK_START:\"AD_BREAK_START\",AD_BREAK_END:\"AD_BREAK_END\",AD_QUARTILE:\"AD_QUARTILE\",AD_CLICK:\"AD_CLICK\"};const p=v;var y=i(431),_=i(413),R=i(481),B=i(374);const b={Constants:a.A,Chrono:m.A,Log:s.A,Emitter:f.A,Tracker:n.A,VideoTracker:p,VideoTrackerState:E,Core:g,version:T.rE,NrVideoEventAggregator:y.t,RetryQueueHandler:_.u,OptimizedHttpClient:R.X,HarvestScheduler:B.n,recordEvent:h};export{b as default};\n//# sourceMappingURL=index.js.map","import nrvideo from '@newrelic/video-core'\nimport VideojsAdsTracker from './videojs-ads'\n\nexport default class BrightcoveImaAdsTracker extends VideojsAdsTracker {\n static isUsing (player) {\n return !!player.ima3\n }\n\n getTrackerName () {\n return 'brightcove-ima-ads'\n }\n\n getPlayerName () {\n return 'brightcove-ima-ads'\n }\n\n getPlayhead () {\n return this.player?.ima3?.adPlayer?.currentTime()\n }\n\n registerListeners () {\n nrvideo.Log.debugCommonVideoEvents(this.player, [\n null,\n 'ima3-ready',\n 'ima3error',\n 'ima3-ad-error',\n 'ima3-started',\n 'ima3-complete',\n 'ima3-paused',\n 'ima3-resumed',\n 'ads-request',\n 'ads-load',\n 'ads-ad-started',\n 'ads-ad-ended',\n 'ads-pause',\n 'ads-play',\n 'ads-click',\n 'ads-pod-started',\n 'ads-pod-ended',\n 'ads-allpods-completed'\n ])\n\n this.player.on('ima3-started', this.onStarted.bind(this))\n this.player.on('ima3-paused', this.onPaused.bind(this))\n this.player.on('ima3-resumed', this.onResume.bind(this))\n this.player.on('ima3-complete', this.onComplete.bind(this))\n this.player.on('ima3-skipped', this.onSkipped.bind(this))\n this.player.on('adserror', this.onError.bind(this))\n this.player.on('ads-click', this.onClick.bind(this))\n }\n\n unregisterListeners () {\n this.player.off('ima3-started', this.onStarted)\n this.player.off('ima3-paused', this.onPaused)\n this.player.off('ima3-resumed', this.onResume)\n this.player.off('ima3-complete', this.onComplete)\n this.player.off('ima3-skipped', this.onSkipped)\n this.player.off('adserror', this.onError)\n this.player.off('ads-click', this.onClick)\n }\n\n onStarted (e) {\n this.sendRequest()\n this.sendStart()\n }\n\n onPaused (e) {\n this.sendPause()\n }\n\n onResume (e) {\n this.sendResume()\n }\n\n onComplete (e) {\n this.sendEnd()\n }\n\n onSkipped (e) {\n this.sendEnd({ skipped: true })\n }\n\n onError (e) {\n this.sendError()\n }\n\n onClick (e) {\n this.sendClick()\n }\n}\n","/* global google */\nimport nrvideo from '@newrelic/video-core';\nimport VideojsAdsTracker from './videojs-ads';\n\nconst daiEvents = {\n // Stream Events\n DAI_STREAM_INITIALIZED: 'dai-stream-initialized',\n DAI_STREAM_LOADED: 'dai-stream-loaded',\n DAI_STREAM_ERROR: 'dai-stream-error',\n\n // Ad Events\n DAI_AD_BREAK_STARTED: 'dai-ad-break-started',\n DAI_AD_BREAK_ENDED: 'dai-ad-break-ended',\n DAI_AD_PERIOD_STARTED: 'dai-ad-period-started',\n DAI_AD_PERIOD_ENDED: 'dai-ad-period-ended',\n DAI_AD_STARTED: 'dai-ad-started',\n DAI_AD_FIRST_QUARTILE: 'dai-ad-first-quartile',\n DAI_AD_MIDPOINT: 'dai-ad-midpoint',\n DAI_AD_THIRD_QUARTILE: 'dai-ad-third-quartile',\n DAI_AD_COMPLETE: 'dai-ad-complete',\n DAI_AD_SKIPPED: 'dai-ad-skipped',\n DAI_AD_PAUSED: 'dai-ad-paused',\n DAI_AD_RESUMED: 'dai-ad-resumed',\n DAI_AD_CLICKED: 'dai-ad-clicked',\n DAI_AD_ERROR: 'dai-ad-error',\n\n // Cue Point Events\n DAI_CUEPOINTS_CHANGED: 'dai-cuepoints-changed',\n\n // Timed Metadata Events\n DAI_TIMED_METADATA: 'dai-timed-metadata',\n};\n\nexport default class DaiAdsTracker extends VideojsAdsTracker {\n static isUsing(player) {\n // Check for DAI plugin or imaDai method\n return (\n (player.imaDai && typeof player.imaDai === 'function') ||\n (player.dai && typeof player.dai.VERSION !== 'undefined') ||\n (player.ima && player.ima.dai) ||\n player.streamManager\n );\n }\n\n constructor(player) {\n super(player);\n this.streamManager = null;\n this.currentAdData = null;\n this.adBreakData = null;\n this.streamData = null;\n this.cuePoints = [];\n this.initialized = false;\n this.eventHandlers = null;\n }\n\n setStreamManager(streamManager) {\n this.streamManager = streamManager;\n this.setupStreamManagerListeners();\n this.initialized = true;\n nrvideo.Log.debug(\n 'DaiAdsTracker: StreamManager set and listeners registered'\n );\n }\n\n setupStreamManagerListeners() {\n if (!this.streamManager || !google?.ima?.dai?.api?.StreamEvent) {\n nrvideo.Log.warn('DaiAdsTracker: StreamManager or DAI API not available');\n return;\n }\n\n const StreamEvent = google.ima.dai.api.StreamEvent.Type;\n\n // Create the event handler mapping\n this.eventHandlers = {\n // Stream Events\n [StreamEvent.LOADED]: this.onStreamLoaded.bind(this),\n [StreamEvent.STREAM_INITIALIZED]: this.onStreamInitialized.bind(this),\n [StreamEvent.ERROR]: this.onStreamError.bind(this),\n\n // Ad Break Events\n [StreamEvent.AD_BREAK_STARTED]: this.onAdBreakStarted.bind(this),\n [StreamEvent.AD_BREAK_ENDED]: this.onAdBreakEnded.bind(this),\n\n // Ad Period Events\n [StreamEvent.AD_PERIOD_STARTED]: this.onAdPeriodStarted.bind(this),\n [StreamEvent.AD_PERIOD_ENDED]: this.onAdPeriodEnded.bind(this),\n\n // Individual Ad Events\n [StreamEvent.STARTED]: this.onAdStarted.bind(this),\n [StreamEvent.FIRST_QUARTILE]: this.onAdFirstQuartile.bind(this),\n [StreamEvent.MIDPOINT]: this.onAdMidpoint.bind(this),\n [StreamEvent.THIRD_QUARTILE]: this.onAdThirdQuartile.bind(this),\n [StreamEvent.COMPLETE]: this.onAdComplete.bind(this),\n [StreamEvent.SKIPPED]: this.onAdSkipped.bind(this),\n [StreamEvent.PAUSED]: this.onAdPaused.bind(this),\n [StreamEvent.RESUMED]: this.onAdResumed.bind(this),\n [StreamEvent.CLICK]: this.onAdClicked.bind(this),\n [StreamEvent.VIDEO_CLICKED]: this.onAdClicked.bind(this),\n\n // Cue Points and Metadata Events\n [StreamEvent.CUEPOINTS_CHANGED]: this.onCuePointsChanged.bind(this),\n [StreamEvent.TIMED_METADATA]: this.onTimedMetadata.bind(this),\n };\n\n // Register all event listeners using the mapping\n Object.entries(this.eventHandlers).forEach(([eventType, handler]) => {\n this.streamManager.addEventListener(eventType, handler);\n });\n\n nrvideo.Log.debug('DaiAdsTracker: StreamManager listeners registered');\n }\n\n registerListeners() {\n // Call parent to register basic videojs-ads events\n super.registerListeners();\n\n nrvideo.Log.debugCommonVideoEvents(this.player, [\n null,\n Object.values(daiEvents),\n ]);\n }\n\n unregisterListeners() {\n // Call parent cleanup\n super.unregisterListeners();\n\n // Clean up StreamManager listeners using the same mapping\n if (this.streamManager && this.eventHandlers) {\n Object.entries(this.eventHandlers).forEach(([eventType, handler]) => {\n this.streamManager.removeEventListener(eventType, handler);\n });\n }\n\n // Reset state\n this.streamManager = null;\n this.currentAdData = null;\n this.adBreakData = null;\n this.streamData = null;\n this.cuePoints = [];\n this.initialized = false;\n this.eventHandlers = null;\n }\n\n // Stream Event Handlers\n onStreamLoaded(event) {\n this.streamData = this.extractStreamData(event);\n nrvideo.Log.debug('DaiAdsTracker: Stream loaded', this.streamData);\n this.sendRequest();\n }\n\n onStreamInitialized(event) {\n nrvideo.Log.debug('DaiAdsTracker: Stream initialized');\n this.sendDownload({ state: 'stream-initialized' });\n }\n\n onStreamError(event) {\n const errorData = this.extractErrorData(event);\n nrvideo.Log.error('DaiAdsTracker: Stream error', errorData);\n this.sendError(errorData);\n }\n\n // Ad Break Event Handlers\n onAdBreakStarted(event) {\n this.adBreakData = this.extractAdBreakData(event);\n nrvideo.Log.debug('DaiAdsTracker: Ad break started', this.adBreakData);\n this.sendAdBreakStart(this.adBreakData);\n }\n\n onAdBreakEnded(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad break ended');\n this.sendAdBreakEnd();\n this.adBreakData = null;\n }\n\n // Ad Period Event Handlers (for bumpers, etc.)\n onAdPeriodStarted(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad period started');\n // Track as ad break start if no current break\n if (!this.adBreakData) {\n this.onAdBreakStarted(event);\n }\n }\n\n onAdPeriodEnded(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad period ended');\n // Don't end the break here as there might be more ads\n }\n\n // Individual Ad Event Handlers\n onAdStarted(event) {\n this.currentAdData = this.extractAdData(event);\n nrvideo.Log.debug('DaiAdsTracker: Ad started', this.currentAdData);\n this.sendStart();\n }\n\n onAdFirstQuartile(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad first quartile');\n this.sendAdQuartile({ quartile: 1 });\n }\n\n onAdMidpoint(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad midpoint');\n this.sendAdQuartile({ quartile: 2 });\n }\n\n onAdThirdQuartile(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad third quartile');\n this.sendAdQuartile({ quartile: 3 });\n }\n\n onAdComplete(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad complete');\n this.sendEnd();\n this.currentAdData = null;\n }\n\n onAdSkipped(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad skipped');\n this.sendEnd({ skipped: true });\n this.currentAdData = null;\n }\n\n onAdPaused(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad paused');\n this.sendPause();\n }\n\n onAdResumed(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad resumed');\n this.sendResume();\n }\n\n onAdClicked(event) {\n nrvideo.Log.debug('DaiAdsTracker: Ad clicked');\n this.sendAdClick({ url: this.getClickThroughUrl() });\n }\n\n // Cue Points Handler\n onCuePointsChanged(event) {\n this.cuePoints = this.extractCuePoints(event);\n nrvideo.Log.debug('DaiAdsTracker: Cue points changed', this.cuePoints);\n }\n\n // Timed Metadata Handler\n onTimedMetadata(event) {\n const metadata = this.extractTimedMetadata(event);\n nrvideo.Log.debug('DaiAdsTracker: Timed metadata', metadata);\n }\n\n // Data Extraction Methods\n extractStreamData(event) {\n try {\n const streamData = event.getStreamData();\n return {\n streamId: streamData?.streamId,\n url: streamData?.url,\n adTagParameters: streamData?.adTagParameters,\n streamType: this.getStreamType(),\n };\n } catch (error) {\n nrvideo.Log.warn('DaiAdsTracker: Failed to extract stream data', error);\n return {};\n }\n }\n\n extractAdBreakData(event) {\n try {\n const adBreakData = event.getAdBreak();\n return {\n adBreakId: adBreakData?.id,\n adBreakTitle: adBreakData?.title,\n adCount: adBreakData?.ads?.length || 0,\n position: this.getAdPosition(),\n };\n } catch (error) {\n nrvideo.Log.warn('DaiAdsTracker: Failed to extract ad break data', error);\n return {};\n }\n }\n\n extractAdData(event) {\n try {\n const ad = event.getAd();\n return {\n adId: ad?.getAdId(),\n creativeId: ad?.getCreativeId(),\n duration: ad?.getDuration(),\n title: ad?.getTitle(),\n description: ad?.getDescription(),\n advertiserName: ad?.getAdvertiserName(),\n clickThroughUrl: ad?.getClickThroughUrl(),\n dealId: ad?.getDealId(),\n wrapperAdIds: ad?.getWrapperAdIds(),\n position: this.getAdPosition(),\n };\n } catch (error) {\n nrvideo.Log.warn('DaiAdsTracker: Failed to extract ad data', error);\n return {};\n }\n }\n\n extractErrorData(event) {\n try {\n const error = event.getError();\n return {\n errorCode: error?.getErrorCode(),\n errorMessage: error?.getMessage(),\n innerError: error?.getInnerError(),\n };\n } catch (error) {\n nrvideo.Log.warn('DaiAdsTracker: Failed to extract error data', error);\n return { errorMessage: 'Unknown DAI error' };\n }\n }\n\n extractCuePoints(event) {\n try {\n return event.getCuepoints() || [];\n } catch (error) {\n nrvideo.Log.warn('DaiAdsTracker: Failed to extract cue points', error);\n return [];\n }\n }\n\n extractTimedMetadata(event) {\n try {\n return {\n type: event.getType(),\n data: event.getData(),\n };\n } catch (error) {\n nrvideo.Log.warn(\n 'DaiAdsTracker: Failed to extract timed metadata',\n error\n );\n return {};\n }\n }\n\n // Override parent methods for DAI-specific implementations\n getTrackerName() {\n return 'dai-ads';\n }\n\n getPlayerName() {\n return 'videojs-dai';\n }\n\n getPlayerVersion() {\n if (this.player.dai?.VERSION) {\n return this.player.dai.VERSION;\n }\n if (this.player.ima?.VERSION) {\n return `ima-dai: ${this.player.ima.VERSION}`;\n }\n return 'unknown';\n }\n\n getAdCuePoints() {\n return this.cuePoints;\n }\n\n getAdPosition() {\n if (!this.currentAdData && !this.adBreakData) return null;\n\n // Try to determine position from current playback time\n const currentTime = this.player.currentTime();\n const duration = this.player.duration();\n\n if (currentTime < 5) {\n return 'pre';\n } else if (duration && currentTime > duration - 10) {\n return 'post';\n } else {\n return 'mid';\n }\n }\n\n getDuration() {\n if (this.currentAdData?.duration !== undefined) {\n return this.currentAdData.duration * 1000; // Convert to milliseconds\n }\n return null;\n }\n\n getVideoId() {\n return this.currentAdData?.adId || null;\n }\n\n getAdCreativeId() {\n return this.currentAdData?.creativeId || null;\n }\n\n getTitle() {\n return this.currentAdData?.title || null;\n }\n\n getSrc() {\n return this.streamData?.url || null;\n }\n\n getPlayhead() {\n if (this.streamManager) {\n try {\n const streamTime = this.streamManager.getStreamTime();\n return streamTime * 1000; // Convert to milliseconds\n } catch (error) {\n // Fallback to player current time\n return this.player.currentTime() * 1000;\n }\n }\n return this.player.currentTime() * 1000;\n }\n\n getAdPartner() {\n return 'google-dai';\n }\n\n getClickThroughUrl() {\n return this.currentAdData?.clickThroughUrl || null;\n }\n\n getStreamType() {\n // Determine if this is VOD or Live\n if (this.streamData?.streamType) {\n return this.streamData.streamType;\n }\n // Try to infer from player\n const duration = this.player.duration();\n return duration === Infinity ? 'live' : 'vod';\n }\n\n // Additional helper methods\n isLiveStream() {\n return this.getStreamType() === 'live';\n }\n\n getCurrentAdBreak() {\n return this.adBreakData;\n }\n\n getCurrentAd() {\n return this.currentAdData;\n }\n\n getStreamData() {\n return this.streamData;\n }\n\n getBitrate() {\n const tech = this.getTech()\n if (tech && tech.tech && tech.tech.stats) {\n return tech.tech.stats.bandwidth;\n }\n }\n\n getRenditionBitrate() {\n const tech = this.getTech();\n if (tech && tech.getRenditionBitrate) {\n return tech.getRenditionBitrate();\n }\n }\n}\n","import VideojsAdsTracker from './videojs-ads'\n\nexport default class FreewheelAdsTracker extends VideojsAdsTracker {\n static isUsing (player) {\n return !!player.FreeWheelPlugin && typeof tv !== 'undefined' && tv.freewheel\n }\n\n getTrackerName () {\n return 'freewheel-ads'\n }\n\n getPlayerName () {\n return 'freewheel-ads'\n }\n\n getPlayerVersion () {\n return this.player.FreeWheelPlugin.VERSION\n }\n\n getPlayhead () {\n if (this.player.ads.ad.currentTime) {\n return this.player.ads.ad.currentTime() * 1000\n }\n }\n\n getDuration () {\n if (this.player.ads.ad.duration) {\n return this.player.ads.ad.duration * 1000\n }\n }\n\n getVideoId () {\n return this.player.ads.ad.id\n }\n\n getAdPartner () {\n return 'freewheel'\n }\n\n getAdCreativeId () {\n try {\n return this.player.ads.provider.event.adInstance.getActiveCreativeRendition().getId()\n } catch (err) { /* do nothing */ }\n }\n\n getSrc () {\n try {\n let acr = this.player.ads.provider.event.adInstance.getActiveCreativeRendition()\n return acr.getPrimaryCreativeRenditionAsset().getUrl()\n } catch (err) { /* do nothing */ }\n }\n\n getTitle () {\n try {\n let acr = this.player.ads.provider.event.adInstance.getActiveCreativeRendition()\n return acr.getPrimaryCreativeRenditionAsset().getName()\n } catch (err) { /* do nothing */ }\n }\n\n getAdPosition () {\n switch (this.player.ads.ad.type) {\n case 'PREROLL':\n return nrvideo.Constants.AdPositions.PRE\n case 'MIDROLL':\n return nrvideo.Constants.AdPositions.MID\n case 'POSTROLL':\n return nrvideo.Constants.AdPositions.POST\n }\n }\n}\n","/* global google */\nimport nrvideo from '@newrelic/video-core';\nimport VideojsAdsTracker from './videojs-ads';\n\nexport default class ImaAdsTracker extends VideojsAdsTracker {\n static isUsing(player) {\n return player.ima && typeof google !== 'undefined';\n }\n\n getTrackerName() {\n return 'ima-ads';\n }\n\n getPlayerName() {\n return 'ima';\n }\n\n getPlayerVersion() {\n return (\n 'ima: ' + google.ima.VERSION + '; contrib-ads: ' + this.player.ads.VERSION\n );\n }\n\n getCuePoints() {\n return this.player.ima.getAdsManager().getCuePoints();\n }\n\n getAdPosition() {\n if (\n this.lastAdData &&\n this.lastAdData.podInfo &&\n this.lastAdData.podInfo.podIndex !== undefined\n ) {\n const podIndex = this.lastAdData.podInfo.podIndex;\n\n if (podIndex === 0) {\n return 'pre';\n } else if (podIndex === -1) {\n return 'post';\n } else {\n return 'mid';\n }\n }\n return null;\n }\n\n getDuration() {\n if (this.lastAdData && this.lastAdData.duration !== undefined) {\n return this.lastAdData.duration * 1000;\n }\n return null;\n }\n\n getVideoId() {\n if (this.lastAdData && this.lastAdData.adId) {\n return this.lastAdData.adId;\n }\n return null;\n }\n\n getAdCreativeId() {\n if (this.lastAdData && this.lastAdData.creativeId) {\n return this.lastAdData.creativeId;\n }\n return null;\n }\n\n getSrc() {\n if (this.lastAdData && this.lastAdData.mediaUrl) {\n return this.lastAdData.mediaUrl;\n }\n return null;\n }\n\n getTitle() {\n if (this.lastAdData && this.lastAdData.title) {\n return this.lastAdData.title;\n }\n return null;\n }\n\n getPlayhead() {\n let manager = this.player.ima.getAdsManager();\n if (manager) {\n return (this.getDuration() - manager.getRemainingTime()) * 1000;\n }\n }\n\n getPlayrate() {\n return this.player.playbackRate();\n }\n\n getAdPartner() {\n return 'ima';\n }\n\n getWebkitBitrate() {\n const adVideoElement = this.getAdVideoElement();\n if (adVideoElement && adVideoElement.webkitVideoDecodedByteCount) {\n let bitrate;\n if (this._lastAdWebkitBitrate > 0) {\n const current = adVideoElement.webkitVideoDecodedByteCount;\n const delta = current - this._lastAdWebkitBitrate;\n const seconds = this.getHeartbeat() / 1000;\n bitrate = Math.round((delta / seconds) * 8);\n }\n \n this._lastAdWebkitBitrate = adVideoElement.webkitVideoDecodedByteCount;\n return bitrate ?? null;\n }\n return null;\n }\n\n getRenditionBitrate() {\n if (this.lastAdData) {\n return this.lastAdData.renditionBitrate;\n }\n }\n\n registerListeners() {\n // Shortcut events\n let e = google.ima.AdEvent.Type;\n let AD_ERROR = google.ima.AdErrorEvent.Type.AD_ERROR;\n\n //store ad data\n this.lastAdData = null;\n // debug\n nrvideo.Log.debugCommonVideoEvents(this.player.ima.addEventListener, [\n null,\n e.ALL_ADS_COMPLETED,\n e.LINEAR_CHANGED,\n e.COMPLETE,\n e.USER_CLOSE,\n e.IMPRESSION,\n e.CONTENT_PAUSE_REQUESTED,\n e.CONTENT_RESUME_REQUESTED,\n e.SKIPPED,\n e.SKIPPABLE_STATE_CHANGED,\n e.LOADED,\n e.PAUSED,\n e.RESUMED,\n e.STARTED,\n e.AD_CAN_PLAY,\n e.AD_METADATA,\n e.EXPANDED_CHANGED,\n e.AD_BREAK_READY,\n e.LOG,\n e.CLICK,\n e.FIRST_QUARTILE,\n e.MIDPOINT,\n e.THIRD_QUARTILE,\n AD_ERROR,\n ]);\n\n // Register listeners\n this.player.ima.addEventListener(e.LOADED, this.onLoaded.bind(this));\n this.player.ima.addEventListener(e.STARTED, this.onStart.bind(this));\n this.player.ima.addEventListener(e.PAUSED, this.onPaused.bind(this));\n this.player.ima.addEventListener(e.RESUMED, this.onResumed.bind(this));\n this.player.ima.addEventListener(e.COMPLETE, this.onComplete.bind(this));\n this.player.ima.addEventListener(e.SKIPPED, this.onSkipped.bind(this));\n this.player.ima.addEventListener(e.CLICK, this.onClick.bind(this));\n this.player.ima.addEventListener(\n e.FIRST_QUARTILE,\n this.onFirstQuartile.bind(this)\n );\n this.player.ima.addEventListener(e.MIDPOINT, this.onMidpoint.bind(this));\n this.player.ima.addEventListener(\n e.THIRD_QUARTILE,\n this.onThirdQuartile.bind(this)\n );\n this.player.ima.addEventListener(AD_ERROR, this.onError.bind(this));\n }\n\n unregisterListeners() {\n // Shortcut events\n let e = google.ima.AdEvent.Type;\n let AD_ERROR = google.ima.AdErrorEvent.Type.AD_ERROR;\n\n // unregister listeners\n this.player.ima.removeEventListener(e.LOADED, this.onLoaded);\n this.player.ima.removeEventListener(e.STARTED, this.onLoaded.bind(this));\n this.player.ima.removeEventListener(e.IMPRESSION, this.onImpression);\n this.player.ima.removeEventListener(e.PAUSED, this.onPaused);\n this.player.ima.removeEventListener(e.RESUMED, this.onResumed);\n this.player.ima.removeEventListener(e.COMPLETE, this.onComplete);\n this.player.ima.removeEventListener(e.SKIPPED, this.onSkipped);\n this.player.ima.removeEventListener(e.CLICK, this.onClick);\n this.player.ima.removeEventListener(e.FIRST_QUARTILE, this.onFirstQuartile);\n this.player.ima.removeEventListener(e.MIDPOINT, this.onMidpoint);\n this.player.ima.removeEventListener(e.THIRD_QUARTILE, this.onThirdQuartile);\n this.player.ima.removeEventListener(AD_ERROR, this.onError);\n //clear ad data\n this.lastAdData = null;\n }\n\n onLoaded(e) {\n this.lastAdData = this.getAdData();\n this.sendRequest();\n }\n\n onStart(e) {\n this.lastAdData = this.getAdData();\n this._lastAdWebkitBitrate = 0;\n this.sendStart();\n }\n\n onComplete(e) {\n this.sendEnd();\n this.lastAdData = null; // Clear the data\n }\n\n onSkipped(e) {\n this.sendEnd({ skipped: true });\n this.lastAdData = null; // Clear the data\n }\n\n onError(e) {\n const adError = e.getError();\n\n const errorCode = adError.getErrorCode();\n const errorMessage = adError.getMessage();\n this.sendError({ adError, errorCode, errorMessage });\n }\n\n onClick(e) {\n this.sendAdClick();\n }\n\n onFirstQuartile() {\n this.sendAdQuartile({ adQuartile: 1 });\n }\n\n onMidpoint() {\n this.sendAdQuartile({ adQuartile: 2 });\n }\n\n onThirdQuartile() {\n this.sendAdQuartile({ adQuartile: 3 });\n }\n\n onPaused() {\n this.sendPause();\n }\n\n onResumed() {\n this.sendResume();\n }\n\n getAdData() {\n try {\n const adsManager = this.player.ima.getAdsManager();\n if (adsManager) {\n const currentAd = adsManager.getCurrentAd();\n if (currentAd) {\n return {\n adId: currentAd.getAdId(),\n creativeId: currentAd.getCreativeId(),\n duration: currentAd.getDuration(),\n mediaUrl: currentAd.getMediaUrl(),\n title: currentAd.getTitle(),\n podInfo: currentAd.getAdPodInfo()?.data,\n renditionBitrate: currentAd.getVastMediaBitrate(),\n // Add other properties as needed\n };\n }\n }\n return null;\n } catch (err) {\n return null;\n }\n }\n\n getAdVideoElement() {\n if (this.player.ima && this.player.ima.controller && this.player.ima.controller.adUi) {\n const adContainerDiv = this.player.ima.controller.adUi.adContainerDiv;\n if (adContainerDiv) {\n const adVideoElement = adContainerDiv.querySelector('video');\n if (adVideoElement) {\n return adVideoElement;\n }\n }\n }\n }\n}\n","import nrvideo from '@newrelic/video-core'\nimport pkg from '../../package.json'\nimport ContribHlsTech from '../techs/contrib-hls';\nimport HlsJsTech from '../techs/hls-js';\nimport ShakaTech from '../techs/shaka';\n\nexport default class VideojsAdsTracker extends nrvideo.VideoTracker {\n\n getTech() {\n const tech = this.player.tech({ IWillNotUseThisInPlugins: true });\n \n if (tech) {\n if (ContribHlsTech.isUsing(tech)) {\n return new ContribHlsTech(tech);\n } else if (HlsJsTech.isUsing(tech)) {\n return new HlsJsTech(tech);\n } else if (ShakaTech.isUsing(tech)) {\n return new ShakaTech(tech);\n }\n }\n }\n \n getTrackerName () {\n return 'videojs-ads'\n }\n\n getTrackerVersion () {\n return pkg.version\n }\n\n isMuted () {\n return this.player.muted()\n }\n\n getRenditionHeight () {\n return null\n }\n\n getRenditionWidth () {\n return null\n }\n\n getPlayerName () {\n return 'videojs-ads'\n }\n\n getPlayerVersion () {\n return this.player.ads.VERSION\n }\n\n registerListeners () {\n nrvideo.Log.debugCommonVideoEvents(this.player, [\n null,\n 'ads-request',\n 'ads-load',\n 'adstart',\n 'adend',\n 'adskip',\n 'adserror',\n 'ads-click',\n 'ads-pod-started',\n 'ads-pod-ended',\n 'ads-first-quartile',\n 'ads-midpoint',\n 'ads-third-quartile',\n 'ads-pause',\n 'ads-play',\n 'adtimeout'\n ])\n\n // Register listeners\n this.player.on('ads-request', this.onAdrequest.bind(this))\n this.player.on('ads-load', this.onAdload.bind(this))\n this.player.on('adstart', this.onAdstart.bind(this))\n this.player.on('adend', this.onAdend.bind(this))\n this.player.on('adskip', this.onAdskip.bind(this))\n this.player.on('adserror', this.onAdserror.bind(this))\n this.player.on('ads-click', this.onAdsClick.bind(this))\n this.player.on('ads-pod-started', this.onPodStart.bind(this))\n this.player.on('ads-pod-ended', this.onPodEnd.bind(this))\n this.player.on('ads-first-quartile', this.onFirstQuartile.bind(this))\n this.player.on('ads-midpoint', this.onMidpoint.bind(this))\n this.player.on('ads-third-quartile', this.onThirdQuartile.bind(this))\n this.player.on('ads-pause', this.onAdspause.bind(this))\n this.player.on('ads-play', this.onAdsplay.bind(this))\n }\n\n unregisterListeners () {\n // unregister listeners\n this.player.off('ads-request', this.onAdrequest)\n this.player.off('ads-load', this.onAdload)\n this.player.off('adstart', this.onAdstart)\n this.player.off('adend', this.onAdend)\n this.player.off('adskip', this.onAdskip)\n this.player.off('adserror', this.onAdserror)\n this.player.off('ads-click', this.onAdsClick)\n this.player.off('ads-pod-started', this.onPodStart)\n this.player.off('ads-pod-ended', this.onPodEnd)\n this.player.off('ads-first-quartile', this.onFirstQuartile)\n this.player.off('ads-midpoint', this.onMidpoint)\n this.player.off('ads-third-quartile', this.onThirdQuartile)\n this.player.off('ads-pause', this.onAdspause)\n this.player.off('ads-play', this.onAdsplay)\n }\n\n onAdrequest (e) {\n this.sendRequest()\n this.sendDownload({ state: 'ads-request' })\n }\n\n onAdload (e) {\n this.sendDownload({ state: 'ads-load' })\n }\n\n onAdstart (e) {\n this.sendRequest()\n this.sendStart()\n }\n\n onAdend (e) {\n this.sendEnd()\n }\n\n onAdskip (e) {\n this.sendEnd({ skipped: true })\n }\n\n onAdserror (e) {\n this.sendError()\n }\n\n onAdsClick (e) {\n this.sendAdClick({ url: 'unknown' })\n }\n\n onPodStart (e) {\n this.sendAdBreakStart()\n }\n\n onPodEnd (e) {\n this.sendAdBreakEnd()\n }\n\n onFirstQuartile () {\n this.sendAdQuartile({ quartile: 1 })\n }\n\n onMidpoint () {\n this.sendAdQuartile({ quartile: 2 })\n }\n\n onThirdQuartile () {\n this.sendAdQuartile({ quartile: 3 })\n }\n\n onAdspause () {\n this.sendPause()\n }\n\n onAdsplay () {\n this.sendResume()\n }\n}\n","export default class ContribHlsTech {\n constructor(tech) {\n this.tech = tech.vhs;\n this.player = tech.el().player; // Store player reference for playback bitrate calculation\n }\n\n getRenditionName() {\n try {\n var media = this.tech.playlists.media();\n if (media && media.attributes) return media.attributes.NAME;\n } catch (err) {}\n return null;\n }\n\n getRenditionBitrate() {\n try {\n var media = this.tech.playlists.media();\n if (media && media.attributes) return media.attributes.BANDWIDTH;\n } catch (err) {}\n return null;\n }\n\n getRenditionWidth() {\n try {\n var media = this.tech.playlists.media();\n if (media && media.attributes && media.attributes.RESOLUTION) {\n return media.attributes.RESOLUTION.width;\n }\n } catch (err) {}\n return null;\n }\n\n getRenditionHeight() {\n try {\n var media = this.tech.playlists.media();\n if (media && media.attributes && media.attributes.RESOLUTION) {\n return media.attributes.RESOLUTION.height;\n }\n } catch (err) {}\n return null;\n }\n\n getBitrate() {\n // Calculate playback bitrate (actual content consumption rate)\n return this.getContentBitratePlayback();\n }\n\n getManifestBitrate() {\n try {\n // Return highest available bitrate from all renditions\n const playlists = this.tech.playlists.master.playlists;\n if (playlists && playlists.length > 0) {\n return Math.max(...playlists.map((p) => p.attributes.BANDWIDTH));\n }\n } catch (err) {}\n return null;\n }\n\n getSegmentDownloadBitrate() {\n if (\n this.tech.stats?.bandwidth !== undefined &&\n this.tech.stats.bandwidth > 0\n ) {\n return this.tech.stats.bandwidth;\n }\n return null;\n }\n\n getNetworkDownloadBitrate() {\n if (this.tech.throughput !== undefined && this.tech.throughput > 0) {\n return this.tech.throughput;\n }\n return null;\n }\n\n getContentBitratePlayback() {\n try {\n // Get the current active rendition's bitrate from manifest\n const media = this.tech.playlists.media();\n if (media && media.attributes) {\n // Use AVERAGE-BANDWIDTH if available, fallback to BANDWIDTH\n return (\n media.attributes['AVERAGE-BANDWIDTH'] ||\n media.attributes.BANDWIDTH ||\n null\n );\n }\n } catch (err) {}\n return null;\n }\n}\n\nContribHlsTech.isUsing = function (tech) {\n return !!tech.vhs;\n};\n","export default class HlsJs {\n constructor(tech) {\n this.tech = tech.vhs_;\n this.player = tech.el().player; // Store player reference for currentTime\n }\n\n getResource(tech) {\n return this.tech.url;\n }\n\n getRenditionName(tech) {\n try {\n var level = this.tech.levels[this.tech.currentLevel];\n if (level && level.name) return level.name;\n } catch (err) {}\n return null;\n }\n\n getRenditionBitrate(tech) {\n try {\n var level = this.tech.levels[this.tech.currentLevel];\n if (level && level.bitrate) return level.bitrate;\n } catch (err) {}\n return null;\n }\n\n getRenditionWidth(tech) {\n try {\n var level = this.tech.levels[this.tech.currentLevel];\n if (level && level.width) return level.width;\n } catch (err) {}\n return null;\n }\n\n getRenditionHeight(tech) {\n try {\n var level = this.tech.levels[this.tech.currentLevel];\n if (level && level.height) return level.height;\n } catch (err) {}\n return null;\n }\n\n getBitrate() {\n // Default uses playback bitrate (Method 4)\n return this.getContentBitratePlayback();\n }\n\n getContentBitratePlayback() {\n try {\n // Get the current active level's bitrate from manifest\n const level = this.tech.levels[this.tech.currentLevel];\n if (level && level.bitrate) {\n return level.bitrate;\n }\n } catch (err) {}\n return null;\n }\n\n getManifestBitrate() {\n try {\n // Return highest available bitrate from all renditions\n if (this.tech.levels && this.tech.levels.length > 0) {\n return Math.max(...this.tech.levels.map(l => l.bitrate));\n }\n } catch (err) {}\n return null;\n }\n\n getSegmentDownloadBitrate() {\n try {\n // VHS stats.bandwidth\n if (this.tech.stats && this.tech.stats.bandwidth > 0)\n return this.tech.stats.bandwidth;\n } catch (err) {}\n return null;\n }\n\n getNetworkDownloadBitrate() {\n if (this.tech.throughput && this.tech.throughput > 0) {\n return this.tech.throughput;\n }\n return null;\n }\n}\n\nHlsJs.isUsing = function (tech) {\n return !!tech.vhs_;\n};\n","export default class ShakaTech {\n constructor(tech) {\n this.tech = tech.shakaPlayer;\n this.player = tech.el().player; // Store player reference for playback bitrate calculation\n }\n\n getSrc(tech) {\n try {\n return this.tech.getManifestUri();\n } catch (err) {}\n return null;\n }\n\n getRenditionBitrate(tech) {\n try {\n return this.tech.getStats().streamBandwidth;\n } catch (err) {}\n return null;\n }\n\n getManifestBitrate() {\n try {\n // Return highest available bitrate from all variants\n const tracks = this.tech.getVariantTracks();\n if (tracks && tracks.length > 0) {\n return Math.max(\n ...tracks.map((t) => t.videoBandwidth + (t.audioBandwidth || 0)),\n );\n }\n } catch (err) {}\n return null;\n }\n\n getRenditionWidth(tech) {\n try {\n var tracks = this.tech.getVariantTracks();\n for (var i in tracks) {\n var track = tracks[i];\n if (track.active && track.type === 'video') {\n return track.width;\n }\n }\n } catch (err) {}\n return null;\n }\n\n getRenditionHeight(tech) {\n try {\n var tracks = this.tech.getVariantTracks();\n for (var i in tracks) {\n var track = tracks[i];\n if (track.active && track.type === 'video') {\n return track.height;\n }\n }\n } catch (err) {}\n return null;\n }\n\n getBitrate() {\n // Calculate playback bitrate (actual content consumption rate)\n return this.getContentBitratePlayback();\n }\n\n getContentBitratePlayback() {\n try {\n // Get the current variant's bitrate from manifest (streamBandwidth)\n var stats = this.tech.getStats();\n if (stats && stats.streamBandwidth && stats.streamBandwidth > 0) {\n return stats.streamBandwidth;\n }\n } catch (err) {}\n return null;\n }\n\n getSegmentDownloadBitrate() {\n try {\n // Use estimatedBandwidth for measured bitrate\n var stats = this.tech.getStats();\n if (stats && stats.estimatedBandwidth > 0) {\n return stats.estimatedBandwidth;\n }\n } catch (err) {}\n return null;\n }\n\n getNetworkDownloadBitrate() {\n try {\n // Shaka: use estimatedBandwidth for download bitrate (no separate property)\n var stats = this.tech.getStats();\n if (stats && stats.estimatedBandwidth > 0) {\n return stats.estimatedBandwidth;\n }\n } catch (err) {}\n return null;\n }\n}\n\nShakaTech.isUsing = function (tech) {\n return !!tech.shakaPlayer;\n};\n","import nrvideo from '@newrelic/video-core';\nimport pkg from '../package.json';\nimport ContribHlsTech from './techs/contrib-hls';\nimport HlsJsTech from './techs/hls-js';\nimport ShakaTech from './techs/shaka';\nimport VideojsAdsTracker from './ads/videojs-ads';\nimport ImaAdsTracker from './ads/ima';\nimport BrightcoveImaAdsTracker from './ads/brightcove-ima';\nimport FreewheelAdsTracker from './ads/freewheel';\nimport DaiAdsTracker from './ads/dai';\n\nexport default class VideojsTracker extends nrvideo.VideoTracker {\n constructor(player, options) {\n super(player, options);\n\n this.isContentEnd = false;\n this.imaAdCuePoints = '';\n this.daiInitialized = false;\n nrvideo.Core.addTracker(this, options);\n }\n\n getTech() {\n let tech = this.player.tech({ IWillNotUseThisInPlugins: true });\n\n if (tech) {\n if (ContribHlsTech.isUsing(tech)) {\n return new ContribHlsTech(tech);\n } else if (HlsJsTech.isUsing(tech)) {\n return new HlsJsTech(tech);\n } else if (ShakaTech.isUsing(tech)) {\n return new ShakaTech(tech);\n }\n }\n }\n\n getTrackerName() {\n return 'videojs';\n }\n\n getInstrumentationProvider() {\n return 'New Relic';\n }\n\n getInstrumentationName() {\n return this.getPlayerName();\n }\n\n getInstrumentationVersion() {\n return this.getPlayerVersion();\n }\n\n getTrackerVersion() {\n return pkg.version;\n }\n\n getPlayhead() {\n if (\n this.player.ads &&\n this.player.ads.state === 'ads-playback' &&\n this.player.ads.snapshot &&\n this.player.ads.snapshot.currentTime\n ) {\n return this.player.ads.snapshot.currentTime * 1000;\n } else if (this.player.absoluteTime) {\n return this.player.absoluteTime() * 1000;\n } else {\n return this.player.currentTime() * 1000;\n }\n }\n\n getDuration() {\n if (\n this.player.mediainfo &&\n typeof this.player.mediainfo.duration !== 'undefined'\n ) {\n return this.player.mediainfo.duration * 1000; // Brightcove\n } else {\n return this.player.duration() * 1000;\n }\n }\n\n getTitle() {\n return this.player?.mediainfo?.name; // Brightcove\n }\n\n getId() {\n return this.player?.mediainfo?.id; // Brightcove\n }\n\n getLanguage() {\n return this.player?.language();\n }\n\n getSrc() {\n let tech = this.getTech();\n if (tech && tech.getSrc) {\n return tech.getSrc();\n } else {\n return this.player.currentSrc();\n }\n }\n\n getPlayerName() {\n return this.player?.name() || 'videojs';\n }\n\n getPlayerVersion() {\n return this.player?.version || videojs.VERSION;\n }\n\n isMuted() {\n return this.player.muted();\n }\n\n getBitrate() {\n return this.getContentBitratePlayback();\n }\n\n // Measures: Actual content consumption rate during playback\n getContentBitratePlayback() {\n try {\n const tech = this.player.tech({ IWillNotUseThisInPlugins: true });\n\n // 1. Get the current active rendition (The most accurate \"Playback Bitrate\")\n if (tech?.vhs?.playlists?.media()) {\n const activePlaylist = tech.vhs.playlists.media();\n // Use AVERAGE-BANDWIDTH if available, fallback to BANDWIDTH\n return (\n activePlaylist.attributes['AVERAGE-BANDWIDTH'] ||\n activePlaylist.attributes.BANDWIDTH ||\n null\n );\n }\n\n // 2. Fallback to tech wrappers (Shaka/Hls.js) if they have a getBitrate method\n const techWrapper = this.getTech();\n if (techWrapper?.getBitrate) {\n return techWrapper.getBitrate();\n }\n } catch (err) {\n /* ignore */\n }\n return null;\n }\n\n getRenditionName() {\n let tech = this.getTech();\n if (tech && tech.getRenditionName) {\n return tech.getRenditionName();\n }\n }\n\n getManifestBitrate() {\n try {\n const tech = this.player.tech({ IWillNotUseThisInPlugins: true });\n // tech.vhs.playlists.master.playlists contains the array of all renditions\n const allRenditions = tech?.vhs?.playlists?.master?.playlists;\n\n if (allRenditions && allRenditions.length > 0) {\n // Find the highest BANDWIDTH value in the list\n const maxBitrate = Math.max(\n ...allRenditions.map((p) => p.attributes.BANDWIDTH || 0),\n );\n return maxBitrate > 0 ? maxBitrate : null;\n }\n\n // Fallback to tech wrappers (Shaka/Hls.js)\n const techWrapper = this.getTech();\n if (techWrapper?.getManifestBitrate) {\n return techWrapper.getManifestBitrate();\n }\n } catch (e) {\n /* ignore */\n }\n return null;\n }\n\n getSegmentDownloadBitrate() {\n try {\n const tech = this.player.tech({ IWillNotUseThisInPlugins: true });\n\n // VHS stats.bandwidth\n if (tech?.vhs?.stats?.bandwidth && tech.vhs.stats.bandwidth > 0) {\n return tech.vhs.stats.bandwidth;\n }\n\n // Fallback to tech wrappers (Shaka/Hls.js)\n const techWrapper = this.getTech();\n if (techWrapper?.getSegmentDownloadBitrate) {\n return techWrapper.getSegmentDownloadBitrate();\n }\n } catch (err) {\n /* ignore */\n }\n return null;\n }\n\n getNetworkDownloadBitrate() {\n const tech = this.player.tech({ IWillNotUseThisInPlugins: true });\n\n if (tech?.vhs?.throughput && tech.vhs.throughput > 0) {\n return tech.vhs.throughput;\n }\n\n // Fallback to tech wrapper implementation\n const techWrapper = this.getTech();\n if (techWrapper?.getNetworkDownloadBitrate) {\n return techWrapper.getNetworkDownloadBitrate();\n }\n\n return null;\n }\n\n getRenditionHeight() {\n let tech = this.getTech();\n\n if (tech && tech.getRenditionHeight) {\n return tech.getRenditionHeight();\n }\n return this.player.videoHeight();\n }\n\n getRenditionWidth() {\n let tech = this.getTech();\n if (tech && tech.getRenditionWidth) {\n return tech.getRenditionWidth();\n }\n return this.player.videoWidth();\n }\n\n getPlayrate() {\n return this.player.playbackRate();\n }\n\n isAutoplayed() {\n return this.player.autoplay();\n }\n\n isFullscreen() {\n return this.player.isFullscreen();\n }\n\n getPreload() {\n return this.player.preload();\n }\n\n registerListeners() {\n nrvideo.Log.debugCommonVideoEvents(this.player, [\n 'adstart',\n 'adend',\n 'adskip',\n 'adsready',\n 'adserror',\n 'dispose',\n ]);\n\n // BIND LISTENER METHODS\n this.onDownload = this.onDownload.bind(this);\n this.onAdsready = this.onAdsready.bind(this);\n this.onAdStart = this.onAdStart.bind(this);\n this.onAdEnd = this.onAdEnd.bind(this);\n this.onPlay = this.onPlay.bind(this);\n this.onPause = this.onPause.bind(this);\n this.onPlaying = this.onPlaying.bind(this);\n this.onAbort = this.onAbort.bind(this);\n this.onEnded = this.onEnded.bind(this);\n this.onDispose = this.onDispose.bind(this);\n this.onSeeking = this.onSeeking.bind(this);\n this.onSeeked = this.onSeeked.bind(this);\n this.onError = this.onError.bind(this);\n this.onWaiting = this.onWaiting.bind(this);\n this.onTimeupdate = this.onTimeupdate.bind(this);\n this.OnAdsAllpodsCompleted = this.OnAdsAllpodsCompleted.bind(this);\n this.onStreamManager = this.onStreamManager.bind(this);\n\n this.player.on('loadstart', this.onDownload);\n this.player.on('loadeddata', this.onDownload);\n this.player.on('loadedmetadata', this.onDownload);\n this.player.on('adsready', this.onAdsready);\n this.player.on('adstart', this.onAdStart);\n this.player.on('adend', this.onAdEnd);\n this.player.on('play', this.onPlay);\n this.player.on('pause', this.onPause);\n this.player.on('playing', this.onPlaying);\n this.player.on('abort', this.onAbort);\n this.player.on('ended', this.onEnded);\n this.player.on('dispose', this.onDispose);\n this.player.on('seeking', this.onSeeking);\n this.player.on('seeked', this.onSeeked);\n this.player.on('error', this.onError);\n this.player.on('waiting', this.onWaiting);\n this.player.on('timeupdate', this.onTimeupdate);\n this.player.on('ads-allpods-completed', this.OnAdsAllpodsCompleted);\n this.player.on('stream-manager', this.onStreamManager);\n }\n\n unregisterListeners() {\n this.player.off('loadstart', this.onDownload);\n this.player.off('loadeddata', this.onDownload);\n this.player.off('loadedmetadata', this.onDownload);\n this.player.off('adsready', this.onAdsready);\n this.player.off('adstart', this.onAdStart);\n this.player.off('adend', this.onAdEnd);\n this.player.off('play', this.onPlay);\n this.player.off('pause', this.onPause);\n this.player.off('playing', this.onPlaying);\n this.player.off('abort', this.onAbort);\n this.player.off('ended', this.onEnded);\n this.player.off('dispose', this.onDispose);\n this.player.off('seeking', this.onSeeking);\n this.player.off('seeked', this.onSeeked);\n this.player.off('error', this.onError);\n this.player.off('waiting', this.onWaiting);\n this.player.off('timeupdate', this.onTimeupdate);\n this.player.off('ads-allpods-completed', this.OnAdsAllpodsCompleted);\n this.player.off('stream-manager', this.onStreamManager);\n }\n\n onDownload(e) {\n this.sendDownload({ state: e.type });\n }\n\n // DAI methods\n onStreamManager(event) {\n if (!this.adsTracker && event.StreamManager) {\n const daiTracker = new DaiAdsTracker(this.player);\n daiTracker.setStreamManager(event.StreamManager);\n this.setAdsTracker(daiTracker);\n }\n }\n // DAI methods end\n\n onAdsready() {\n if (!this.adsTracker) {\n if (BrightcoveImaAdsTracker.isUsing(this.player)) {\n // BC IMA\n this.setAdsTracker(new BrightcoveImaAdsTracker(this.player));\n } else if (ImaAdsTracker.isUsing(this.player)) {\n // IMA\n this.setAdsTracker(new ImaAdsTracker(this.player));\n } else if (FreewheelAdsTracker.isUsing(this.player)) {\n // FW\n\n this.setAdsTracker(new FreewheelAdsTracker(this.player));\n // } else if (OnceAdsTracker.isUsing(this)) { // Once\n } else {\n // Generic\n this.setAdsTracker(new VideojsAdsTracker(this.player));\n }\n }\n }\n\n onAdStart() {\n this.currentAdPlaying = true;\n\n /* get the array with all the cue points which will be played */\n if (!this.imaAdCuePoints) {\n this.imaAdCuePoints = this.player?.ima?.getAdsManager().getCuePoints();\n }\n }\n onAdEnd() {\n if (this.isContentEnd) {\n this.sendEnd();\n }\n }\n\n OnAdsAllpodsCompleted() {\n this.onEnded.bind(this);\n this.FreewheelAdsCompleted = true;\n }\n\n onPlay() {\n this.sendRequest();\n }\n\n onPause() {\n this.sendPause();\n }\n\n onPlaying() {\n this.sendResume();\n this.sendBufferEnd();\n }\n\n onAbort() {\n this.sendEnd();\n }\n\n onEnded() {\n if (this.adsTracker) {\n this.isContentEnd = true;\n if (this.imaAdCuePoints && !this.imaAdCuePoints.includes(-1)) {\n this.sendEnd();\n }\n } else {\n this.sendEnd();\n }\n }\n\n onDispose() {\n this.sendEnd();\n }\n\n onSeeking() {\n this.sendSeekStart();\n }\n\n onSeeked() {\n this.sendSeekEnd();\n }\n\n onError() {\n const error = this.player.error();\n\n const errorCode = error.code;\n const errorMessage = error.message;\n if (this.player.error && this.player.error()) {\n this.sendError({ errorCode, errorMessage });\n }\n }\n\n onWaiting(e) {\n this.sendBufferStart();\n }\n\n onTimeupdate(e) {\n if (this.getPlayhead() > 0.1) {\n this.sendStart();\n }\n }\n}\n\n// Static members\nexport {\n HlsJsTech,\n ContribHlsTech,\n ShakaTech,\n VideojsAdsTracker,\n ImaAdsTracker,\n BrightcoveImaAdsTracker,\n FreewheelAdsTracker,\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import VideojsTracker from './tracker';\nexport default VideojsTracker;"],"names":["t","e","i","r","d","videoAnalyticsHarvester","h","s","a","n","o","constructor","this","isInitialized","harvestScheduler","eventBuffer","initialize","A","warn","startScheduler","notice","error","message","addEvent","actionName","Events","QOE_AGGREGATE","viewId","addOrReplaceByActionNameAndViewId","addOrReplaceByActionName","add","setHarvestInterval","updateHarvestInterval","forceNextQoeCycle","setBeforeDrainCallback","beforeDrainCallback","refreshQoeKpis","findByActionNameAndViewId","findByActionName","QOE_KPI_KEYS","reset","startTime","stopTime","accumulator","offset","getDeltaTime","Date","getTime","start","stop","getDuration","clone","AdPositions","PRE","MID","POST","COLLECTOR","US","EU","Staging","GOV","VALID_EVENT_TYPES","MAX_PAYLOAD_SIZE","MAX_BEACON_SIZE","MAX_EVENTS_PER_BATCH","INTERVAL","QOE_AGGREGATE_KEYS","on","_listeners","push","off","indexOf","splice","emit","Array","isArray","forEach","call","eventType","type","data","target","buffer","maxPayloadSize","maxEventsPerBatch","currentPayloadSize","totalEvents","smartHarvestPayloadThreshold","Math","floor","overflowPayloadThreshold","smartHarvestEventThreshold","overflowEventThreshold","onSmartHarvestTrigger","findIndex","find","Q3","makeRoom","checkSmartHarvestTrigger","round","setSmartHarvestCallback","drain","isEmpty","size","clear","length","shift","l","retryQueueHandler","u","httpClient","X","fallBackUrl","retryCount","triggerSmartHarvest","isStarted","currentTimerId","harvestCycle","isHarvesting","qoeCycleCount","_lastSentQoeKpis","setupPageLifecycleHandlers","eventBufferSize","scheduleNextHarvest","stopScheduler","clearTimeout","threshold","triggerHarvest","setTimeout","onHarvestInterval","getQueueSize","success","reason","drainEvents","isFinalHarvest","trimEventsToFit","sendChunk","totalChunks","results","handleHarvestFailure","consecutiveFailures","ins","unshift","slice","originalCount","trimmedCount","finalSize","maxSize","addFailedEvents","window","NRVIDEO","config","qoeIntervalFactor","_qoeKpisUnchanged","_saveQoeKpis","c","getRetryEventsToFit","url","c$","payload","body","options","isLastChunk","Promise","send","retry","handleRequestFailure","status","chunk","eventCount","info","region","isNaN","force","document","addEventListener","hidden","Levels","ERROR","WARNING","arguments","NOTICE","debug","DEBUG","debugCommonVideoEvents","level","concat","addEventHandler","prefix","includeTime","getDate","getMinutes","getSeconds","getMilliseconds","SILENT","colorful","documentMode","console","cast","log","apply","ALL","location","search","exec","Error","callback","executeRequest","now","JSON","stringify","obfuscate","reduce","regex","RegExp","flags","includes","source","replace","replacement","navigator","sendBeacon","sendWithBeacon","handleRequestComplete","fetchWithTimeout","method","headers","keepalive","ok","statusText","Sc","AbortController","abort","fetch","signal","name","retryQueue","maxQueueSize","maxQueueSizeBytes","queueSizeBefore","evictOldestEvent","discardEvent","super","customData","heartbeat","parentTracker","_trackerReadyChrono","_actionTable","ACTION_TABLE","_actionAdTable","ACTION_AD_TABLE","setOptions","dispose","unregisterListeners","registerListeners","getHeartbeat","state","_isAd","startHeartbeat","_heartbeatInterval","setInterval","sendHeartbeat","bind","max","stopHeartbeat","clearInterval","sendVideoAction","HEARTBEAT","getAttributes","trackerName","getTrackerName","trackerVersion","getTrackerVersion","coreVersion","rE","timeSinceTrackerReady","isBackgroundEvent","sendVideoAdAction","sendVideoErrorAction","isAd","sendVideoCustomAction","z8","beacon","licenseKey","applicationID","href","ArrayBuffer","byteLength","Blob","FormData","WeakSet","has","exports","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","Symbol","toStringTag","value","appName","qoe","timestamp","timeSinceLoad","performance","g","m","qoeAggregateVersion","f","qoeAggregate","setConfiguration","validateRequiredFields","validateConfigFields","initializeGlobalConfig","values","flatMap","keys","join","filterObfuscateRules","filter","sanitizeQoeIntervalFactor","Number","isInteger","addTracker","trackerInit","removeTracker","getTrackers","sendError","forceHarvest","E","_createdAt","_hb","_acc","_bufferAcc","_viewSession","_viewCount","numberOfErrors","numberOfAds","numberOfVideos","totalPlaytime","weightedAverageBitrate","totalAdPlaytime","isAdBreak","initialBufferingHappened","startupTime","peakBitrate","_lastBitrate","_lastBitrateChangeTimestamp","partialAverageBitrate","_totalBitrateDuration","hadStartupError","hadPlaybackError","totalRebufferingTime","resetFlags","resetChronos","isPlayerReady","isRequested","isPaused","isSeeking","isBuffering","isPlaying","timeSinceRequested","timeSinceStarted","timeSincePaused","timeSinceSeekBegin","timeSinceBufferBegin","timeSinceAdBreakStart","timeSinceLastDownload","timeSinceLastHeartbeat","timeSinceLastRenditionChange","timeSinceLastAdQuartile","timeSinceLastAd","timeSinceLastError","timeSinceLastAdError","timeSinceResumed","timeSinceSeekEnd","playtimeSinceLastEvent","customTimeSinceAttributes","elapsedTime","bufferElapsedTime","_totalAdPlaytime","setIsAd","setTimeSinceAttribute","removeTimeSinceAttribute","getViewSession","random","toString","substring","getViewId","getStateAttributes","timeSinceAdRequested","timeSinceLastAdHeartbeat","timeSinceAdStarted","timeSinceAdPaused","timeSinceAdBufferBegin","timeSinceAdSeekBegin","timeSinceAdBreakBegin","entries","getQoeAttributes","rebufferingRatio","averageBitrate","weightedBitrate","calculateBufferType","goViewCountUp","goPlayerReady","goRequest","goStart","goEnd","goPause","goResume","goBufferStart","goBufferEnd","goSeekStart","goSeekEnd","goAdBreakStart","goAdBreakEnd","goDownload","goHeartbeat","goRenditionChange","goAdQuartile","goError","isError","goLastAd","trackContentBitrateState","resetViewIdTrackedState","clearTotalAdsTime","totalAdTime","startAdsTime","stopAdsTime","setStartupTime","T","v","adsTracker","_lastBufferType","_userId","setPlayer","tag","setUserId","setAdsTracker","player","getElementById","disposeAdsTracker","S","getVideoId","getTitle","isLive","getBitrate","getManifestBitrate","getSegmentDownloadBitrate","getNetworkDownloadBitrate","getWebkitBitrate","webkitVideoDecodedByteCount","_lastWebkitBitrate","getRenditionName","getRenditionBitrate","getRenditionShift","_lastAdRendition","_lastRendition","getRenditionHeight","videoHeight","getRenditionWidth","videoWidth","duration","getPlayhead","currentTime","getLanguage","getSrc","currentSrc","getPlayrate","playbackRate","isMuted","muted","isFullscreen","getCdn","getPlayerName","getPlayerVersion","getFps","isAutoplayed","autoplay","getPreload","preload","getAdQuartile","getAdPosition","getAdPartner","getAdCreativeId","getInstrumentationProvider","getInstrumentationName","getInstrumentationVersion","viewSession","playerName","playerVersion","src","pageUrl","adId","adTitle","adSrc","adCdn","adBitrate","adRenditionName","adRenditionHeight","adRenditionWidth","adDuration","adPlayhead","adLanguage","adIsMuted","adFps","adPosition","adCreativeId","adPartner","contentId","contentTitle","contentSrc","contentCdn","contentPlayhead","contentIsLive","contentBitrate","contentManifestBitrate","contentSegmentDownloadBitrate","contentNetworkDownloadBitrate","contentRenditionName","contentRenditionHeight","contentRenditionWidth","contentDuration","contentLanguage","contentPlayrate","contentIsFullscreen","contentIsMuted","contentIsAutoplayed","contentPreload","contentFps","addQoeAttributes","sendCustom","sendPlayerReady","PLAYER_READY","sendRequest","AD_REQUEST","CONTENT_REQUEST","sendStart","AD_START","CONTENT_START","sendEnd","AD_END","CONTENT_END","sendPause","AD_PAUSE","CONTENT_PAUSE","sendResume","AD_RESUME","CONTENT_RESUME","sendBufferStart","AD_BUFFER_START","CONTENT_BUFFER_START","buildBufferAttributes","bufferType","sendBufferEnd","AD_BUFFER_END","CONTENT_BUFFER_END","isInitialBuffering","sendSeekStart","AD_SEEK_START","CONTENT_SEEK_START","sendSeekEnd","AD_SEEK_END","CONTENT_SEEK_END","sendDownload","DOWNLOAD","AD_ERROR","CONTENT_ERROR","sendRenditionChanged","AD_RENDITION_CHANGE","CONTENT_RENDITION_CHANGE","adjustElapsedTimeForPause","AD_HEARTBEAT","CONTENT_HEARTBEAT","sendAdBreakStart","AD_BREAK_START","sendAdBreakEnd","AD_BREAK_END","sendAdQuartile","quartile","AD_QUARTILE","sendAdClick","AD_CLICK","p","y","_","R","B","b","Constants","Chrono","Log","Emitter","Tracker","VideoTracker","VideoTrackerState","Core","version","NrVideoEventAggregator","RetryQueueHandler","OptimizedHttpClient","HarvestScheduler","recordEvent","_videoCore","_interopRequireDefault","require","_videojsAds","__esModule","default","BrightcoveImaAdsTracker","VideojsAdsTracker","isUsing","ima3","adPlayer","nrvideo","onStarted","onPaused","onResume","onComplete","onSkipped","onError","onClick","skipped","sendClick","daiEvents","DAI_STREAM_INITIALIZED","DAI_STREAM_LOADED","DAI_STREAM_ERROR","DAI_AD_BREAK_STARTED","DAI_AD_BREAK_ENDED","DAI_AD_PERIOD_STARTED","DAI_AD_PERIOD_ENDED","DAI_AD_STARTED","DAI_AD_FIRST_QUARTILE","DAI_AD_MIDPOINT","DAI_AD_THIRD_QUARTILE","DAI_AD_COMPLETE","DAI_AD_SKIPPED","DAI_AD_PAUSED","DAI_AD_RESUMED","DAI_AD_CLICKED","DAI_AD_ERROR","DAI_CUEPOINTS_CHANGED","DAI_TIMED_METADATA","DaiAdsTracker","imaDai","dai","VERSION","ima","streamManager","currentAdData","adBreakData","streamData","cuePoints","initialized","eventHandlers","setStreamManager","setupStreamManagerListeners","google","api","StreamEvent","Type","LOADED","onStreamLoaded","STREAM_INITIALIZED","onStreamInitialized","onStreamError","AD_BREAK_STARTED","onAdBreakStarted","AD_BREAK_ENDED","onAdBreakEnded","AD_PERIOD_STARTED","onAdPeriodStarted","AD_PERIOD_ENDED","onAdPeriodEnded","STARTED","onAdStarted","FIRST_QUARTILE","onAdFirstQuartile","MIDPOINT","onAdMidpoint","THIRD_QUARTILE","onAdThirdQuartile","COMPLETE","onAdComplete","SKIPPED","onAdSkipped","PAUSED","onAdPaused","RESUMED","onAdResumed","CLICK","onAdClicked","VIDEO_CLICKED","CUEPOINTS_CHANGED","onCuePointsChanged","TIMED_METADATA","onTimedMetadata","handler","removeEventListener","event","extractStreamData","errorData","extractErrorData","extractAdBreakData","extractAdData","getClickThroughUrl","extractCuePoints","metadata","extractTimedMetadata","getStreamData","streamId","adTagParameters","streamType","getStreamType","getAdBreak","adBreakId","id","adBreakTitle","title","adCount","ads","position","ad","getAd","getAdId","creativeId","getCreativeId","description","getDescription","advertiserName","getAdvertiserName","clickThroughUrl","dealId","getDealId","wrapperAdIds","getWrapperAdIds","getError","errorCode","getErrorCode","errorMessage","getMessage","innerError","getInnerError","getCuepoints","getType","getData","getAdCuePoints","undefined","getStreamTime","Infinity","isLiveStream","getCurrentAdBreak","getCurrentAd","tech","getTech","stats","bandwidth","FreewheelAdsTracker","FreeWheelPlugin","tv","freewheel","provider","adInstance","getActiveCreativeRendition","getId","err","getPrimaryCreativeRenditionAsset","getUrl","getName","ImaAdsTracker","getCuePoints","getAdsManager","lastAdData","podInfo","podIndex","mediaUrl","manager","getRemainingTime","adVideoElement","getAdVideoElement","bitrate","_lastAdWebkitBitrate","delta","seconds","renditionBitrate","AdEvent","AdErrorEvent","ALL_ADS_COMPLETED","LINEAR_CHANGED","USER_CLOSE","IMPRESSION","CONTENT_PAUSE_REQUESTED","CONTENT_RESUME_REQUESTED","SKIPPABLE_STATE_CHANGED","AD_CAN_PLAY","AD_METADATA","EXPANDED_CHANGED","AD_BREAK_READY","LOG","onLoaded","onStart","onResumed","onFirstQuartile","onMidpoint","onThirdQuartile","onImpression","getAdData","adError","adQuartile","adsManager","currentAd","getMediaUrl","getAdPodInfo","getVastMediaBitrate","controller","adUi","adContainerDiv","querySelector","_package","_contribHls","_hlsJs","_shaka","IWillNotUseThisInPlugins","ContribHlsTech","HlsJsTech","ShakaTech","pkg","onAdrequest","onAdload","onAdstart","onAdend","onAdskip","onAdserror","onAdsClick","onPodStart","onPodEnd","onAdspause","onAdsplay","vhs","el","media","playlists","attributes","NAME","BANDWIDTH","RESOLUTION","width","height","getContentBitratePlayback","master","map","throughput","HlsJs","vhs_","getResource","levels","currentLevel","shakaPlayer","getManifestUri","getStats","streamBandwidth","tracks","getVariantTracks","videoBandwidth","audioBandwidth","track","active","estimatedBandwidth","_ima","_brightcoveIma","_freewheel","_dai","VideojsTracker","isContentEnd","imaAdCuePoints","daiInitialized","snapshot","absoluteTime","mediainfo","language","videojs","activePlaylist","techWrapper","allRenditions","maxBitrate","onDownload","onAdsready","onAdStart","onAdEnd","onPlay","onPause","onPlaying","onAbort","onEnded","onDispose","onSeeking","onSeeked","onWaiting","onTimeupdate","OnAdsAllpodsCompleted","onStreamManager","StreamManager","daiTracker","currentAdPlaying","FreewheelAdsCompleted","code","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","__webpack_modules__","definition","key","obj","prop","_tracker"],"sourceRoot":""}
|