aboutsummaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorPeter Krempa <pkrempa@redhat.com>2016-05-11 12:31:04 +0200
committerGerd Hoffmann <kraxel@redhat.com>2016-06-03 11:13:38 +0200
commite58ff62d589fe147f4e73ba28a0383fb80600be6 (patch)
treed91b29500319578781c62fd2e0dfd874ef1d0ff7 /audio
parent2c107d7684f9e3c4db4780d0756bbf35b06aec07 (diff)
downloadqemu-e58ff62d589fe147f4e73ba28a0383fb80600be6.zip
qemu-e58ff62d589fe147f4e73ba28a0383fb80600be6.tar.gz
qemu-e58ff62d589fe147f4e73ba28a0383fb80600be6.tar.bz2
audio: pa: Set volume of recording stream instead of recording device
Since pulseaudio 1.0 it's possible to set the individual stream volume rather than setting the device volume. With this, setting hardware mixer of a emulated sound card doesn't mess up the volume configuration of the host. A side effect is that this limits compatible pulseaudio version to 1.0 which was released on 2011-09-27. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-id: 78853815be2069971b89b3a2e3181837064dd8f3.1462962512.git.pkrempa@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'audio')
-rw-r--r--audio/paaudio.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/audio/paaudio.c b/audio/paaudio.c
index 57678e7..65beb6f 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
@@ -781,23 +781,22 @@ static int qpa_ctl_in (HWVoiceIn *hw, int cmd, ...)
pa_threaded_mainloop_lock (g->mainloop);
- /* FIXME: use the upcoming "set_source_output_{volume,mute}" */
- op = pa_context_set_source_volume_by_index (g->context,
- pa_stream_get_device_index (pa->stream),
+ op = pa_context_set_source_output_volume (g->context,
+ pa_stream_get_index (pa->stream),
&v, NULL, NULL);
if (!op) {
qpa_logerr (pa_context_errno (g->context),
- "set_source_volume() failed\n");
+ "set_source_output_volume() failed\n");
} else {
pa_operation_unref(op);
}
- op = pa_context_set_source_mute_by_index (g->context,
+ op = pa_context_set_source_output_mute (g->context,
pa_stream_get_index (pa->stream),
sw->vol.mute, NULL, NULL);
if (!op) {
qpa_logerr (pa_context_errno (g->context),
- "set_source_mute() failed\n");
+ "set_source_output_mute() failed\n");
} else {
pa_operation_unref (op);
}