This can be used to identify stream in tools like pavucontrol when one
creates multiple -audiodevs or runs multiple qemu instances.
Signed-off-by: Kővágó, Zoltán <DirtY.iCE.hu@gmail.com>
---
qapi/audio.json | 6 ++++++
audio/paaudio.c | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/qapi/audio.json b/qapi/audio.json
index 9fefdf5186..a433b3c9d7 100644
--- a/qapi/audio.json
+++ b/qapi/audio.json
@@ -206,6 +206,11 @@
#
# @name: name of the sink/source to use
#
+# @stream-name: name of the PulseAudio stream created by qemu. Can be
+# used to identify the stream in PulseAudio when you
+# create multiple PulseAudio devices or run multiple qemu
+# instances (default "qemu", since 4.2)
+#
# @latency: latency you want PulseAudio to achieve in microseconds
# (default 15000)
#
@@ -215,6 +220,7 @@
'base': 'AudiodevPerDirectionOptions',
'data': {
'*name': 'str',
+ '*stream-name': 'str',
'*latency': 'uint32' } }
##
diff --git a/audio/paaudio.c b/audio/paaudio.c
index 777b8e4718..827f442b6e 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
@@ -562,7 +562,7 @@ static int qpa_init_out(HWVoiceOut *hw, struct audsettings *as,
pa->stream = qpa_simple_new (
c,
- "qemu",
+ ppdo->has_stream_name ? ppdo->stream_name : "qemu",
PA_STREAM_PLAYBACK,
ppdo->has_name ? ppdo->name : NULL,
&ss,
@@ -630,7 +630,7 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
pa->stream = qpa_simple_new (
c,
- "qemu",
+ ppdo->has_stream_name ? ppdo->stream_name : "qemu",
PA_STREAM_RECORD,
ppdo->has_name ? ppdo->name : NULL,
&ss,
--
2.22.0
On Mon, 2019-08-26 at 02:29 +0200, Kővágó, Zoltán wrote:
> This can be used to identify stream in tools like pavucontrol when one
> creates multiple -audiodevs or runs multiple qemu instances.
>
> Signed-off-by: Kővágó, Zoltán <DirtY.iCE.hu@gmail.com>
> ---
> qapi/audio.json | 6 ++++++
> audio/paaudio.c | 4 ++--
> 2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/qapi/audio.json b/qapi/audio.json
> index 9fefdf5186..a433b3c9d7 100644
> --- a/qapi/audio.json
> +++ b/qapi/audio.json
> @@ -206,6 +206,11 @@
> #
> # @name: name of the sink/source to use
> #
> +# @stream-name: name of the PulseAudio stream created by qemu. Can be
> +# used to identify the stream in PulseAudio when you
> +# create multiple PulseAudio devices or run multiple qemu
> +# instances (default "qemu", since 4.2)
> +#
> # @latency: latency you want PulseAudio to achieve in microseconds
> # (default 15000)
> #
> @@ -215,6 +220,7 @@
> 'base': 'AudiodevPerDirectionOptions',
> 'data': {
> '*name': 'str',
> + '*stream-name': 'str',
> '*latency': 'uint32' } }
>
> ##
> diff --git a/audio/paaudio.c b/audio/paaudio.c
> index 777b8e4718..827f442b6e 100644
> --- a/audio/paaudio.c
> +++ b/audio/paaudio.c
> @@ -562,7 +562,7 @@ static int qpa_init_out(HWVoiceOut *hw, struct audsettings *as,
>
> pa->stream = qpa_simple_new (
> c,
> - "qemu",
> + ppdo->has_stream_name ? ppdo->stream_name : "qemu",
> PA_STREAM_PLAYBACK,
> ppdo->has_name ? ppdo->name : NULL,
> &ss,
> @@ -630,7 +630,7 @@ static int qpa_init_in(HWVoiceIn *hw, struct audsettings *as, void *drv_opaque)
>
> pa->stream = qpa_simple_new (
> c,
> - "qemu",
> + ppdo->has_stream_name ? ppdo->stream_name : "qemu",
> PA_STREAM_RECORD,
> ppdo->has_name ? ppdo->name : NULL,
> &ss,
Tested and works.
Code also seems to be OK.
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Best regards,
Maxim Levitsky
© 2016 - 2026 Red Hat, Inc.