diff --git a/libs/audio/source/engine.cpp b/libs/audio/source/engine.cpp index 93bcee3e..35f0810f 100644 --- a/libs/audio/source/engine.cpp +++ b/libs/audio/source/engine.cpp @@ -179,7 +179,7 @@ namespace psemek::audio engine::impl::impl() : sdl_init(sdl2::init(SDL_INIT_AUDIO)) { - if (Mix_OpenAudio(frequency, AUDIO_S16SYS, 2, 4096) != 0) + if (Mix_OpenAudio(engine::frequency, AUDIO_S16SYS, engine::channels, 4096) != 0) mix_fail("Mix_OpenAudio: "); Mix_ChannelFinished(&channel_finished); @@ -260,11 +260,11 @@ namespace psemek::audio { Mix_Chunk * chunk = static_cast(malloc(sizeof(Mix_Chunk))); chunk->allocated = copy ? 1 : 0; - chunk->alen = sample_count * 2; + chunk->alen = sample_count * sizeof(std::int16_t); chunk->volume = 128; if (copy) { - chunk->abuf = static_cast(malloc(sample_count * 2)); + chunk->abuf = static_cast(malloc(sample_count * sizeof(std::int16_t))); std::copy(data, data + sample_count, reinterpret_cast(chunk->abuf)); } else