qemu/audio
Volker Rümelin 2f886a34bb audio: remove sw->ratio
Simplify the resample buffer size calculation.

For audio playback we have
sw->ratio = ((int64_t)sw->hw->info.freq << 32) / sw->info.freq;
samples = ((int64_t)sw->HWBUF.size << 32) / sw->ratio;

This can be simplified to
samples = muldiv64(sw->HWBUF.size, sw->info.freq, sw->hw->info.freq);

For audio recording we have
sw->ratio = ((int64_t)sw->info.freq << 32) / sw->hw->info.freq;
samples = (int64_t)sw->HWBUF.size * sw->ratio >> 32;

This can be simplified to
samples = muldiv64(sw->HWBUF.size, sw->info.freq, sw->hw->info.freq);

With hw = sw->hw this becomes in both cases
samples = muldiv64(HWBUF.size, sw->info.freq, hw->info.freq);

Now that sw->ratio is no longer needed, remove sw->ratio.

Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20230224190555.7409-15-vr_qemu@t-online.de>
2023-03-06 10:30:24 +04:00
..
alsaaudio.c alsaaudio: reintroduce default recording settings 2023-03-06 10:30:23 +04:00
audio_int.h audio: remove sw->ratio 2023-03-06 10:30:24 +04:00
audio_legacy.c qapi, audio: Make introspection reflect build configuration more closely 2023-01-30 15:43:55 +01:00
audio_template.h audio: remove sw->ratio 2023-03-06 10:30:24 +04:00
audio_win_int.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
audio_win_int.h
audio-hmp-cmds.c audio: Move HMP commands from monitor/ to audio/ 2023-02-04 07:56:54 +01:00
audio.c audio: remove sw->ratio 2023-03-06 10:30:24 +04:00
audio.h audio: add help option for -audio and -audiodev 2022-09-19 15:15:59 +02:00
coreaudio.m Replace GCC_FMT_ATTR with G_GNUC_PRINTF 2022-03-22 14:40:51 +04:00
dbusaudio.c audio: swap audio_rate_get_bytes() function parameters 2022-10-11 10:17:08 +02:00
dsound_template.h dsoundaudio: replace GetForegroundWindow() 2021-01-15 11:25:22 +01:00
dsoundaudio.c Replace GCC_FMT_ATTR with G_GNUC_PRINTF 2022-03-22 14:40:51 +04:00
jackaudio.c Use g_new() & friends where that makes obvious sense 2022-03-21 15:44:44 +01:00
meson.build audio: Move HMP commands from monitor/ to audio/ 2023-02-04 07:56:54 +01:00
mixeng_template.h
mixeng.c audio: make recording packet length calculation exact 2023-03-06 10:30:23 +04:00
mixeng.h audio: make recording packet length calculation exact 2023-03-06 10:30:23 +04:00
noaudio.c audio: swap audio_rate_get_bytes() function parameters 2022-10-11 10:17:08 +02:00
ossaudio.c qapi audio: Elide redundant has_FOO in generated C 2022-12-13 18:31:37 +01:00
paaudio.c qapi audio: Elide redundant has_FOO in generated C 2022-12-13 18:31:37 +01:00
rate_template.h audio: make the resampling code greedy 2023-03-06 10:30:23 +04:00
sdlaudio.c Replace GCC_FMT_ATTR with G_GNUC_PRINTF 2022-03-22 14:40:51 +04:00
sndioaudio.c Fix non-first inclusions of qemu/osdep.h 2023-02-08 07:28:05 +01:00
spiceaudio.c audio: swap audio_rate_get_bytes() function parameters 2022-10-11 10:17:08 +02:00
trace-events audio: add "dbus" audio backend 2021-12-21 10:50:22 +04:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
wavaudio.c qapi audio: Elide redundant has_FOO in generated C 2022-12-13 18:31:37 +01:00
wavcapture.c monitor: Use getter/setter functions for cur_mon 2020-10-09 07:08:19 +02:00