diff --git a/common/changes/@snowplow/browser-plugin-media-tracking/issue-fix_missing_end_in_seekable_property_2025-05-05-13-43.json b/common/changes/@snowplow/browser-plugin-media-tracking/issue-fix_missing_end_in_seekable_property_2025-05-05-13-43.json new file mode 100644 index 000000000..c26c0fff4 --- /dev/null +++ b/common/changes/@snowplow/browser-plugin-media-tracking/issue-fix_missing_end_in_seekable_property_2025-05-05-13-43.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@snowplow/browser-plugin-media-tracking", + "comment": "Add a default 0 value for start and end in the media_element entity time ranges", + "type": "none" + } + ], + "packageName": "@snowplow/browser-plugin-media-tracking" +} \ No newline at end of file diff --git a/plugins/browser-plugin-media-tracking/src/helperFunctions.ts b/plugins/browser-plugin-media-tracking/src/helperFunctions.ts index d5d025a2e..4fa7ebfb3 100644 --- a/plugins/browser-plugin-media-tracking/src/helperFunctions.ts +++ b/plugins/browser-plugin-media-tracking/src/helperFunctions.ts @@ -53,7 +53,11 @@ type TimeRange = { start: number; end: number }; export function timeRangesToObjectArray(t: TimeRanges): TimeRange[] { const out: TimeRange[] = []; for (let i = 0; i < t.length; i++) { - out.push({ start: t.start(i), end: t.end(i) }); + const start = t.start(i); + const end = t.end(i); + if (isFinite(start) && isFinite(end)) { + out.push({ start: start || 0, end: end || 0 }); + } } return out; }