open-standards/wai/live-conformance/stitched/hls_stitched.viewer2.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

43 lines
1.6 KiB
XML

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