mirror of
https://github.com/libretro/RetroArch.git
synced 2025-04-02 10:51:52 -04:00
Start simplifying audio driver start/stop
This commit is contained in:
parent
4159dc43ed
commit
662755c899
2 changed files with 25 additions and 27 deletions
|
@ -975,24 +975,15 @@ bool audio_driver_toggle_mute(void)
|
|||
|
||||
bool audio_driver_start(bool is_shutdown)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
if (!current_audio || !current_audio->start
|
||||
|| !audio_driver_context_audio_data)
|
||||
return false;
|
||||
return current_audio->start(audio_driver_context_audio_data, is_shutdown);
|
||||
}
|
||||
|
||||
bool audio_driver_stop(void)
|
||||
{
|
||||
if (!current_audio || !current_audio->stop
|
||||
|| !audio_driver_context_audio_data)
|
||||
if (audio_driver_alive())
|
||||
return false;
|
||||
return current_audio->stop(audio_driver_context_audio_data);
|
||||
}
|
||||
|
||||
void audio_driver_unset_callback(void)
|
||||
{
|
||||
audio_callback.callback = NULL;
|
||||
audio_callback.set_state = NULL;
|
||||
if (!settings || settings->audio.mute_enable)
|
||||
return false;
|
||||
return current_audio->start(audio_driver_context_audio_data, is_shutdown);
|
||||
}
|
||||
|
||||
bool audio_driver_alive(void)
|
||||
|
@ -1004,6 +995,22 @@ bool audio_driver_alive(void)
|
|||
return false;
|
||||
}
|
||||
|
||||
bool audio_driver_stop(void)
|
||||
{
|
||||
if (!current_audio || !current_audio->stop
|
||||
|| !audio_driver_context_audio_data)
|
||||
return false;
|
||||
if (!audio_driver_alive())
|
||||
return false;
|
||||
return current_audio->stop(audio_driver_context_audio_data);
|
||||
}
|
||||
|
||||
void audio_driver_unset_callback(void)
|
||||
{
|
||||
audio_callback.callback = NULL;
|
||||
audio_callback.set_state = NULL;
|
||||
}
|
||||
|
||||
void audio_driver_frame_is_reverse(void)
|
||||
{
|
||||
/* We just rewound. Flush rewind audio buffer. */
|
||||
|
|
17
command.c
17
command.c
|
@ -2076,24 +2076,15 @@ bool command_event(enum event_command cmd, void *data)
|
|||
command_event_save_auto_state();
|
||||
break;
|
||||
case CMD_EVENT_AUDIO_STOP:
|
||||
if (!audio_driver_alive())
|
||||
return false;
|
||||
|
||||
if (!audio_driver_stop())
|
||||
return false;
|
||||
break;
|
||||
case CMD_EVENT_AUDIO_START:
|
||||
if (!audio_driver_start(runloop_ctl(RUNLOOP_CTL_IS_SHUTDOWN, NULL)))
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
if (audio_driver_alive())
|
||||
return false;
|
||||
|
||||
if (settings && !settings->audio.mute_enable && !audio_driver_start(runloop_ctl(RUNLOOP_CTL_IS_SHUTDOWN, NULL)))
|
||||
{
|
||||
RARCH_ERR("%s\n",
|
||||
msg_hash_to_str(MSG_FAILED_TO_START_AUDIO_DRIVER));
|
||||
audio_driver_unset_active();
|
||||
}
|
||||
RARCH_ERR("%s\n",
|
||||
msg_hash_to_str(MSG_FAILED_TO_START_AUDIO_DRIVER));
|
||||
audio_driver_unset_active();
|
||||
}
|
||||
break;
|
||||
case CMD_EVENT_AUDIO_MUTE_TOGGLE:
|
||||
|
|
Loading…
Add table
Reference in a new issue