#[non_exhaustive]pub enum AudioCodec {
Aac,
Mp3,
Opus,
Flac,
Pcm,
Vorbis,
Ac3,
Eac3,
Dts,
Alac,
Unknown,
}Expand description
Audio codec identifier.
This enum represents common audio codecs used in media files.
It covers the most widely used codecs while remaining extensible
via the Unknown variant.
§Common Usage
- AAC: Most common for streaming and mobile
- MP3: Legacy but still widely supported
- Opus: Excellent quality at low bitrates, used for voice communication
- FLAC: Lossless compression
- PCM: Uncompressed audio
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Aac
AAC (Advanced Audio Coding) - most common lossy codec
Mp3
MP3 (MPEG-1 Audio Layer 3) - legacy lossy codec
Opus
Opus - modern lossy codec, excellent at low bitrates
Flac
FLAC (Free Lossless Audio Codec) - lossless compression
Pcm
PCM (Pulse Code Modulation) - uncompressed audio
Vorbis
Vorbis - open lossy codec, used in Ogg containers
Ac3
AC3 (Dolby Digital) - surround sound codec
Eac3
EAC3 (Dolby Digital Plus) - enhanced AC3
Dts
DTS (Digital Theater Systems) - surround sound codec
Alac
ALAC (Apple Lossless Audio Codec)
Unknown
Unknown or unsupported codec
Implementations§
Source§impl AudioCodec
impl AudioCodec
Sourcepub const fn name(&self) -> &'static str
pub const fn name(&self) -> &'static str
Returns the codec name as a human-readable string.
§Examples
use ff_format::codec::AudioCodec;
assert_eq!(AudioCodec::Aac.name(), "aac");
assert_eq!(AudioCodec::Flac.name(), "flac");Sourcepub const fn display_name(&self) -> &'static str
pub const fn display_name(&self) -> &'static str
Returns the human-readable display name for the codec.
§Examples
use ff_format::codec::AudioCodec;
assert_eq!(AudioCodec::Aac.display_name(), "AAC");
assert_eq!(AudioCodec::Flac.display_name(), "FLAC");Sourcepub const fn is_lossy(&self) -> bool
pub const fn is_lossy(&self) -> bool
Returns true if this is a lossy codec.
Lossy codecs discard some audio data for smaller file sizes.
§Examples
use ff_format::codec::AudioCodec;
assert!(AudioCodec::Aac.is_lossy());
assert!(AudioCodec::Mp3.is_lossy());
assert!(!AudioCodec::Flac.is_lossy());Sourcepub const fn is_lossless(&self) -> bool
pub const fn is_lossless(&self) -> bool
Returns true if this is a lossless codec.
Lossless codecs preserve all audio data.
§Examples
use ff_format::codec::AudioCodec;
assert!(AudioCodec::Flac.is_lossless());
assert!(AudioCodec::Pcm.is_lossless());
assert!(AudioCodec::Alac.is_lossless());
assert!(!AudioCodec::Aac.is_lossless());Sourcepub const fn is_surround(&self) -> bool
pub const fn is_surround(&self) -> bool
Returns true if this is a surround sound codec.
§Examples
use ff_format::codec::AudioCodec;
assert!(AudioCodec::Ac3.is_surround());
assert!(AudioCodec::Dts.is_surround());
assert!(!AudioCodec::Aac.is_surround());Sourcepub const fn is_unknown(&self) -> bool
pub const fn is_unknown(&self) -> bool
Returns true if the codec is unknown.
§Examples
use ff_format::codec::AudioCodec;
assert!(AudioCodec::Unknown.is_unknown());
assert!(!AudioCodec::Aac.is_unknown());Trait Implementations§
Source§impl Clone for AudioCodec
impl Clone for AudioCodec
Source§fn clone(&self) -> AudioCodec
fn clone(&self) -> AudioCodec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more