open-standards/wai/http-conformance/players/wai.mpd
Transaction Science f90fe96d08 wai: one HLS and one DASH renderer for every packager (W3-4)
wai-pack's catalogs (W4-3) are to render through these renderers, so they now express
everything its Mode N output holds:

- render_hls_with writes EXT-X-PLAYLIST-TYPE, EXT-X-INDEPENDENT-SEGMENTS and a header
  EXT-X-MAP, and EXT-X-GAP before a segment's EXTINF; the reader reads them back, so
  a classical floor playlist is in the rendered form too; the WAI media playlist takes
  the classical one's type and independence, never its map, and marks a WaiSegment
  gap; the playlist receipt's render and extras carry the new members;
- render_multivariant writes a classical or a WAI multivariant playlist: a version,
  independent segments, session-data lines (VALUE or URI), and variants with or
  without X-WAI-FLOOR; wai_multivariant is its WAI case;
- dash::render_mpd writes any static one-period MPD (content type, size, segment
  alignment, startWithSAP, descriptors, an initialization, a dependency per layer, a
  timeline per representation); wai_mpd is built on it, with minBufferTime and
  Period@start in whole seconds as the packager writes them.

Where the texts differed, http-delivery decides: a variant's bandwidth counts the
layer objects listed with a segment and leaves out gaps (as the packager does; this
tree had left layers out), and a WAI1 is listed with n alone, h only for a WAI2
(§5.4). The corpus, the receipts and the Python verifier follow, with a gap playlist
and packager-line cases.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-06 07:30:08 -04:00

21 lines
1.2 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:full:2011" type="static" mediaPresentationDuration="PT3.000S" minBufferTime="PT1S">
<Period id="p0" start="PT0S">
<AdaptationSet id="1" mimeType="application/wai" codecs="wai1.video.int_motion" segmentAlignment="true">
<EssentialProperty schemeIdUri="tag:transaction.science,2026:wai/http-delivery"/>
<SupplementalProperty schemeIdUri="tag:transaction.science,2026:wai/floor" value="wai1.video.int_motion"/>
<Representation id="wai-v0" bandwidth="174064">
<SegmentList timescale="1000">
<SegmentTimeline>
<S t="0" d="1000"/>
<S t="1000" d="1000"/>
<S t="2000" d="1000"/>
</SegmentTimeline>
<SegmentURL media="../objects/0e1664a61fc504e04ff37dd2e4a15273791059a2626b78a2d1cd4d99ffbe6f59.wai#n=21758"/>
<SegmentURL media="../objects/f7aebfa6c378a0b83fa3293be38962773a620b1fabb1d17acfc7f52693ce830a.wai#n=20986"/>
<SegmentURL media="../objects/761e2e03083d601c1b824bf484ce60a286cbd20e478619944fbb385736c6e543.wai#n=21338"/>
</SegmentList>
</Representation>
</AdaptationSet>
</Period>
</MPD>