Move driver_active variables over to driver global

This commit is contained in:
twinaphex 2014-10-01 22:34:48 +02:00
parent a35c61ec90
commit dead11f182
6 changed files with 39 additions and 38 deletions

View File

@ -376,7 +376,7 @@ static void init_osk(void)
if (!driver.osk_data)
{
RARCH_ERR("Failed to initialize OSK driver. Will continue without OSK.\n");
g_extern.osk_active = false;
driver.osk_active = false;
}
}
@ -459,7 +459,7 @@ void init_camera(void)
if (!driver.camera_data)
{
RARCH_ERR("Failed to initialize camera driver. Will continue without camera.\n");
g_extern.camera_active = false;
driver.camera_active = false;
}
if (g_extern.system.camera_callback.initialized)
@ -560,7 +560,7 @@ void init_location(void)
if (!driver.location_data)
{
RARCH_ERR("Failed to initialize location driver. Will continue without location.\n");
g_extern.location_active = false;
driver.location_active = false;
}
if (g_extern.system.location_callback.initialized)
@ -772,7 +772,7 @@ void driver_set_monitor_refresh_rate(float hz)
void driver_set_nonblock_state(bool nonblock)
{
/* Only apply non-block-state for video if we're using vsync. */
if (g_extern.video_active && driver.video_data)
if (driver.video_active && driver.video_data)
{
bool video_nonblock = nonblock;
if (!g_settings.video.vsync || g_extern.system.force_nonblock)
@ -780,7 +780,7 @@ void driver_set_nonblock_state(bool nonblock)
driver.video->set_nonblock_state(driver.video_data, video_nonblock);
}
if (g_extern.audio_active && driver.audio_data)
if (driver.audio_active && driver.audio_data)
driver.audio->set_nonblock_state(driver.audio_data,
g_settings.audio.sync ? nonblock : true);
@ -896,11 +896,11 @@ void init_drivers(void)
init_audio();
/* Only initialize camera driver if we're ever going to use it. */
if (g_extern.camera_active)
if (driver.camera_active)
init_camera();
/* Only initialize location driver if we're ever going to use it. */
if (g_extern.location_active)
if (driver.location_active)
init_location();
init_osk();
@ -1042,7 +1042,7 @@ void init_audio(void)
if (!g_settings.audio.enable)
{
g_extern.audio_active = false;
driver.audio_active = false;
return;
}
@ -1071,14 +1071,14 @@ void init_audio(void)
if (!driver.audio_data)
{
RARCH_ERR("Failed to initialize audio driver. Will continue without audio.\n");
g_extern.audio_active = false;
driver.audio_active = false;
}
g_extern.audio_data.use_float = false;
if (g_extern.audio_active && driver.audio->use_float(driver.audio_data))
if (driver.audio_active && driver.audio->use_float(driver.audio_data))
g_extern.audio_data.use_float = true;
if (!g_settings.audio.sync && g_extern.audio_active)
if (!g_settings.audio.sync && driver.audio_active)
{
rarch_main_command(RARCH_CMD_AUDIO_SET_NONBLOCKING_STATE);
g_extern.audio_data.chunk_size =
@ -1103,7 +1103,7 @@ void init_audio(void)
{
RARCH_ERR("Failed to initialize resampler \"%s\".\n",
g_settings.audio.resampler);
g_extern.audio_active = false;
driver.audio_active = false;
}
rarch_assert(g_extern.audio_data.data = (float*)
@ -1117,7 +1117,7 @@ void init_audio(void)
malloc(outsamples_max * sizeof(float)));
g_extern.audio_data.rate_control = false;
if (!g_extern.system.audio_callback.callback && g_extern.audio_active &&
if (!g_extern.system.audio_callback.callback && driver.audio_active &&
g_settings.audio.rate_control)
{
if (driver.audio->buffer_size && driver.audio->write_avail)
@ -1134,7 +1134,7 @@ void init_audio(void)
g_extern.measure_data.buffer_free_samples_count = 0;
if (g_extern.audio_active && !g_extern.audio_data.mute &&
if (driver.audio_active && !g_extern.audio_data.mute &&
g_extern.system.audio_callback.callback)
{
/* Threaded driver is initially stopped. */
@ -1240,7 +1240,7 @@ void uninit_audio(void)
if (!g_settings.audio.enable)
{
g_extern.audio_active = false;
driver.audio_active = false;
return;
}

View File

@ -449,6 +449,12 @@ typedef struct driver
void *resampler_data;
void *recording_data;
bool audio_active;
bool video_active;
bool camera_active;
bool location_active;
bool osk_active;
#ifdef HAVE_MENU
menu_handle_t *menu;
const menu_ctx_driver_t *menu_ctx;

View File

@ -405,8 +405,8 @@ void uninit_libretro_sym(void)
free(g_extern.system.special);
free(g_extern.system.ports);
memset(&g_extern.system, 0, sizeof(g_extern.system));
g_extern.camera_active = false;
g_extern.location_active = false;
driver.camera_active = false;
driver.location_active = false;
/* Performance counters no longer valid. */
retro_perf_clear();
@ -895,7 +895,7 @@ bool rarch_environment_cb(unsigned cmd, void *data)
cb->start = driver_camera_start;
cb->stop = driver_camera_stop;
g_extern.system.camera_callback = *cb;
g_extern.camera_active = cb->caps != 0;
driver.camera_active = cb->caps != 0;
break;
}
@ -909,7 +909,7 @@ bool rarch_environment_cb(unsigned cmd, void *data)
cb->get_position = driver_location_get_position;
cb->set_interval = driver_location_set_interval;
g_extern.system.location_callback = *cb;
g_extern.location_active = true;
driver.location_active = true;
break;
}

View File

@ -421,11 +421,6 @@ struct global
{
bool verbosity;
bool perfcnt_enable;
bool audio_active;
bool video_active;
bool camera_active;
bool location_active;
bool osk_active;
bool force_fullscreen;
bool core_shutdown_initiated;

View File

@ -32,7 +32,7 @@ static void video_frame(const void *data, unsigned width,
{
const char *msg = NULL;
if (!g_extern.video_active)
if (!driver.video_active)
return;
g_extern.frame_cache.data = data;
@ -100,7 +100,7 @@ static void video_frame(const void *data, unsigned width,
}
if (!driver.video->frame(driver.video_data, data, width, height, pitch, msg))
g_extern.video_active = false;
driver.video_active = false;
}
static void audio_sample(int16_t left, int16_t right)
@ -111,8 +111,8 @@ static void audio_sample(int16_t left, int16_t right)
if (g_extern.audio_data.data_ptr < g_extern.audio_data.chunk_size)
return;
g_extern.audio_active = rarch_audio_flush(g_extern.audio_data.conv_outsamples,
g_extern.audio_data.data_ptr) && g_extern.audio_active;
driver.audio_active = rarch_audio_flush(g_extern.audio_data.conv_outsamples,
g_extern.audio_data.data_ptr) && driver.audio_active;
g_extern.audio_data.data_ptr = 0;
}
@ -122,8 +122,8 @@ static size_t audio_sample_batch(const int16_t *data, size_t frames)
if (frames > (AUDIO_CHUNK_SIZE_NONBLOCKING >> 1))
frames = AUDIO_CHUNK_SIZE_NONBLOCKING >> 1;
g_extern.audio_active = rarch_audio_flush(data, frames << 1)
&& g_extern.audio_active;
driver.audio_active = rarch_audio_flush(data, frames << 1)
&& driver.audio_active;
return frames;
}

View File

@ -476,7 +476,7 @@ bool rarch_audio_flush(const int16_t *data, size_t samples)
if (g_extern.is_paused || g_extern.audio_data.mute)
return true;
if (!g_extern.audio_active || !g_extern.audio_data.data)
if (!driver.audio_active || !g_extern.audio_data.data)
return false;
RARCH_PERFORMANCE_INIT(audio_convert_s16);
@ -1846,10 +1846,10 @@ static void check_stateslots(
static inline void flush_rewind_audio(void)
{
/* We just rewound. Flush rewind audio buffer. */
g_extern.audio_active = rarch_audio_flush(g_extern.audio_data.rewind_buf
driver.audio_active = rarch_audio_flush(g_extern.audio_data.rewind_buf
+ g_extern.audio_data.rewind_ptr,
g_extern.audio_data.rewind_size - g_extern.audio_data.rewind_ptr)
&& g_extern.audio_active;
&& driver.audio_active;
g_extern.frame_is_reverse = false;
}
@ -2325,7 +2325,7 @@ static void check_mute(void)
else if (!driver.audio->start(driver.audio_data))
{
RARCH_ERR("Failed to unmute audio.\n");
g_extern.audio_active = false;
driver.audio_active = false;
}
}
@ -2435,7 +2435,7 @@ static bool do_state_checks(
if (BIND_PRESSED(trigger_input, RARCH_SCREENSHOT))
rarch_main_command(RARCH_CMD_TAKE_SCREENSHOT);
if (g_extern.audio_active)
if (driver.audio_active)
{
if (BIND_PRESSED(trigger_input, RARCH_MUTE))
check_mute();
@ -2527,8 +2527,8 @@ static bool do_state_checks(
static void init_state(void)
{
g_extern.video_active = true;
g_extern.audio_active = true;
driver.video_active = true;
driver.audio_active = true;
}
static void deinit_log_file(void)
@ -3156,7 +3156,7 @@ void rarch_main_command(unsigned cmd)
&& !driver.audio->start(driver.audio_data))
{
RARCH_ERR("Failed to start audio driver. Will continue without audio.\n");
g_extern.audio_active = false;
driver.audio_active = false;
}
break;
case RARCH_CMD_OVERLAY_INIT: