import { Logger } from '@snowplow/tracker-core'; import { BrowserPlugin } from '@snowplow/browser-tracker-core'; import { waitForElement } from './findElem'; import { Config, isElementConfig, isStringConfig } from './config'; import { setUpListeners } from './player'; import { setConfigDefaults } from './helperFunctions'; // These imports are used for documentation purposes only. // Typescript complains that they are unused. // @ts-ignore: TS6133 import { DynamicContext } from '@snowplow/tracker-core'; // @ts-ignore: TS6133 import { HTML5MediaEventTypes } from './config'; // @ts-ignore: TS6133 import { FilterOutRepeatedEvents } from '@snowplow/browser-plugin-media/src/types'; import { endMediaTracking, SnowplowMediaPlugin } from '@snowplow/browser-plugin-media'; let LOG: Logger; export function MediaTrackingPlugin(): BrowserPlugin { return { ...SnowplowMediaPlugin(), logger: (logger) => { LOG = logger; }, }; } /** * Enables media tracking on an HTML `