Skip to content

Releases: vampirefrog/muxaudio

Release v0.4

Choose a tag to compare

@github-actions github-actions released this 14 Jul 18:02

MuxAudio Release v0.4

Linux Builds

Shared Library (muxaudio-linux-x64-shared.tar.gz)

  • libmuxaudio.so - shared library with external codec dependencies
  • mux, demux - CLI tools
  • All codec shared libraries included (.so files)
  • 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 (.a files)
  • No runtime codec dependencies
  • Includes README with linking instructions
  • Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC

Debian Packages (.deb files)

  • libmuxaudio0_*.deb - Runtime library package
  • libmuxaudio-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.lib import 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.lib with 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 .lib files
  • 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  # Development

Linux 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 ldconfig

Linux Static:

tar xzf muxaudio-linux-x64-static.tar.gz
# See README.txt in the archive for linking instructions

Windows Shared:

Expand-Archive muxaudio-windows-x64-shared.zip
# Copy all DLL files to your application directory or system PATH

Windows Static:

Expand-Archive muxaudio-windows-x64-static.zip
# See README.txt in the archive for linking instructions

WASM:

tar xzf muxaudio-wasm-decoder.tar.gz
# Use files in wasm-decoder/ in your web project

Release v0.3

Choose a tag to compare

@github-actions github-actions released this 11 Jul 22:05

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_read plus a growable buffer) with a push model using callbacks. Encoders emit muxed bytes through a mux_sink_fn given at construction; decoders emit demuxed audio and side-channel data through a mux_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_buffer output accumulator and the _AGAIN error.

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_LOOKAHEAD for 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 .lib is actually usable — previously it exported nothing.

Tooling & build

  • Added .clang-format, .editorconfig, an opt-in pre-commit hook, and a CI Format Check, plus format / format-check CMake 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 dependencies
  • mux, demux - CLI tools
  • All codec shared libraries included (.so files)
  • 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 (.a files)
  • No runtime codec dependencies
  • Includes README with linking instructions
  • Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC

Debian Packages (.deb files)

  • libmuxaudio0_*.deb - Runtime library package
  • libmuxaudio-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.lib import 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.lib with 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 .lib files
  • 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  # Development

Linux 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 ldconfig

Linux Static:

tar xzf muxaudio-linux-x64-static.tar.gz
# See README.txt in the archive for linking instructions

Windows Shared:

Expand-Archive muxaudio-windows-x64-shared.zip
# Copy all DLL files to your application directory or system PATH

Windows Static:

Expand-Archive muxaudio-windows-x64-static.zip
# See README.txt in the archive for linking instructions

WASM:

tar xzf muxaudio-wasm-decoder.tar.gz
# Use files in wasm-decoder/ in your web project

Release v0.2

Choose a tag to compare

@vampirefrog vampirefrog released this 24 Jan 00:08

MuxAudio Release v0.2

Linux Builds

Shared Library (muxaudio-linux-x64-shared.tar.gz)

  • libmuxaudio.so - shared library with external codec dependencies
  • mux, demux - CLI tools
  • All codec shared libraries included (.so files)
  • 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 (.a files)
  • No runtime codec dependencies
  • Includes README with linking instructions
  • Codecs: PCM, Vorbis, Opus, FLAC, MP3, AAC

Debian Packages (.deb files)

  • libmuxaudio0_*.deb - Runtime library package
  • libmuxaudio-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 dependencies
  • muxaudio.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 (.lib files)
  • 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  # Development

Linux 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 ldconfig

Linux Static:

tar xzf muxaudio-linux-x64-static.tar.gz
# See README.txt in the archive for linking instructions

Windows Shared:

Expand-Archive muxaudio-windows-x64-shared.zip
# Copy all DLL files to your application directory or system PATH

Windows Static:

Expand-Archive muxaudio-windows-x64-static.zip
# See README.txt in the archive for linking instructions

WASM:

tar xzf muxaudio-wasm-decoder.tar.gz
# Use files in wasm-decoder/ in your web project

Release v0.1a

Choose a tag to compare

@vampirefrog vampirefrog released this 10 Jan 17:18

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 ldconfig

WASM:

tar xzf muxaudio-wasm-decoder.tar.gz
# Use files in wasm-decoder/ in your web project