Rewrite more driver_funcs macros

This commit is contained in:
twinaphex 2014-08-14 20:13:56 +02:00
parent 9992e33a36
commit 33ddbeb149
3 changed files with 8 additions and 13 deletions

View File

@ -839,7 +839,7 @@ void driver_set_nonblock_state(bool nonblock)
}
if (g_extern.audio_active && driver.audio_data)
audio_set_nonblock_state_func(g_settings.audio.sync ? nonblock : true);
driver.audio->set_nonblock_state(driver.audio_data, g_settings.audio.sync ? nonblock : true);
g_extern.audio_data.chunk_size = nonblock ?
g_extern.audio_data.nonblock_chunk_size : g_extern.audio_data.block_chunk_size;
@ -1120,12 +1120,12 @@ void init_audio(void)
}
g_extern.audio_data.use_float = false;
if (g_extern.audio_active && driver.audio->use_float && audio_use_float_func())
if (g_extern.audio_active && driver.audio->use_float && driver.audio->use_float(driver.audio_data))
g_extern.audio_data.use_float = true;
if (!g_settings.audio.sync && g_extern.audio_active)
{
audio_set_nonblock_state_func(true);
driver.audio->set_nonblock_state(driver.audio_data, true);
g_extern.audio_data.chunk_size = g_extern.audio_data.nonblock_chunk_size;
}
@ -1171,7 +1171,7 @@ void init_audio(void)
g_extern.measure_data.buffer_free_samples_count = 0;
if (g_extern.audio_active && !g_extern.audio_data.mute && g_extern.system.audio_callback.callback) // Threaded driver is initially stopped.
audio_start_func();
driver.audio->start(driver.audio_data);
}

View File

@ -18,11 +18,6 @@
#ifndef _RARCH_DRIVER_FUNCS_H
#define _RARCH_DRIVER_FUNCS_H
#define audio_stop_func() driver.audio->stop(driver.audio_data)
#define audio_start_func() driver.audio->start(driver.audio_data)
#define audio_set_nonblock_state_func(state) driver.audio->set_nonblock_state(driver.audio_data, state)
#define audio_use_float_func() driver.audio->use_float(driver.audio_data)
#define video_set_nonblock_state_func(state) driver.video->set_nonblock_state(driver.video_data, state)
#define video_alive_func() driver.video->alive(driver.video_data)
#define video_focus_func() driver.video->focus(driver.video_data)

View File

@ -2634,8 +2634,8 @@ static void check_mute(void)
if (driver.audio_data)
{
if (g_extern.audio_data.mute)
audio_stop_func();
else if (!audio_start_func())
driver.audio->stop(driver.audio_data);
else if (!driver.audio->start(driver.audio_data))
{
RARCH_ERR("Failed to unmute audio.\n");
g_extern.audio_active = false;
@ -3157,10 +3157,10 @@ void rarch_main_command(unsigned action)
break;
case RARCH_CMD_AUDIO_STOP:
if (driver.audio_data)
audio_stop_func();
driver.audio->stop(driver.audio_data);
break;
case RARCH_CMD_AUDIO_START:
if (driver.audio_data && !g_extern.audio_data.mute && !audio_start_func())
if (driver.audio_data && !g_extern.audio_data.mute && !driver.audio->start(driver.audio_data))
{
RARCH_ERR("Failed to start audio driver. Will continue without audio.\n");
g_extern.audio_active = false;