From 29eca780139e25ff140025be51b21b92c7e69fdd Mon Sep 17 00:00:00 2001 From: Constanza Dibueno Date: Fri, 11 Apr 2025 16:07:35 -0300 Subject: [PATCH 01/10] response mode enabled keys --- src/streaming/controllers/CmcdController.js | 47 ++++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/src/streaming/controllers/CmcdController.js b/src/streaming/controllers/CmcdController.js index 7171dd8ced..449c21aa5f 100644 --- a/src/streaming/controllers/CmcdController.js +++ b/src/streaming/controllers/CmcdController.js @@ -62,6 +62,7 @@ const ALLOWED_TYPES = [ HTTPRequest.LICENSE, HTTPRequest.CONTENT_STEERING_TYPE ]; +const RESPONSE_MODE = 'response'; function CmcdController() { @@ -202,11 +203,11 @@ function CmcdController() { streamProcessors = activeStream.getStreamProcessors(); } - function getQueryParameter(request, cmcdData) { + function getQueryParameter(request, cmcdData, enabledCMCDKeys) { try { if (isCmcdEnabled()) { cmcdData = cmcdData || getCmcdData(request); - const filteredCmcdData = _applyWhitelist(cmcdData); + const filteredCmcdData = _applyWhitelist(cmcdData, enabledCMCDKeys); const finalPayloadString = encodeCmcd(filteredCmcdData); eventBus.trigger(MetricsReportingEvents.CMCD_DATA_GENERATED, { @@ -227,11 +228,10 @@ function CmcdController() { } } - function _applyWhitelist(cmcdData) { + function _applyWhitelist(cmcdData, enabledKeys) { try { const cmcdParametersFromManifest = getCmcdParametersFromManifest(); - const enabledCMCDKeys = cmcdParametersFromManifest.version ? cmcdParametersFromManifest.keys : settings.get().streaming.cmcd.enabledKeys; - + const enabledCMCDKeys = enabledKeys || (cmcdParametersFromManifest.version ? cmcdParametersFromManifest.keys : settings.get().streaming.cmcd.enabledKeys); return Object.keys(cmcdData) .filter(key => enabledCMCDKeys.includes(key)) .reduce((obj, key) => { @@ -775,8 +775,7 @@ function CmcdController() { } const request = commonMediaRequest.customData.request; - - _updateRequestUrlAndHeadersWithCmcd(request); + _updateRequestUrlAndHeadersWithCmcd(request, null, null); commonMediaRequest = { ...commonMediaRequest, @@ -794,7 +793,7 @@ function CmcdController() { * @param request * @private */ - function _updateRequestUrlAndHeadersWithCmcd(request, cmcdData) { + function _updateRequestUrlAndHeadersWithCmcd(request, cmcdData, enabledCMCDKeys) { const currentServiceLocation = request?.serviceLocation; const currentAdaptationSetId = request?.mediaInfo?.id?.toString(); const isIncludedFilters = clientDataReportingController.isServiceLocationIncluded(request.type, currentServiceLocation) && @@ -805,10 +804,10 @@ function CmcdController() { const cmcdMode = cmcdParameters.mode ? cmcdParameters.mode : settings.get().streaming.cmcd.mode; if (cmcdMode === Constants.CMCD_MODE_QUERY) { request.url = Utils.removeQueryParameterFromUrl(request.url, Constants.CMCD_QUERY_KEY); - const additionalQueryParameter = _getAdditionalQueryParameter(request,cmcdData); + const additionalQueryParameter = _getAdditionalQueryParameter(request,cmcdData,enabledCMCDKeys); request.url = Utils.addAdditionalQueryParameterToUrl(request.url, additionalQueryParameter); } else if (cmcdMode === Constants.CMCD_MODE_HEADER) { - request.headers = Object.assign(request.headers, getHeaderParameters(request)); + request.headers = Object.assign(request.headers, getHeaderParameters(request,cmcdData,enabledCMCDKeys)); } } } @@ -819,10 +818,10 @@ function CmcdController() { * @return {array} * @private */ - function _getAdditionalQueryParameter(request,cmcdData) { + function _getAdditionalQueryParameter(request,cmcdData, enabledCMCDKeys) { try { const additionalQueryParameter = []; - const cmcdQueryParameter = getQueryParameter(request,cmcdData); + const cmcdQueryParameter = getQueryParameter(request,cmcdData, enabledCMCDKeys); if (cmcdQueryParameter) { additionalQueryParameter.push(cmcdQueryParameter); @@ -843,18 +842,24 @@ function CmcdController() { if (!ALLOWED_TYPES.includes(requestType)) { return response; } - + let cmcdData = response.request.cmcd; - let params = { - url: 'http://example.com/report', - method: 'GET', - }; - - let httpRequest = new HttpLoaderRequest(params); - _updateRequestUrlAndHeadersWithCmcd(httpRequest, cmcdData) - _sendCmcdDataReport(httpRequest); + const targets = settings.get().streaming.cmcd.targets + const responseModeTargets = targets.filter((element) => element.mode = RESPONSE_MODE); + responseModeTargets.forEach(element => { + if (element.enabled){ + let params = { + url: element.url, + method: 'GET', + }; + let httpRequest = new HttpLoaderRequest(params); + const enabledCMCDKeys = element.enabledKeys; + _updateRequestUrlAndHeadersWithCmcd(httpRequest, cmcdData, enabledCMCDKeys) + _sendCmcdDataReport(httpRequest); + } + }); return response; } From bca18f7ee3abd237dbf55d260c44b2aa20f5c70f Mon Sep 17 00:00:00 2001 From: Constanza Dibueno Date: Mon, 14 Apr 2025 11:43:56 -0300 Subject: [PATCH 02/10] include in request for response mode --- src/streaming/controllers/CmcdController.js | 25 ++++++--------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/src/streaming/controllers/CmcdController.js b/src/streaming/controllers/CmcdController.js index 449c21aa5f..0e8a352749 100644 --- a/src/streaming/controllers/CmcdController.js +++ b/src/streaming/controllers/CmcdController.js @@ -53,15 +53,6 @@ import Errors from '../../core/errors/Errors.js'; const DEFAULT_CMCD_VERSION = 1; const DEFAULT_INCLUDE_IN_REQUESTS = 'segment'; const RTP_SAFETY_FACTOR = 5; -const ALLOWED_TYPES = [ - HTTPRequest.MPD_TYPE, - HTTPRequest.INIT_SEGMENT_TYPE, - HTTPRequest.MEDIA_SEGMENT_TYPE, - HTTPRequest.OTHER_TYPE, - HTTPRequest.XLINK_EXPANSION_TYPE, - HTTPRequest.LICENSE, - HTTPRequest.CONTENT_STEERING_TYPE -]; const RESPONSE_MODE = 'response'; function CmcdController() { @@ -342,9 +333,9 @@ function CmcdController() { return cmcdParametersFromManifest; } - function _isIncludedInRequestFilter(type) { + function _isIncludedInRequestFilter(type, includeInRequests) { const cmcdParametersFromManifest = getCmcdParametersFromManifest(); - let includeInRequestsArray = settings.get().streaming.cmcd.includeInRequests; + let includeInRequestsArray = includeInRequests || settings.get().streaming.cmcd.includeInRequests; if (cmcdParametersFromManifest.version) { includeInRequestsArray = cmcdParametersFromManifest.includeInRequests ? cmcdParametersFromManifest.includeInRequests : [DEFAULT_INCLUDE_IN_REQUESTS]; @@ -764,13 +755,14 @@ function CmcdController() { } function getCmcdRequestInterceptors() { - // Add here the futures request interceptors + // Add here request interceptors return [_cmcdRequestModeInterceptor]; } function _cmcdRequestModeInterceptor(commonMediaRequest){ const requestType = commonMediaRequest.customData.request.type; - if (!ALLOWED_TYPES.includes(requestType)) { + + if (!_isIncludedInRequestFilter(requestType)) { return commonMediaRequest; } @@ -839,16 +831,13 @@ function CmcdController() { function _cmcdResponseModeInterceptor(response){ const requestType = response.request.customData.type; - if (!ALLOWED_TYPES.includes(requestType)) { - return response; - } - + let cmcdData = response.request.cmcd; const targets = settings.get().streaming.cmcd.targets const responseModeTargets = targets.filter((element) => element.mode = RESPONSE_MODE); responseModeTargets.forEach(element => { - if (element.enabled){ + if (element.enabled && _isIncludedInRequestFilter(requestType, element.includeOnRequests)){ let params = { url: element.url, method: 'GET', From d2b51cc7357e773a03b99dded68868d963dadc46 Mon Sep 17 00:00:00 2001 From: Constanza Dibueno Date: Mon, 14 Apr 2025 11:44:10 -0300 Subject: [PATCH 03/10] settings update --- src/core/Settings.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/core/Settings.js b/src/core/Settings.js index 46f3ec646a..000165401c 100644 --- a/src/core/Settings.js +++ b/src/core/Settings.js @@ -1361,7 +1361,16 @@ function Settings() { mode: Constants.CMCD_MODE_QUERY, enabledKeys: Constants.CMCD_AVAILABLE_KEYS, includeInRequests: ['segment', 'mpd'], - version: 1 + version: 1, + targets: [ + { + mode: 'response', + enabled: false, + url: 'http://example.com/report1', + enabledKeys: ['tr', 'd', 's'], + includeOnRequests: ['mpd', 'segment'] + } + ] }, cmsd: { enabled: false, From 6f45b1d6f883685efbf0b1bf88233cbd56bc0aec Mon Sep 17 00:00:00 2001 From: Constanza Dibueno Date: Mon, 14 Apr 2025 15:10:30 -0300 Subject: [PATCH 04/10] custom keys for response mode --- src/streaming/controllers/CmcdController.js | 55 ++++++++++++++++----- 1 file changed, 44 insertions(+), 11 deletions(-) diff --git a/src/streaming/controllers/CmcdController.js b/src/streaming/controllers/CmcdController.js index 0e8a352749..25d54ccaa1 100644 --- a/src/streaming/controllers/CmcdController.js +++ b/src/streaming/controllers/CmcdController.js @@ -194,11 +194,20 @@ function CmcdController() { streamProcessors = activeStream.getStreamProcessors(); } - function getQueryParameter(request, cmcdData, enabledCMCDKeys) { + function getQueryParameter(request, cmcdData, targetSettings) { try { if (isCmcdEnabled()) { cmcdData = cmcdData || getCmcdData(request); - const filteredCmcdData = _applyWhitelist(cmcdData, enabledCMCDKeys); + let enabledKeys; + let customKeys; + + if (targetSettings){ + enabledKeys = targetSettings.enabledKeys; + customKeys = _getCustomKeysValues(targetSettings.customKeys); + } + + let filteredCmcdData = _applyWhitelist(cmcdData, enabledKeys); + filteredCmcdData = {...filteredCmcdData, ...customKeys}; const finalPayloadString = encodeCmcd(filteredCmcdData); eventBus.trigger(MetricsReportingEvents.CMCD_DATA_GENERATED, { @@ -234,11 +243,21 @@ function CmcdController() { } } - function getHeaderParameters(request, cmcdData) { + function getHeaderParameters(request, cmcdData, targetSettings) { try { if (isCmcdEnabled()) { cmcdData = cmcdData || getCmcdData(request); - const filteredCmcdData = _applyWhitelist(cmcdData); + let enabledKeys; + let customKeys; + + if (targetSettings){ + enabledKeys = targetSettings.enabledKeys; + customKeys = _getCustomKeysValues(targetSettings.customKeys); + } + + let filteredCmcdData = _applyWhitelist(cmcdData, enabledKeys); + filteredCmcdData = {...filteredCmcdData, ...customKeys}; + const options = _createCmcdV2HeadersCustomMap(); const headers = toCmcdHeaders(filteredCmcdData, options); @@ -785,7 +804,7 @@ function CmcdController() { * @param request * @private */ - function _updateRequestUrlAndHeadersWithCmcd(request, cmcdData, enabledCMCDKeys) { + function _updateRequestUrlAndHeadersWithCmcd(request, cmcdData, targetSettings) { const currentServiceLocation = request?.serviceLocation; const currentAdaptationSetId = request?.mediaInfo?.id?.toString(); const isIncludedFilters = clientDataReportingController.isServiceLocationIncluded(request.type, currentServiceLocation) && @@ -796,10 +815,10 @@ function CmcdController() { const cmcdMode = cmcdParameters.mode ? cmcdParameters.mode : settings.get().streaming.cmcd.mode; if (cmcdMode === Constants.CMCD_MODE_QUERY) { request.url = Utils.removeQueryParameterFromUrl(request.url, Constants.CMCD_QUERY_KEY); - const additionalQueryParameter = _getAdditionalQueryParameter(request,cmcdData,enabledCMCDKeys); + const additionalQueryParameter = _getAdditionalQueryParameter(request,cmcdData,targetSettings); request.url = Utils.addAdditionalQueryParameterToUrl(request.url, additionalQueryParameter); } else if (cmcdMode === Constants.CMCD_MODE_HEADER) { - request.headers = Object.assign(request.headers, getHeaderParameters(request,cmcdData,enabledCMCDKeys)); + request.headers = Object.assign(request.headers, getHeaderParameters(request,cmcdData,targetSettings)); } } } @@ -810,10 +829,10 @@ function CmcdController() { * @return {array} * @private */ - function _getAdditionalQueryParameter(request,cmcdData, enabledCMCDKeys) { + function _getAdditionalQueryParameter(request,cmcdData, targetSettings) { try { const additionalQueryParameter = []; - const cmcdQueryParameter = getQueryParameter(request,cmcdData, enabledCMCDKeys); + const cmcdQueryParameter = getQueryParameter(request, cmcdData, targetSettings); if (cmcdQueryParameter) { additionalQueryParameter.push(cmcdQueryParameter); @@ -844,8 +863,8 @@ function CmcdController() { }; let httpRequest = new HttpLoaderRequest(params); - const enabledCMCDKeys = element.enabledKeys; - _updateRequestUrlAndHeadersWithCmcd(httpRequest, cmcdData, enabledCMCDKeys) + const targetSettings = element; + _updateRequestUrlAndHeadersWithCmcd(httpRequest, cmcdData, targetSettings) _sendCmcdDataReport(httpRequest); } }); @@ -863,6 +882,20 @@ function CmcdController() { urlLoader.load({request}) } + function _getCustomKeysValues(customKeysObj){ + const result = {}; + if (!customKeysObj || typeof customKeysObj !== 'object') { + return result; + } + + for (const key in customKeysObj) { + if (typeof customKeysObj[key] === 'function') { + result[key] = customKeysObj[key](); + } + } + return result; + } + function reset() { eventBus.off(MediaPlayerEvents.PLAYBACK_RATE_CHANGED, _onPlaybackRateChanged, this); eventBus.off(MediaPlayerEvents.MANIFEST_LOADED, _onManifestLoaded, this); From be7ec7b82dcea85b4986000ac15b72d87510140b Mon Sep 17 00:00:00 2001 From: Constanza Dibueno Date: Mon, 14 Apr 2025 15:18:49 -0300 Subject: [PATCH 05/10] review changes --- src/core/Settings.js | 10 +--------- src/streaming/constants/Constants.js | 10 ++++++++++ src/streaming/controllers/CmcdController.js | 9 ++++----- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/core/Settings.js b/src/core/Settings.js index 000165401c..e2665507e4 100644 --- a/src/core/Settings.js +++ b/src/core/Settings.js @@ -1362,15 +1362,7 @@ function Settings() { enabledKeys: Constants.CMCD_AVAILABLE_KEYS, includeInRequests: ['segment', 'mpd'], version: 1, - targets: [ - { - mode: 'response', - enabled: false, - url: 'http://example.com/report1', - enabledKeys: ['tr', 'd', 's'], - includeOnRequests: ['mpd', 'segment'] - } - ] + targets: [] }, cmsd: { enabled: false, diff --git a/src/streaming/constants/Constants.js b/src/streaming/constants/Constants.js index ce4443665b..b84415a1a1 100644 --- a/src/streaming/constants/Constants.js +++ b/src/streaming/constants/Constants.js @@ -235,6 +235,16 @@ export default { */ CMCD_AVAILABLE_REQUESTS: ['segment', 'mpd', 'xlink', 'steering', 'other'], + /** + * @constant {string} CMCD_MODE specifies all the available modes for CMCD. + * @memberof Constants# + * @static + */ + CMCD_MODE: { + REQUEST: 'request', + RESPONSE: 'response', + EVENT: 'event' + }, INITIALIZE: 'initialize', TEXT_SHOWING: 'showing', diff --git a/src/streaming/controllers/CmcdController.js b/src/streaming/controllers/CmcdController.js index 25d54ccaa1..8d920ed732 100644 --- a/src/streaming/controllers/CmcdController.js +++ b/src/streaming/controllers/CmcdController.js @@ -53,7 +53,6 @@ import Errors from '../../core/errors/Errors.js'; const DEFAULT_CMCD_VERSION = 1; const DEFAULT_INCLUDE_IN_REQUESTS = 'segment'; const RTP_SAFETY_FACTOR = 5; -const RESPONSE_MODE = 'response'; function CmcdController() { @@ -815,10 +814,10 @@ function CmcdController() { const cmcdMode = cmcdParameters.mode ? cmcdParameters.mode : settings.get().streaming.cmcd.mode; if (cmcdMode === Constants.CMCD_MODE_QUERY) { request.url = Utils.removeQueryParameterFromUrl(request.url, Constants.CMCD_QUERY_KEY); - const additionalQueryParameter = _getAdditionalQueryParameter(request,cmcdData,targetSettings); + const additionalQueryParameter = _getAdditionalQueryParameter(request, cmcdData, targetSettings); request.url = Utils.addAdditionalQueryParameterToUrl(request.url, additionalQueryParameter); } else if (cmcdMode === Constants.CMCD_MODE_HEADER) { - request.headers = Object.assign(request.headers, getHeaderParameters(request,cmcdData,targetSettings)); + request.headers = Object.assign(request.headers, getHeaderParameters(request, cmcdData, targetSettings)); } } } @@ -829,7 +828,7 @@ function CmcdController() { * @return {array} * @private */ - function _getAdditionalQueryParameter(request,cmcdData, targetSettings) { + function _getAdditionalQueryParameter(request, cmcdData, targetSettings) { try { const additionalQueryParameter = []; const cmcdQueryParameter = getQueryParameter(request, cmcdData, targetSettings); @@ -854,7 +853,7 @@ function CmcdController() { let cmcdData = response.request.cmcd; const targets = settings.get().streaming.cmcd.targets - const responseModeTargets = targets.filter((element) => element.mode = RESPONSE_MODE); + const responseModeTargets = targets.filter((element) => element.mode = Constants.CMCD_MODE.response); responseModeTargets.forEach(element => { if (element.enabled && _isIncludedInRequestFilter(requestType, element.includeOnRequests)){ let params = { From 4d99b3918572fc8c75c658098866a0940f41fdeb Mon Sep 17 00:00:00 2001 From: Constanza Dibueno Date: Mon, 14 Apr 2025 15:32:11 -0300 Subject: [PATCH 06/10] cmcd report targets JSDocs --- src/core/Settings.js | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/core/Settings.js b/src/core/Settings.js index e2665507e4..88257d53e3 100644 --- a/src/core/Settings.js +++ b/src/core/Settings.js @@ -912,8 +912,24 @@ import Events from './events/Events.js'; * The version of the CMCD to use. * * If not specified this value defaults to 1. + * @property {Array.} [targets] + * List of CMCD reporting targets. */ +/** + * @typedef {Object} CmcdTarget + * @property {string} [mode] + * Mode of the CMCD reporting. + * @property {boolean} enabled + * Whether the CMCD reporting is enabled for this target. + * @property {string} url + * The reporting endpoint URL. + * @property {string[]} enabledKeys + * CMCD keys to include in the report. + * @property {string[]} includeOnRequests + * Types of requests CMCD should be included on (e.g., 'mpd', 'segment'). +*/ + /** * @typedef {Object} module:Settings~CmsdSettings * @property {boolean} [enabled=false] @@ -1362,7 +1378,15 @@ function Settings() { enabledKeys: Constants.CMCD_AVAILABLE_KEYS, includeInRequests: ['segment', 'mpd'], version: 1, - targets: [] + targets: [ + { + mode: 'response', + enabled: false, + url: 'http://example.com/report1', + enabledKeys: ['tr', 'd', 's'], + includeOnRequests: ['mpd', 'segment'], + } + ] }, cmsd: { enabled: false, From cda45ea515794e8d447f7585d14ff4ca236cc53a Mon Sep 17 00:00:00 2001 From: Constanza Dibueno Date: Mon, 14 Apr 2025 15:42:36 -0300 Subject: [PATCH 07/10] add current keys parameter to customKeys --- src/streaming/controllers/CmcdController.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/streaming/controllers/CmcdController.js b/src/streaming/controllers/CmcdController.js index 8d920ed732..c10808f7ba 100644 --- a/src/streaming/controllers/CmcdController.js +++ b/src/streaming/controllers/CmcdController.js @@ -202,7 +202,7 @@ function CmcdController() { if (targetSettings){ enabledKeys = targetSettings.enabledKeys; - customKeys = _getCustomKeysValues(targetSettings.customKeys); + customKeys = _getCustomKeysValues(targetSettings.customKeys, cmcdData); } let filteredCmcdData = _applyWhitelist(cmcdData, enabledKeys); @@ -251,7 +251,7 @@ function CmcdController() { if (targetSettings){ enabledKeys = targetSettings.enabledKeys; - customKeys = _getCustomKeysValues(targetSettings.customKeys); + customKeys = _getCustomKeysValues(targetSettings.customKeys, cmcdData); } let filteredCmcdData = _applyWhitelist(cmcdData, enabledKeys); @@ -881,7 +881,7 @@ function CmcdController() { urlLoader.load({request}) } - function _getCustomKeysValues(customKeysObj){ + function _getCustomKeysValues(customKeysObj, currentKeys){ const result = {}; if (!customKeysObj || typeof customKeysObj !== 'object') { return result; @@ -889,7 +889,7 @@ function CmcdController() { for (const key in customKeysObj) { if (typeof customKeysObj[key] === 'function') { - result[key] = customKeysObj[key](); + result[key] = customKeysObj[key](currentKeys); } } return result; From 8b78a6b8e30d549d8ce95973e57ab753a7efea29 Mon Sep 17 00:00:00 2001 From: Constanza Dibueno Date: Mon, 14 Apr 2025 15:45:12 -0300 Subject: [PATCH 08/10] fix constants --- src/streaming/controllers/CmcdController.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/streaming/controllers/CmcdController.js b/src/streaming/controllers/CmcdController.js index c10808f7ba..5e010c6551 100644 --- a/src/streaming/controllers/CmcdController.js +++ b/src/streaming/controllers/CmcdController.js @@ -853,7 +853,7 @@ function CmcdController() { let cmcdData = response.request.cmcd; const targets = settings.get().streaming.cmcd.targets - const responseModeTargets = targets.filter((element) => element.mode = Constants.CMCD_MODE.response); + const responseModeTargets = targets.filter((element) => element.mode = Constants.CMCD_MODE.RESPONSE); responseModeTargets.forEach(element => { if (element.enabled && _isIncludedInRequestFilter(requestType, element.includeOnRequests)){ let params = { From 7190088a188d0e35c3a006de8d3d2c7bbfdeb288 Mon Sep 17 00:00:00 2001 From: Constanza Dibueno Date: Mon, 14 Apr 2025 15:48:06 -0300 Subject: [PATCH 09/10] fix JSDocs --- src/core/Settings.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/Settings.js b/src/core/Settings.js index 88257d53e3..ca49b69fbe 100644 --- a/src/core/Settings.js +++ b/src/core/Settings.js @@ -920,13 +920,13 @@ import Events from './events/Events.js'; * @typedef {Object} CmcdTarget * @property {string} [mode] * Mode of the CMCD reporting. - * @property {boolean} enabled + * @property {boolean} [enabled] * Whether the CMCD reporting is enabled for this target. - * @property {string} url + * @property {string} [url] * The reporting endpoint URL. - * @property {string[]} enabledKeys + * @property {Array.} [enabledKeys] * CMCD keys to include in the report. - * @property {string[]} includeOnRequests + * @property {Array.} [includeOnRequests] * Types of requests CMCD should be included on (e.g., 'mpd', 'segment'). */ From f6772a378b37d33f2dbf784d8574a2e266c1f85a Mon Sep 17 00:00:00 2001 From: Constanza Dibueno Date: Mon, 14 Apr 2025 15:49:26 -0300 Subject: [PATCH 10/10] fix default settingscmcd targets --- src/core/Settings.js | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/core/Settings.js b/src/core/Settings.js index ca49b69fbe..ba34ea7078 100644 --- a/src/core/Settings.js +++ b/src/core/Settings.js @@ -1378,15 +1378,7 @@ function Settings() { enabledKeys: Constants.CMCD_AVAILABLE_KEYS, includeInRequests: ['segment', 'mpd'], version: 1, - targets: [ - { - mode: 'response', - enabled: false, - url: 'http://example.com/report1', - enabledKeys: ['tr', 'd', 's'], - includeOnRequests: ['mpd', 'segment'], - } - ] + targets: [] }, cmsd: { enabled: false,