aboutsummaryrefslogtreecommitdiffstats
path: root/audio/wavaudio.c
diff options
context:
space:
mode:
Diffstat (limited to 'audio/wavaudio.c')
-rw-r--r--audio/wavaudio.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/audio/wavaudio.c b/audio/wavaudio.c
index 6f2cc54..a82997e 100644
--- a/audio/wavaudio.c
+++ b/audio/wavaudio.c
@@ -63,7 +63,8 @@ static int wav_out_run (HWVoiceOut *hw)
struct st_sample *src;
int64_t now = qemu_get_clock (vm_clock);
int64_t ticks = now - wav->old_ticks;
- int64_t bytes = (ticks * hw->info.bytes_per_second) / ticks_per_sec;
+ int64_t bytes =
+ muldiv64 (ticks, hw->info.bytes_per_second, get_ticks_per_sec ());
if (bytes > INT_MAX) {
samples = INT_MAX >> hw->info.shift;
@@ -355,7 +356,7 @@ static int wav_in_run (HWVoiceIn *hw)
int64_t now = qemu_get_clock (vm_clock);
int64_t ticks = now - wav->old_ticks;
- int64_t bytes = (ticks * hw->info.bytes_per_second) / ticks_per_sec;
+ int64_t bytes = muldiv64(ticks, hw->info.bytes_per_second, get_ticks_per_sec());
if (bytes > INT_MAX) {
samples = INT_MAX >> hw->info.shift;