stormcloud-video-player 0.8.24 → 0.8.26

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.
Files changed (44) hide show
  1. package/dist/stormcloud-vp.min.js +1 -1
  2. package/lib/index.cjs +669 -126
  3. package/lib/index.cjs.map +1 -1
  4. package/lib/index.d.cts +10 -1
  5. package/lib/index.d.ts +10 -1
  6. package/lib/index.js +666 -127
  7. package/lib/index.js.map +1 -1
  8. package/lib/player/AdBreakOrchestrator.cjs +228 -48
  9. package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
  10. package/lib/player/AdBreakOrchestrator.d.cts +5 -1
  11. package/lib/player/AdConfigManager.cjs +81 -4
  12. package/lib/player/AdConfigManager.cjs.map +1 -1
  13. package/lib/player/AdConfigManager.d.cts +12 -1
  14. package/lib/player/AdPreloadPool.d.cts +1 -1
  15. package/lib/player/AdTimingService.cjs +7 -0
  16. package/lib/player/AdTimingService.cjs.map +1 -1
  17. package/lib/player/AdTimingService.d.cts +2 -1
  18. package/lib/player/HlsEngine.d.cts +1 -1
  19. package/lib/player/PlayerControls.d.cts +1 -1
  20. package/lib/player/Scte35CueManager.d.cts +1 -1
  21. package/lib/player/Scte35Parser.d.cts +1 -1
  22. package/lib/player/StormcloudVideoPlayer.cjs +665 -126
  23. package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
  24. package/lib/player/StormcloudVideoPlayer.d.cts +2 -1
  25. package/lib/player/playerTypes.d.cts +1 -1
  26. package/lib/players/HlsPlayer.cjs +665 -126
  27. package/lib/players/HlsPlayer.cjs.map +1 -1
  28. package/lib/players/HlsPlayer.d.cts +1 -1
  29. package/lib/players/index.cjs +665 -126
  30. package/lib/players/index.cjs.map +1 -1
  31. package/lib/sdk/hlsAdPlayer.cjs +343 -71
  32. package/lib/sdk/hlsAdPlayer.cjs.map +1 -1
  33. package/lib/sdk/hlsAdPlayer.d.cts +1 -1
  34. package/lib/{types-DNiBmPKK.d.cts → types-Xgz2_W1C.d.cts} +7 -0
  35. package/lib/ui/StormcloudVideoPlayer.cjs +665 -126
  36. package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
  37. package/lib/ui/StormcloudVideoPlayer.d.cts +1 -1
  38. package/lib/utils/tracking.cjs +22 -1
  39. package/lib/utils/tracking.cjs.map +1 -1
  40. package/lib/utils/tracking.d.cts +3 -2
  41. package/lib/utils/vastMacros.cjs +14 -1
  42. package/lib/utils/vastMacros.cjs.map +1 -1
  43. package/lib/utils/vastMacros.d.cts +3 -0
  44. package/package.json +1 -1
package/lib/index.d.cts CHANGED
@@ -41,6 +41,10 @@ interface StormcloudVideoPlayerConfig {
41
41
  minSegmentsBeforePlay?: number;
42
42
  ctvAdRequest?: boolean;
43
43
  adTest?: boolean;
44
+ optimizedPods?: boolean;
45
+ podMaxAds?: number;
46
+ podMaxDurationMs?: number;
47
+ podExactDuration?: boolean;
44
48
  }
