mirror of
https://github.com/libretro/RetroArch
synced 2025-03-23 10:20:57 +00:00
Create RARCH_AUDIO_CTL_HAS_CALLBACK
This commit is contained in:
parent
08c6382c51
commit
82e8cee97b
@ -745,27 +745,22 @@ void audio_driver_set_callback(const void *data)
|
||||
audio_data.audio_callback = *cb;
|
||||
}
|
||||
|
||||
bool audio_driver_has_callback(void)
|
||||
{
|
||||
return audio_data.audio_callback.callback;
|
||||
}
|
||||
|
||||
void audio_driver_callback(void)
|
||||
{
|
||||
if (audio_driver_has_callback())
|
||||
{
|
||||
if (audio_data.audio_callback.callback)
|
||||
audio_data.audio_callback.callback();
|
||||
}
|
||||
if (!audio_driver_ctl(RARCH_AUDIO_CTL_HAS_CALLBACK, NULL))
|
||||
return;
|
||||
|
||||
if (audio_data.audio_callback.callback)
|
||||
audio_data.audio_callback.callback();
|
||||
}
|
||||
|
||||
void audio_driver_callback_set_state(bool state)
|
||||
{
|
||||
if (audio_driver_has_callback())
|
||||
{
|
||||
if (audio_data.audio_callback.set_state)
|
||||
audio_data.audio_callback.set_state(state);
|
||||
}
|
||||
if (!audio_driver_ctl(RARCH_AUDIO_CTL_HAS_CALLBACK, NULL))
|
||||
return;
|
||||
|
||||
if (audio_data.audio_callback.set_state)
|
||||
audio_data.audio_callback.set_state(state);
|
||||
}
|
||||
|
||||
static void audio_monitor_adjust_system_rates(void)
|
||||
@ -806,6 +801,8 @@ bool audio_driver_ctl(enum rarch_audio_ctl_state state, void *data)
|
||||
return init_audio();
|
||||
case RARCH_AUDIO_CTL_DEINIT:
|
||||
return uninit_audio();
|
||||
case RARCH_AUDIO_CTL_HAS_CALLBACK:
|
||||
return audio_data.audio_callback.callback;
|
||||
case RARCH_AUDIO_CTL_MONITOR_ADJUST_SYSTEM_RATES:
|
||||
audio_monitor_adjust_system_rates();
|
||||
return true;
|
||||
|
@ -83,6 +83,7 @@ enum rarch_audio_ctl_state
|
||||
RARCH_AUDIO_CTL_MONITOR_SET_REFRESH_RATE,
|
||||
RARCH_AUDIO_CTL_MONITOR_ADJUST_SYSTEM_RATES,
|
||||
RARCH_AUDIO_CTL_MUTE_TOGGLE,
|
||||
RARCH_AUDIO_CTL_HAS_CALLBACK,
|
||||
RARCH_AUDIO_CTL_ALIVE
|
||||
};
|
||||
|
||||
@ -143,8 +144,6 @@ void audio_driver_set_buffer_size(size_t bufsize);
|
||||
|
||||
void audio_driver_set_callback(const void *info);
|
||||
|
||||
bool audio_driver_has_callback(void);
|
||||
|
||||
void audio_driver_callback(void);
|
||||
|
||||
void audio_driver_callback_set_state(bool state);
|
||||
|
Loading…
x
Reference in New Issue
Block a user