ogg-core 0.1.1

Sans-IO Ogg page/packet mux and demux
Documentation
# ogg — roadmap

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

## Stages

### 1 — Page mux + general demux (this session)

- [x] Crate + naming (ADR-0012) + [`adr/0001`]../adr/0001-ogg-freestanding-core.md
- [x] From-scratch Ogg CRC-32 variant (poly `0x04C11DB7`, non-reflected)
- [x] `Muxer::push_packet`: one packet per page, correct lacing + CRC, bos/eos flags
- [x] `Demuxer::poll_packet`: incremental, handles multi-packet pages and
      cross-page packet continuation (the general case, tested against
      hand-built pages even though this crate's own mux never produces them)

### Deferred (tracked, not silently dropped)

- [ ] Mux: multi-packet-per-page batching (real encoders pack small packets
      together for efficiency; this crate always emits one packet = one page)
- [ ] Mux: continuation-page splitting for packets over 65024 bytes
      (`Error::PacketTooLargeForSinglePage` today)
- [ ] Multi-logical-stream interleaving/chaining (one `Muxer` = one `serial`)
- [x] `mediaway-container` facade wiring — `mediaway-container::ogg`
      (`Mux`/`Demux`; codec identified from the first packet's `OpusHead`/
      Vorbis identification header) — 2026-07-29