27 lines
1.4 KiB
Markdown
27 lines
1.4 KiB
Markdown
## Context
|
|
|
|
The current harness sends one fixed 1,179-byte payload per logical sample. It reaches the production path but does not represent encoded frames at 60/120 FPS or exercise realistic fragmentation, reassembly, queue bytes, and keyframe pressure.
|
|
|
|
## Goals / Non-Goals
|
|
|
|
**Goals:**
|
|
|
|
- Deterministically generate complete variable-size frame units at exact profile frame rates and target bitrates.
|
|
- Include bounded periodic keyframes while preserving exact aggregate bytes.
|
|
- Measure the existing production path and independent reassembly with frame-level accounting.
|
|
|
|
**Non-Goals:**
|
|
|
|
- A real encoder, codec parsing, a second simulator, or a normative run before immutable Protocol publication.
|
|
|
|
## Decisions
|
|
|
|
- Derive bytes per fixed interval from bitrate and FPS, distribute integer remainder deterministically, and shift bounded bytes into periodic keyframes while keeping the interval total exact.
|
|
- Carry a deterministic frame index/pattern only in the generated payload bytes; no codec semantics are claimed.
|
|
- Keep the existing path/impairment/resource driver and change its unit from datagram payload to complete frame.
|
|
|
|
## Risks / Trade-offs
|
|
|
|
- [Keyframes can exceed queue budget] → use the reviewed 1 MiB frame ceiling and production byte-bound queue.
|
|
- [Short smoke windows have rounding effects] → assert exact generated totals and report measured duration separately from normative ten-minute gates.
|