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 | |
| parent | 2c107d7684f9e3c4db4780d0756bbf35b06aec07 (diff) | |
| download | focaccia-qemu-e58ff62d589fe147f4e73ba28a0383fb80600be6.tar.gz focaccia-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>
| -rw-r--r-- | audio/paaudio.c | 11 | ||||
| -rwxr-xr-x | configure | 4 |
2 files changed, 7 insertions, 8 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); } diff --git a/configure b/configure index b5aab7257b..6d01d968b8 100755 --- a/configure +++ b/configure @@ -2813,8 +2813,8 @@ for drv in $audio_drv_list; do ;; pa) - audio_drv_probe $drv pulse/mainloop.h "-lpulse" \ - "pa_mainloop *m = 0; pa_mainloop_free (m); return 0;" + audio_drv_probe $drv pulse/pulseaudio.h "-lpulse" \ + "pa_context_set_source_output_volume(NULL, 0, NULL, NULL, NULL); return 0;" libs_softmmu="-lpulse $libs_softmmu" audio_pt_int="yes" ;; |