qemu-e2k/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
audio_int.h audio: remove sw->ratio 2023-03-06 10:30:24 +04:00
audio_legacy.c
audio_template.h audio: remove sw->ratio 2023-03-06 10:30:24 +04:00
audio_win_int.c
audio_win_int.h
audio-hmp-cmds.c
audio.c audio: remove sw->ratio 2023-03-06 10:30:24 +04:00
audio.h
coreaudio.m
dbusaudio.c
dsound_template.h
dsoundaudio.c
jackaudio.c
meson.build
mixeng_template.h
mixeng.c
mixeng.h
noaudio.c
ossaudio.c
paaudio.c
rate_template.h
sdlaudio.c
sndioaudio.c
spiceaudio.c
trace-events
trace.h
wavaudio.c
wavcapture.c