Skip to main content

moq/
lib.rs

1//! C bindings for [`moq_net`].
2//!
3//! Provides a C-compatible API for real-time pub/sub over QUIC.
4//!
5//! ## Concepts
6//!
7//! - **Session**: Network connection to a MoQ relay
8//! - **Origin**: Collection of broadcasts
9//! - **Broadcast**: Container for tracks
10//! - **Track**: Named stream of groups
11//! - **Group**: Collection of frames
12//! - **Frame**: Sized payload with timestamp
13//!
14//! ## Error Handling
15//!
16//! All functions return negative error codes on failure or non-negative values on success.
17//! Resources are managed through opaque integer handles that must be explicitly closed.
18
19mod api;
20mod audio;
21mod client;
22mod consume;
23mod error;
24mod ffi;
25mod id;
26mod origin;
27mod publish;
28mod session;
29mod state;
30mod video;
31
32pub use api::*;
33pub use audio::*;
34pub use error::*;
35pub use id::*;
36pub use video::*;
37
38pub(crate) use client::*;
39pub(crate) use consume::*;
40pub(crate) use origin::*;
41pub(crate) use publish::*;
42pub(crate) use session::*;
43pub(crate) use state::*;
44
45#[cfg(test)]
46mod test;