mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
Turn audio_driver_monitor_adjust_system_rates into pure function
This commit is contained in:
parent
d910f520d9
commit
d1d9f96ab3
14
retroarch.c
14
retroarch.c
@ -28347,19 +28347,20 @@ void audio_driver_set_buffer_size(size_t bufsize)
|
||||
}
|
||||
|
||||
static float audio_driver_monitor_adjust_system_rates(
|
||||
const struct retro_system_timing *info,
|
||||
double input_sample_rate,
|
||||
double input_fps,
|
||||
float video_refresh_rate,
|
||||
unsigned video_swap_interval,
|
||||
float audio_max_timing_skew)
|
||||
{
|
||||
float ret = info->sample_rate;
|
||||
float inp_sample_rate = input_sample_rate;
|
||||
const float target_video_sync_rate = video_refresh_rate
|
||||
/ video_swap_interval;
|
||||
float timing_skew =
|
||||
fabs(1.0f - info->fps / target_video_sync_rate);
|
||||
fabs(1.0f - input_fps / target_video_sync_rate);
|
||||
if (timing_skew <= audio_max_timing_skew)
|
||||
return (ret * target_video_sync_rate / info->fps);
|
||||
return ret;
|
||||
return (inp_sample_rate * target_video_sync_rate / input_fps);
|
||||
return inp_sample_rate;
|
||||
}
|
||||
|
||||
#ifdef HAVE_REWIND
|
||||
@ -32627,7 +32628,8 @@ static void driver_adjust_system_rates(
|
||||
else
|
||||
p_rarch->audio_driver_input =
|
||||
audio_driver_monitor_adjust_system_rates(
|
||||
info,
|
||||
info->sample_rate,
|
||||
info->fps,
|
||||
video_refresh_rate,
|
||||
video_swap_interval,
|
||||
audio_max_timing_skew);
|
||||
|
Loading…
x
Reference in New Issue
Block a user