stormcloud-video-player 0.8.3 → 0.8.4

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/lib/index.d.cts CHANGED
@@ -34,6 +34,7 @@ interface StormcloudVideoPlayerConfig {
34
34
  onControlClick?: () => void;
35
35
  licenseKey?: string;
36
36
  vastTagUrl?: string;
37
+ isVmap?: boolean;
37
38
  vmapUrl?: string;
38
39
  vastMode?: 'adstorm' | 'default';
39
40
  minSegmentsBeforePlay?: number;
@@ -178,6 +179,7 @@ declare class StormcloudVideoPlayer {
178
179
  private maxPlaceholderDurationMs;
179
180
  private isShowingPlaceholder;
180
181
  private timeUpdateHandler?;
182
+ private endedHandler?;
181
183
  private emptiedHandler?;
182
184
  private readonly tsScte35Pids;
183
185
  private readonly pmtPids;
@@ -266,6 +268,7 @@ declare class StormcloudVideoPlayer {
266
268
  private markerTypeFromSegmentationTypeId;
267
269
  private initializeTracking;
268
270
  private sendHeartbeatIfNeeded;
271
+ private isVmapEnabled;
269
272
  private fetchAdConfiguration;
270
273
  private fetchAndParseVmap;
271
274
  private parseVmapToBreaks;
@@ -298,7 +301,8 @@ declare class StormcloudVideoPlayer {
298
301
  private showPlaceholderAndWaitForAds;
299
302
  private findCurrentOrNextBreak;
300
303
  private onTimeUpdate;
301
- private handleMidAdJoin;
304
+ private onVideoEnded;
305
+ private handleVmapAdBreak;
302
306
  private scheduleAdStopCountdown;
303
307
  private clearAdStopTimer;
304
308
  private ensureAdStoppedByTimer;
@@ -377,6 +381,7 @@ interface BaseStormcloudPlayerProps {
377
381
  showCustomControls?: boolean;
378
382
  hideLoadingIndicator?: boolean;
379
383
  licenseKey?: string;
384
+ isVmap?: boolean;
380
385
  vmapUrl?: string;
381
386
  adFailsafeTimeoutMs?: number;
382
387
  minSegmentsBeforePlay?: number;
@@ -4076,6 +4081,35 @@ declare function sendAdLoadedTracking(licenseKey: string | undefined, adLoadedIn
4076
4081
  declare function sendAdImpressionTracking(licenseKey: string | undefined, adImpressionInfo: AdImpressionInfo, context?: PlayerAnalyticsContext): Promise<void>;
4077
4082
  declare function sendHeartbeat(licenseKey?: string, context?: PlayerAnalyticsContext, flags?: PlayerMetricFlags): Promise<void>;
4078
4083
 
4084
+ declare const MQTT_CA_CERT_FILE = "src/certs/emqxsl-ca.crt";
4085
+ type MQTTConfig = {
4086
+ enabled: boolean;
4087
+ brokerAddress: string;
4088
+ brokerPort: number;
4089
+ wsPort: number;
4090
+ username: string;
4091
+ password: string;
4092
+ topicPrefix: string;
4093
+ qos: 0 | 1 | 2;
4094
+ brokerUrl?: string;
4095
+ };
4096
+ declare const DEFAULT_MQTT_CONFIG: MQTTConfig;
4097
+ declare const mqttConfig: MQTTConfig;
4098
+ declare function applyMQTTConfig(overrides: Partial<MQTTConfig>): void;
4099
+ declare function isMQTTEnabled(): boolean;
4100
+ declare function buildMQTTBrokerUrl(): string;
4101
+ declare function buildPlayerTopic(licenseKey: string, channel: "metrics" | "impressions" | "heartbeat"): string;
4102
+
4103
+ type MQTTStatus = "disconnected" | "connecting" | "connected" | "error";
4104
+ declare function getMQTTStatus(): MQTTStatus;
4105
+ declare function isMQTTConnected(): boolean;
4106
+ declare function isMQTTConfigured(): boolean;
4107
+ declare function configureMQTT(overrides: Partial<MQTTConfig>): void;
4108
+ declare function initMQTTClient(): void;
4109
+ declare function ensureMQTTClient(): void;
4110
+ declare function publishMQTT(topic: string, payload: Record<string, unknown>): boolean;
4111
+ declare function disconnectMQTT(): void;
4112
+
4079
4113
  declare function initializePolyfills(): void;
4080
4114
 
4081
4115
  interface NavigatorUAData {
@@ -4144,4 +4178,4 @@ interface PalNonceManager {
4144
4178
  }
4145
4179
  declare function createPalNonceManager(): PalNonceManager;
4146
4180
 
4147
- export { type AdBreak, type AdController, type AdControllerOptions, type AdDetectInfo, type AdImpressionInfo, type AdLoadedInfo, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type ImaController, type ImaControllerOptions, type LateJoinPolicy, type OnProgressProps, type PalNonceManager, type PalNonceOptions, type PlayerAnalyticsContext, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, canPlay, createHlsAdPlayer, createPalNonceManager, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, getBrowserConfigOverrides, getBrowserID, getClientInfo, initializePolyfills, isMediaStream, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode };
4181
+ export { type AdBreak, type AdController, type AdControllerOptions, type AdDetectInfo, type AdImpressionInfo, type AdLoadedInfo, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, DEFAULT_MQTT_CONFIG, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type ImaController, type ImaControllerOptions, type LateJoinPolicy, type MQTTConfig, type MQTTStatus, MQTT_CA_CERT_FILE, type OnProgressProps, type PalNonceManager, type PalNonceOptions, type PlayerAnalyticsContext, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, applyMQTTConfig, buildMQTTBrokerUrl, buildPlayerTopic, canPlay, configureMQTT, createHlsAdPlayer, createPalNonceManager, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, disconnectMQTT, ensureMQTTClient, getBrowserConfigOverrides, getBrowserID, getClientInfo, getMQTTStatus, initMQTTClient, initializePolyfills, isMQTTConfigured, isMQTTConnected, isMQTTEnabled, isMediaStream, lazy, logBrowserInfo, merge, mqttConfig, omit, parseQuery, players, publishMQTT, randomString, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode };
package/lib/index.d.ts CHANGED
@@ -34,6 +34,7 @@ interface StormcloudVideoPlayerConfig {
34
34
  onControlClick?: () => void;
35
35
  licenseKey?: string;
36
36
  vastTagUrl?: string;
37
+ isVmap?: boolean;
37
38
  vmapUrl?: string;
38
39
  vastMode?: 'adstorm' | 'default';
39
40
  minSegmentsBeforePlay?: number;
@@ -178,6 +179,7 @@ declare class StormcloudVideoPlayer {
178
179
  private maxPlaceholderDurationMs;
179
180
  private isShowingPlaceholder;
180
181
  private timeUpdateHandler?;
182
+ private endedHandler?;
181
183
  private emptiedHandler?;
182
184
  private readonly tsScte35Pids;
183
185
  private readonly pmtPids;
@@ -266,6 +268,7 @@ declare class StormcloudVideoPlayer {
266
268
  private markerTypeFromSegmentationTypeId;
267
269
  private initializeTracking;
268
270
  private sendHeartbeatIfNeeded;
271
+ private isVmapEnabled;
269
272
  private fetchAdConfiguration;
270
273
  private fetchAndParseVmap;
271
274
  private parseVmapToBreaks;
@@ -298,7 +301,8 @@ declare class StormcloudVideoPlayer {
298
301
  private showPlaceholderAndWaitForAds;
299
302
  private findCurrentOrNextBreak;
300
303
  private onTimeUpdate;
301
- private handleMidAdJoin;
304
+ private onVideoEnded;
305
+ private handleVmapAdBreak;
302
306
  private scheduleAdStopCountdown;
303
307
  private clearAdStopTimer;
304
308
  private ensureAdStoppedByTimer;
@@ -377,6 +381,7 @@ interface BaseStormcloudPlayerProps {
377
381
  showCustomControls?: boolean;
378
382
  hideLoadingIndicator?: boolean;
379
383
  licenseKey?: string;
384
+ isVmap?: boolean;
380
385
  vmapUrl?: string;
381
386
  adFailsafeTimeoutMs?: number;
382
387
  minSegmentsBeforePlay?: number;
@@ -4076,6 +4081,35 @@ declare function sendAdLoadedTracking(licenseKey: string | undefined, adLoadedIn
4076
4081
  declare function sendAdImpressionTracking(licenseKey: string | undefined, adImpressionInfo: AdImpressionInfo, context?: PlayerAnalyticsContext): Promise<void>;
4077
4082
  declare function sendHeartbeat(licenseKey?: string, context?: PlayerAnalyticsContext, flags?: PlayerMetricFlags): Promise<void>;
4078
4083
 
4084
+ declare const MQTT_CA_CERT_FILE = "src/certs/emqxsl-ca.crt";
4085
+ type MQTTConfig = {
4086
+ enabled: boolean;
4087
+ brokerAddress: string;
4088
+ brokerPort: number;
4089
+ wsPort: number;
4090
+ username: string;
4091
+ password: string;
4092
+ topicPrefix: string;
4093
+ qos: 0 | 1 | 2;
4094
+ brokerUrl?: string;
4095
+ };
4096
+ declare const DEFAULT_MQTT_CONFIG: MQTTConfig;
4097
+ declare const mqttConfig: MQTTConfig;
4098
+ declare function applyMQTTConfig(overrides: Partial<MQTTConfig>): void;
4099
+ declare function isMQTTEnabled(): boolean;
4100
+ declare function buildMQTTBrokerUrl(): string;
4101
+ declare function buildPlayerTopic(licenseKey: string, channel: "metrics" | "impressions" | "heartbeat"): string;
4102
+
4103
+ type MQTTStatus = "disconnected" | "connecting" | "connected" | "error";
4104
+ declare function getMQTTStatus(): MQTTStatus;
4105
+ declare function isMQTTConnected(): boolean;
4106
+ declare function isMQTTConfigured(): boolean;
4107
+ declare function configureMQTT(overrides: Partial<MQTTConfig>): void;
4108
+ declare function initMQTTClient(): void;
4109
+ declare function ensureMQTTClient(): void;
4110
+ declare function publishMQTT(topic: string, payload: Record<string, unknown>): boolean;
4111
+ declare function disconnectMQTT(): void;
4112
+
4079
4113
  declare function initializePolyfills(): void;
4080
4114
 
4081
4115
  interface NavigatorUAData {
@@ -4144,4 +4178,4 @@ interface PalNonceManager {
4144
4178
  }
4145
4179
  declare function createPalNonceManager(): PalNonceManager;
4146
4180
 
4147
- export { type AdBreak, type AdController, type AdControllerOptions, type AdDetectInfo, type AdImpressionInfo, type AdLoadedInfo, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type ImaController, type ImaControllerOptions, type LateJoinPolicy, type OnProgressProps, type PalNonceManager, type PalNonceOptions, type PlayerAnalyticsContext, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, canPlay, createHlsAdPlayer, createPalNonceManager, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, getBrowserConfigOverrides, getBrowserID, getClientInfo, initializePolyfills, isMediaStream, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode };
4181
+ export { type AdBreak, type AdController, type AdControllerOptions, type AdDetectInfo, type AdImpressionInfo, type AdLoadedInfo, type AdSchedule, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, DEFAULT_MQTT_CONFIG, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type ImaController, type ImaControllerOptions, type LateJoinPolicy, type MQTTConfig, type MQTTStatus, MQTT_CA_CERT_FILE, type OnProgressProps, type PalNonceManager, type PalNonceOptions, type PlayerAnalyticsContext, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, applyMQTTConfig, buildMQTTBrokerUrl, buildPlayerTopic, canPlay, configureMQTT, createHlsAdPlayer, createPalNonceManager, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, disconnectMQTT, ensureMQTTClient, getBrowserConfigOverrides, getBrowserID, getClientInfo, getMQTTStatus, initMQTTClient, initializePolyfills, isMQTTConfigured, isMQTTConnected, isMQTTEnabled, isMediaStream, lazy, logBrowserInfo, merge, mqttConfig, omit, parseQuery, players, publishMQTT, randomString, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode };