Mercurial > molko
changeset 380:31e2f6d35c34
core: fix sndfile distortion issue
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 07 Jan 2022 08:20:12 +0100 |
parents | 67c1c46af2c8 |
children | f48367c5a92e |
files | src/libmlk-core/core/sys.c src/libmlk-core/core/sys_p.h |
diffstat | 2 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/libmlk-core/core/sys.c Wed Jan 05 12:45:17 2022 +0100 +++ b/src/libmlk-core/core/sys.c Fri Jan 07 08:20:12 2022 +0100 @@ -298,6 +298,8 @@ stream->samples = alloc_array(stream->samplesz, sizeof (*stream->samples)); stream->format = info->channels == 1 ? AL_FORMAT_MONO16 : AL_FORMAT_STEREO16; + sf_command(file, SFC_SET_SCALE_FLOAT_INT_READ, NULL, SF_TRUE); + if (sf_read_short(file, stream->samples, stream->samplesz) != stream->samplesz) { free(stream->samples); free(stream); @@ -306,7 +308,7 @@ alGenBuffers(1, &stream->buffer); alBufferData(stream->buffer, stream->format, stream->samples, - stream->samplesz * sizeof (ALushort), stream->samplerate); + stream->samplesz * sizeof (*stream->samples), stream->samplerate); alGenSources(1, &stream->source); alSourcei(stream->source, AL_BUFFER, stream->buffer);
--- a/src/libmlk-core/core/sys_p.h Wed Jan 05 12:45:17 2022 +0100 +++ b/src/libmlk-core/core/sys_p.h Fri Jan 07 08:20:12 2022 +0100 @@ -23,12 +23,13 @@ #include <al.h> #include <alc.h> +#include <alext.h> extern ALCdevice *audio_dev; extern ALCcontext *audio_ctx; struct audiostream { - ALshort *samples; + short *samples; ALsizei samplesz; ALsizei samplerate; ALuint buffer;