Module symphonia_core::codecs
source · Expand description
The codec
module provides the traits and support structures necessary to implement audio codec
decoders.
Structs§
- A
CodecDescriptor
stores a description of a single logical codec. Common information such as theCodecType
, a short name, and a long name are provided. TheCodecDescriptor
also provides an instantiation function. When the instantiation function is called, aDecoder
for the codec is returned. - Codec parameters stored in a container format’s headers and metadata may be passed to a codec using the
CodecParameters
structure. - A
CodecRegistry
allows the registration of codecs, and provides a method to instantiate aDecoder
given aCodecParameters
object. - A
CodecType
is a unique identifier used to identify a specific codec. DecoderOptions
is a common set of options that all decoders use.FinalizeResult
contains optional information that can only be found, calculated, or determined after decoding is complete.
Enums§
- A method and expected value to perform verification on the decoded audio.
Constants§
- Advanced Audio Coding (AAC)
- Dolby AC-4 (ETSI TS 103 190)
- G.722 ADPCM
- G.726 ADPCM
- G.726 ADPCM little-endian
- ADPCM IMA QuickTime
- ADPCM IMA WAV
- Microsoft ADPCM
- Apple Lossless Audio Codec (ALAC)
- Adaptive Transform Acoustic Coding (ATRAC1)
- Adaptive Transform Acoustic Coding 3 (ATRAC3)
- Adaptive Transform Acoustic Coding 9 (ATRAC9)
- Adaptive Transform Acoustic Coding 3+ (ATRAC3+)
- DTS Coherent Acoustics (DCA/DTS)
- AC-3, E-AC-3, Dolby Digital (ATSC A/52)
- Free Lossless Audio Codec (FLAC)
- Monkey’s Audio (APE)
- MPEG Layer 1 (MP1)
- MPEG Layer 2 (MP2)
- MPEG Layer 3 (MP3)
- Musepack
- Null codec
- Opus
- PCM A-law (G.711)
- PCM 32-bit big-endian floating point interleaved
- PCM 32-bit big-endian floating point planar
- PCM 32-bit little-endian floating point interleaved
- PCM 32-bit little-endian floating point planar
- PCM 64-bit big-endian floating point interleaved
- PCM 64-bit big-endian floating point planar
- PCM 64-bit little-endian floating point interleaved
- PCM 64-bit little-endian floating point planar
- PCM Mu-law (G.711)
- PCM signed 8-bit interleaved
- PCM signed 8-bit planar
- PCM signed 16-bit big-endian interleaved
- PCM signed 16-bit big-endian planar
- PCM signed 16-bit little-endian interleaved
- PCM signed 16-bit little-endian planar
- PCM signed 24-bit big-endian interleaved
- PCM signed 24-bit big-endian planar
- PCM signed 24-bit little-endian interleaved
- PCM signed 24-bit little-endian planar
- PCM signed 32-bit big-endian interleaved
- PCM signed 32-bit big-endian planar
- PCM signed 32-bit little-endian interleaved
- PCM signed 32-bit little-endian planar
- PCM unsigned 8-bit interleaved
- PCM unsigned 8-bit planar
- PCM unsigned 16-bit big-endian interleaved
- PCM unsigned 16-bit big-endian planar
- PCM unsigned 16-bit little-endian interleaved
- PCM unsigned 16-bit little-endian planar
- PCM unsigned 24-bit big-endian interleaved
- PCM unsigned 24-bit big-endian planar
- PCM unsigned 24-bit little-endian interleaved
- PCM unsigned 24-bit little-endian planar
- PCM unsigned 32-bit big-endian interleaved
- PCM unsigned 32-bit big-endian planar
- PCM unsigned 32-bit little-endian interleaved
- PCM unsigned 32-bit little-endian planar
- Speex
- True Audio (TTA)
- Vorbis
- WavPack
- Windows Media Audio
Traits§
- A
Decoder
implements a codec’s decode algorithm. It consumesPacket
s and producesAudioBuffer
s.
Functions§
- Declares a new
CodecType
given a character code. A character code is an ASCII string containing a maximum of 5 alphanumeric characters.