diff --git a/audio/audio_driver.c b/audio/audio_driver.c index 0dbb97befa..0b0c68b75e 100644 --- a/audio/audio_driver.c +++ b/audio/audio_driver.c @@ -497,3 +497,11 @@ void audio_driver_readjust_input_rate(void) global->audio_data.src_ratio, global->audio_data.orig_src_ratio); #endif } + +bool audio_driver_alive(void) +{ + driver_t *driver = driver_get_ptr(); + if (driver && driver->audio && driver->audio->alive) + return driver->audio->alive(driver->audio_data); + return false; +} diff --git a/audio/audio_driver.h b/audio/audio_driver.h index 206b552d20..ebaf7d32d8 100644 --- a/audio/audio_driver.h +++ b/audio/audio_driver.h @@ -119,6 +119,8 @@ bool audio_driver_mute_toggle(void); */ void audio_driver_readjust_input_rate(void); +bool audio_driver_alive(void); + /** * config_get_audio_driver_options: * diff --git a/retroarch.c b/retroarch.c index 599010bcfb..4a065b9f09 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2468,13 +2468,13 @@ bool rarch_main_command(unsigned cmd) case RARCH_CMD_AUDIO_STOP: if (!driver->audio_data) return false; - if (!driver->audio->alive(driver->audio_data)) + if (!audio_driver_alive()) return false; driver->audio->stop(driver->audio_data); break; case RARCH_CMD_AUDIO_START: - if (!driver->audio_data || driver->audio->alive(driver->audio_data)) + if (!driver->audio_data || audio_driver_alive()) return false; if (!settings->audio.mute_enable