flv-core 0.1.0

Sans-IO FLV (Flash Video) tag mux and demux (freestanding)
Documentation
# flv — roadmap

Sans-IO FLV tag mux + demux (unprefixed). Workspace index: [`docs/roadmap.md`](../../../docs/roadmap.md).

## Stages

### 1 — Container framing (this session)

- [x] Crate + naming (ADR-0012) + [`adr/0001`]../adr/0001-flv-freestanding-core.md
- [x] `Muxer::write_header` + `write_tag` (no `finish()` — tags self-trail their own `PreviousTagSize`)
- [x] `Demuxer::poll_tag`: incremental, reads `DataOffset` instead of hardcoding
      9 bytes, tested byte-by-byte across header/tag boundaries

### Deferred (tracked, not silently dropped)

- [ ] AudioTagHeader/VideoTagHeader sub-framing (`AACPacketType`,
      `AVCPacketType`, composition time) — `Tag::data` stays opaque in this
      core crate by design (see module docs); `mediaway-container::flv`
      reads/builds these bytes on both the demux and mux sides.
- [ ] Script-data (AMF0/AMF3) parsing — framed but not decoded
- [x] `mediaway-container` facade wiring — `mediaway-container::flv`
      (`Demux`: AVC video + AAC/MP3 audio recognized; `Mux`: codec-aware
      `add_track`/`push_packet` build the matching sequence-header/data tags
      for the same codec set, own method shape per ADR-0002) — 2026-07-29