Debug APK Release
What's New
Fix FlacDecoder producing 0 PCM bytes (no audio output) (#98)
Three bugs fixed:
-
Codec header corruption: The server sends codec_header as base64-encoded
FLAC STREAMINFO, but the decoder was passing the base64 string through
ISO_8859_1 encoding instead of base64-decoding it. This corrupted the
34-byte STREAMINFO block, preventing MediaCodec from understanding the
stream format. -
Missing output drain loop: MediaCodec is asynchronous - queuing input
does not immediately produce output. The decoder was dequeuing only one
output buffer per decode() call, returning empty bytes on
INFO_OUTPUT_FORMAT_CHANGED or INFO_TRY_AGAIN_LATER. Added a proper
drainOutput() loop that collects all available output buffers. -
Race condition between decode/release: Added synchronized(decoderLock)
to all FlacDecoder methods and AudioStreamManager decoder access to
prevent IllegalStateException when processBinaryMessage() races with
startStream()/stopStream()/close().
Important Notes
- This is a debug build — not intended for production use
- Contains debug symbols and logging
- Performance may be slower than release builds
Installation
Download the APK below and install on your Android device.