Expand description
C FFI bindings for MoQ (Media over QUIC).
This library provides a C-compatible API for working with MoQ broadcasts, enabling real-time media delivery with low latency at scale.
The API is organized around several key concepts:
- Sessions: Network connections to MoQ servers
- Origins: Collections of broadcasts that can be published or consumed
- Broadcasts: Container for media tracks
- Tracks: Individual audio or video streams
- Frames: Individual media samples with timestamps
All functions return negative error codes on failure, or non-negative values on success. Most resources are managed through opaque integer handles that must be explicitly closed.
Structs§
- Id
- Opaque resource identifier returned to C code.
- moq_
announced - Information about a broadcast announced by an origin.
- moq_
audio_ config - Information about an audio rendition in the catalog.
- moq_
frame - Information about a frame of media.
- moq_
video_ config - Information about a video rendition in the catalog.
Enums§
- Error
- Error types that can occur in the FFI layer.
Functions§
- moq_
consume_ audio_ close - Close an audio track consumer and clean up its resources.
- moq_
consume_ ⚠audio_ config - Query information about an audio track in a catalog.
- moq_
consume_ ⚠audio_ ordered - Consume an audio track from a broadcast, emitting the frames in order.
- moq_
consume_ ⚠catalog - Create a catalog consumer for a broadcast.
- moq_
consume_ catalog_ close - Close a catalog consumer and clean up its resources.
- moq_
consume_ close - Close a broadcast consumer and clean up its resources.
- moq_
consume_ ⚠frame_ chunk - Get a chunk of a frame’s payload.
- moq_
consume_ frame_ close - Close a frame and clean up its resources.
- moq_
consume_ video_ close - Close a video track consumer and clean up its resources.
- moq_
consume_ ⚠video_ config - Query information about a video track in a catalog.
- moq_
consume_ ⚠video_ ordered - Consume a video track from a broadcast, delivering frames in order.
- moq_
log_ ⚠level - Initialize the library with a log level.
- moq_
origin_ ⚠announced - Learn about all broadcasts published to an origin.
- moq_
origin_ announced_ close - Stop receiving announcements for broadcasts published to an origin.
- moq_
origin_ ⚠announced_ info - Query information about a broadcast discovered by moq_origin_announced.
- moq_
origin_ close - Close an origin and clean up its resources.
- moq_
origin_ ⚠consume - Consume a broadcast from an origin by path.
- moq_
origin_ create - Create an origin for publishing broadcasts.
- moq_
origin_ ⚠publish - Publish a broadcast to an origin.
- moq_
publish_ close - Close a broadcast and clean up its resources.
- moq_
publish_ create - Create a new broadcast for publishing media tracks.
- moq_
publish_ media_ close - Remove a track from a broadcast.
- moq_
publish_ ⚠media_ frame - Write data to a track.
- moq_
publish_ ⚠media_ ordered - Create a new media track for a broadcast
- moq_
session_ close - Close a connection to a MoQ server.
- moq_
session_ ⚠connect - Start establishing a connection to a MoQ server.
Type Aliases§
- Status
- Status code returned by FFI functions.