45
49
  interface AdController {
46
50
  initialize: () => void;
@@ -63,6 +67,8 @@ interface AdController {
63
67
  hidePlaceholder: () => void;
64
68
  getLoadedAdDuration?: () => number | undefined;
65
69
  getLoadedAdId?: () => string | undefined;
70
+ getPodAdCount?: () => number;
71
+ getPodTotalDurationMs?: () => number;
66
72
  }
67
73
  type ImaController = AdController;
68
74
  interface AdControllerOptions {
@@ -108,6 +114,7 @@ interface TrackingData extends ClientInfo {
108
114
  }
109
115
  interface PlayerAnalyticsContext {
110
116
  inputStreamType?: string;
117
+ debugAdTiming?: boolean;
111
118
  }
112
119
  interface HeartbeatData {
113
120
  browserId: string;
@@ -163,6 +170,7 @@ declare class StormcloudVideoPlayer {
163
170
  private get debug();
164
171
  private createAdPlayer;
165
172
  private generateVastUrls;
173
+ private generatePodVastUrl;
166
174
  load(): Promise<void>;
167
175
  private onManifestParsed;
168
176
  private attach;
@@ -3924,6 +3932,7 @@ declare const IS_SAFARI: boolean;
3924
3932
  declare const SUPPORTS_HLS: () => boolean;
3925
3933
  declare const SUPPORTS_DASH: () => boolean;
3926
3934
 
3935
+ declare function buildAnalyticsContext(config: Pick<StormcloudVideoPlayerConfig, "debugAdTiming" | "isLiveStream">): PlayerAnalyticsContext;
3927
3936
  declare function getClientInfo(): ClientInfo;
3928
3937
  declare function getBrowserID(clientInfo: ClientInfo): Promise<string>;
3929
3938
  type PlayerMetricFlags = {
@@ -4035,4 +4044,4 @@ interface PalNonceManager {
4035
4044
  }
4036
4045
  declare function createPalNonceManager(): PalNonceManager;
4037
4046
 
4038
- 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 };
4047
+ 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, buildAnalyticsContext, 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
@@ -41,6 +41,10 @@ interface StormcloudVideoPlayerConfig {
41
41
  minSegmentsBeforePlay?: number;
42
42
  ctvAdRequest?: boolean;
43
43
  adTest?: boolean;
44
+ optimizedPods?: boolean;
45
+ podMaxAds?: number;
46
+ podMaxDurationMs?: number;
47
+ podExactDuration?: boolean;
44
48
  }
45
49
  interface AdController {
46
50
  initialize: () => void;
@@ -63,6 +67,8 @@ interface AdController {
63
67
  hidePlaceholder: () => void;
64
68
  getLoadedAdDuration?: () => number | undefined;
65
69
  getLoadedAdId?: () => string | undefined;
70
+ getPodAdCount?: () => number;
71
+ getPodTotalDurationMs?: () => number;
66
72
  }
67
73
  type ImaController = AdController;
68
74
  interface AdControllerOptions {
@@ -108,6 +114,7 @@ interface TrackingData extends ClientInfo {
108
114
  }
109
115
  interface PlayerAnalyticsContext {
110
116
  inputStreamType?: string;
117
+ debugAdTiming?: boolean;
111
118
  }
112
119
  interface HeartbeatData {
113
120
  browserId: string;
@@ -163,6 +170,7 @@ declare class StormcloudVideoPlayer {
163
170
  private get debug();
164
171
  private createAdPlayer;
165
172
  private generateVastUrls;
173
+ private generatePodVastUrl;
166
174
  load(): Promise<void>;
167
175
  private onManifestParsed;
168
176
  private attach;
@@ -3924,6 +3932,7 @@ declare const IS_SAFARI: boolean;
3924
3932
  declare const SUPPORTS_HLS: () => boolean;
3925
3933
  declare const SUPPORTS_DASH: () => boolean;
3926
3934
 
3935
+ declare function buildAnalyticsContext(config: Pick<StormcloudVideoPlayerConfig, "debugAdTiming" | "isLiveStream">): PlayerAnalyticsContext;
3927
3936
  declare function getClientInfo(): ClientInfo;
3928
3937
  declare function getBrowserID(clientInfo: ClientInfo): Promise<string>;
3929
3938
  type PlayerMetricFlags = {
@@ -4035,4 +4044,4 @@ interface PalNonceManager {
4035
4044
  }
4036
4045
  declare function createPalNonceManager(): PalNonceManager;
4037
4046
 
4038
- 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 };
4047
+ 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, buildAnalyticsContext, 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 };