Explicitly set a channel map when initialising the Pulseaudio stream.

This commit is contained in:
zwostein 2019-07-01 22:03:02 +02:00
parent 0268a4869d
commit 9fa2e07588
1 changed files with 8 additions and 0 deletions

View File

@ -191,6 +191,14 @@ Error AudioDriverPulseAudio::init_device() {
spec.format = PA_SAMPLE_S16LE; spec.format = PA_SAMPLE_S16LE;
spec.channels = pa_map.channels; spec.channels = pa_map.channels;
spec.rate = mix_rate; spec.rate = mix_rate;
pa_map.map[0] = PA_CHANNEL_POSITION_FRONT_LEFT;
pa_map.map[1] = PA_CHANNEL_POSITION_FRONT_RIGHT;
pa_map.map[2] = PA_CHANNEL_POSITION_FRONT_CENTER;
pa_map.map[3] = PA_CHANNEL_POSITION_LFE;
pa_map.map[4] = PA_CHANNEL_POSITION_REAR_LEFT;
pa_map.map[5] = PA_CHANNEL_POSITION_REAR_RIGHT;
pa_map.map[6] = PA_CHANNEL_POSITION_SIDE_LEFT;
pa_map.map[7] = PA_CHANNEL_POSITION_SIDE_RIGHT;
pa_str = pa_stream_new(pa_ctx, "Sound", &spec, &pa_map); pa_str = pa_stream_new(pa_ctx, "Sound", &spec, &pa_map);
if (pa_str == NULL) { if (pa_str == NULL) {