Supported formats

Bòcan detects audio formats by magic bytes, not file extensions — so a renamed file plays correctly without any guessing. Decoding uses two back-ends: AVFoundation (Apple's native stack) and FFmpeg (bundled LGPL build, no GPL codecs).

Lossless PCM

FormatExtensionsEngine
WAV / RIFF PCM .wav AVFoundation
AIFF / AIFF-C .aiff .aif FFmpeg
AU / SND .au .snd FFmpeg
Wave64 .w64 FFmpeg — removes the 4 GB WAV size cap
RF64 / Broadcast Wave .wav .bwf FFmpeg — identified by magic bytes, not extension

Lossless compressed

FormatExtensionsEngine
FLAC .flac AVFoundation (FFmpeg fallback for unusual streams)
ALAC (Apple Lossless) .m4a .alac .mp4 AVFoundation
Monkey's Audio .ape FFmpeg
WavPack .wv FFmpeg — lossless, hybrid-lossy, and DSD modes

Lossy

FormatExtensionsEngine
MP3 (MPEG Layer 3) .mp3 AVFoundation
MP2 (MPEG Layer 2) .mp2 FFmpeg
MP1 (MPEG Layer 1) .mp1 FFmpeg
AAC .aac .m4a .m4b .mp4 AVFoundation
OGG Vorbis / Speex / Ogg FLAC .ogg FFmpeg — content type detected automatically
Opus .opus .ogg FFmpeg
WMA (Windows Media Audio) .wma FFmpeg (ASF container)
Musepack .mpc FFmpeg
AC-3 / Dolby Digital .ac3 FFmpeg
DTS .dts FFmpeg
TTA (True Audio) .tta FFmpeg

DSD

DSD files are decoded to PCM via DoP (DSD over PCM) for output to standard DACs.

FormatExtensionsEngine
DSF (Sony DSD Stream File) .dsf FFmpeg
DFF / DSDIFF (Philips) .dff FFmpeg

Containers

FormatExtensionsEngine
Matroska / MKV / WebM .mkv .mka .webm FFmpeg — audio tracks extracted automatically
MP4 / M4A .mp4 .m4a .m4b AVFoundation

Output

All formats are decoded internally to 32-bit float PCM. Output to hardware supports up to 32-bit / 384 kHz. DSD is output via DoP. Gapless playback is guaranteed for all formats.

What isn't supported