flac: update dr_libs and buildtools

This required changes to the flac plugin due to changes in the dr_flac
API.

Signed-off-by: Mahyar Koshkouei <mk@deltabeard.com>
This commit is contained in:
Mahyar Koshkouei
2023-07-07 23:22:39 +01:00
parent a1c62ad537
commit 39ad015894
3 changed files with 11 additions and 5 deletions

View File

@@ -30,7 +30,7 @@ void setFlac(struct decoder_fn* decoder)
*/ */
int initFlac(const char* file) int initFlac(const char* file)
{ {
pFlac = drflac_open_file(file); pFlac = drflac_open_file(file, NULL);
return pFlac == NULL ? -1 : 0; return pFlac == NULL ? -1 : 0;
} }
@@ -63,7 +63,13 @@ uint8_t channelFlac(void)
*/ */
uint64_t decodeFlac(void* buffer) uint64_t decodeFlac(void* buffer)
{ {
return drflac_read_s16(pFlac, buffSize, buffer); size_t buffSizeFrames;
uint64_t samplesRead;
buffSizeFrames = buffSize / (size_t)pFlac->channels;
samplesRead = drflac_read_pcm_frames_s16(pFlac, buffSizeFrames, buffer);
samplesRead *= (uint64_t)pFlac->channels;
return samplesRead;
} }
/** /**
@@ -83,7 +89,7 @@ void exitFlac(void)
int isFlac(const char* in) int isFlac(const char* in)
{ {
int err = -1; int err = -1;
drflac* pFlac = drflac_open_file(in); drflac* pFlac = drflac_open_file(in, NULL);
if(pFlac != NULL) if(pFlac != NULL)
err = 0; err = 0;