diff options
author | Volker RĂ¼melin <vr_qemu@t-online.de> | 2022-03-01 20:12:57 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2022-03-04 11:05:13 +0100 |
commit | 18404ff111e43d218b36b69ae002cae58acef352 (patch) | |
tree | c9bdc100da5ea814ef10c2d5c6b0d7c43cd463a9 /audio/sdlaudio.c | |
parent | 3a4d06f26f2606dd5029b05b4aff97f198455249 (diff) | |
download | qemu-18404ff111e43d218b36b69ae002cae58acef352.zip qemu-18404ff111e43d218b36b69ae002cae58acef352.tar.gz qemu-18404ff111e43d218b36b69ae002cae58acef352.tar.bz2 |
audio: replace open-coded buffer arithmetic
Replace open-coded buffer arithmetic with the new function
audio_ring_posb(). That's the position in backward direction
of a given point at a given distance.
Signed-off-by: Volker RĂ¼melin <vr_qemu@t-online.de>
Reviewed-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Message-Id: <20220301191311.26695-1-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'audio/sdlaudio.c')
-rw-r--r-- | audio/sdlaudio.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/audio/sdlaudio.c b/audio/sdlaudio.c index c68c62a..d6f3aa1 100644 --- a/audio/sdlaudio.c +++ b/audio/sdlaudio.c @@ -224,12 +224,11 @@ static void sdl_callback_out(void *opaque, Uint8 *buf, int len) /* dolog("callback_out: len=%d avail=%zu\n", len, hw->pending_emul); */ while (hw->pending_emul && len) { - size_t write_len; - ssize_t start = (ssize_t)hw->pos_emul - hw->pending_emul; - if (start < 0) { - start += hw->size_emul; - } - assert(start >= 0 && start < hw->size_emul); + size_t write_len, start; + + start = audio_ring_posb(hw->pos_emul, hw->pending_emul, + hw->size_emul); + assert(start < hw->size_emul); write_len = MIN(MIN(hw->pending_emul, len), hw->size_emul - start); |