Releases: vampirefrog/muxaudio
Release list
Release v0.4
MuxAudio Release v0.4
Linux Builds
Shared Library (muxaudio-linux-x64-shared.tar.gz)
libmuxaudio.so- shared library with external codec dependenciesmux,demux- CLI tools- All codec shared libraries included (
.sofiles) - Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Static Library (muxaudio-linux-x64-static.tar.gz)
libmuxaudio-static.a- static library- All codec static libraries included (
.afiles) - No runtime codec dependencies
- Includes README with linking instructions
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Debian Packages (.deb files)
libmuxaudio0_*.deb- Runtime library packagelibmuxaudio-dev_*.deb- Development files (headers, static library)muxaudio-tools_*.deb- Command-line tools (mux, demux)- Automatic dependency resolution for codec libraries
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Windows Builds
Three linkage variants, each in x64 and x86 (mux.h + a
README.txt included in every archive):
Shared, external codecs (muxaudio-windows-{x64,x86}-shared.zip)
muxaudio.dll+muxaudio.libimport library- Ships the codec DLLs (ogg.dll, vorbis.dll, opus.dll, etc.) alongside
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Shared, self-contained (muxaudio-windows-{x64,x86}-shared-bundled.zip)
muxaudio.dll+muxaudio.libwith all codecs linked into the DLL- Static CRT; ship only
muxaudio.dll- no external codec DLLs - Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Static library (muxaudio-windows-{x64,x86}-static.zip)
muxaudio-static.lib+ all codec static.libfiles- No runtime codec DLL dependencies; link everything into your app
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
WASM Build
Decoder (muxaudio-wasm-decoder.tar.gz)
- Decoder-only build for browser use
- Fully static with codecs embedded
- Files:
muxaudio.js,muxaudio.wasm,muxaudio.wrapper.js - Codecs: PCM, Vorbis, Opus, FLAC, MP3 (decode only)
Installation
Debian/Ubuntu (Recommended):
# Install all packages
sudo apt install ./libmuxaudio0_*.deb ./libmuxaudio-dev_*.deb ./muxaudio-tools_*.deb
# Or install only what you need:
sudo apt install ./libmuxaudio0_*.deb ./muxaudio-tools_*.deb # Runtime only
sudo apt install ./libmuxaudio0_*.deb ./libmuxaudio-dev_*.deb # DevelopmentLinux Shared:
tar xzf muxaudio-linux-x64-shared.tar.gz
sudo cp linux-x64-shared/*.so* /usr/local/lib/
sudo cp linux-x64-shared/mux linux-x64-shared/demux /usr/local/bin/
sudo ldconfigLinux Static:
tar xzf muxaudio-linux-x64-static.tar.gz
# See README.txt in the archive for linking instructionsWindows Shared:
Expand-Archive muxaudio-windows-x64-shared.zip
# Copy all DLL files to your application directory or system PATHWindows Static:
Expand-Archive muxaudio-windows-x64-static.zip
# See README.txt in the archive for linking instructionsWASM:
tar xzf muxaudio-wasm-decoder.tar.gz
# Use files in wasm-decoder/ in your web projectRelease v0.3
MuxAudio Release v0.3
Changelog
A major overhaul since v0.2 (Jan 2026), centered on a new streaming API and four new codecs.
⚠️ Breaking: new push/callback streaming API
- Replaced the internal output-buffering model (
mux_encoder_read/mux_decoder_readplus a growable buffer) with a push model using callbacks. Encoders emit muxed bytes through amux_sink_fngiven at construction; decoders emit demuxed audio and side-channel data through amux_emit_fn. No library-owned buffers, no read step. - The event side channel is now a plain, self-framing byte stream — demuxed bytes come back exactly as they were encoded.
- Removed the
mux_bufferoutput accumulator and the_AGAINerror.
New codecs
- G.711 A-law and μ-law — no external dependencies.
- AMR-NB (via opencore-amrnb) and AMR-WB (decode via opencore-amrwb, encode via vo-amrwbenc).
Codec & streaming improvements
- FLAC: streaming decode via a STREAMINFO-sized ring buffer, independent of mux frame boundaries; encoder deinterleaves through fixed scratch (no growable buffers).
- Opus: buffers partial frames and queries
OPUS_GET_LOOKAHEADfor correct pre-skip. - MP3: added passthrough decode mode (no mpg123 dependency); dynamic / larger decoder buffers.
- AAC: uses self-delimiting ADTS transport (fixes a case where decode produced no audio).
- LEB128 mux framing reduced to a zero-buffering state machine.
Windows packaging
- Three linkage variants, each in x64 and x86: shared DLL with external codec DLLs, a self-contained DLL with codecs linked in (static CRT), and a static
.lib. - The DLL now exports its public API (
WINDOWS_EXPORT_ALL_SYMBOLS) so the shipped import.libis actually usable — previously it exported nothing.
Tooling & build
- Added
.clang-format,.editorconfig, an opt-in pre-commit hook, and a CI Format Check, plusformat/format-checkCMake targets. All C sources reformatted to the project style. - WASM: export fixes (HEAP views exported; dropped removed read functions).
- CI actions bumped to Node-24 majors; numerous Windows / vcpkg build fixes.
Linux Builds
Shared Library (muxaudio-linux-x64-shared.tar.gz)
libmuxaudio.so- shared library with external codec dependenciesmux,demux- CLI tools- All codec shared libraries included (
.sofiles) - Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Static Library (muxaudio-linux-x64-static.tar.gz)
libmuxaudio-static.a- static library- All codec static libraries included (
.afiles) - No runtime codec dependencies
- Includes README with linking instructions
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Debian Packages (.deb files)
libmuxaudio0_*.deb- Runtime library packagelibmuxaudio-dev_*.deb- Development files (headers, static library)muxaudio-tools_*.deb- Command-line tools (mux, demux)- Automatic dependency resolution for codec libraries
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Windows Builds
Three linkage variants, each in x64 and x86 (mux.h + a
README.txt included in every archive):
Shared, external codecs (muxaudio-windows-{x64,x86}-shared.zip)
muxaudio.dll+muxaudio.libimport library- Ships the codec DLLs (ogg.dll, vorbis.dll, opus.dll, etc.) alongside
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Shared, self-contained (muxaudio-windows-{x64,x86}-shared-bundled.zip)
muxaudio.dll+muxaudio.libwith all codecs linked into the DLL- Static CRT; ship only
muxaudio.dll- no external codec DLLs - Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Static library (muxaudio-windows-{x64,x86}-static.zip)
muxaudio-static.lib+ all codec static.libfiles- No runtime codec DLL dependencies; link everything into your app
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
WASM Build
Decoder (muxaudio-wasm-decoder.tar.gz)
- Decoder-only build for browser use
- Fully static with codecs embedded
- Files:
muxaudio.js,muxaudio.wasm,muxaudio.wrapper.js - Codecs: PCM, Vorbis, Opus, FLAC, MP3 (decode only)
Installation
Debian/Ubuntu (Recommended):
# Install all packages
sudo apt install ./libmuxaudio0_*.deb ./libmuxaudio-dev_*.deb ./muxaudio-tools_*.deb
# Or install only what you need:
sudo apt install ./libmuxaudio0_*.deb ./muxaudio-tools_*.deb # Runtime only
sudo apt install ./libmuxaudio0_*.deb ./libmuxaudio-dev_*.deb # DevelopmentLinux Shared:
tar xzf muxaudio-linux-x64-shared.tar.gz
sudo cp linux-x64-shared/*.so* /usr/local/lib/
sudo cp linux-x64-shared/mux linux-x64-shared/demux /usr/local/bin/
sudo ldconfigLinux Static:
tar xzf muxaudio-linux-x64-static.tar.gz
# See README.txt in the archive for linking instructionsWindows Shared:
Expand-Archive muxaudio-windows-x64-shared.zip
# Copy all DLL files to your application directory or system PATHWindows Static:
Expand-Archive muxaudio-windows-x64-static.zip
# See README.txt in the archive for linking instructionsWASM:
tar xzf muxaudio-wasm-decoder.tar.gz
# Use files in wasm-decoder/ in your web projectRelease v0.2
MuxAudio Release v0.2
Linux Builds
Shared Library (muxaudio-linux-x64-shared.tar.gz)
libmuxaudio.so- shared library with external codec dependenciesmux,demux- CLI tools- All codec shared libraries included (
.sofiles) - Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Static Library (muxaudio-linux-x64-static.tar.gz)
libmuxaudio-static.a- static library- All codec static libraries included (
.afiles) - No runtime codec dependencies
- Includes README with linking instructions
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Debian Packages (.deb files)
libmuxaudio0_*.deb- Runtime library packagelibmuxaudio-dev_*.deb- Development files (headers, static library)muxaudio-tools_*.deb- Command-line tools (mux, demux)- Automatic dependency resolution for codec libraries
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Windows Builds
Shared Library (muxaudio-windows-x64-shared.zip)
muxaudio.dll- shared library with external codec dependenciesmuxaudio.lib- import library- All codec DLLs included (ogg.dll, vorbis.dll, opus.dll, etc.)
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
Static Library (muxaudio-windows-x64-static.zip)
muxaudio-static.lib- static library- All codec static libraries included (
.libfiles) - No runtime codec DLL dependencies
- Includes README with linking instructions
- Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC
WASM Build
Decoder (muxaudio-wasm-decoder.tar.gz)
- Decoder-only build for browser use
- Fully static with codecs embedded
- Files:
muxaudio.js,muxaudio.wasm,muxaudio.wrapper.js - Codecs: PCM, Vorbis, Opus, FLAC, MP3 (decode only)
Installation
Debian/Ubuntu (Recommended):
# Install all packages
sudo apt install ./libmuxaudio0_*.deb ./libmuxaudio-dev_*.deb ./muxaudio-tools_*.deb
# Or install only what you need:
sudo apt install ./libmuxaudio0_*.deb ./muxaudio-tools_*.deb # Runtime only
sudo apt install ./libmuxaudio0_*.deb ./libmuxaudio-dev_*.deb # DevelopmentLinux Shared:
tar xzf muxaudio-linux-x64-shared.tar.gz
sudo cp linux-x64-shared/*.so* /usr/local/lib/
sudo cp linux-x64-shared/mux linux-x64-shared/demux /usr/local/bin/
sudo ldconfigLinux Static:
tar xzf muxaudio-linux-x64-static.tar.gz
# See README.txt in the archive for linking instructionsWindows Shared:
Expand-Archive muxaudio-windows-x64-shared.zip
# Copy all DLL files to your application directory or system PATHWindows Static:
Expand-Archive muxaudio-windows-x64-static.zip
# See README.txt in the archive for linking instructionsWASM:
tar xzf muxaudio-wasm-decoder.tar.gz
# Use files in wasm-decoder/ in your web projectRelease v0.1a
MuxAudio Release v0.1a
Native Linux Build
- Shared library:
libmuxaudio.so - Static library:
libmuxaudio-static.a - CLI tools:
mux,demux - All codecs enabled (PCM, Vorbis, Opus, FLAC, MP3, AAC)
WASM Build
- Decoder-only build for browser use
- Codecs: PCM, Vorbis, Opus, FLAC, MP3
- Files:
muxaudio.js,muxaudio.wasm,muxaudio.wrapper.js
Installation
Native (Linux):
tar xzf muxaudio-native-linux-x64.tar.gz
sudo cp native-linux-x64/libmuxaudio.so* /usr/local/lib/
sudo cp native-linux-x64/mux native-linux-x64/demux /usr/local/bin/
sudo ldconfigWASM:
tar xzf muxaudio-wasm-decoder.tar.gz
# Use files in wasm-decoder/ in your web project