Loading audio/audio.c +2 −1 Original line number Diff line number Diff line Loading @@ -1878,7 +1878,8 @@ static void audio_init (void) } conf.period.ticks = 1; } else { conf.period.ticks = get_ticks_per_sec() / conf.period.hertz; conf.period.ticks = muldiv64 (1, get_ticks_per_sec (), conf.period.hertz); } e = qemu_add_vm_change_state_handler (audio_vm_change_state_handler, s); Loading audio/audio_template.h +1 −1 Original line number Diff line number Diff line Loading @@ -556,7 +556,7 @@ uint64_t glue (AUD_get_elapsed_usec_, TYPE) (SW *sw, QEMUAudioTimeStamp *ts) return 0; } return (delta * sw->hw->info.freq) / 1000000; return muldiv64 (delta, sw->hw->info.freq, 1000000); } #undef TYPE Loading audio/noaudio.c +3 −2 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ static int no_run_out (HWVoiceOut *hw) now = qemu_get_clock (vm_clock); ticks = now - no->old_ticks; bytes = (ticks * hw->info.bytes_per_second) / get_ticks_per_sec(); bytes = muldiv64 (ticks, hw->info.bytes_per_second, get_ticks_per_sec ()); bytes = audio_MIN (bytes, INT_MAX); samples = bytes >> hw->info.shift; Loading Loading @@ -109,7 +109,8 @@ static int no_run_in (HWVoiceIn *hw) if (dead) { int64_t now = qemu_get_clock (vm_clock); int64_t ticks = now - no->old_ticks; int64_t bytes = (ticks * hw->info.bytes_per_second) / get_ticks_per_sec(); int64_t bytes = muldiv64 (ticks, hw->info.bytes_per_second, get_ticks_per_sec ()); no->old_ticks = now; bytes = audio_MIN (bytes, INT_MAX); Loading audio/wavaudio.c +2 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,8 @@ static int wav_run_out (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) / get_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; Loading hw/gus.c +2 −2 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ static void GUS_callback (void *opaque, int free) s->left = samples; reset: gus_irqgen (&s->emu, (double) (net * 1000000) / s->freq); gus_irqgen (&s->emu, muldiv64 (net, 1000000, s->freq)); } int GUS_irqrequest (GUSEmuState *emu, int hwirq, int n) Loading Loading
audio/audio.c +2 −1 Original line number Diff line number Diff line Loading @@ -1878,7 +1878,8 @@ static void audio_init (void) } conf.period.ticks = 1; } else { conf.period.ticks = get_ticks_per_sec() / conf.period.hertz; conf.period.ticks = muldiv64 (1, get_ticks_per_sec (), conf.period.hertz); } e = qemu_add_vm_change_state_handler (audio_vm_change_state_handler, s); Loading
audio/audio_template.h +1 −1 Original line number Diff line number Diff line Loading @@ -556,7 +556,7 @@ uint64_t glue (AUD_get_elapsed_usec_, TYPE) (SW *sw, QEMUAudioTimeStamp *ts) return 0; } return (delta * sw->hw->info.freq) / 1000000; return muldiv64 (delta, sw->hw->info.freq, 1000000); } #undef TYPE Loading
audio/noaudio.c +3 −2 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ static int no_run_out (HWVoiceOut *hw) now = qemu_get_clock (vm_clock); ticks = now - no->old_ticks; bytes = (ticks * hw->info.bytes_per_second) / get_ticks_per_sec(); bytes = muldiv64 (ticks, hw->info.bytes_per_second, get_ticks_per_sec ()); bytes = audio_MIN (bytes, INT_MAX); samples = bytes >> hw->info.shift; Loading Loading @@ -109,7 +109,8 @@ static int no_run_in (HWVoiceIn *hw) if (dead) { int64_t now = qemu_get_clock (vm_clock); int64_t ticks = now - no->old_ticks; int64_t bytes = (ticks * hw->info.bytes_per_second) / get_ticks_per_sec(); int64_t bytes = muldiv64 (ticks, hw->info.bytes_per_second, get_ticks_per_sec ()); no->old_ticks = now; bytes = audio_MIN (bytes, INT_MAX); Loading
audio/wavaudio.c +2 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,8 @@ static int wav_run_out (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) / get_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; Loading
hw/gus.c +2 −2 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ static void GUS_callback (void *opaque, int free) s->left = samples; reset: gus_irqgen (&s->emu, (double) (net * 1000000) / s->freq); gus_irqgen (&s->emu, muldiv64 (net, 1000000, s->freq)); } int GUS_irqrequest (GUSEmuState *emu, int hwirq, int n) Loading