diff --git a/lib/libfoxenflac/flac.c b/lib/libfoxenflac/flac.c index d65ada3e..d4030e11 100644 --- a/lib/libfoxenflac/flac.c +++ b/lib/libfoxenflac/flac.c @@ -305,7 +305,7 @@ static inline uint64_t fx_bitstream_peek_msb(fx_bitstream_t *reader, * optimization. Furthermore, some platforms (WASM) do not allow unaligned * memory access. */ -#define FX_ALIGN 16 +#define FX_ALIGN 1 /** * Macro telling the compiler that P is aligned with the specified alignment diff --git a/src/codecs/foxenflac.cpp b/src/codecs/foxenflac.cpp index 7d11d4f1..1fd95cd1 100644 --- a/src/codecs/foxenflac.cpp +++ b/src/codecs/foxenflac.cpp @@ -19,7 +19,13 @@ namespace codecs { [[maybe_unused]] static const char kTag[] = "flac"; FoxenFlacDecoder::FoxenFlacDecoder() - : input_(), buffer_(), flac_(FX_FLAC_ALLOC(FLAC_MAX_BLOCK_SIZE, 2)) {} + : input_(), + buffer_(), + flac_(fx_flac_init( + heap_caps_malloc(fx_flac_size(FLAC_SUBSET_MAX_BLOCK_SIZE_48KHZ, 2), + MALLOC_CAP_SPIRAM), + FLAC_SUBSET_MAX_BLOCK_SIZE_48KHZ, + 2)) {} FoxenFlacDecoder::~FoxenFlacDecoder() { free(flac_);