diff options
author | Volker Rümelin <vr_qemu@t-online.de> | 2022-09-23 20:36:29 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2022-10-11 10:17:08 +0200 |
commit | 4d31ff32a65adfae015e035931b864bd1c521d6e (patch) | |
tree | 3d86881211478d3c1086448f25a0c56e75658245 | |
parent | f1d33f55c47dfdaf8daacd618588ad3ae4c452d1 (diff) |
audio: refactor code in audio_run_out()
Refactoring the code in audio_run_out() avoids code duplication
in the next patch. There's no functional change.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20220923183640.8314-1-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r-- | audio/audio.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/audio/audio.c b/audio/audio.c index df6818ed55..08aec51e70 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1121,8 +1121,12 @@ static void audio_run_out (AudioState *s) HWVoiceOut *hw = NULL; SWVoiceOut *sw; - if (!audio_get_pdo_out(s->dev)->mixing_engine) { - while ((hw = audio_pcm_hw_find_any_enabled_out(s, hw))) { + while ((hw = audio_pcm_hw_find_any_enabled_out(s, hw))) { + size_t played, live, prev_rpos; + size_t hw_free = audio_pcm_hw_get_free(hw); + int nb_live; + + if (!audio_get_pdo_out(s->dev)->mixing_engine) { /* there is exactly 1 sw for each hw with no mixeng */ sw = hw->sw_head.lh_first; @@ -1137,14 +1141,9 @@ static void audio_run_out (AudioState *s) if (sw->active) { sw->callback.fn(sw->callback.opaque, INT_MAX); } - } - return; - } - while ((hw = audio_pcm_hw_find_any_enabled_out(s, hw))) { - size_t played, live, prev_rpos; - size_t hw_free = audio_pcm_hw_get_free(hw); - int nb_live; + continue; + } for (sw = hw->sw_head.lh_first; sw; sw = sw->entries.le_next) { if (sw->active) { |