bitmovin-analytics 2.38.0 → 2.39.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.
@@ -99,14 +99,14 @@ export interface AdapterAPI {
99
99
  setCustomDataOnce: (values: CustomDataValues) => void;
100
100
  sourceChange: (config: AnalyticsConfig) => void;
101
101
  }
102
- export interface SsaiAdMetadata {
102
+ export type SsaiAdMetadata = {
103
103
  adId?: string;
104
104
  adSystem?: string;
105
105
  customData?: CustomDataValues;
106
- }
107
- export interface SsaiAdBreakMetadata {
106
+ };
107
+ export type SsaiAdBreakMetadata = {
108
108
  adPosition?: AdPosition;
109
- }
109
+ };
110
110
  export type AdPosition = "midroll" | "postroll" | "preroll";
111
111
  export interface SsaiApi {
112
112
  adBreakStart(adBreakMetadata?: SsaiAdBreakMetadata): any;
@@ -116,552 +116,73 @@ export interface SsaiApi {
116
116
  export interface AnalyticsStateMachineOptions {
117
117
  starttime: any;
118
118
  }
119
- declare class ErrorCode {
120
- readonly code: number;
121
- readonly message: string;
122
- static BITMOVIN_PLAYER_LICENSING_ERROR: ErrorCode;
123
- static SETUP_MISSING_LICENSE_WHITELIST: ErrorCode;
124
- static QUALITY_CHANGE_THRESHOLD_EXCEEDED: ErrorCode;
125
- static BUFFERING_TIMEOUT_REACHED: ErrorCode;
126
- static VIDEO_STARTUP_TIMEOUT_REACHED: ErrorCode;
127
- private constructor();
128
- }
129
- declare class VideoStartFailedReason {
130
- readonly reason: string;
131
- readonly errorCode: ErrorCode | null;
132
- static PAGE_CLOSED: VideoStartFailedReason;
133
- static PLAYER_ERROR: VideoStartFailedReason;
134
- static TIMEOUT: VideoStartFailedReason;
135
- static UNKNOWN: VideoStartFailedReason;
136
- private constructor();
137
- }
138
- export interface ErrorData {
139
- exceptionMessage?: string | undefined;
140
- exceptionStacktrace?: string[] | undefined;
141
- additionalData?: string | undefined;
142
- }
143
- export interface AnalyticsEventBase {
144
- currentTime?: number;
145
- }
146
- interface ErrorEvent$1 extends AnalyticsEventBase {
147
- code: number | undefined;
148
- message: string | undefined;
149
- legacyData?: any;
150
- data: ErrorData;
151
- }
152
- export interface VideoStartFailedEvent extends AnalyticsEventBase {
153
- reason: VideoStartFailedReason;
154
- }
155
- export interface SsaiEventHandler {
156
- onSsaiInteraction: (timestamp: number, eventData: AnalyticsEventBase) => void;
157
- }
158
- export interface DownloadSpeedInfo {
159
- /**
160
- * Number of completed segment downloads
161
- */
162
- segmentsDownloadCount: number;
163
- /**
164
- * Total download size in bytes
165
- */
166
- segmentsDownloadSize: number;
167
- /**
168
- * Total time spent downloading segments in milliseconds
169
- */
170
- segmentsDownloadTime: number;
171
- /**
172
- * Average download speed in kbps
173
- */
174
- avgDownloadSpeed: number;
175
- /**
176
- * Maximum download speed in kbps
177
- */
178
- maxDownloadSpeed: number;
179
- /**
180
- * Minimum download speed in kbps
181
- */
182
- minDownloadSpeed: number;
183
- /**
184
- * Average time to first byte in milliseconds
185
- */
186
- avgTimeToFirstByte: number;
187
- }
188
- export interface Sample extends CustomDataValues {
189
- ad?: 0 | 1 | 2;
190
- adId?: string;
191
- adSystem?: string;
192
- adPosition?: string;
193
- adIndex?: number;
194
- analyticsVersion?: any;
195
- audioBitrate?: number;
196
- audioCodec?: string;
197
- audioLanguage?: string;
198
- autoplay?: any;
199
- buffered?: number;
200
- castTech?: string;
201
- cdnProvider?: any;
202
- completed?: number;
203
- completedTotal?: number;
204
- customUserId?: string;
205
- deviceInformation?: {
206
- deviceClass?: string;
207
- model?: string;
208
- };
209
- domain?: any;
210
- downloadSpeedInfo?: DownloadSpeedInfo;
211
- drmLoadTime?: number;
212
- drmType?: string;
213
- droppedFrames?: number;
214
- duration?: number;
215
- errorCode?: number;
216
- errorData?: string;
217
- errorMessage?: string;
218
- errorSegments?: any[];
219
- impressionId?: string;
220
- isCasting?: boolean;
221
- isLive?: boolean;
222
- isMuted?: boolean;
223
- key?: string;
224
- language?: string;
225
- m3u8Url?: string;
226
- mpdUrl?: string;
227
- pageLoadTime: number;
228
- pageLoadType: number;
229
- path?: string;
230
- paused?: number;
231
- platform: string;
232
- played?: number;
233
- player?: any;
234
- playerKey?: any;
235
- playerStartupTime: number;
236
- playerTech?: string;
237
- progUrl?: string;
238
- screenHeight?: number;
239
- screenWidth?: number;
240
- seeked?: number;
241
- sequenceNumber?: number;
242
- size?: string;
243
- startupTime?: number;
244
- state?: string;
245
- streamFormat?: string;
246
- subtitleEnabled?: boolean;
247
- subtitleLanguage?: string;
248
- supportedVideoCodecs?: string[];
249
- time?: number;
250
- userAgent?: string;
251
- userId?: string;
252
- version?: string;
253
- videoBitrate?: number;
254
- videoCodec?: string;
255
- videoDuration?: number;
256
- videoId?: string;
257
- videoPlaybackHeight?: number;
258
- videoPlaybackWidth?: number;
259
- videoStartFailed?: boolean;
260
- videoStartFailedReason?: string;
261
- videoStartupTime?: number;
262
- videoTimeEnd?: number;
263
- videoTimeStart?: number;
264
- videoTitle?: string;
265
- videoWindowHeight?: number;
266
- videoWindowWidth?: number;
267
- }
268
- declare class SsaiService {
269
- /**
270
- * eventHandler is outside dependency.
271
- * Due to the structure it is not possible to pass it to constructor of this class
272
- */
273
- eventHandler: SsaiEventHandler | undefined;
274
- private state;
275
- /**
276
- * represents the current playing ad metdata
277
- * is `undefined` when no ad is playing (after endAdBreak)
278
- * or omitted by customer
279
- */
280
- private currentAdMetadata;
281
- private adIndex;
282
- private isFirstSampleOfAd;
283
- private player;
284
- constructor(player: any);
285
- adBreakStart(adBreakMetadata?: SsaiAdBreakMetadata): void;
286
- adStart(adMetadata?: SsaiAdMetadata): void;
287
- adBreakEnd(): void;
288
- private reset;
289
- resetSourceRelatedState(): void;
290
- manipulate(sample: Sample): void;
291
- }
292
- declare class QualityChangeService {
293
- private qualityChangeThreshold;
294
- private qualityChangeCount;
295
- private previousVideoBitrate;
296
- private previousAudioBitrate;
297
- private resetIntervalId?;
298
- private startupHasFinished;
299
- constructor(qualityChangeThreshold?: number);
300
- resetValues(): void;
301
- isQualityChangeEventEnabled(): boolean;
302
- increaseCounter(): void;
303
- shouldAllowVideoQualityChange(newBitrate: number | undefined): boolean;
304
- setVideoBitrate(newBitrate: number): void;
305
- setStartupHasFinished(): void;
306
- shouldAllowAudioQualityChange(newBitrate: number | undefined): boolean;
307
- setAudioBitrate(newBitrate: number): void;
308
- startResetInterval(): void;
309
- stopResetInterval(): void;
310
- private resetCounter;
311
- }
312
- export interface Timespan {
313
- start: number;
314
- end: number;
315
- }
316
- declare class VideoCompletionTracker {
317
- private watched;
318
- private videoDuration;
319
- reset(): void;
320
- /**
321
- * sets video Duration
322
- * @param videoDuration in sec
323
- */
324
- setVideoDuration(videoDuration: number): void;
325
- /**
326
- * Adds the watched timespan to the tracker
327
- * @param watched watched timespan you want to add to the tracker
328
- * @returns how much time(video parts which have not been seen yet) was added to the tracker
329
- */
330
- addWatched(watched: Timespan): number;
331
- /**
332
- * returns the relative value of how much the user watch the content of the video
333
- */
334
- getCompletionPercentage(): number;
335
- /**
336
- * Recursive Method to merge All Watched Blocks
337
- * @param watched
338
- *
339
- * @returns how much timespan was overlapping while merging the watchBlocks
340
- */
341
- private mergeWatched;
342
- private getOverlappingType;
343
- private isMomentInTimespan;
344
- private mergeAndReplace;
345
- private getOverlappingTimespan;
346
- private getDuration;
347
- }
348
- export interface FeatureConfig {
349
- enabled: boolean | undefined;
350
- }
351
- declare abstract class Feature<TConfigContainer, TConfig extends FeatureConfig> {
352
- private _config?;
353
- private _isEnabled;
354
- get config(): TConfig | undefined;
355
- get isEnabled(): boolean;
356
- abstract reset(): void;
357
- abstract enabled(): void;
358
- abstract disabled(): void;
359
- abstract configured(authenticated: boolean, config?: TConfig): void;
360
- disable(): void;
361
- configure(authenticated: boolean, configContainer?: TConfigContainer): TConfig | undefined;
362
- abstract extractConfig(configContainer: TConfigContainer): TConfig | undefined;
363
- }
364
- export interface DrmPerformanceInfo {
365
- readonly drmType: string;
366
- readonly drmLoadTime: number;
367
- }
368
- export interface ErrorDetailTrackingConfig extends FeatureConfig {
369
- numberOfHttpRequests: number | undefined;
370
- }
371
- export interface FeatureConfigContainer {
372
- errorDetails?: ErrorDetailTrackingConfig;
373
- }
374
- declare enum PlayerSize {
375
- Fullscreen = "FULLSCREEN",
376
- Window = "WINDOW"
377
- }
378
- export interface PlaybackInfo {
379
- isLive?: boolean;
380
- playerTech?: string;
381
- videoDuration?: number;
382
- streamFormat?: string;
383
- progUrl?: string;
384
- m3u8Url?: string;
385
- mpdUrl?: string;
386
- videoWindowWidth?: number;
387
- videoWindowHeight?: number;
388
- isMuted?: boolean;
389
- videoBitrate?: number;
390
- audioBitrate?: number;
391
- droppedFrames: number;
392
- isCasting?: boolean;
393
- castTech?: string;
394
- screenHeight?: number;
395
- screenWidth?: number;
396
- videoPlaybackHeight?: number;
397
- videoPlaybackWidth?: number;
398
- videoTitle?: string;
399
- size?: PlayerSize;
400
- audioCodec?: string;
401
- videoCodec?: string;
402
- audioLanguage?: string;
403
- subtitleEnabled?: boolean;
404
- subtitleLanguage?: string;
405
- }
406
- export interface SegmentInfo {
407
- name: string;
408
- timestamp: number;
409
- url: string;
410
- }
411
- export type HeartbeatPayload = Pick<Sample, "buffered"> | Pick<Sample, "paused"> | Pick<Sample, "played">;
412
- export interface StateMachineCallbacks {
413
- setup: (duration: number, state: string) => void;
414
- startup: (duration: number, state: string) => void;
415
- playing: (duration: number, state: string) => void;
416
- heartbeat: (duration: number, state: string, payload: HeartbeatPayload) => void;
417
- qualitychange: (duration: number, state: string) => void;
418
- qualitychange_pause: (duration: number, state: string) => void;
419
- qualitychange_rebuffering: (duration: number, state: string) => void;
420
- videoChange: (event: any) => void;
421
- audioChange: (event: any) => void;
422
- audiotrack_changing: () => void;
423
- pause: (duration: number, state: string) => void;
424
- paused_seeking: (duration: number, state: string) => void;
425
- end_play_seeking: (duration: number, state: string) => void;
426
- rebuffering: (duration: number, state: string) => void;
427
- error: (event: Readonly<ErrorEvent$1>) => void;
428
- end: (duration: number, state: string) => void;
429
- unload: (duration: number, state: string) => void;
430
- ad: (duration: number, state: string) => void;
431
- mute: () => void;
432
- unMute: () => void;
433
- subtitle_changing: () => void;
434
- setVideoTimeEndFromEvent: (event: AnalyticsEventBase | any) => void;
435
- setVideoTimeStartFromEvent: (event: AnalyticsEventBase | any) => void;
436
- videoStartFailed: (event: Readonly<VideoStartFailedEvent>, sendRequest: boolean) => void;
437
- startCasting: (duration: number, event: any) => void;
438
- casting: (duration: number, event: any) => void;
439
- manualSourceChange: (event: {
440
- config: AnalyticsConfig;
441
- }) => void;
442
- initialSourceChange: (event: {
443
- config: AnalyticsConfig;
444
- }) => void;
445
- muting_ready: (duration: number, state: string, event: any) => void;
446
- customdatachange: (duration?: number, state?: string, event?: {
447
- values: CustomDataValues;
448
- }) => void;
449
- /** shuts down the collection and removes/clears all timeouts, intervals, event listeners */
450
- release: () => void;
451
- playlistTransition: (event: Readonly<AnalyticsEventBase>) => void;
452
- }
453
- declare class AdCallbacks {
454
- onAdStarted: (event: any) => void;
455
- onAdFinished: (event: any) => void;
456
- onAdBreakStarted: (event: any) => void;
457
- onAdBreakFinished: (event: any) => void;
458
- onAdClicked: (event: any) => void;
459
- onAdError: (event: any) => void;
460
- onAdManifestLoaded: (event: any) => void;
461
- onAdQuartile: (event: any) => void;
462
- onAdSkipped: (event: any) => void;
463
- onPlay: (issuer?: string) => void;
464
- onPause: (issuer?: string) => void;
465
- onBeforeUnload: () => void;
466
- }
467
- export interface AdModuleAPI {
468
- readonly adCallbacks: AdCallbacks;
469
- isLinearAdActive: () => boolean;
470
- getContainer: () => HTMLElement;
471
- getAdModuleInfo: () => {
472
- name?: string;
473
- version?: string;
474
- };
475
- currentTime: () => number;
476
- }
477
- export interface Subscribable<TArgs> {
478
- subscribe(callback: EventHandler<TArgs>): () => void;
479
- unsubscribe(callback: EventHandler<TArgs>): any;
480
- }
481
- export type EventHandler<TArgs> = (args: TArgs) => void;
482
- declare class EventDispatcher<TArgs> implements Subscribable<TArgs> {
483
- private callbacks;
484
- subscribe(callback: EventHandler<TArgs>): () => void;
485
- dispatch(args: TArgs): void;
486
- unsubscribe(callback: EventHandler<TArgs>): void;
487
- get subscriberCount(): number;
488
- }
489
- export interface DeferredLicenseLoadingAdapterAPI {
490
- readonly supportsDeferredLicenseLoading?: boolean;
491
- readonly onLicenseKeyReceived: Subscribable<{
492
- licenseKey: string;
493
- }>;
494
- readonly onLicenseCallFailed: Subscribable<any>;
495
- }
496
- export interface InternalAdapterAPI extends DeferredLicenseLoadingAdapterAPI {
497
- readonly downloadSpeedInfo: DownloadSpeedInfo;
498
- readonly segments: SegmentInfo[];
499
- readonly stateMachineCallbacks: StateMachineCallbacks;
500
- readonly adModule?: AdModuleAPI;
501
- readonly videoCompletionTracker?: VideoCompletionTracker;
502
- readonly qualityChangeService: QualityChangeService;
503
- resetSourceRelatedState(): void;
504
- getPlayerVersion(): string;
505
- getPlayerName(): string;
506
- getPlayerTech(): string;
507
- getAutoPlay(): boolean;
508
- getDrmPerformanceInfo(): DrmPerformanceInfo | undefined;
509
- initialize(analytics: Analytics): Array<Feature<FeatureConfigContainer, FeatureConfig>>;
510
- getCurrentPlaybackInfo(): PlaybackInfo;
511
- sourceChange(config: AnalyticsConfig): void;
512
- clearValues(): void;
513
- onError?(): void;
514
- setCustomData(values: CustomDataValues): void;
515
- }
516
- export interface OnErrorDetailEventObject {
517
- code: number | undefined;
518
- message: string | undefined;
519
- errorData?: ErrorData | undefined;
520
- }
521
- export interface ErrorDetailTrackingSettingsProvider {
522
- readonly licenseKey: string;
523
- readonly domain: string;
524
- readonly impressionId: string;
525
- readonly collectorConfig?: CollectorConfig;
526
- }
527
- declare class FeatureManager<TConfigContainer> {
528
- private features;
529
- registerFeatures(features: Array<Feature<TConfigContainer, FeatureConfig>>): void;
530
- unregisterFeatures(): void;
531
- resetFeatures(): void;
532
- configureFeatures(authenticated: boolean, featureConfigs?: TConfigContainer): void;
533
- }
534
- export interface Backend {
535
- sendRequest(sample: Sample): any;
536
- sendUnloadRequest(sample: Sample): any;
537
- sendRequestSynchronous(sample: Sample): any;
538
- sendAdRequest(sample: any): any;
539
- }
540
- export interface AuthenticationCallback {
541
- authenticationCompleted(success: boolean, featureConfigs: FeatureConfigContainer | undefined): void;
542
- }
543
- export interface LicensingRequest {
544
- key?: string;
545
- domain: string;
546
- version: string;
547
- }
548
- declare class BackendFactory {
549
- createBackend(analyticsConfig: AnalyticsConfig, licensingRequest: LicensingRequest, adapter: DeferredLicenseLoadingAdapterAPI, authenticationCallback: AuthenticationCallback): Backend;
550
- private decorateWithDebuggingBackend;
551
- private decorateWithBackendFromConfigIfAvailable;
552
- private isEnabled;
553
- private createInnerBackend;
554
- }
555
- declare class SessionPersistenceHandler {
556
- readonly userId: string;
557
- constructor(config: AnalyticsConfig);
558
- }
559
- declare class Analytics {
560
- private adapter;
561
- private readonly backendFactory;
562
- private readonly sessionHandler;
563
- private readonly featureManager;
564
- private readonly onErrorDetailEventDispatcher;
565
- private readonly ssaiService?;
566
- get version(): string;
567
- static version: string;
568
- private readonly adAnalytics;
569
- pageLoadTime: number;
570
- playerStartupTime: number;
571
- videoStartupTime: number;
572
- autoplay: boolean | undefined;
573
- sample: Sample;
574
- backend: Backend;
575
- errorDetailTrackingSettingsProvider: ErrorDetailTrackingSettingsProvider;
576
- private config;
577
- private droppedSampleFrames;
578
- private startupTime;
579
- private authenticationCallback;
580
- constructor(config: AnalyticsConfig, adapter: InternalAdapterAPI, backendFactory: BackendFactory, sessionHandler: SessionPersistenceHandler, featureManager: FeatureManager<FeatureConfigContainer>, onErrorDetailEventDispatcher: EventDispatcher<OnErrorDetailEventObject>, ssaiService?: SsaiService | undefined);
581
- get errorDetailSubscribable(): Subscribable<OnErrorDetailEventObject>;
582
- getPlayerInformationFromAdapter(): {
583
- player: string;
584
- version: string;
585
- playerTech: string;
586
- };
587
- init(): void;
588
- release(): void;
589
- setConfigParameters(): void;
590
- generateNewImpressionId(): void;
591
- setUserId(): void;
592
- setupStateMachineCallbacks(): void;
593
- guardAgainstMissingVideoTitle: (oldConfig: AnalyticsConfig, newConfig: AnalyticsConfig | undefined) => void;
594
- guardAgainstMissingIsLive: (oldConfig: AnalyticsConfig, newConfig: AnalyticsConfig | undefined) => void;
595
- sourceChange: (config: AnalyticsConfig | undefined) => void;
596
- setCustomDataOnce: (values: CustomDataValues) => void;
597
- setCustomData: (values: CustomDataValues) => void;
598
- getCurrentImpressionId: () => string | undefined;
599
- getUserId: () => string;
600
- setDuration(duration: number): void;
601
- setState(state: string): void;
602
- setPlaybackVideoPropertiesFromEvent(event: any): void;
603
- setPlaybackAudioPropertiesFromEvent(event: any): void;
604
- setPlaybackInfoFromAdapter(): void;
605
- setupSample(): Sample;
606
- sendAnalyticsRequest(): void;
607
- sendAnalyticsRequestAndClearValues(): void;
608
- sendUnloadRequest(): void;
609
- sendAnalyticsRequestSynchronous(): void;
610
- clearValues(): void;
611
- getIsLiveFromConfigOrPlaybackInfo(config: AnalyticsConfig, isLiveFromPlayback?: boolean): boolean;
612
- /**
613
- * This method sanitizes the input and updates the analytics config.
614
- * @param values Object containing the customData and other fields
615
- */
616
- private changeCustomData;
617
- private buildDefaultAnalyticsConfigValues;
618
- private checkForErrorsInConfig;
619
- private getDomainFromConfig;
620
- private createBackend;
621
- private getDomain;
622
- private setCompletionValues;
623
- private setVideoTimeStart;
624
- private setVideoTimeEnd;
625
- private sendQualityChange;
626
- static create(config: AnalyticsConfig, adapter: InternalAdapterAPI, ssaiService?: SsaiService): Analytics;
627
- }
628
- declare abstract class Adapter {
629
- protected analytics: Analytics;
630
- protected internalAdapter: InternalAdapterAPI;
631
- static version: string;
119
+ export declare class AmazonIVSAdapter implements AdapterAPI {
120
+ private readonly internalAdapter;
121
+ private readonly analytics;
122
+ constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
123
+ private wrapPlayerLoad;
124
+ static readonly version: string;
632
125
  get version(): string;
633
126
  getCurrentImpressionId(): string | undefined;
634
127
  getUserId(): string | undefined;
635
128
  setCustomData(values: CustomDataValues): void;
636
129
  setCustomDataOnce(values: CustomDataValues): void;
637
130
  sourceChange(config: AnalyticsConfig): void;
638
- protected hasPlayerAlreadyBeenAugmented(player: any): boolean;
639
- protected markPlayerInstanceAsAugmented(player: any): void;
640
- protected guardAgainstNotInitializedAnalytics(): boolean;
641
131
  }
642
- export declare class AmazonIVSAdapter extends Adapter implements AdapterAPI {
643
- constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
644
- private wrapPlayerLoad;
645
- }
646
- export declare class Bitmovin8Adapter extends Adapter implements AdapterAPI {
132
+ export declare class Bitmovin8Adapter implements AdapterAPI {
133
+ private readonly internalAdapter;
134
+ private readonly analytics;
647
135
  constructor(player: any, opts?: AnalyticsStateMachineOptions);
648
- ssai: SsaiApi;
649
- /**
650
- * intercept `player.load` with automated sourceChange handling
651
- */
136
+ readonly ssai: SsaiApi;
652
137
  private wrapPlayerLoad;
138
+ static readonly version: string;
139
+ get version(): string;
140
+ getCurrentImpressionId(): string | undefined;
141
+ getUserId(): string | undefined;
142
+ setCustomData(values: CustomDataValues): void;
143
+ setCustomDataOnce(values: CustomDataValues): void;
144
+ sourceChange(config: AnalyticsConfig): void;
653
145
  }
654
146
  export declare const BitmovinPwxAnalyticsPackage: any;
655
- export declare class CAFv3Adapter extends Adapter implements AdapterAPI {
147
+ export declare class CAFv3Adapter implements AdapterAPI {
148
+ private readonly internalAdapter;
149
+ private readonly analytics;
656
150
  constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
151
+ static readonly version: string;
152
+ get version(): string;
153
+ getCurrentImpressionId(): string | undefined;
154
+ getUserId(): string | undefined;
155
+ setCustomData(values: CustomDataValues): void;
156
+ setCustomDataOnce(values: CustomDataValues): void;
157
+ sourceChange(config: AnalyticsConfig): void;
657
158
  }
658
- export declare class DashjsAdapter extends Adapter implements AdapterAPI {
159
+ export declare class DashjsAdapter implements AdapterAPI {
160
+ private readonly internalAdapter;
161
+ private readonly analytics;
659
162
  constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
163
+ static readonly version: string;
164
+ get version(): string;
165
+ getCurrentImpressionId(): string | undefined;
166
+ getUserId(): string | undefined;
167
+ setCustomData(values: CustomDataValues): void;
168
+ setCustomDataOnce(values: CustomDataValues): void;
169
+ sourceChange(config: AnalyticsConfig): void;
660
170
  }
661
- export declare class HlsAdapter extends Adapter implements AdapterAPI {
171
+ export declare class HlsAdapter implements AdapterAPI {
172
+ private readonly internalAdapter;
173
+ private readonly analytics;
662
174
  constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
175
+ static readonly version: string;
176
+ get version(): string;
177
+ getCurrentImpressionId(): string | undefined;
178
+ getUserId(): string | undefined;
179
+ setCustomData(values: CustomDataValues): void;
180
+ setCustomDataOnce(values: CustomDataValues): void;
181
+ sourceChange(config: AnalyticsConfig): void;
663
182
  }
664
- export declare class HTMLVideoElementAdapter extends Adapter implements AdapterAPI {
183
+ export declare class HTMLVideoElementAdapter implements AdapterAPI {
184
+ private readonly internalAdapter;
185
+ private readonly analytics;
665
186
  constructor(config: AnalyticsConfig, player: HTMLVideoElement, opts?: AnalyticsStateMachineOptions, sourceMetadata?: {
666
187
  audioCodec?: string;
667
188
  audioLanguage?: string;
@@ -673,6 +194,12 @@ export declare class HTMLVideoElementAdapter extends Adapter implements AdapterA
673
194
  readonly setSubtitleEnabled: (enabled: boolean) => void;
674
195
  readonly setSubtitleLanguage: (subtitleLanguage: string) => void;
675
196
  };
197
+ static readonly version: string;
198
+ get version(): string;
199
+ getCurrentImpressionId(): string | undefined;
200
+ getUserId(): string | undefined;
201
+ setCustomData(values: CustomDataValues): void;
202
+ setCustomDataOnce(values: CustomDataValues): void;
676
203
  sourceChange(config: AnalyticsConfig, sourceMetadata?: {
677
204
  audioCodec?: string;
678
205
  audioLanguage?: string;
@@ -680,12 +207,30 @@ export declare class HTMLVideoElementAdapter extends Adapter implements AdapterA
680
207
  videoCodec?: string;
681
208
  }): void;
682
209
  }
683
- export declare class ShakaAdapter extends Adapter implements AdapterAPI {
210
+ export declare class ShakaAdapter implements AdapterAPI {
211
+ private readonly internalAdapter;
212
+ private readonly analytics;
684
213
  constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
685
214
  private wrapPlayerLoad;
215
+ static readonly version: string;
216
+ get version(): string;
217
+ getCurrentImpressionId(): string | undefined;
218
+ getUserId(): string | undefined;
219
+ setCustomData(values: CustomDataValues): void;
220
+ setCustomDataOnce(values: CustomDataValues): void;
221
+ sourceChange(config: AnalyticsConfig): void;
686
222
  }
687
- export declare class VideojsAdapter extends Adapter implements AdapterAPI {
223
+ export declare class VideojsAdapter implements AdapterAPI {
224
+ private readonly internalAdapter;
225
+ private readonly analytics;
688
226
  constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
227
+ static readonly version: string;
228
+ get version(): string;
229
+ getCurrentImpressionId(): string | undefined;
230
+ getUserId(): string | undefined;
231
+ setCustomData(values: CustomDataValues): void;
232
+ setCustomDataOnce(values: CustomDataValues): void;
233
+ sourceChange(config: AnalyticsConfig): void;
689
234
  }
690
235
  declare enum CdnProvider {
691
236
  AKAMAI = "akamai",
@@ -709,9 +254,6 @@ declare enum Player {
709
254
  SHAKA = "shaka",
710
255
  VIDEOJS = "videojs"
711
256
  }
712
- /**
713
- * @see https://github.com/bitmovin-engineering/bitdash/blob/ccd3227dac82d1416a471711b40ee0f65d7f9ddb/src/ModuleDefinition.ts#L17
714
- */
715
257
  export declare const PlayerModule: {
716
258
  readonly name: "analytics";
717
259
  readonly module: {