moq-ffi
UniFFI bindings for Media over QUIC (MoQ).
This crate provides Kotlin, Swift, and Python bindings for the MoQ protocol stack via UniFFI. All exported async methods must be called from an appropriate async context (e.g., a Kotlin coroutine scope or Swift Task/async context).
Building
iOS
Android
Generating bindings
After building, generate language bindings with the included uniffi-bindgen binary.
The library extension depends on your platform: .dylib (macOS/iOS), .so (Linux/Android), .dll (Windows).
Architecture
moq-ffi (this crate)
├── lib.rs — Library entry and UniFFI scaffolding
├── ffi.rs — FFI runtime and Abort helper
├── session.rs — QUIC session management
├── origin.rs — Broadcast routing (publish/consume)
├── consumer.rs — Catalog and track subscription
├── producer.rs — Broadcast and track publishing
└── error.rs — Error types