stormcloud-video-player 0.8.57 → 0.8.59
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/dist/stormcloud-vp.min.js +1 -1
- package/lib/index.cjs +57 -81
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +57 -81
- package/lib/index.js.map +1 -1
- package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
- package/lib/player/AdBreakOrchestrator.d.cts +1 -1
- package/lib/player/AdConfigManager.cjs +47 -76
- package/lib/player/AdConfigManager.cjs.map +1 -1
- package/lib/player/AdConfigManager.d.cts +2 -1
- package/lib/player/AdTimingService.d.cts +1 -1
- package/lib/player/HlsEngine.d.cts +1 -1
- package/lib/player/PlayerControls.d.cts +1 -1
- package/lib/player/Scte35CueManager.d.cts +1 -1
- package/lib/player/Scte35Parser.d.cts +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +53 -79
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +1 -1
- package/lib/player/playerTypes.d.cts +1 -1
- package/lib/players/HlsPlayer.cjs +53 -79
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.d.cts +1 -1
- package/lib/players/index.cjs +53 -79
- package/lib/players/index.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.d.cts +1 -1
- package/lib/{types-cTqIKw_D.d.cts → types-52ASml2N.d.cts} +1 -0
- package/lib/ui/StormcloudVideoPlayer.cjs +57 -81
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.d.cts +1 -1
- package/lib/utils/ctvVastSignals.cjs +30 -36
- package/lib/utils/ctvVastSignals.cjs.map +1 -1
- package/lib/utils/tracking.cjs.map +1 -1
- package/lib/utils/tracking.d.cts +1 -1
- package/lib/utils/vastEnvironmentSignals.cjs +16 -36
- package/lib/utils/vastEnvironmentSignals.cjs.map +1 -1
- package/lib/utils/vastEnvironmentSignals.d.cts +0 -3
- package/lib/utils/vastMacros.cjs +13 -34
- package/lib/utils/vastMacros.cjs.map +1 -1
- package/lib/utils/vastMacros.d.cts +1 -3
- package/package.json +1 -1
package/lib/index.cjs
CHANGED
|
@@ -2736,34 +2736,8 @@ function ingestPlayerTracking(licenseKey, channel, body) {
|
|
|
2736
2736
|
})();
|
|
2737
2737
|
}
|
|
2738
2738
|
// src/utils/vastEnvironmentSignals.ts
|
|
2739
|
-
var AIRY_ANDROID_APP_ID = "com.freeairytv.android";
|
|
2740
|
-
var AIRY_WEBOS_APP_ID = "com.freeairytv.webos";
|
|
2741
|
-
var AIRY_TIZEN_APP_ID = "com.freeairytv.samsung";
|
|
2742
|
-
var AIRY_ROKU_APP_ID = "com.freeairytv.roku";
|
|
2743
|
-
var AIRY_APP_NAME = "AiryTV Movies & TV";
|
|
2744
|
-
var AIRY_DEFAULT_CONTENT_URL = "https://live.airy.tv";
|
|
2745
2739
|
var CTV_SESSION_STORAGE_KEY = "stormcloud.ctv.sid";
|
|
2746
2740
|
var PLAYER_ID_STORAGE_KEY = "stormcloud.player.id";
|
|
2747
|
-
var LG_TEST_APP_ID = "com.hulu.plus";
|
|
2748
|
-
var LG_TEST_APP_NAME = "Hulu";
|
|
2749
|
-
var LG_TEST_CONTENT_URL = "https://www.hulu.com/live-tv";
|
|
2750
|
-
var _lgTestDeviceId;
|
|
2751
|
-
function getLgTestDeviceId() {
|
|
2752
|
-
if (!_lgTestDeviceId) _lgTestDeviceId = createUuid();
|
|
2753
|
-
return _lgTestDeviceId;
|
|
2754
|
-
}
|
|
2755
|
-
function isLgWebOS() {
|
|
2756
|
-
if (typeof navigator === "undefined") return false;
|
|
2757
|
-
return /Web0S|webOS|LG Browser|LGSTB|LGE/i.test(navigator.userAgent);
|
|
2758
|
-
}
|
|
2759
|
-
function getDefaultAppId() {
|
|
2760
|
-
if (typeof navigator === "undefined") return AIRY_ANDROID_APP_ID;
|
|
2761
|
-
var ua = navigator.userAgent;
|
|
2762
|
-
if (/Web0S|webOS|LG Browser|LGSTB|LGE/i.test(ua)) return AIRY_WEBOS_APP_ID;
|
|
2763
|
-
if (/Tizen|Samsung/i.test(ua)) return AIRY_TIZEN_APP_ID;
|
|
2764
|
-
if (/Roku/i.test(ua)) return AIRY_ROKU_APP_ID;
|
|
2765
|
-
return AIRY_ANDROID_APP_ID;
|
|
2766
|
-
}
|
|
2767
2741
|
var DEVICE_ID_STORAGE_KEYS = [
|
|
2768
2742
|
"rdid",
|
|
2769
2743
|
"ifa",
|
|
@@ -2784,23 +2758,29 @@ function resolveVastEnvironmentSignals(isCtv) {
|
|
|
2784
2758
|
var _ref;
|
|
2785
2759
|
var bridgeSignals = readNativeBridgeSignals();
|
|
2786
2760
|
var platformDevice = readPlatformNativeDeviceId();
|
|
2787
|
-
var
|
|
2788
|
-
var deviceId =
|
|
2789
|
-
var deviceIdType = bridgeSignals.deviceIdType || readStoredString("deviceIdType") || readStoredString("idtype") || platformDevice.deviceIdType || inferDeviceIdType()
|
|
2761
|
+
var realDeviceId = bridgeSignals.deviceId || readStoredDeviceId() || platformDevice.deviceId;
|
|
2762
|
+
var deviceId = realDeviceId;
|
|
2763
|
+
var deviceIdType = bridgeSignals.deviceIdType || readStoredString("deviceIdType") || readStoredString("idtype") || platformDevice.deviceIdType || inferDeviceIdType();
|
|
2790
2764
|
var platformLat = bridgeSignals.deviceId ? bridgeSignals.limitAdTracking : platformDevice.limitAdTracking;
|
|
2791
2765
|
var limitAdTracking = deviceId != null ? (_ref = platformLat !== null && platformLat !== void 0 ? platformLat : readStoredLimitAdTracking()) !== null && _ref !== void 0 ? _ref : false : void 0;
|
|
2766
|
+
if (!deviceId && isCtv) {
|
|
2767
|
+
var dpid = getOrCreateStoredUuid(PLAYER_ID_STORAGE_KEY);
|
|
2768
|
+
if (dpid) {
|
|
2769
|
+
var _ref1;
|
|
2770
|
+
deviceId = dpid;
|
|
2771
|
+
deviceIdType = "dpid";
|
|
2772
|
+
limitAdTracking = (_ref1 = platformLat !== null && platformLat !== void 0 ? platformLat : readStoredLimitAdTracking()) !== null && _ref1 !== void 0 ? _ref1 : false;
|
|
2773
|
+
}
|
|
2774
|
+
}
|
|
2792
2775
|
if (isCtv) {
|
|
2793
2776
|
return _object_spread_props(_object_spread({
|
|
2794
2777
|
isCtv: true,
|
|
2795
|
-
contentUrl: bridgeSignals.contentUrl || readStoredString("contentUrl") || (lg ? LG_TEST_CONTENT_URL : AIRY_DEFAULT_CONTENT_URL),
|
|
2796
|
-
appId: bridgeSignals.appId || readStoredString("appId") || readStoredString("msid") || (lg ? LG_TEST_APP_ID : getDefaultAppId()),
|
|
2797
|
-
appName: bridgeSignals.appName || readStoredString("appName") || readStoredString("an") || (lg ? LG_TEST_APP_NAME : AIRY_APP_NAME),
|
|
2798
2778
|
sessionId: getOrCreateCtvSessionId()
|
|
2799
2779
|
}, deviceId ? {
|
|
2800
2780
|
deviceId: deviceId
|
|
2801
|
-
} : {}, deviceIdType ? {
|
|
2781
|
+
} : {}, deviceId && deviceIdType ? {
|
|
2802
2782
|
deviceIdType: deviceIdType
|
|
2803
|
-
} : {}, limitAdTracking != null ? {
|
|
2783
|
+
} : {}, deviceId && limitAdTracking != null ? {
|
|
2804
2784
|
limitAdTracking: limitAdTracking
|
|
2805
2785
|
} : {}), {
|
|
2806
2786
|
deviceTypeHint: 5
|
|
@@ -2810,9 +2790,9 @@ function resolveVastEnvironmentSignals(isCtv) {
|
|
|
2810
2790
|
isCtv: false
|
|
2811
2791
|
}, deviceId ? {
|
|
2812
2792
|
deviceId: deviceId
|
|
2813
|
-
} : {}, deviceIdType ? {
|
|
2793
|
+
} : {}, deviceId && deviceIdType ? {
|
|
2814
2794
|
deviceIdType: deviceIdType
|
|
2815
|
-
} : {}, limitAdTracking != null ? {
|
|
2795
|
+
} : {}, deviceId && limitAdTracking != null ? {
|
|
2816
2796
|
limitAdTracking: limitAdTracking
|
|
2817
2797
|
} : {});
|
|
2818
2798
|
}
|
|
@@ -4072,7 +4052,6 @@ var UNEXPANDED_MACRO_PATTERN = /^(\[[^\]]*\]|\{[^}]*\}|%%[^%]*%%)$/;
|
|
|
4072
4052
|
var INVALID_VAST_PARAM_KEY = /^\s|\s$/;
|
|
4073
4053
|
var EXAMPLE_COM_URL = /example\.com/i;
|
|
4074
4054
|
var CTV_UNSUPPORTED_PARAMS = [
|
|
4075
|
-
"description_url",
|
|
4076
4055
|
"tfcd",
|
|
4077
4056
|
"npa",
|
|
4078
4057
|
"min_ad_duration",
|
|
@@ -4163,18 +4142,6 @@ var INLINE_DEVICE_MACRO_REPLACEMENTS = [
|
|
|
4163
4142
|
return ctx.limitAdTracking != null ? ctx.limitAdTracking ? "1" : "0" : void 0;
|
|
4164
4143
|
}
|
|
4165
4144
|
},
|
|
4166
|
-
{
|
|
4167
|
-
pattern: /%%MSID%%/gi,
|
|
4168
|
-
getValue: function getValue(ctx) {
|
|
4169
|
-
return ctx.appId;
|
|
4170
|
-
}
|
|
4171
|
-
},
|
|
4172
|
-
{
|
|
4173
|
-
pattern: /%%APP_NAME%%/gi,
|
|
4174
|
-
getValue: function getValue(ctx) {
|
|
4175
|
-
return ctx.appName;
|
|
4176
|
-
}
|
|
4177
|
-
},
|
|
4178
4145
|
{
|
|
4179
4146
|
pattern: /%%SESSION_ID%%/gi,
|
|
4180
4147
|
getValue: function getValue(ctx) {
|
|
@@ -4365,7 +4332,7 @@ function applyVastMacros(baseUrl, ctx) {
|
|
|
4365
4332
|
return replaceCorrelatorFallback(expandedUrl, ctx.correlator);
|
|
4366
4333
|
}
|
|
4367
4334
|
var params = url.searchParams;
|
|
4368
|
-
removeBrokenAppNameOrphans(params
|
|
4335
|
+
removeBrokenAppNameOrphans(params);
|
|
4369
4336
|
params.set("correlator", ctx.correlator);
|
|
4370
4337
|
params.set("scor", ctx.streamCorrelator);
|
|
4371
4338
|
if (ctx.isCtv) {
|
|
@@ -4404,18 +4371,14 @@ function applyVastMacros(baseUrl, ctx) {
|
|
|
4404
4371
|
if (ctx.podMaxAds != null) {
|
|
4405
4372
|
params.set("pmad", String(Math.max(1, Math.round(ctx.podMaxAds))));
|
|
4406
4373
|
}
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
params.set("
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
if (EXAMPLE_COM_URL.test(existingUrl)) {
|
|
4416
|
-
params.delete("url");
|
|
4417
|
-
params.delete("description_url");
|
|
4418
|
-
}
|
|
4374
|
+
if (!ctx.isCtv && ctx.pageUrl) {
|
|
4375
|
+
params.set("url", ctx.pageUrl);
|
|
4376
|
+
params.set("description_url", ctx.pageUrl);
|
|
4377
|
+
}
|
|
4378
|
+
var existingUrl = params.get("url") || "";
|
|
4379
|
+
if (EXAMPLE_COM_URL.test(existingUrl)) {
|
|
4380
|
+
params.delete("url");
|
|
4381
|
+
params.delete("description_url");
|
|
4419
4382
|
}
|
|
4420
4383
|
if (ctx.adWillPlayMuted != null) {
|
|
4421
4384
|
params.set("vpmute", ctx.adWillPlayMuted ? "1" : "0");
|
|
@@ -4423,13 +4386,6 @@ function applyVastMacros(baseUrl, ctx) {
|
|
|
4423
4386
|
if (ctx.adWillAutoPlay != null) {
|
|
4424
4387
|
params.set("vpa", ctx.adWillAutoPlay ? "auto" : "click");
|
|
4425
4388
|
}
|
|
4426
|
-
if (ctx.appId) {
|
|
4427
|
-
params.set("msid", ctx.appId);
|
|
4428
|
-
}
|
|
4429
|
-
if (ctx.appName) {
|
|
4430
|
-
removeBrokenAppNameOrphans(params, ctx.appName);
|
|
4431
|
-
params.set("an", ctx.appName);
|
|
4432
|
-
}
|
|
4433
4389
|
if (ctx.sessionId) {
|
|
4434
4390
|
params.set("sid", ctx.sessionId);
|
|
4435
4391
|
}
|
|
@@ -4454,6 +4410,9 @@ function applyVastMacros(baseUrl, ctx) {
|
|
|
4454
4410
|
if (ctx.adTest) {
|
|
4455
4411
|
params.set("adtest", "on");
|
|
4456
4412
|
}
|
|
4413
|
+
if (ctx.programTitle) {
|
|
4414
|
+
params.set("ct_ti", ctx.programTitle);
|
|
4415
|
+
}
|
|
4457
4416
|
var staleKeys = [];
|
|
4458
4417
|
params.forEach(function(value, key) {
|
|
4459
4418
|
if (isMacroPlaceholder2(value)) {
|
|
@@ -4480,7 +4439,7 @@ function applyVastMacros(baseUrl, ctx) {
|
|
|
4480
4439
|
}
|
|
4481
4440
|
}
|
|
4482
4441
|
}
|
|
4483
|
-
removeBrokenAppNameOrphans(params
|
|
4442
|
+
removeBrokenAppNameOrphans(params);
|
|
4484
4443
|
return url.toString();
|
|
4485
4444
|
}
|
|
4486
4445
|
function replaceCorrelatorFallback(baseUrl, correlator) {
|
|
@@ -6011,13 +5970,25 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
6011
5970
|
};
|
|
6012
5971
|
}
|
|
6013
5972
|
},
|
|
5973
|
+
{
|
|
5974
|
+
key: "getPalDescriptionUrl",
|
|
5975
|
+
value: function getPalDescriptionUrl() {
|
|
5976
|
+
if (!this.apiVastTagUrl) return void 0;
|
|
5977
|
+
try {
|
|
5978
|
+
var params = new URL(this.apiVastTagUrl).searchParams;
|
|
5979
|
+
return params.get("description_url") || params.get("url") || void 0;
|
|
5980
|
+
} catch (unused) {
|
|
5981
|
+
return void 0;
|
|
5982
|
+
}
|
|
5983
|
+
}
|
|
5984
|
+
},
|
|
6014
5985
|
{
|
|
6015
5986
|
key: "generatePodVastUrl",
|
|
6016
5987
|
value: function generatePodVastUrl(baseUrl, podParams, adPlayer, palNonce, inAdBreak) {
|
|
6017
5988
|
var _podParams_maxDurationMs;
|
|
6018
5989
|
var adWillPlayMuted = inAdBreak ? adPlayer.getOriginalMutedState() : this.video.muted;
|
|
6019
5990
|
var envSignals = resolveVastEnvironmentSignals(!!this.config.ctvAdRequest);
|
|
6020
|
-
var urlWithMacros = applyVastMacros(baseUrl, {
|
|
5991
|
+
var urlWithMacros = applyVastMacros(baseUrl, _object_spread_props(_object_spread({
|
|
6021
5992
|
correlator: this.viewCorrelator,
|
|
6022
5993
|
streamCorrelator: this.streamCorrelator,
|
|
6023
5994
|
pod: this.podCounter > 0 ? this.podCounter : void 0,
|
|
@@ -6025,20 +5996,20 @@ var AdConfigManager = /*#__PURE__*/ function() {
|
|
|
6025
5996
|
podMinDurationMs: podParams.minDurationMs,
|
|
6026
5997
|
podMaxDurationMs: podParams.maxDurationMs,
|
|
6027
5998
|
isCtv: envSignals.isCtv,
|
|
6028
|
-
contentUrl: envSignals.contentUrl,
|
|
6029
5999
|
pageUrl: !envSignals.isCtv && typeof window !== "undefined" ? toDevSafeUrl(window.location.href) : void 0,
|
|
6030
6000
|
adWillPlayMuted: adWillPlayMuted,
|
|
6031
6001
|
adWillAutoPlay: !!this.config.autoplay,
|
|
6032
|
-
appId: envSignals.appId,
|
|
6033
|
-
appName: envSignals.appName,
|
|
6034
6002
|
sessionId: envSignals.sessionId,
|
|
6035
6003
|
deviceId: envSignals.deviceId,
|
|
6036
6004
|
deviceIdType: envSignals.deviceIdType,
|
|
6037
6005
|
limitAdTracking: envSignals.limitAdTracking,
|
|
6038
6006
|
deviceTypeHint: envSignals.deviceTypeHint,
|
|
6039
|
-
adTest: this.config.adTest
|
|
6007
|
+
adTest: this.config.adTest
|
|
6008
|
+
}, this.config.programTitle ? {
|
|
6009
|
+
programTitle: this.config.programTitle
|
|
6010
|
+
} : {}), {
|
|
6040
6011
|
consent: this.consentSignals
|
|
6041
|
-
});
|
|
6012
|
+
}));
|
|
6042
6013
|
var finalUrl = palNonce.injectNonce(urlWithMacros);
|
|
6043
6014
|
console.log("[StormcloudVideoPlayer] Resolved optimized-pod request URL (pod=".concat(this.podCounter, ", pmad=").concat(podParams.maxAds, ", pmnd=").concat(podParams.minDurationMs, ", pmxd=").concat((_podParams_maxDurationMs = podParams.maxDurationMs) !== null && _podParams_maxDurationMs !== void 0 ? _podParams_maxDurationMs : "?", "):"), finalUrl);
|
|
6044
6015
|
return finalUrl;
|
|
@@ -9144,7 +9115,7 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
9144
9115
|
// ───────────────────────────────────────────────────────────────
|
|
9145
9116
|
function load() {
|
|
9146
9117
|
return _async_to_generator(function() {
|
|
9147
|
-
var _this, _this_config_lowLatencyMode, error, continueLiveStreamDuringAds;
|
|
9118
|
+
var _this, _this_config_lowLatencyMode, error, palDescriptionUrl, continueLiveStreamDuringAds;
|
|
9148
9119
|
return _ts_generator(this, function(_state) {
|
|
9149
9120
|
switch(_state.label){
|
|
9150
9121
|
case 0:
|
|
@@ -9180,14 +9151,17 @@ var StormcloudVideoPlayer = /*#__PURE__*/ function() {
|
|
|
9180
9151
|
4
|
|
9181
9152
|
];
|
|
9182
9153
|
case 4:
|
|
9183
|
-
this.
|
|
9154
|
+
palDescriptionUrl = this.adConfig.getPalDescriptionUrl();
|
|
9155
|
+
this.palNonce.generateNonce(_object_spread({
|
|
9184
9156
|
videoWidth: this.video.offsetWidth || this.video.clientWidth || 640,
|
|
9185
9157
|
videoHeight: this.video.offsetHeight || this.video.clientHeight || 480,
|
|
9186
9158
|
adWillAutoPlay: !!this.config.autoplay,
|
|
9187
9159
|
adWillPlayMuted: true,
|
|
9188
9160
|
playerVolume: 0,
|
|
9189
9161
|
continuousPlayback: (_this_config_lowLatencyMode = this.config.lowLatencyMode) !== null && _this_config_lowLatencyMode !== void 0 ? _this_config_lowLatencyMode : false
|
|
9190
|
-
}
|
|
9162
|
+
}, palDescriptionUrl ? {
|
|
9163
|
+
descriptionUrl: palDescriptionUrl
|
|
9164
|
+
} : {})).catch(function() {});
|
|
9191
9165
|
fetchConsentSignals().then(function(signals) {
|
|
9192
9166
|
_this.adConfig.consentSignals = signals;
|
|
9193
9167
|
}).catch(function() {});
|
|
@@ -9911,7 +9885,7 @@ var CRITICAL_PROPS = [
|
|
|
9911
9885
|
var CONTROLS_HIDE_DELAY = 3e3;
|
|
9912
9886
|
var DEFAULT_PLAYER_ASPECT_RATIO = 16 / 9;
|
|
9913
9887
|
var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
9914
|
-
var src = props.src, autoplay = props.autoplay, muted = props.muted, lowLatencyMode = props.lowLatencyMode, allowNativeHls = props.allowNativeHls, isLiveStream = props.isLiveStream, driftToleranceMs = props.driftToleranceMs, immediateManifestAds = props.immediateManifestAds, debugAdTiming = props.debugAdTiming, showCustomControls = props.showCustomControls, hideLoadingIndicator = props.hideLoadingIndicator, onVolumeToggle = props.onVolumeToggle, onFullscreenToggle = props.onFullscreenToggle, onControlClick = props.onControlClick, onReady = props.onReady, wrapperClassName = props.wrapperClassName, wrapperStyle = props.wrapperStyle, className = props.className, style = props.style, controls = props.controls, playsInline = props.playsInline, preload = props.preload, poster = props.poster, children = props.children, licenseKey = props.licenseKey, vastMode = props.vastMode, vastTagUrl = props.vastTagUrl, isVmap = props.isVmap, vmapUrl = props.vmapUrl, minSegmentsBeforePlay = props.minSegmentsBeforePlay, ctvAdRequest = props.ctvAdRequest, restVideoAttrs = _object_without_properties(props, [
|
|
9888
|
+
var src = props.src, autoplay = props.autoplay, muted = props.muted, lowLatencyMode = props.lowLatencyMode, allowNativeHls = props.allowNativeHls, isLiveStream = props.isLiveStream, driftToleranceMs = props.driftToleranceMs, immediateManifestAds = props.immediateManifestAds, debugAdTiming = props.debugAdTiming, showCustomControls = props.showCustomControls, hideLoadingIndicator = props.hideLoadingIndicator, onVolumeToggle = props.onVolumeToggle, onFullscreenToggle = props.onFullscreenToggle, onControlClick = props.onControlClick, onReady = props.onReady, wrapperClassName = props.wrapperClassName, wrapperStyle = props.wrapperStyle, className = props.className, style = props.style, controls = props.controls, playsInline = props.playsInline, preload = props.preload, poster = props.poster, children = props.children, licenseKey = props.licenseKey, vastMode = props.vastMode, vastTagUrl = props.vastTagUrl, isVmap = props.isVmap, vmapUrl = props.vmapUrl, minSegmentsBeforePlay = props.minSegmentsBeforePlay, ctvAdRequest = props.ctvAdRequest, programTitle = props.programTitle, restVideoAttrs = _object_without_properties(props, [
|
|
9915
9889
|
"src",
|
|
9916
9890
|
"autoplay",
|
|
9917
9891
|
"muted",
|
|
@@ -9942,7 +9916,8 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
9942
9916
|
"isVmap",
|
|
9943
9917
|
"vmapUrl",
|
|
9944
9918
|
"minSegmentsBeforePlay",
|
|
9945
|
-
"ctvAdRequest"
|
|
9919
|
+
"ctvAdRequest",
|
|
9920
|
+
"programTitle"
|
|
9946
9921
|
]);
|
|
9947
9922
|
var videoRef = (0, import_react.useRef)(null);
|
|
9948
9923
|
var playerRef = (0, import_react.useRef)(null);
|
|
@@ -10133,6 +10108,7 @@ var StormcloudVideoPlayerComponent = import_react.default.memo(function(props) {
|
|
|
10133
10108
|
if (vmapUrl !== void 0) cfg.vmapUrl = vmapUrl;
|
|
10134
10109
|
if (minSegmentsBeforePlay !== void 0) cfg.minSegmentsBeforePlay = minSegmentsBeforePlay;
|
|
10135
10110
|
if (ctvAdRequest !== void 0) cfg.ctvAdRequest = ctvAdRequest;
|
|
10111
|
+
if (programTitle !== void 0) cfg.programTitle = programTitle;
|
|
10136
10112
|
var player = new StormcloudVideoPlayer(cfg);
|
|
10137
10113
|
playerRef.current = player;
|
|
10138
10114
|
player.load().then(function() {
|