diff options
author | Peter Krempa <pkrempa@redhat.com> | 2016-05-11 12:31:04 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2016-06-03 11:13:38 +0200 |
commit | e58ff62d589fe147f4e73ba28a0383fb80600be6 (patch) | |
tree | d91b29500319578781c62fd2e0dfd874ef1d0ff7 /audio | |
parent | 2c107d7684f9e3c4db4780d0756bbf35b06aec07 (diff) | |
download | qemu-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.c | 11 |
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); } |