summaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authorVolker Rümelin2022-09-23 20:36:31 +0200
committerGerd Hoffmann2022-10-11 10:17:08 +0200
commitdd052dbfbf608cc656082173541973f09867747a (patch)
tree008b778032642217d4cf651440c112f0212b80cb /audio
parentaudio: fix GUS audio playback with out.mixing-engine=off (diff)
downloadqemu-dd052dbfbf608cc656082173541973f09867747a.tar.gz
qemu-dd052dbfbf608cc656082173541973f09867747a.tar.xz
qemu-dd052dbfbf608cc656082173541973f09867747a.zip
audio: run downstream playback queue unconditionally
Run the downstream playback queue even if the emulated audio device didn't write new samples. There still may be buffered audio samples downstream. This is for the -audiodev out.mixing-engine=off case. Commit a8a98cfd42 ("audio: run downstream playback queue uncondition- ally") fixed the out.mixing-engine=on case. Signed-off-by: Volker Rümelin <vr_qemu@t-online.de> Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220923183640.8314-3-vr_qemu@t-online.de> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'audio')
-rw-r--r--audio/audio.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/audio/audio.c b/audio/audio.c
index 29da359b41..567f953e66 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -1143,6 +1143,10 @@ static void audio_run_out (AudioState *s)
hw_free * sw->info.bytes_per_frame);
}
+ if (hw->pcm_ops->run_buffer_out) {
+ hw->pcm_ops->run_buffer_out(hw);
+ }
+
continue;
}
@@ -1501,10 +1505,6 @@ size_t audio_generic_write(HWVoiceOut *hw, void *buf, size_t size)
}
}
- if (hw->pcm_ops->run_buffer_out) {
- hw->pcm_ops->run_buffer_out(hw);
- }
-
return total;
}