stormcloud-video-player 0.3.63 → 0.3.65

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
@@ -145,6 +145,7 @@ declare class StormcloudVideoPlayer {
145
145
  private inAdBreak;
146
146
  private currentAdBreakStartWallClockMs;
147
147
  private expectedAdBreakDurationMs;
148
+ private scteAdBreakEndWallClockMs;
148
149
  private adStopTimerId;
149
150
  private adStartTimerId;
150
151
  private adFailsafeTimerId;
@@ -241,6 +242,9 @@ declare class StormcloudVideoPlayer {
241
242
  private activatePendingScte35CuesForFragment;
242
243
  private onScte35Marker;
243
244
  private startScte35AdBreak;
245
+ private resolveScteBreakStartWallClockMs;
246
+ private setAdBreakDurationBoundary;
247
+ private scheduleAdStopAtBreakBoundary;
244
248
  private parseCueOutDuration;
245
249
  private parseCueOutCont;
246
250
  private parseAttributeList;
@@ -324,6 +328,7 @@ declare class StormcloudVideoPlayer {
324
328
  private selectVastTagsForBreak;
325
329
  private logAdState;
326
330
  private getRemainingAdMs;
331
+ private getAdBreakEndWallClockMs;
327
332
  private findBreakForTime;
328
333
  toggleMute(): void;
329
334
  toggleFullscreen(): Promise<void>;
@@ -4079,6 +4084,35 @@ declare function sendAdLoadedTracking(licenseKey: string | undefined, adLoadedIn
4079
4084
  declare function sendAdImpressionTracking(licenseKey: string | undefined, adImpressionInfo: AdImpressionInfo, context?: PlayerAnalyticsContext): Promise<void>;
4080
4085
  declare function sendHeartbeat(licenseKey?: string, context?: PlayerAnalyticsContext, flags?: PlayerMetricFlags): Promise<void>;
4081
4086
 
4087
+ declare const MQTT_CA_CERT_FILE = "src/certs/emqxsl-ca.crt";
4088
+ type MQTTConfig = {
4089
+ enabled: boolean;
4090
+ brokerAddress: string;
4091
+ brokerPort: number;
4092
+ wsPort: number;
4093
+ username: string;
4094
+ password: string;
4095
+ topicPrefix: string;
4096
+ qos: 0 | 1 | 2;
4097
+ brokerUrl?: string;
4098
+ };
4099
+ declare const DEFAULT_MQTT_CONFIG: MQTTConfig;
4100
+ declare const mqttConfig: MQTTConfig;
4101
+ declare function applyMQTTConfig(overrides: Partial<MQTTConfig>): void;
4102
+ declare function isMQTTEnabled(): boolean;
4103
+ declare function buildMQTTBrokerUrl(): string;
4104
+ declare function buildPlayerTopic(licenseKey: string, channel: "metrics" | "impressions" | "heartbeat"): string;
4105
+
4106
+ type MQTTStatus = "disconnected" | "connecting" | "connected" | "error";
4107
+ declare function getMQTTStatus(): MQTTStatus;
4108
+ declare function isMQTTConnected(): boolean;
4109
+ declare function isMQTTConfigured(): boolean;
4110
+ declare function configureMQTT(overrides: Partial<MQTTConfig>): void;
4111
+ declare function initMQTTClient(): void;
4112
+ declare function ensureMQTTClient(): void;
4113
+ declare function publishMQTT(topic: string, payload: Record<string, unknown>): boolean;
4114
+ declare function disconnectMQTT(): void;
4115
+
4082
4116
  declare function initializePolyfills(): void;
4083
4117
 
4084
4118
  interface NavigatorUAData {
@@ -4134,4 +4168,4 @@ declare function createHlsAdPlayer(contentVideo: HTMLVideoElement, options?: {
4134
4168
  mainHlsInstance?: Hls;
4135
4169
  }): ImaController;
4136
4170
 
4137
- export { type AdBreak, 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 PlayerAnalyticsContext, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, canPlay, createHlsAdPlayer, createImaController, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, getBrowserConfigOverrides, getBrowserID, getClientInfo, getRecommendedAdPlayer, initializePolyfills, isMediaStream, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsGoogleIMA, supportsModernJS, supportsWebKitPresentationMode };
4171
+ export { type AdBreak, 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 PlayerAnalyticsContext, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, applyMQTTConfig, buildMQTTBrokerUrl, buildPlayerTopic, canPlay, configureMQTT, createHlsAdPlayer, createImaController, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, disconnectMQTT, ensureMQTTClient, getBrowserConfigOverrides, getBrowserID, getClientInfo, getMQTTStatus, getRecommendedAdPlayer, initMQTTClient, initializePolyfills, isMQTTConfigured, isMQTTConnected, isMQTTEnabled, isMediaStream, lazy, logBrowserInfo, merge, mqttConfig, omit, parseQuery, players, publishMQTT, randomString, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsGoogleIMA, supportsModernJS, supportsWebKitPresentationMode };
package/lib/index.d.ts CHANGED
@@ -145,6 +145,7 @@ declare class StormcloudVideoPlayer {
145
145
  private inAdBreak;
146
146
  private currentAdBreakStartWallClockMs;
147
147
  private expectedAdBreakDurationMs;
148
+ private scteAdBreakEndWallClockMs;
148
149
  private adStopTimerId;
149
150
  private adStartTimerId;
150
151
  private adFailsafeTimerId;
@@ -241,6 +242,9 @@ declare class StormcloudVideoPlayer {
241
242
  private activatePendingScte35CuesForFragment;
242
243
  private onScte35Marker;
243
244
  private startScte35AdBreak;
245
+ private resolveScteBreakStartWallClockMs;
246
+ private setAdBreakDurationBoundary;
247
+ private scheduleAdStopAtBreakBoundary;
244
248
  private parseCueOutDuration;
245
249
  private parseCueOutCont;
246
250
  private parseAttributeList;
@@ -324,6 +328,7 @@ declare class StormcloudVideoPlayer {
324
328
  private selectVastTagsForBreak;
325
329
  private logAdState;
326
330
  private getRemainingAdMs;
331
+ private getAdBreakEndWallClockMs;
327
332
  private findBreakForTime;
328
333
  toggleMute(): void;
329
334
  toggleFullscreen(): Promise<void>;
@@ -4079,6 +4084,35 @@ declare function sendAdLoadedTracking(licenseKey: string | undefined, adLoadedIn
4079
4084
  declare function sendAdImpressionTracking(licenseKey: string | undefined, adImpressionInfo: AdImpressionInfo, context?: PlayerAnalyticsContext): Promise<void>;
4080
4085
  declare function sendHeartbeat(licenseKey?: string, context?: PlayerAnalyticsContext, flags?: PlayerMetricFlags): Promise<void>;
4081
4086
 
4087
+ declare const MQTT_CA_CERT_FILE = "src/certs/emqxsl-ca.crt";
4088
+ type MQTTConfig = {
4089
+ enabled: boolean;
4090
+ brokerAddress: string;
4091
+ brokerPort: number;
4092
+ wsPort: number;
4093
+ username: string;
4094
+ password: string;
4095
+ topicPrefix: string;
4096
+ qos: 0 | 1 | 2;
4097
+ brokerUrl?: string;
4098
+ };
4099
+ declare const DEFAULT_MQTT_CONFIG: MQTTConfig;
4100
+ declare const mqttConfig: MQTTConfig;
4101
+ declare function applyMQTTConfig(overrides: Partial<MQTTConfig>): void;
4102
+ declare function isMQTTEnabled(): boolean;
4103
+ declare function buildMQTTBrokerUrl(): string;
4104
+ declare function buildPlayerTopic(licenseKey: string, channel: "metrics" | "impressions" | "heartbeat"): string;
4105
+
4106
+ type MQTTStatus = "disconnected" | "connecting" | "connected" | "error";
4107
+ declare function getMQTTStatus(): MQTTStatus;
4108
+ declare function isMQTTConnected(): boolean;
4109
+ declare function isMQTTConfigured(): boolean;
4110
+ declare function configureMQTT(overrides: Partial<MQTTConfig>): void;
4111
+ declare function initMQTTClient(): void;
4112
+ declare function ensureMQTTClient(): void;
4113
+ declare function publishMQTT(topic: string, payload: Record<string, unknown>): boolean;
4114
+ declare function disconnectMQTT(): void;
4115
+
4082
4116
  declare function initializePolyfills(): void;
4083
4117
 
4084
4118
  interface NavigatorUAData {
@@ -4134,4 +4168,4 @@ declare function createHlsAdPlayer(contentVideo: HTMLVideoElement, options?: {
4134
4168
  mainHlsInstance?: Hls;
4135
4169
  }): ImaController;
4136
4170
 
4137
- export { type AdBreak, 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 PlayerAnalyticsContext, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, canPlay, createHlsAdPlayer, createImaController, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, getBrowserConfigOverrides, getBrowserID, getClientInfo, getRecommendedAdPlayer, initializePolyfills, isMediaStream, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsGoogleIMA, supportsModernJS, supportsWebKitPresentationMode };
4171
+ export { type AdBreak, 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 PlayerAnalyticsContext, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type TrackingData, applyMQTTConfig, buildMQTTBrokerUrl, buildPlayerTopic, canPlay, configureMQTT, createHlsAdPlayer, createImaController, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, disconnectMQTT, ensureMQTTClient, getBrowserConfigOverrides, getBrowserID, getClientInfo, getMQTTStatus, getRecommendedAdPlayer, initMQTTClient, initializePolyfills, isMQTTConfigured, isMQTTConnected, isMQTTEnabled, isMediaStream, lazy, logBrowserInfo, merge, mqttConfig, omit, parseQuery, players, publishMQTT, randomString, sendAdDetectTracking, sendAdImpressionTracking, sendAdLoadedTracking, sendHeartbeat, sendInitialTracking, supportsFeature, supportsGoogleIMA, supportsModernJS, supportsWebKitPresentationMode };