Loaded from the ?presets URL parameter. Selecting one fills the form
below and loads it.
SGAI only. Leave unset and the backend decides: the break's
resumeOffset is how far to seek, 0 means do not seek, and
no value at all means seek by the ad duration. Setting it here
overrides the backend — DAR skips the whole break,
DAI resumes where content paused. Either way the seek is capped at
the ad actually played, and applies on both timebases. Ignored in SSAI mode.
Constructor option; off by default. With an explicit
Replacement (DAR) session, eligible single breaks keep content
playing hidden and muted, so return needs no resume seek. Optional
PlayerAdapter.setVideoQuality constrains bandwidth; if unavailable,
playout continues and DA-CONTINUE-PLAYOUT-QUALITY-UNAVAILABLE warns
that content may stay at normal bitrate. This is independent of Live/VOD, Anvato
signaling, and timebase. A REFUSED diagnostic explains why normal
pause/resume was retained.
SGAI only (NFL Channel/Network streams). Resolves pts-timebase breaks
via in-stream Anvato ID3/emsg cues (type=cue&pts=…) instead of the
raw manifest PTS; a break stays pending until its cue is seen.
wallclock timebase only. How long to wait for the stream's
EXT-X-PROGRAM-DATE-TIME before deciding the stream carries none. A
session starts before the player has loaded its source, so the first ticks see no
PDT: in that gap the SDK schedules nothing rather than matching breaks
against the system clock, which runs ahead of the live playhead and would fire a
break early. It is a backstop, not a fixed delay — once content is
playing with still no PDT (~1s) you immediately get one
DA-PDT-MISSING (visible in the log and in Export/Analyze) and
clock-based matching, so a PDT-less stream is never delayed. This window only
applies when playback never starts. Blank = default 5; 0 = fall back
immediately (the pre-PLAYG-360 behaviour — watch a live wallclock break fire early).
In SGAI this is the stream the player loads. In SSAI the SDK plays the stitched master instead — this URL just seeds the Stitcher Origin URL below.
Merged on top of each asset's own assetParameters from the break
manifest, per key. Use Update asset parameters below to change them
mid-stream — that overrides both.
Passed as assetParameterMacros to startSession on Load.
Every listed $NAME$ found inside an asset-parameter value is replaced
by the mapped string ("$WxH$" style values work). A JSON
null marks the macro empty: the parameter that contains it is not sent
and the event log shows DA-ASSET-PARAMETER-OMITTED. Leave a name out of
the map to keep its token literal. A name may override a built-in
$OPTIVIEW_* macro. A $ without a closing $ is
left unchanged.
Off — the backend break manifest is used as-is.
Org ID, Channel ID, Custom Asset Key, Content URL and Asset Parameters are remembered in this browser. Reset to defaults
The content the stitcher fetches server-side (it follows redirects and resolves relative variant/segment URIs against the final URL). Defaults to the Content URL but may differ — some operators ingest a separate origin for SSAI. Left blank → falls back to the Content URL.
Caps rendition bitrate via max_bitrate; the stitcher drops higher
variants from the master playlist.
Spawns a local @dolby-optiview/ads-sdk-stitcher dev server (via the
Vite middleware) using the Org ID, Channel ID, GAM Network Code and the Stitcher
Origin URL above as a single channel. The SDK only loads the stitched master.
Capture a redacted diagnostic report and run the same analysis the
@dolby-optiview/ads-sdk-mcp troubleshooting agent uses — fully
client-side. No secrets leave the page.