[Spice-commits] server/sound.cpp

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Oct 22 19:59:03 UTC 2022


 server/sound.cpp |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit a5d1d957d6c16e3fe213e10d0cab4bfe2504ba91
Author: Volker Rümelin <vr_qemu at t-online.de>
Date:   Sat Oct 22 13:51:15 2022 +0200

    sound: Fix pointer arithmetic in snd_record_handle_write()
    
    The variable 'now' counts in audio sample frames, but the variable
    'data' is of type uint8_t *. Multiply 'now' by the size of an audio
    sample frame to get the correct source pointer.
    
    This improves the quality of audio recordings in QEMU a little bit.
    
    Fixes: 5d5a7bd181 ("sound: Avoid cast that could cause alignment problems")
    
    Signed-off-by: Volker Rümelin <vr_qemu at t-online.de>
    Acked-by: Frediano Ziglio <freddy77 at gmail.com>

diff --git a/server/sound.cpp b/server/sound.cpp
index eca2706c..4909d158 100644
--- a/server/sound.cpp
+++ b/server/sound.cpp
@@ -302,7 +302,7 @@ static bool snd_record_handle_write(RecordChannelClient *record_client, size_t s
     memcpy(record_client->samples + write_pos, data, now << 2);
 
     if (size) {
-        memcpy(record_client->samples, data + now, size << 2);
+        memcpy(record_client->samples, data + (now << 2), size << 2);
     }
 
     if (record_client->write_pos - record_client->read_pos > RECORD_SAMPLES_SIZE) {


More information about the Spice-commits mailing list