1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Native audio encoding and decoding for Media over QUIC.
//!
//! Sits on top of [`moq_mux`] and [`hang`] and adds the missing piece
//! for native callers: a Rust-native Opus codec implementation that
//! turns raw PCM into the bitstreams `moq_mux::codec::opus` already
//! knows how to ingest (and vice versa for decode).
//!
//! - [`AudioFormat`] mirrors WebCodecs `AudioData.format`. The helpers
//! convert between any supported layout and the interleaved `f32`
//! representation libopus expects.
//! - [`Frame`] is a thin owned buffer: just a timestamp and a payload.
//! PCM layout lives on the [`Encoder`] / [`Decoder`] via
//! [`EncoderInput`] / [`EncoderOutput`] / [`DecoderOutput`], not on
//! each frame, so callers can't drift between calls.
//! - [`Encoder`] / [`Decoder`] are the Opus codec types.
//! - [`AudioProducer`] / [`AudioConsumer`] wire those together with
//! `moq_mux::container` and the `hang` catalog.
pub use *;
pub use *;
pub use *;
pub use *;
pub use Resampler;
pub use AudioConsumer;
pub use AudioProducer;