Remove functions audio_driver_set_callback/audio_driver_unset_callback

This commit is contained in:
twinaphex 2016-03-04 21:44:44 +01:00
parent f3a9a38987
commit b7d3f3b01c
4 changed files with 27 additions and 31 deletions

View File

@ -681,21 +681,6 @@ void audio_driver_set_buffer_size(size_t bufsize)
audio_driver_data.driver_buffer_size = bufsize;
}
void audio_driver_unset_callback(void)
{
audio_driver_data.audio_callback.callback = NULL;
audio_driver_data.audio_callback.set_state = NULL;
}
void audio_driver_set_callback(const void *data)
{
const struct retro_audio_callback *cb =
(const struct retro_audio_callback*)data;
if (cb)
audio_driver_data.audio_callback = *cb;
}
void audio_driver_callback_set_state(bool state)
{
if (!audio_driver_ctl(RARCH_AUDIO_CTL_HAS_CALLBACK, NULL))
@ -836,6 +821,29 @@ bool audio_driver_ctl(enum rarch_audio_ctl_state state, void *data)
if (audio_driver_data.audio_callback.callback)
audio_driver_data.audio_callback.callback();
return true;
case RARCH_AUDIO_CTL_UNSET_CALLBACK:
audio_driver_data.audio_callback.callback = NULL;
audio_driver_data.audio_callback.set_state = NULL;
return true;
case RARCH_AUDIO_CTL_SET_CALLBACK:
{
const struct retro_audio_callback *cb =
(const struct retro_audio_callback*)data;
#ifdef HAVE_NETPLAY
global_t *global = global_get_ptr();
#endif
if (recording_driver_get_data_ptr()) /* A/V sync is a must. */
return false;
#ifdef HAVE_NETPLAY
if (global->netplay.enable)
return false;
#endif
if (cb)
audio_driver_data.audio_callback = *cb;
}
return true;
case RARCH_AUDIO_CTL_MONITOR_ADJUST_SYSTEM_RATES:
audio_monitor_adjust_system_rates();
return true;

View File

@ -42,6 +42,8 @@ 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_SET_CALLBACK,
RARCH_AUDIO_CTL_UNSET_CALLBACK,
RARCH_AUDIO_CTL_CALLBACK,
RARCH_AUDIO_CTL_HAS_CALLBACK,
RARCH_AUDIO_CTL_ALIVE,
@ -150,9 +152,6 @@ void audio_driver_dsp_filter_init(const char *device);
void audio_driver_set_buffer_size(size_t bufsize);
void audio_driver_set_callback(const void *info);
void audio_driver_unset_callback(void);
void audio_driver_callback_set_state(bool state);

View File

@ -980,19 +980,8 @@ bool rarch_environment_cb(unsigned cmd, void *data)
#if defined(HAVE_THREADS) && !defined(__CELLOS_LV2__)
case RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK:
{
const struct retro_audio_callback *info =
(const struct retro_audio_callback*)data;
RARCH_LOG("Environ SET_AUDIO_CALLBACK.\n");
if (recording_driver_get_data_ptr()) /* A/V sync is a must. */
return false;
#ifdef HAVE_NETPLAY
if (global->netplay.enable)
return false;
#endif
audio_driver_set_callback(info);
audio_driver_ctl(RARCH_AUDIO_CTL_SET_CALLBACK, data);
break;
}
#endif

View File

@ -498,7 +498,7 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data)
runloop_key_event = NULL;
runloop_frontend_key_event = NULL;
audio_driver_unset_callback();
audio_driver_ctl(RARCH_AUDIO_CTL_UNSET_CALLBACK, NULL);
memset(&runloop_system, 0, sizeof(rarch_system_info_t));
break;
case RUNLOOP_CTL_IS_FRAME_COUNT_END: