Split out the function virtio_snd_pcm_set_active() from virtio_snd_pcm_start_stop(). A later patch also needs this new funcion. There is no functional change.
Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> Signed-off-by: Volker Rümelin <vr_q...@t-online.de> --- hw/audio/virtio-snd.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c index a1d14caba0..06a27ef8d9 100644 --- a/hw/audio/virtio-snd.c +++ b/hw/audio/virtio-snd.c @@ -471,6 +471,21 @@ static void virtio_snd_pcm_open(VirtIOSoundPCMStream *stream) } } +/* + * Activate/deactivate a stream. + * + * @stream: VirtIOSoundPCMStream *stream + * @active: whether to activate or deactivate the stream + */ +static void virtio_snd_pcm_set_active(VirtIOSoundPCMStream *stream, bool active) +{ + if (stream->info.direction == VIRTIO_SND_D_OUTPUT) { + AUD_set_active_out(stream->voice.out, active); + } else { + AUD_set_active_in(stream->voice.in, active); + } +} + /* * Close a stream and free all its resources. * @@ -606,11 +621,7 @@ static uint32_t virtio_snd_pcm_start_stop(VirtIOSound *s, stream->state = VSND_PCMSTREAM_STATE_STOPPED; } - if (stream->info.direction == VIRTIO_SND_D_OUTPUT) { - AUD_set_active_out(stream->voice.out, start); - } else { - AUD_set_active_in(stream->voice.in, start); - } + virtio_snd_pcm_set_active(stream, start); return cpu_to_le32(VIRTIO_SND_S_OK); } -- 2.35.3