mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2026-08-11 11:26:33 +00:00
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@t-online.de>
Acked-by: Frediano Ziglio <freddy77@gmail.com>
This commit is contained in:
parent
c7b313ba31
commit
a5d1d957d6
@ -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) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user