diff options
author | Marcelo Fernandez <marcelofg55@gmail.com> | 2018-11-17 21:16:06 -0300 |
---|---|---|
committer | Marcelo Fernandez <marcelofg55@gmail.com> | 2018-11-17 21:16:06 -0300 |
commit | dbf7cad04f2cc63f31f28246bf6ff3b0bf048613 (patch) | |
tree | fbfcf4e96682cd9d82075ea8238be00e5dc7a996 | |
parent | 9eb4b6d91a64661f8e2823a70f935c602f8a725a (diff) |
Fix distorted sound with PulseAudio and uneven channels
-rw-r--r-- | drivers/pulseaudio/audio_driver_pulseaudio.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.cpp b/drivers/pulseaudio/audio_driver_pulseaudio.cpp index d78316945f..010f7bdb0a 100644 --- a/drivers/pulseaudio/audio_driver_pulseaudio.cpp +++ b/drivers/pulseaudio/audio_driver_pulseaudio.cpp @@ -346,9 +346,9 @@ void AudioDriverPulseAudio::thread_func(void *p_udata) { for (int j = 0; j < ad->pa_map.channels - 1; j++) { ad->samples_out.write[out_idx++] = ad->samples_in[in_idx++] >> 16; } - uint32_t l = ad->samples_in[in_idx++]; - uint32_t r = ad->samples_in[in_idx++]; - ad->samples_out.write[out_idx++] = ((l >> 1) + (r >> 1)) >> 16; + uint32_t l = ad->samples_in[in_idx++] >> 16; + uint32_t r = ad->samples_in[in_idx++] >> 16; + ad->samples_out.write[out_idx++] = (l + r) / 2; } } } |