pub enum OpusMode {
SilkOnly,
Hybrid,
CeltOnly,
}Expand description
Which coding layers a packet actually used.
Opus is two codecs behind one bitstream, and the TOC byte says which of them
coded a given packet. A caller normally does not care — the decoder handles
all three — but the layer decides what some other operations mean. In-band
FEC, in particular, only exists in SILK and hybrid packets, so
OpusDecoder::decode_fec on a
CeltOnly packet can only conceal.
RFC 6716 §3.1 fixes these three, so the set will not grow.
Variants§
SilkOnly
SILK alone: speech, up to wideband, 10 ms and longer.
Hybrid
SILK below and CELT above: speech at super-wideband or fullband.
CeltOnly
CELT alone: music, any bandwidth, and every frame shorter than 10 ms.
Trait Implementations§
impl Copy for OpusMode
impl Eq for OpusMode
impl StructuralPartialEq for OpusMode
Auto Trait Implementations§
impl Freeze for OpusMode
impl RefUnwindSafe for OpusMode
impl Send for OpusMode
impl Sync for OpusMode
impl Unpin for OpusMode
impl UnsafeUnpin for OpusMode
impl UnwindSafe for OpusMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more