mirror of https://github.com/godotengine/godot
When using the ALSA driver, corruption would occur if `snd_pcm_writei`
was unable to consume the entire sound buffer. This would occur
frequently on the Raspberry Pi 3 which uses the `snd_bcm2835` audio
driver.
This bug resulted from incorrect pointer math on line 187, resulting in
the sample source pointer being advanced by `total * ad->channels` bytes
instead of `total * ad->channels` samples. In my opinion, the best fix
is to change `*src` to type `int16_t`, since that is the sample type in
use.
Fixes #43927.
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| alsa | ||
| alsamidi | ||
| coreaudio | ||
| coremidi | ||
| dummy | ||
| gl_context | ||
| gles2 | ||
| gles3 | ||
| gles_common | ||
| png | ||
| pulseaudio | ||
| unix | ||
| wasapi | ||
| windows | ||
| winmidi | ||
| xaudio2 | ||
| SCsub | ||
| register_driver_types.cpp | ||
| register_driver_types.h | ||