Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bitmovin-analytics

Package Overview
Dependencies
Maintainers
1
Versions
134
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bitmovin-analytics - npm Package Compare versions

Comparing version 2.5.2 to 2.5.3-beta2

js/adapters/Adapter.d.ts

583

bitmovin-analytics.d.ts

@@ -1,582 +0,1 @@

// Generated by dts-bundle v0.7.3
// Dependencies for this module:
// ../../bitmovin-player
import { PlayerAPI } from 'bitmovin-player';
import { AdEvent, AdBreakEvent, AdClickedEvent, AdQuartileEvent, ErrorEvent, AdManifestLoadedEvent } from 'bitmovin-player';
import { Ad } from 'bitmovin-player';
import { AdConfig, AdManifestLoadedEvent } from 'bitmovin-player';
const AnalyticsModule: {
name: string;
module: {
Analytics: typeof Bitmovin8Adapter;
};
hooks: {
setup: (module: any, player: any) => Promise<any>;
};
};
export { Player as Players };
export { CdnProvider as CdnProviders };
export { AnalyticsModule as PlayerModule };
export { VERSION as version };
export { HlsAdapter };
export { Bitmovin8Adapter };
export { Bitmovin7Adapter };
export { VideojsAdapter };
export { ShakaAdapter };
export { DashjsAdapter };
export { HTMLVideoElementAdapter };
const adapters: {
HlsAdapter: typeof HlsAdapter;
Bitmovin8Adapter: typeof Bitmovin8Adapter;
Bitmovin7Adapter: typeof Bitmovin7Adapter;
VideojsAdapter: typeof VideojsAdapter;
ShakaAdapter: typeof ShakaAdapter;
DashjsAdapter: typeof DashjsAdapter;
HTMLVideoElementAdapter: typeof HTMLVideoElementAdapter;
};
export { adapters };
const _default: {
PlayerModule: {
name: string;
module: {
Analytics: typeof Bitmovin8Adapter;
};
hooks: {
setup: (module: any, player: any) => Promise<any>;
};
};
};
export default _default;
export enum Player {
BITMOVIN = "bitmovin",
JW = "jw",
RADIANT = "radiant",
VIDEOJS = "videojs",
HLSJS = "hlsjs",
SHAKA = "shaka",
DASHJS = "dashjs",
HTML5 = "html5"
}
export enum CdnProvider {
CLOUDFLARE = "cloudflare",
AKAMAI = "akamai",
FASTLY = "fastly",
MAXCDN = "maxcdn",
CLOUDFRONT = "cloudfront",
CHINACACHE = "chinacache",
BITGRAVITY = "bitgravity"
}
export const VERSION: string;
export class HlsAdapter extends Adapter implements AdapterAPI {
constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
}
export class Bitmovin8Adapter extends Adapter implements AdapterAPI {
constructor(player: PlayerAPI, opts?: AnalyticsStateMachineOptions);
}
export class Bitmovin7Adapter extends Adapter implements AdapterAPI {
constructor(player: any, opts?: AnalyticsStateMachineOptions);
}
export class VideojsAdapter extends Adapter implements AdapterAPI {
constructor(config: AnalyticsConfig, player: videojs.default.Player, opts?: AnalyticsStateMachineOptions);
}
export class ShakaAdapter extends Adapter implements AdapterAPI {
constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
}
export class DashjsAdapter extends Adapter implements AdapterAPI {
constructor(config: AnalyticsConfig, player: any, opts?: AnalyticsStateMachineOptions);
}
export class HTMLVideoElementAdapter extends Adapter implements AdapterAPI {
constructor(config: AnalyticsConfig, player: HTMLVideoElement, opts?: AnalyticsStateMachineOptions);
}
export interface AdapterAPI {
getCurrentImpressionId: () => string | undefined;
setCustomData: (values: any) => void;
setCustomDataOnce: (values: any) => void;
sourceChange: (config: AnalyticsConfig) => void;
}
export interface AnalyticsStateMachineOptions {
starttime: any;
}
export interface CollectorConfig {
backendUrl?: string;
enabled?: boolean;
cookiesEnabled?: boolean;
origin?: string;
}
export interface AnalyticsConfig {
cast?: any;
debug?: boolean | AnalyticsDebugConfig;
ads?: boolean;
key?: string;
playerKey?: string;
player?: string;
cdnProvider?: string;
videoId?: string;
title?: string;
userId?: string;
customData1?: any;
customData2?: any;
customData3?: any;
customData4?: any;
customData5?: any;
experimentName?: string;
config?: CollectorConfig;
}
export abstract class Adapter {
protected analytics: Analytics;
protected internalAdapter: InternalAdapterAPI;
getCurrentImpressionId(): string | undefined;
setCustomData(values: any): void;
setCustomDataOnce(values: any): void;
sourceChange(config: AnalyticsConfig): void;
}
export interface AnalyticsDebugConfig {
fields?: string[];
}
export class Analytics {
static version: string;
static LICENSE_CALL_PENDING_TIMEOUT: number;
static PAGE_LOAD_TYPE_TIMEOUT: number;
static CAST_RECEIVER_CONFIG_MESSAGE: string;
readonly version: string;
pageLoadTime: number;
playerStartupTime: number;
autoplay: boolean | undefined;
sample: Sample;
backend: Backend;
constructor(config: AnalyticsConfig, player: any, adapter: InternalAdapterAPI);
getPlayerInformationFromAdapter(): {
player: string;
version: string;
playerTech: string;
};
updateSamplesToCastClientConfig(samples: Sample[], castClientConfig: CastClientConfig): void;
updateSampleToCastClientConfig(sample: Sample, castClientConfig: CastClientConfig): void;
init(): void;
setConfigParameters(sample?: Sample, config?: AnalyticsConfig): void;
generateNewImpressionId(): void;
setUserId(): void;
setupStateMachineCallbacks(): void;
setCustomDataOnce: (values: any) => void;
guardAgainstMissingVideoTitle: (oldConfig: AnalyticsConfig, newConfig: AnalyticsConfig) => void;
sourceChange: (config: AnalyticsConfig) => void;
setCustomData: (values: any) => any;
getCurrentImpressionId: () => string | undefined;
setDuration(duration: number): void;
setState(state: string): void;
setPlaybackVideoPropertiesFromEvent(event: any): void;
setPlaybackAudioPropertiesFromEvent(event: any): void;
setPlaybackInfoFromAdapter(): void;
setupSample(): Sample;
sendAnalyticsRequest(): void;
sendAnalyticsRequestAndClearValues(): void;
sendUnloadRequest(): void;
sendAnalyticsRequestSynchronous(): void;
clearValues(): void;
}
export interface InternalAdapterAPI extends DeferredLicenseLoadingAdapterAPI {
readonly drmPerformanceInfo: DrmPerformanceInfo;
readonly downloadSpeedInfo: DownloadSpeedInfo;
readonly segments: SegmentInfo[];
readonly stateMachineCallbacks: StateMachineCallbacks;
readonly adModule?: AdModuleAPI;
getPlayerVersion(): string;
getPlayerName(): string;
getPlayerTech(): string;
getAutoPlay(): boolean;
initialize?(): void;
getCurrentPlaybackInfo(): PlaybackInfo;
sourceChange(config: any, timestamp: number): any;
clearValues(): void;
onError?(): void;
}
export interface Sample {
platform: string;
sequenceNumber?: number;
domain?: any;
path?: string;
language?: string;
userAgent?: string;
screenWidth?: number;
screenHeight?: number;
isLive?: boolean;
isCasting?: boolean;
videoDuration?: number;
size?: string;
time?: number;
videoWindowWidth?: number;
videoWindowHeight?: number;
droppedFrames?: number;
played?: number;
buffered?: number;
paused?: number;
ad?: number;
seeked?: number;
videoPlaybackWidth?: number;
videoPlaybackHeight?: number;
videoBitrate?: number;
audioBitrate?: number;
videoTimeStart?: number;
videoTimeEnd?: number;
videoStartupTime?: number;
duration?: number;
startupTime?: number;
analyticsVersion?: any;
playerStartupTime: number;
pageLoadType: number;
streamFormat?: string;
isMuted?: boolean;
progUrl?: string;
m3u8Url?: string;
mpdUrl?: string;
playerTech?: string;
version?: string;
player?: any;
state?: string;
impressionId?: string;
userId?: string;
errorMessage?: any;
errorCode?: any;
errorData?: string;
autoplay?: any;
pageLoadTime: number;
experimentName?: any;
customData1?: any;
customData2?: any;
customData3?: any;
customData4?: any;
customData5?: any;
key?: string;
playerKey?: any;
cdnProvider?: any;
videoId?: string;
videoTitle?: string;
customUserId?: string;
drmType?: string;
drmLoadTime?: number;
subtitleEnabled?: boolean;
subtitleLanguage?: string;
downloadSpeedInfo?: DownloadSpeedInfo;
errorSegments?: any[];
audioCodec?: string;
videoCodec?: string;
supportedVideoCodecs?: string[];
audioLanguage?: string;
}
export interface CastClientConfig {
config: any;
domain: any;
path: string;
language: string;
userAgent: string;
impressionId: string;
userId: string;
}
export interface Backend {
sendRequest(sample: Sample): any;
sendUnloadRequest(sample: Sample): any;
sendRequestSynchronous(sample: Sample): any;
sendAdRequest(sample: AdSample & AdBreakSample & AdAnalyticsSample): any;
}
export interface StateMachineCallbacks {
setup: (time: number, state: string, event: string) => void;
startup: (time: number, state: string) => void;
updateSample: () => void;
playing: (time: number, state: string, event: string) => void;
playingAndBye: (time: number, state: string, event: string) => void;
heartbeat: (time: number, state: any, event: string) => void;
qualitychange: (time: number, state: string) => void;
qualitychange_pause: (time: number, state: string) => void;
qualitychange_rebuffering: (time: number, state: string) => void;
videoChange: (event: string) => void;
audioChange: (event: any) => void;
audiotrack_changing: () => void;
pause: (time: number, state: string, event: string) => void;
paused_seeking: (time: number, state: string, event: string) => void;
end_play_seeking: (time: number, state: string, event: string) => void;
rebuffering: (time: number, state: string, event: string) => void;
error: (event: any) => void;
end: (time: number, state: string, event: string) => void;
ad: (time: number, state: string, event: string) => void;
mute: () => void;
unMute: () => void;
subtitle_changing: () => void;
setVideoTimeEndFromEvent: (event: any) => void;
setVideoTimeStartFromEvent: (event: any) => void;
source_changing: (time: number, state: string, event: any) => void;
ready: (time: number, state: string, event: any) => void;
startCasting: (time: number, event: any) => void;
manualSourceChange: (event: {
config: AnalyticsConfig;
}) => void;
initialSourceChange: (event: {
config: AnalyticsConfig;
}) => void;
muting_ready: (time: number, state: string, event: any) => void;
}
export interface PlaybackInfo {
isLive?: boolean;
playerTech?: string;
videoDuration?: number;
streamFormat?: string;
progUrl?: string;
m3u8Url?: string;
mpdUrl?: string;
videoWindowWidth?: number;
videoWindowHeight?: number;
isMuted?: boolean;
videoBitrate?: number;
audioBitrate?: number;
droppedFrames: number;
isCasting?: boolean;
screenHeight?: number;
screenWidth?: number;
videoPlaybackHeight?: number;
videoPlaybackWidth?: number;
videoTitle?: string;
size?: PlayerSize;
audioCodec?: string;
videoCodec?: string;
audioLanguage?: string;
subtitleEnabled?: boolean;
subtitleLanguage?: string;
}
export interface DrmPerformanceInfo {
drmUsed: boolean;
drmInfo?: string;
drmTime?: number;
}
export interface DownloadSpeedInfo {
/**
* Number of completed segment downloads
*/
segmentsDownloadCount: number;
/**
* Total download size in bytes
*/
segmentsDownloadSize: number;
/**
* Total time spent downloading segments in milliseconds
*/
segmentsDownloadTime: number;
/**
* Average download speed in kbps
*/
avgDownloadSpeed: number;
/**
* Maximum download speed in kbps
*/
maxDownloadSpeed: number;
/**
* Minimum download speed in kbps
*/
minDownloadSpeed: number;
/**
* Average time to first byte in milliseconds
*/
avgTimeToFirstByte: number;
}
export interface SegmentInfo {
name: string;
timestamp: number;
url: string;
}
export class AdCallbacks {
onAdStarted: (event: AdEvent) => void;
onAdFinished: (event: AdEvent) => void;
onAdBreakStarted: (event: AdBreakEvent) => void;
onAdBreakFinished: (event: AdBreakEvent) => void;
onAdClicked: (event: AdClickedEvent) => void;
onAdError: (event: ErrorEvent) => void;
onAdManifestLoaded: (event: AdManifestLoadedEvent) => void;
onAdQuartile: (event: AdQuartileEvent) => void;
onAdSkipped: (event: AdEvent) => void;
onPlay: (issuer?: string | undefined) => void;
onPause: (issuer?: string | undefined) => void;
onBeforeUnload: () => void;
}
export interface AdModuleAPI {
readonly adCallbacks: AdCallbacks;
isLinearAdActive: () => boolean;
getContainer: () => HTMLElement;
getAdModuleInfo: () => {
name?: string;
version?: string;
};
currentTime: () => number;
}
export interface DeferredLicenseLoadingAdapterAPI {
readonly supportsDeferredLicenseLoading?: boolean;
readonly onLicenseKeyReceived: Subscribable<{
licenseKey: string;
}>;
readonly onLicenseCallFailed: Subscribable<{}>;
}
export class AdSample {
wrapperAdsCount?: number;
adSkippable?: boolean;
adSkippableAfter?: number;
adClickthroughUrl?: string;
adDescription?: string;
adDuration?: number;
adId?: string;
adImpressionId?: string;
adPlaybackHeight?: number;
adPlaybackWidth?: number;
adStartupTime?: number;
adSystem?: string;
adTitle?: string;
advertiserName?: string;
apiFramework?: string;
audioBitrate?: number;
clicked: number;
clickPosition?: number;
closed: number;
closePosition?: number;
completed: number;
creativeAdId?: string;
creativeId?: string;
dealId?: string;
isLinear?: boolean;
mediaPath?: string;
mediaServer?: string;
mediaUrl?: string;
midpoint: number;
minSuggestedDuration?: number;
percentageInViewport?: number;
quartile1: number;
quartile3: number;
skipped: number;
skipPosition?: number;
started: number;
streamFormat?: string;
surveyUrl?: string;
time?: number;
timeHovered?: number;
timeInViewport?: number;
timePlayed?: number;
timeUntilHover?: number;
universalAdIdRegistry?: string;
universalAdIdValue?: string;
videoBitrate?: number;
adPodPosition?: number;
exitPosition?: number;
playPercentage?: number;
skipPercentage?: number;
clickPercentage?: number;
closePercentage?: number;
errorPosition?: number;
errorPercentage?: number;
timeToContent?: number;
timeFromContent?: number;
constructor(ad?: Ad);
}
export class AdAnalyticsSample {
adModule?: string;
adModuleVersion?: string;
videoImpressionId?: string;
userAgent?: string;
language?: string;
cdnProvider?: string;
customData1?: string;
customData2?: string;
customData3?: string;
customData4?: string;
customData5?: string;
customUserId?: string;
domain?: string;
experimentName?: string;
key?: string;
path?: string;
player?: string;
playerKey?: string;
playerTech?: string;
screenHeight?: number;
screenWidth?: number;
version?: string;
size?: string;
userId?: string;
videoId?: string;
videoTitle?: string;
videoWindowHeight?: number;
videoWindowWidth?: number;
playerStartupTime?: number;
analyticsVersion?: string;
pageLoadTime?: number;
pageLoadType?: number;
autoplay?: boolean;
platform: string;
audioCodec?: string;
videoCodec?: string;
constructor(sample?: Sample);
}
export class AdBreakSample {
adPosition?: string;
adOffset?: string;
adScheduleTime?: number;
adReplaceContentDuration?: number;
adPreloadOffset?: number;
adTagPath?: string;
adTagServer?: string;
adTagType?: string;
adTagUrl?: string;
adIsPersistent?: boolean;
adIdPlayer?: string;
manifestDownloadTime?: number;
errorCode?: number;
errorData?: string;
errorMessage?: string;
adFallbackIndex: number;
constructor(adConfig?: AdConfig, adManifestLoadedEvent?: AdManifestLoadedEvent);
}
export enum PlayerSize {
Window = "WINDOW",
Fullscreen = "FULLSCREEN"
}
export interface Subscribable<TArgs> {
subscribe(callback: EventHandler<TArgs>): () => void;
unsubscribe(callback: EventHandler<TArgs>): any;
}
type EventHandler<TArgs> = (args: TArgs) => void;
export class EventDispatcher<TArgs> implements Subscribable<TArgs> {
subscribe(callback: EventHandler<TArgs>): () => void;
dispatch(args: TArgs): void;
unsubscribe(callback: EventHandler<TArgs>): void;
readonly subscriberCount: number;
}
export {};
export * from './js/core/BitmovinAnalyticsExport';

@@ -1,1 +0,1 @@

{"name":"bitmovin-analytics","version":"v2.5.2","description":"Bitmovin Analytics Collector collects monitoring devents from video players for the Bitmovin Analytics Service","license":"MIT","repository":{"type":"git","url":"git+https://github.com/bitmovin/bitmovin-analytics-collector.git"},"main":"bitmovinanalytics.min.js","types":"bitmovin-analytics.d.ts","author":"Bitmovin Inc","homepage":"https://bitmovin.com/video-analytics/","maintainers":[{"name":"bitadmin","email":"admin@bitmovin.com"}]}
{"name":"bitmovin-analytics","version":"v2.5.3-beta2","description":"Bitmovin Analytics Collector collects monitoring devents from video players for the Bitmovin Analytics Service","license":"MIT","repository":{"type":"git","url":"git+https://github.com/bitmovin/bitmovin-analytics-collector.git"},"main":"bitmovinanalytics.min.js","types":"bitmovin-analytics.d.ts","author":"Bitmovin Inc","homepage":"https://bitmovin.com/video-analytics/","maintainers":[{"name":"bitadmin","email":"admin@bitmovin.com"}]}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc