diff --git a/driver.c b/driver.c index 4987bd8a9c..2e68dbbde1 100644 --- a/driver.c +++ b/driver.c @@ -238,9 +238,18 @@ static void adjust_system_rates(void) RARCH_LOG("Set audio input rate to: %.2f Hz.\n", g_settings.audio.in_rate); -#if defined(RARCH_CONSOLE) && !defined(ANDROID) - video_set_nonblock_state_func(!g_settings.video.vsync || g_extern.system.force_nonblock); -#endif + if (driver.video_data) + video_set_nonblock_state_func(!g_settings.video.vsync || g_extern.system.force_nonblock); +} + +void driver_set_monitor_refresh_rate(float hz) +{ + g_settings.video.refresh_rate = hz; + adjust_system_rates(); + + g_extern.audio_data.orig_src_ratio = + g_extern.audio_data.src_ratio = + (double)g_settings.audio.out_rate / g_settings.audio.in_rate; } void init_drivers(void) diff --git a/driver.h b/driver.h index ddad0ce2c5..386d8def4a 100644 --- a/driver.h +++ b/driver.h @@ -299,6 +299,8 @@ void uninit_video_input(void); void init_audio(void); void uninit_audio(void); +void driver_set_monitor_refresh_rate(float hz); + extern driver_t driver; //////////////////////////////////////////////// Backends