Expand description
Ogg Opus fan-out on a Unix socket: every consumer that connects receives the stream’s
OpusHead and OpusTags pages, then one page per encoded packet, so the socket reads
as a standard Ogg Opus stream (ffmpeg -i unix:<path>, the pixelflux recorder).
The tap never perturbs the capture: the capture thread only hands each page to a bounded per-consumer channel drained by that consumer’s writer thread, and a consumer that falls behind is dropped rather than waited on.
Structs§
- Client 🔒
- OggSink
- One Ogg Opus stream served to every consumer of a Unix socket.
- Opus
Head - What
OpusHeadtells a decoder;mappingis(streams, coupled, table)for channel mapping family 1, absent for family 0 (mono and stereo).
Constants§
- ACCEPT_
POLL_ 🔒INTERVAL - CLIENT_
QUEUE_ 🔒CAP - Per-consumer backlog: two seconds of 20 ms packets before a consumer is dropped.
- CRC_
POLY 🔒 - The Ogg page checksum’s polynomial, applied to the whole page with the field zeroed.
- WRITE_
TIMEOUT 🔒
Functions§
- crc32 🔒
- header_
pages 🔒 - The identification and comment headers as the stream’s first two pages.
- page 🔒
- One page carrying one packet: the lacing table splits it into 255-byte segments, a final short segment (empty when the length is a multiple of 255) closing it.