@dolby-optiview/ads-sdk-core 1.1.0 → 1.2.0
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/OptiViewAds.d.ts +8 -4
- package/dist/OptiViewAds.js +1 -1
- package/dist/OptiViewAdsExternalVendors.d.ts +47 -0
- package/dist/OptiViewAdsExternalVendors.js +1 -0
- package/dist/generated/diagnosticCodes.d.ts +118 -3
- package/dist/generated/diagnosticCodes.js +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/id3/index.d.ts +1 -0
- package/dist/id3/index.js +1 -1
- package/dist/id3/parseId3TextFrames.d.ts +8 -0
- package/dist/id3/parseId3TextFrames.js +1 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.js +1 -1
- package/dist/interfaces/PlayerAdapter.d.ts +5 -0
- package/dist/services/AdBreakSequencer.js +1 -1
- package/dist/services/AdPlayerController.d.ts +8 -1
- package/dist/services/AdPlayerController.js +1 -1
- package/dist/services/BreakScheduler.d.ts +31 -56
- package/dist/services/BreakScheduler.js +1 -1
- package/dist/services/BreakSchedulerTypes.d.ts +55 -0
- package/dist/services/BreakSchedulerTypes.js +1 -0
- package/dist/services/ExternalVendorConfigurationTracker.d.ts +13 -0
- package/dist/services/ExternalVendorConfigurationTracker.js +1 -0
- package/dist/services/GamStreamManager.d.ts +6 -0
- package/dist/services/GamStreamManager.js +1 -1
- package/dist/services/ImaMetadataDeduplicator.d.ts +5 -0
- package/dist/services/ImaMetadataDeduplicator.js +1 -0
- package/dist/services/MetadataCueTracker.d.ts +27 -1
- package/dist/services/MetadataCueTracker.js +1 -1
- package/dist/services/SsaiController.d.ts +2 -0
- package/dist/services/SsaiController.js +1 -1
- package/dist/services/adPlayer/AdPlayerEvents.js +1 -1
- package/dist/services/adPlayer/AdPlayerState.d.ts +13 -0
- package/dist/services/adPlayer/AdPlayerState.js +1 -1
- package/dist/services/adPlayer/AdPreloader.js +1 -1
- package/dist/services/adPlayer/AdStage.d.ts +7 -3
- package/dist/services/adPlayer/AdStage.js +1 -1
- package/dist/services/adPlayer/AssetParameterResolver.d.ts +2 -0
- package/dist/services/adPlayer/AssetParameterResolver.js +1 -1
- package/dist/services/adPlayer/AssetPlayback.js +1 -1
- package/dist/services/adPlayer/ContentRecovery.js +1 -1
- package/dist/services/adPlayer/ContentResumeCoordinator.d.ts +50 -3
- package/dist/services/adPlayer/ContentResumeCoordinator.js +1 -1
- package/dist/services/adPlayer/GamPodBridge.js +1 -1
- package/dist/services/adPlayer/SharedElementBreakPlayer.js +1 -1
- package/dist/services/adPlayer/VariantSelector.js +1 -1
- package/dist/services/adPlayer/pdtClockResume.d.ts +57 -0
- package/dist/services/adPlayer/pdtClockResume.js +1 -0
- package/dist/services/adPlayer/streamClockMapping.d.ts +65 -0
- package/dist/services/adPlayer/streamClockMapping.js +1 -0
- package/dist/services/adPlayer/streamClockResume.d.ts +94 -0
- package/dist/services/adPlayer/streamClockResume.js +1 -0
- package/dist/services/anvatoCueRuntime.d.ts +12 -0
- package/dist/services/anvatoCueRuntime.js +1 -1
- package/dist/services/assetParameterMacros.d.ts +0 -1
- package/dist/services/assetParameterMacros.js +1 -1
- package/dist/services/breakTiming.d.ts +9 -0
- package/dist/services/breakTiming.js +1 -1
- package/dist/services/channelSwitch.d.ts +3 -1
- package/dist/services/channelSwitch.js +1 -1
- package/dist/services/detectDeviceType.d.ts +7 -2
- package/dist/services/detectDeviceType.js +1 -1
- package/dist/services/diagnosticReport.d.ts +3 -0
- package/dist/services/diagnosticReport.js +1 -0
- package/dist/services/externalVendorConfigurationGetter.d.ts +12 -0
- package/dist/services/externalVendorConfigurationGetter.js +1 -0
- package/dist/services/matchTargeting.d.ts +19 -0
- package/dist/services/matchTargeting.js +1 -0
- package/dist/services/resolveDeliveryMode.d.ts +3 -1
- package/dist/services/resolveDeliveryMode.js +1 -1
- package/dist/services/resolveExternalVendorConfigurations.d.ts +20 -0
- package/dist/services/resolveExternalVendorConfigurations.js +1 -0
- package/dist/services/resolveGamVendorConfiguration.js +1 -1
- package/dist/services/resolveResumeClamp.d.ts +42 -0
- package/dist/services/resolveResumeClamp.js +1 -0
- package/dist/services/resolveTargetedUri.d.ts +2 -1
- package/dist/services/resolveTargetedUri.js +1 -1
- package/dist/services/selectVariant.d.ts +4 -0
- package/dist/services/selectVariant.js +1 -1
- package/dist/services/toPlaybackError.d.ts +1 -0
- package/dist/services/toPlaybackError.js +1 -0
- package/dist/services/wallclockBreakWindow.d.ts +41 -0
- package/dist/services/wallclockBreakWindow.js +1 -0
- package/dist/session/BreakLifecycle.d.ts +2 -0
- package/dist/session/BreakLifecycle.js +1 -1
- package/dist/session/SessionStarter.d.ts +6 -1
- package/dist/session/SessionStarter.js +1 -1
- package/dist/session/SessionState.d.ts +1 -0
- package/dist/session/SessionState.js +1 -1
- package/dist/types/BreakManifest.d.ts +39 -1
- package/dist/types/BreakManifest.js +1 -1
- package/dist/types/Events.d.ts +16 -1
- package/dist/types/ExternalVendorConfiguration.d.ts +5 -0
- package/dist/types/ExternalVendorConfiguration.js +1 -0
- package/dist/types/OptiViewAdsConfig.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
export class SessionState{constructor(){this.sessionActive=!1,this.sessionGeneration=0,this.sessionDeliveryMode=null,this.steeredSsaiActive=!1,this.steeredSsaiOptions=null,this.pauseAdTickInterval=null,this.heldPreRollArmInterval=null,this.manifestOrigin=null,this.stitcherOrigin=null,this.heldImmediatePreRollId=null,this.heldPreRollArmed=!1,this.heldPreRollWaitStartedAt=null,this.snapbackSeekInFlight=!1,this.sessionConfig=null,this.sessionManifest=null,this.channelSwitchInFlight=!1,this.pendingChannelSwitch=null}clearSessionIdentity(){this.sessionDeliveryMode=null,this.sessionManifest=null,this.channelSwitchInFlight=!1,this.pendingChannelSwitch=null}}
|
|
1
|
+
export class SessionState{constructor(){this.sessionActive=!1,this.sessionGeneration=0,this.adStartDelayElapsed=!1,this.sessionDeliveryMode=null,this.steeredSsaiActive=!1,this.steeredSsaiOptions=null,this.pauseAdTickInterval=null,this.heldPreRollArmInterval=null,this.manifestOrigin=null,this.stitcherOrigin=null,this.heldImmediatePreRollId=null,this.heldPreRollArmed=!1,this.heldPreRollWaitStartedAt=null,this.snapbackSeekInFlight=!1,this.sessionConfig=null,this.sessionManifest=null,this.channelSwitchInFlight=!1,this.pendingChannelSwitch=null}clearSessionIdentity(){this.sessionDeliveryMode=null,this.sessionManifest=null,this.channelSwitchInFlight=!1,this.pendingChannelSwitch=null}}
|
|
@@ -54,8 +54,13 @@ export interface GamVendorConfiguration extends VendorConfigurationBase {
|
|
|
54
54
|
sgai?: GamSgaiConfiguration[];
|
|
55
55
|
ssai?: GamSsaiConfiguration[];
|
|
56
56
|
}
|
|
57
|
+
export interface ExternalVendorConfigurationEntry extends VendorConfigurationBase {
|
|
58
|
+
type: 'external';
|
|
59
|
+
provider: string;
|
|
60
|
+
assetParameters: Record<string, string>;
|
|
61
|
+
}
|
|
57
62
|
/** Known vendor configuration entries, kept open to unrecognized vendors from newer manifests. @category Break Manifests & Ad Formats */
|
|
58
|
-
export type VendorConfiguration = GamVendorConfiguration | VendorConfigurationBase;
|
|
63
|
+
export type VendorConfiguration = GamVendorConfiguration | ExternalVendorConfigurationEntry | VendorConfigurationBase;
|
|
59
64
|
/** Type guard: narrows a {@link VendorConfiguration} to a {@link GamVendorConfiguration}. */
|
|
60
65
|
export declare function isGamVendorConfiguration(entry: VendorConfiguration): entry is GamVendorConfiguration;
|
|
61
66
|
/** The root Break Manifest structure. @category Break Manifests & Ad Formats */
|
|
@@ -167,14 +172,47 @@ export declare enum BreakFormat {
|
|
|
167
172
|
}
|
|
168
173
|
/** Device type for targeting. @category Break Manifests & Ad Formats */
|
|
169
174
|
export declare enum DeviceType {
|
|
175
|
+
CONSOLE = "console",
|
|
170
176
|
DESKTOP = "desktop",
|
|
171
177
|
MOBILE = "mobile",
|
|
172
178
|
TABLET = "tablet",
|
|
173
179
|
TV = "tv"
|
|
174
180
|
}
|
|
181
|
+
/** Platforms supported by manifest targeting (manifest spec v1.7.0). */
|
|
182
|
+
export declare enum Platform {
|
|
183
|
+
WEB = "web",
|
|
184
|
+
ANDROID = "android",
|
|
185
|
+
IOS = "ios",
|
|
186
|
+
TVOS = "tvos",
|
|
187
|
+
ROKU = "roku"
|
|
188
|
+
}
|
|
189
|
+
/** Operating systems supported by manifest targeting (manifest spec v1.8.0). */
|
|
190
|
+
export declare enum Os {
|
|
191
|
+
ANDROID = "android",
|
|
192
|
+
CHROMEOS = "chromeos",
|
|
193
|
+
IOS = "ios",
|
|
194
|
+
IPADOS = "ipados",
|
|
195
|
+
LINUX = "linux",
|
|
196
|
+
MACOS = "macos",
|
|
197
|
+
ROKUOS = "rokuos",
|
|
198
|
+
TIZEN = "tizen",
|
|
199
|
+
TVOS = "tvos",
|
|
200
|
+
VIZIO = "vizio",
|
|
201
|
+
WEBOS = "webos",
|
|
202
|
+
WINDOWS = "windows",
|
|
203
|
+
XBOX = "xbox"
|
|
204
|
+
}
|
|
205
|
+
/** Inclusive operating-system version bounds; each bound is dot-separated decimal integers. */
|
|
206
|
+
export interface OsVersionRange {
|
|
207
|
+
min?: string;
|
|
208
|
+
max?: string;
|
|
209
|
+
}
|
|
175
210
|
/** Targeting criteria for break variants. @category Break Manifests & Ad Formats */
|
|
176
211
|
export interface Targeting {
|
|
177
212
|
deviceType?: DeviceType;
|
|
213
|
+
platform?: Platform;
|
|
214
|
+
os?: Os;
|
|
215
|
+
osVersion?: OsVersionRange;
|
|
178
216
|
}
|
|
179
217
|
/** Base fields for all break variants. @category Break Manifests & Ad Formats */
|
|
180
218
|
export interface BaseBreakVariant {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export var Timebase;!function(e){e.WALLCLOCK="wallclock",e.PTS="pts",e.MEDIATIME="mediatime"}(Timebase||(Timebase={}));export function isGamVendorConfiguration(e){return"gam"===e.type}export var DeliveryMode;!function(e){e.SGAI="sgai",e.SSAI="ssai"}(DeliveryMode||(DeliveryMode={}));export var BreakEvent;!function(e){e.START="start",e.PAUSE="pause",e.END="end"}(BreakEvent||(BreakEvent={}));export var BreakFormat;!function(e){e.SINGLE="single",e.DOUBLE="double",e.LSHAPE_AD="lshape_ad",e.LSHAPE_CONTENT="lshape_content",e.OVERLAY="overlay"}(BreakFormat||(BreakFormat={}));export var DeviceType;!function(e){e.DESKTOP="desktop",e.MOBILE="mobile",e.TABLET="tablet",e.TV="tv"}(DeviceType||(DeviceType={}));export var AssetType;!function(e){e.STATIC="static",e.VAST="vast",e.VENDOR="vendor"}(AssetType||(AssetType={}));export var MediaType;!function(e){e.VIDEO="video",e.IMAGE="image"}(MediaType||(MediaType={}));export var Vendor;!function(e){e.GAM="gam"}(Vendor||(Vendor={}));export function isEventTrigger(e){return"object"==typeof e&&null!==e&&"event"===e.type}export function getBreakEvent(e){return"pre"===e.position?BreakEvent.START:isEventTrigger(e.start)?e.start.event:null}export function isPauseBreak(e){return getBreakEvent(e)===BreakEvent.PAUSE}export function getPreRollDelay(e){return getBreakEvent(e)!==BreakEvent.START?null:"pre"===e.position?e.delay??0:isEventTrigger(e.start)?e.start.delay??0:0}export function isPostRollBreak(e){return getBreakEvent(e)===BreakEvent.END}export function getPostRollDelay(e){return isEventTrigger(e.start)&&e.start.event===BreakEvent.END?e.start.delay??0:null}export function isStaticAsset(e){return e.type===AssetType.STATIC}export function isVastAsset(e){return e.type===AssetType.VAST}export function isVendorAsset(e){return e.type===AssetType.VENDOR}
|
|
1
|
+
export var Timebase;!function(e){e.WALLCLOCK="wallclock",e.PTS="pts",e.MEDIATIME="mediatime"}(Timebase||(Timebase={}));export function isGamVendorConfiguration(e){return"gam"===e.type}export var DeliveryMode;!function(e){e.SGAI="sgai",e.SSAI="ssai"}(DeliveryMode||(DeliveryMode={}));export var BreakEvent;!function(e){e.START="start",e.PAUSE="pause",e.END="end"}(BreakEvent||(BreakEvent={}));export var BreakFormat;!function(e){e.SINGLE="single",e.DOUBLE="double",e.LSHAPE_AD="lshape_ad",e.LSHAPE_CONTENT="lshape_content",e.OVERLAY="overlay"}(BreakFormat||(BreakFormat={}));export var DeviceType;!function(e){e.CONSOLE="console",e.DESKTOP="desktop",e.MOBILE="mobile",e.TABLET="tablet",e.TV="tv"}(DeviceType||(DeviceType={}));export var Platform;!function(e){e.WEB="web",e.ANDROID="android",e.IOS="ios",e.TVOS="tvos",e.ROKU="roku"}(Platform||(Platform={}));export var Os;!function(e){e.ANDROID="android",e.CHROMEOS="chromeos",e.IOS="ios",e.IPADOS="ipados",e.LINUX="linux",e.MACOS="macos",e.ROKUOS="rokuos",e.TIZEN="tizen",e.TVOS="tvos",e.VIZIO="vizio",e.WEBOS="webos",e.WINDOWS="windows",e.XBOX="xbox"}(Os||(Os={}));export var AssetType;!function(e){e.STATIC="static",e.VAST="vast",e.VENDOR="vendor"}(AssetType||(AssetType={}));export var MediaType;!function(e){e.VIDEO="video",e.IMAGE="image"}(MediaType||(MediaType={}));export var Vendor;!function(e){e.GAM="gam"}(Vendor||(Vendor={}));export function isEventTrigger(e){return"object"==typeof e&&null!==e&&"event"===e.type}export function getBreakEvent(e){return"pre"===e.position?BreakEvent.START:isEventTrigger(e.start)?e.start.event:null}export function isPauseBreak(e){return getBreakEvent(e)===BreakEvent.PAUSE}export function getPreRollDelay(e){return getBreakEvent(e)!==BreakEvent.START?null:"pre"===e.position?e.delay??0:isEventTrigger(e.start)?e.start.delay??0:0}export function isPostRollBreak(e){return getBreakEvent(e)===BreakEvent.END}export function getPostRollDelay(e){return isEventTrigger(e.start)&&e.start.event===BreakEvent.END?e.start.delay??0:null}export function isStaticAsset(e){return e.type===AssetType.STATIC}export function isVastAsset(e){return e.type===AssetType.VAST}export function isVendorAsset(e){return e.type===AssetType.VENDOR}
|
package/dist/types/Events.d.ts
CHANGED
|
@@ -7,6 +7,14 @@ import type { OptiViewAdsMode } from './OptiViewAdsConfig';
|
|
|
7
7
|
* - `active`: a break is currently playing.
|
|
8
8
|
* @category Events */
|
|
9
9
|
export type AdBreakPhase = 'idle' | 'upcoming' | 'active' | 'complete';
|
|
10
|
+
/** Why a scheduled ad break was refused before it began (`adbreakskipped` event). @category Events */
|
|
11
|
+
export type AdBreakSkipReason = 'late' | 'not-ready' | 'preparation-failed' | 'unsupported' | 'overlap' | 'start-delay' | 'removed' | 'insufficient-remaining' | 'resource-limit';
|
|
12
|
+
export interface AdBreakSkippedEvent extends OptiViewAdsEvent {
|
|
13
|
+
type: 'adbreakskipped';
|
|
14
|
+
break: Break;
|
|
15
|
+
reason: AdBreakSkipReason;
|
|
16
|
+
format?: BreakFormat | undefined;
|
|
17
|
+
}
|
|
10
18
|
/** Playback-gated snapshot of an ad break for UI countdowns (`adbreakstatus` event, `sdk.getAdBreakStatus()`). @category Events */
|
|
11
19
|
export interface AdBreakStatus {
|
|
12
20
|
/** Current lifecycle phase of the ad break. */
|
|
@@ -31,7 +39,7 @@ export interface AdBreakStatus {
|
|
|
31
39
|
warningSec?: number | undefined;
|
|
32
40
|
}
|
|
33
41
|
/** Event types emitted by the OptiViewAds SDK. @category Events */
|
|
34
|
-
export type OptiViewAdsEventType = 'adbreakbegin' | 'adbreakend' | 'adbegin' | 'adend' | 'aderror' | 'adfirstquartile' | 'admidpoint' | 'adthirdquartile' | 'adtimeupdate' | 'adbreakstatus' | 'adclick' | 'waiting' | 'playing' | 'volumechange' | 'adchannelchange';
|
|
42
|
+
export type OptiViewAdsEventType = 'adbreakbegin' | 'adbreakend' | 'adbreakskipped' | 'adbegin' | 'adend' | 'aderror' | 'adfirstquartile' | 'admidpoint' | 'adthirdquartile' | 'adtimeupdate' | 'adbreakstatus' | 'adclick' | 'waiting' | 'playing' | 'volumechange' | 'adchannelchange' | 'externalvendorconfigurationchange';
|
|
35
43
|
/** Which player a playback event originated from. @category Events */
|
|
36
44
|
export type PlaybackSource = 'ad' | 'content';
|
|
37
45
|
/** Base event interface. @category Events */
|
|
@@ -223,10 +231,16 @@ export interface AdChannelChangeEvent extends OptiViewAdsEvent {
|
|
|
223
231
|
/** Delivery mode in effect after the switch. */
|
|
224
232
|
deliveryMode: OptiViewAdsMode;
|
|
225
233
|
}
|
|
234
|
+
/** An external provider's manifest parameter template was added, changed, or removed. @category Events */
|
|
235
|
+
export interface ExternalVendorConfigurationChangeEvent extends OptiViewAdsEvent {
|
|
236
|
+
type: 'externalvendorconfigurationchange';
|
|
237
|
+
provider: string;
|
|
238
|
+
}
|
|
226
239
|
/** Union type of all SDK events. @category Events */
|
|
227
240
|
export type OptiViewAdsEventMap = {
|
|
228
241
|
adbreakbegin: AdBreakBeginEvent;
|
|
229
242
|
adbreakend: AdBreakEndEvent;
|
|
243
|
+
adbreakskipped: AdBreakSkippedEvent;
|
|
230
244
|
adbegin: AdBeginEvent;
|
|
231
245
|
adend: AdEndEvent;
|
|
232
246
|
aderror: AdErrorEvent;
|
|
@@ -240,6 +254,7 @@ export type OptiViewAdsEventMap = {
|
|
|
240
254
|
playing: PlayingEvent;
|
|
241
255
|
volumechange: VolumeChangeEvent;
|
|
242
256
|
adchannelchange: AdChannelChangeEvent;
|
|
257
|
+
externalvendorconfigurationchange: ExternalVendorConfigurationChangeEvent;
|
|
243
258
|
};
|
|
244
259
|
/** Event handler type. @category Events */
|
|
245
260
|
export type OptiViewAdsEventHandler<T extends OptiViewAdsEventType> = (event: OptiViewAdsEventMap[T]) => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{};
|
|
@@ -427,7 +427,8 @@ export interface SessionConfig {
|
|
|
427
427
|
* is unchanged.
|
|
428
428
|
* Callbacks are evaluated per ad request and cleared when the session ends.
|
|
429
429
|
* Session-scoped parameters are sent to IMA DAI with
|
|
430
|
-
* built-in and customer macros resolved; break-duration macros are
|
|
430
|
+
* built-in and customer macros resolved; break-duration macros stay literal and are
|
|
431
|
+
* reported as `DA-ASSET-MACRO-UNKNOWN`.
|
|
431
432
|
*
|
|
432
433
|
* @see OPTIVIEW_ASSET_PARAMETER_MACROS
|
|
433
434
|
*/
|