FA-27777 / HTTP ranges / Member archive
A segment playlist resolves byte-range tags into per-segment Range values: an offsetless sub-range without a preceding sub-range is invalid rather than starting at zero · case 02
A segment playlist resolves byte-range tags into per-segment Range values: an offsetless sub-range without a preceding sub-range is invalid rather than starting at zero.
Case contract
x is a list of playlist lines. Lines are trimmed; blank lines skipped; every other line starting with # is a tag or comment. #EXT-X-BYTERANGE:n[@o] (ASCII decimals) applies only to the next URI line. Without @o the range continues at the byte after the immediately previous segment, which must be a sub-range of the same URI string; otherwise null. A URI without a byte-range tag is a whole-resource segment [uri,null] and breaks any continuation chain. Zero-length sub-ranges and malformed tags return null. Return [uri,inclusive bytes=a-b or null] rows.
Why this case matters
Range responses combine representation identity, conditional requests, framing, and partial-object state.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| implicit-offset-first-segment fixture 4 | [["a.ts", "bytes=0-9"]] | null | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