open-standards/wai/live-conformance/stitched/squeezeback.vast.xml
Transaction Science c70aedef60 wai: stitched presentation — player-signed claims of stitched and interstitial ads, the signed pod-input record, ad frames in live-compose
wai.video.stitched_presentation (extensions/stitched-presentation.md): a WPS1 claim names an ad
by the marker the stream carries for it (an EXT-X-DATERANGE tag, an interstitial's asset, a DASH
event) in the manifest it states the SHA-256 of; a WPI1 pod-input record, signed by the
stitcher or a proxy in front of the ad server, binds the response digest, the chosen ads, their
creatives and prices, the avail, the frame and the measurement terms; a verifier recomputes
each ad's presentations, quartiles and the spend that counts by currency. A form-1
wai.video.ssai receipt gains a JSON carriage (its signed bytes unchanged) so it can be a
record's response. live-compose gains the squeeze and double-box ad frames (§5.9). Corpus
live-conformance/stitched/, its independent verifier stitched_presentation_verify.py, and the
browser producer web/ads/stitched.js with tests against the corpus.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 21:34:50 -04:00

23 lines
859 B
XML

<?xml version="1.0" encoding="UTF-8"?>
<VAST version="4.3">
<Ad id="ad-s" sequence="1">
<InLine>
<AdSystem>example ad server</AdSystem>
<AdTitle>ad-s</AdTitle>
<AdServingId>srv-sq-1</AdServingId>
<Impression><![CDATA[https://ads.example/imp?ad=ad-s&s=[ADSERVINGID]]]></Impression>
<Pricing model="CPM" currency="USD">12.00</Pricing>
<Creatives>
<Creative id="cr-ad-s" sequence="1">
<UniversalAdId idRegistry="registry.example">UID-S</UniversalAdId>
<Linear>
<Duration>00:00:20.000</Duration>
<MediaFiles>
<MediaFile delivery="progressive" type="video/mp4" width="1920" height="1080"><![CDATA[https://cdn.example/ad-s.mp4]]></MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>