diff options
author | Volker Rümelin | 2022-09-23 20:36:30 +0200 |
---|---|---|
committer | Gerd Hoffmann | 2022-10-11 10:17:08 +0200 |
commit | 7099a6a220c33d9c115e19e9f03ac61caa8358b5 (patch) | |
tree | 95d88180cc381e1fa8dc804ff0b7f31d1b2692ee /audio | |
parent | audio: refactor code in audio_run_out() (diff) | |
download | qemu-7099a6a220c33d9c115e19e9f03ac61caa8358b5.tar.gz qemu-7099a6a220c33d9c115e19e9f03ac61caa8358b5.tar.xz qemu-7099a6a220c33d9c115e19e9f03ac61caa8358b5.zip |
audio: fix GUS audio playback with out.mixing-engine=off
Fix GUS audio playback with out.mixing-engine=off.
The GUS audio device needs to know the amount of samples to
produce in advance.
To reproduce start qemu with
-parallel none -device gus,audiodev=audio0
-audiodev pa,id=audio0,out.mixing-engine=off
and start the cartoon.exe demo in a FreeDOS guest. The demo file
is available on the download page of the GUSemu32 author.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20220923183640.8314-2-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'audio')
-rw-r--r-- | audio/audio.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/audio/audio.c b/audio/audio.c index 08aec51e70..29da359b41 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -1139,7 +1139,8 @@ static void audio_run_out (AudioState *s) } if (sw->active) { - sw->callback.fn(sw->callback.opaque, INT_MAX); + sw->callback.fn(sw->callback.opaque, + hw_free * sw->info.bytes_per_frame); } continue; |