소스 검색

Fix distorted sound with PulseAudio and uneven channels

Marcelo Fernandez 6 년 전
부모
커밋
dbf7cad04f
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  1. 3 3
      drivers/pulseaudio/audio_driver_pulseaudio.cpp

+ 3 - 3
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;
 					}
 				}
 			}