bitmovin-analytics 2.29.4 → 2.30.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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Bitmovin Analytics Collector
2
2
 
3
- [![CircleCI](https://dl.circleci.com/status-badge/img/gh/bitmovin-engineering/bitmovin-analytics-collector/tree/main.svg?style=shield&circle-token=e3ec1c4b9bcaf4bb4818dc6f234845f2807137cc)](https://dl.circleci.com/status-badge/redirect/gh/bitmovin-engineering/bitmovin-analytics-collector/tree/main)
3
+ [![npm version](https://badge.fury.io/js/bitmovin-analytics.svg)](https://badge.fury.io/js/bitmovin-analytics)
4
4
  [![install size](https://packagephobia.com/badge?p=bitmovin-analytics)](https://packagephobia.com/result?p=bitmovin-analytics)
5
5
 
6
6
  Instruments adaptive streaming video players and collects information to be sent to the Bitmovin Analytics service.
@@ -96,6 +96,24 @@ export interface AdapterAPI {
96
96
  export interface AnalyticsStateMachineOptions {
97
97
  starttime: any;
98
98
  }
99
+ declare class QualityChangeService {
100
+ private qualityChangeThreshold;
101
+ private qualityChangeCount;
102
+ private previousVideoBitrate;
103
+ private previousAudioBitrate;
104
+ private resetIntervalId?;
105
+ constructor(qualityChangeThreshold?: number);
106
+ resetValues(): void;
107
+ isQualityChangeEventEnabled(): boolean;
108
+ increaseCounter(): void;
109
+ shouldAllowVideoQualityChange(newBitrate: number | undefined): boolean;
110
+ setVideoBitrate(newBitrate: number): void;
111
+ shouldAllowAudioQualityChange(newBitrate: number | undefined): boolean;
112
+ setAudioBitrate(newBitrate: number): void;
113
+ startResetInterval(): void;
114
+ stopResetInterval(): void;
115
+ private resetCounter;
116
+ }
99
117
  export interface Timespan {
100
118
  start: number;
101
119
  end: number;
@@ -416,9 +434,7 @@ export interface InternalAdapterAPI extends DeferredLicenseLoadingAdapterAPI {
416
434
  readonly stateMachineCallbacks: StateMachineCallbacks;
417
435
  readonly adModule?: AdModuleAPI;
418
436
  readonly videoCompletionTracker?: VideoCompletionTracker;
419
- isQualityChangeEventEnabled(): boolean;
420
- increaseQualityChangeCount(): void;
421
- resetQualityChangeCount(): void;
437
+ readonly qualityChangeService: QualityChangeService;
422
438
  resetSourceRelatedState(): void;
423
439
  getPlayerVersion(): string;
424
440
  getPlayerName(): string;
@@ -493,7 +509,6 @@ declare class Analytics {
493
509
  private startupTime;
494
510
  private adapter;
495
511
  private backendFactory;
496
- private resetQualityChangeCountIntervalId?;
497
512
  private featureManager;
498
513
  private onErrorDetailEventDispatcher;
499
514
  private adAnalytics;
@@ -547,7 +562,6 @@ declare class Analytics {
547
562
  private setVideoTimeStart;
548
563
  private setVideoTimeEnd;
549
564
  private sendQualityChange;
550
- private clearResetQualityChangeInterval;
551
565
  }
552
566
  declare abstract class Adapter {
553
567
  protected analytics: Analytics;
@@ -561,6 +575,10 @@ declare abstract class Adapter {
561
575
  protected markPlayerInstanceAsAugmented(player: any): void;
562
576
  private guardAgainstNotInitializedAnalytics;
563
577
  }
578
+ export declare class AmazonIVSAdapter extends Adapter implements AdapterAPI {
579
+ constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
580
+ private wrapPlayerLoad;
581
+ }
564
582
  export declare class Bitmovin8Adapter extends Adapter implements AdapterAPI {
565
583
  constructor(player: any, opts?: AnalyticsStateMachineOptions);
566
584
  private wrapPlayerLoad;
@@ -580,7 +598,6 @@ export declare class HlsAdapter extends Adapter implements AdapterAPI {
580
598
  export declare class ShakaAdapter extends Adapter implements AdapterAPI {
581
599
  constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
582
600
  private wrapPlayerLoad;
583
- private sendError;
584
601
  }
585
602
  export declare class VideojsAdapter extends Adapter implements AdapterAPI {
586
603
  constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
@@ -606,38 +623,41 @@ declare enum Player {
606
623
  CHROMECAST_SHAKA = "chromecast-shaka",
607
624
  AMAZON_IVS = "amazonivs"
608
625
  }
609
- declare const AnalyticsPlayerModule: {
610
- name: string;
611
- module: {
612
- Analytics: typeof Bitmovin8Adapter;
626
+ /**
627
+ * @see https://github.com/bitmovin-engineering/bitdash/blob/ccd3227dac82d1416a471711b40ee0f65d7f9ddb/src/ModuleDefinition.ts#L17
628
+ */
629
+ export declare const PlayerModule: {
630
+ readonly name: "analytics";
631
+ readonly module: {
632
+ readonly Analytics: typeof Bitmovin8Adapter;
613
633
  };
614
- hooks: {
615
- setup: (module: any, player: any) => Promise<any>;
634
+ readonly hooks: {
635
+ readonly setup: (module: any, player: any) => Promise<any>;
616
636
  };
617
637
  };
618
638
  export declare const adapters: {
619
- HlsAdapter: typeof HlsAdapter;
639
+ AmazonIVSAdapter: typeof AmazonIVSAdapter;
620
640
  Bitmovin8Adapter: typeof Bitmovin8Adapter;
621
- VideojsAdapter: typeof VideojsAdapter;
622
- ShakaAdapter: typeof ShakaAdapter;
623
- DashjsAdapter: typeof DashjsAdapter;
624
641
  CAFv3Adapter: typeof CAFv3Adapter;
642
+ DashjsAdapter: typeof DashjsAdapter;
625
643
  HTMLVideoElementAdapter: typeof HTMLVideoElementAdapter;
644
+ HlsAdapter: typeof HlsAdapter;
645
+ ShakaAdapter: typeof ShakaAdapter;
646
+ VideojsAdapter: typeof VideojsAdapter;
626
647
  };
627
648
  declare const _default: {
628
649
  PlayerModule: {
629
- name: string;
630
- module: {
631
- Analytics: typeof Bitmovin8Adapter;
650
+ readonly name: "analytics";
651
+ readonly module: {
652
+ readonly Analytics: typeof Bitmovin8Adapter;
632
653
  };
633
- hooks: {
634
- setup: (module: any, player: any) => Promise<any>;
654
+ readonly hooks: {
655
+ readonly setup: (module: any, player: any) => Promise<any>;
635
656
  };
636
657
  };
637
658
  };
638
659
 
639
660
  export {
640
- AnalyticsPlayerModule as PlayerModule,
641
661
  CdnProvider as CdnProviders,
642
662
  Player as Players,
643
663
  VERSION as version,