summaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authorPeter Krempa2016-05-11 12:31:04 +0200
committerGerd Hoffmann2016-06-03 11:13:38 +0200
commite58ff62d589fe147f4e73ba28a0383fb80600be6 (patch)
treed91b29500319578781c62fd2e0dfd874ef1d0ff7 /audio
parentMerge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into st... (diff)
downloadqemu-e58ff62d589fe147f4e73ba28a0383fb80600be6.tar.gz
qemu-e58ff62d589fe147f4e73ba28a0383fb80600be6.tar.xz
qemu-e58ff62d589fe147f4e73ba28a0383fb80600be6.zip
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 57678e72e1..65beb6f010 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);
}