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, or one accepted by a server
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 bandwidth;
22mod client;
23mod consume;
24mod error;
25mod ffi;
26mod id;
27mod origin;
28mod publish;
29mod server;
30mod session;
31mod state;
32mod video;
33
34pub use api::*;
35pub use audio::*;
36pub use bandwidth::*;
37pub use error::*;
38pub use ffi::moq_status_callback;
39pub use id::*;
40pub use video::*;
41
42pub(crate) use client::*;
43pub(crate) use consume::*;
44pub(crate) use origin::*;
45pub(crate) use publish::*;
46pub(crate) use server::*;
47pub(crate) use session::*;
48pub(crate) use state::*;
49
50#[cfg(test)]
51mod test;