diff --git a/audio/resampler.c b/audio/resampler.c index f978ca3158..a7964e5194 100644 --- a/audio/resampler.c +++ b/audio/resampler.c @@ -45,7 +45,7 @@ static const rarch_resampler_t *find_resampler_driver(const char *ident) if (!ident) return backends[0]; - int i = find_resampler_driver_index(g_settings.audio.resampler); + int i = find_resampler_driver_index(ident); if (i >= 0) return backends[i]; else diff --git a/driver.c b/driver.c index 9022076c3f..c2d70c3a77 100644 --- a/driver.c +++ b/driver.c @@ -1163,8 +1163,14 @@ void init_video_input(void) // Video driver didn't provide an input driver so we use configured one. if (driver.input == NULL) { + RARCH_LOG("Graphics driver did not initialize an input driver. Attempting to pick a suitable driver.\n"); - driver.input = tmp; + + if (tmp) + driver.input = tmp; + else + find_input_driver(); + if (driver.input) { driver.input_data = input_init_func(); @@ -1177,7 +1183,7 @@ void init_video_input(void) else { // This should never really happen as tmp (driver.input) is always found before this in find_driver_input(), - // or we have aborted in a similar fahsion anyways. + // or we have aborted in a similar fashion anyways. rarch_fail(1, "init_video_input()"); } } diff --git a/settings.c b/settings.c index f15b9c7c92..60d8de00d0 100644 --- a/settings.c +++ b/settings.c @@ -272,7 +272,7 @@ void config_set_defaults(void) if (def_audio) strlcpy(g_settings.audio.driver, def_audio, sizeof(g_settings.audio.driver)); if (def_audio_resampler) - strlcpy(g_settings.audio.resampler, def_audio, sizeof(g_settings.audio.resampler)); + strlcpy(g_settings.audio.resampler, def_audio_resampler, sizeof(g_settings.audio.resampler)); if (def_input) strlcpy(g_settings.input.driver, def_input, sizeof(g_settings.input.driver)); #ifdef HAVE_MENU