mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-24 20:02:45 +00:00
(Audio DSP) Make it no longer dependent on HAVE_DYLIB being
defined
This commit is contained in:
parent
8a77674efc
commit
6f13028aba
15
driver.c
15
driver.c
@ -966,14 +966,16 @@ void uninit_drivers(void)
|
||||
driver.input_data_own = false;
|
||||
}
|
||||
|
||||
#ifdef HAVE_DYLIB
|
||||
void rarch_init_dsp_filter(void)
|
||||
{
|
||||
const rarch_dsp_plugin_t* (RARCH_API_CALLTYPE *plugin_init)(void);
|
||||
if (!(*g_settings.audio.dsp_plugin))
|
||||
return;
|
||||
|
||||
rarch_dsp_info_t info = {0};
|
||||
plugin_init = NULL;
|
||||
|
||||
#ifdef HAVE_DYLIB
|
||||
g_extern.audio_data.dsp_lib = dylib_load(g_settings.audio.dsp_plugin);
|
||||
if (!g_extern.audio_data.dsp_lib)
|
||||
{
|
||||
@ -981,8 +983,8 @@ void rarch_init_dsp_filter(void)
|
||||
return;
|
||||
}
|
||||
|
||||
const rarch_dsp_plugin_t* (RARCH_API_CALLTYPE *plugin_init)(void) =
|
||||
(const rarch_dsp_plugin_t *(RARCH_API_CALLTYPE*)(void))dylib_proc(g_extern.audio_data.dsp_lib, "rarch_dsp_plugin_init");
|
||||
plugin_init = (const rarch_dsp_plugin_t *(RARCH_API_CALLTYPE*)(void))dylib_proc(g_extern.audio_data.dsp_lib, "rarch_dsp_plugin_init");
|
||||
#endif
|
||||
|
||||
if (!plugin_init)
|
||||
{
|
||||
@ -1017,22 +1019,25 @@ void rarch_init_dsp_filter(void)
|
||||
return;
|
||||
|
||||
error:
|
||||
#ifdef HAVE_DYLIB
|
||||
if (g_extern.audio_data.dsp_lib)
|
||||
dylib_close(g_extern.audio_data.dsp_lib);
|
||||
g_extern.audio_data.dsp_plugin = NULL;
|
||||
g_extern.audio_data.dsp_lib = NULL;
|
||||
#endif
|
||||
g_extern.audio_data.dsp_plugin = NULL;
|
||||
}
|
||||
|
||||
void rarch_deinit_dsp_filter(void)
|
||||
{
|
||||
if (g_extern.audio_data.dsp_plugin && g_extern.audio_data.dsp_plugin->free)
|
||||
g_extern.audio_data.dsp_plugin->free(g_extern.audio_data.dsp_handle);
|
||||
#ifdef HAVE_DYLIB
|
||||
if (g_extern.audio_data.dsp_lib)
|
||||
dylib_close(g_extern.audio_data.dsp_lib);
|
||||
#endif
|
||||
g_extern.audio_data.dsp_handle = NULL;
|
||||
g_extern.audio_data.dsp_plugin = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
void init_audio(void)
|
||||
{
|
||||
|
3
driver.h
3
driver.h
@ -584,9 +584,10 @@ float driver_sensor_get_input(unsigned port, unsigned action);
|
||||
#ifdef HAVE_DYLIB
|
||||
void rarch_deinit_filter(void);
|
||||
void rarch_init_filter(enum retro_pixel_format);
|
||||
#endif
|
||||
|
||||
void rarch_init_dsp_filter(void);
|
||||
void rarch_deinit_dsp_filter(void);
|
||||
#endif
|
||||
|
||||
// Used by RETRO_ENVIRONMENT_GET_CAMERA_INTERFACE
|
||||
#ifdef HAVE_CAMERA
|
||||
|
@ -337,9 +337,7 @@ static void menu_common_entries_init(void *data, unsigned menu_type)
|
||||
break;
|
||||
case RGUI_SETTINGS_AUDIO_OPTIONS:
|
||||
file_list_clear(rgui->selection_buf);
|
||||
#ifdef HAVE_DYLIB
|
||||
file_list_push(rgui->selection_buf, "DSP Filter", RGUI_SETTINGS_AUDIO_DSP_FILTER, 0);
|
||||
#endif
|
||||
file_list_push(rgui->selection_buf, "Mute Audio", RGUI_SETTINGS_AUDIO_MUTE, 0);
|
||||
file_list_push(rgui->selection_buf, "Rate Control Delta", RGUI_SETTINGS_AUDIO_CONTROL_RATE_DELTA, 0);
|
||||
#ifdef __CELLOS_LV2__
|
||||
@ -1457,11 +1455,11 @@ static int menu_common_iterate(void *data, unsigned action)
|
||||
}
|
||||
else if (menu_type == RGUI_SETTINGS_AUDIO_DSP_FILTER)
|
||||
{
|
||||
fill_pathname_join(g_settings.audio.dsp_plugin, dir, path, sizeof(g_settings.audio.dsp_plugin));
|
||||
#ifdef HAVE_DYLIB
|
||||
fill_pathname_join(g_settings.audio.dsp_plugin, dir, path, sizeof(g_settings.audio.dsp_plugin));
|
||||
#endif
|
||||
rarch_deinit_dsp_filter();
|
||||
rarch_init_dsp_filter();
|
||||
#endif
|
||||
menu_flush_stack_type(rgui, RGUI_SETTINGS_AUDIO_OPTIONS);
|
||||
}
|
||||
else if (menu_type == RGUI_SAVESTATE_DIR_PATH)
|
||||
@ -2531,11 +2529,11 @@ static int menu_common_setting_set(void *data, unsigned setting, unsigned action
|
||||
rgui->need_refresh = true;
|
||||
break;
|
||||
case RGUI_ACTION_START:
|
||||
strlcpy(g_settings.audio.dsp_plugin, "", sizeof(g_settings.audio.dsp_plugin));
|
||||
#ifdef HAVE_DYLIB
|
||||
strlcpy(g_settings.audio.dsp_plugin, "", sizeof(g_settings.audio.dsp_plugin));
|
||||
#endif
|
||||
rarch_deinit_dsp_filter();
|
||||
rarch_init_dsp_filter();
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -386,7 +386,6 @@ static bool audio_flush(const int16_t *data, size_t samples)
|
||||
g_extern.audio_data.volume_gain);
|
||||
RARCH_PERFORMANCE_STOP(audio_convert_s16);
|
||||
|
||||
#if defined(HAVE_DYLIB)
|
||||
rarch_dsp_output_t dsp_output = {0};
|
||||
rarch_dsp_input_t dsp_input = {0};
|
||||
dsp_input.samples = g_extern.audio_data.data;
|
||||
@ -397,10 +396,6 @@ static bool audio_flush(const int16_t *data, size_t samples)
|
||||
|
||||
src_data.data_in = dsp_output.samples ? dsp_output.samples : g_extern.audio_data.data;
|
||||
src_data.input_frames = dsp_output.samples ? dsp_output.frames : (samples >> 1);
|
||||
#else
|
||||
src_data.data_in = g_extern.audio_data.data;
|
||||
src_data.input_frames = samples >> 1;
|
||||
#endif
|
||||
|
||||
src_data.data_out = g_extern.audio_data.outsamples;
|
||||
|
||||
@ -2566,7 +2561,6 @@ static void check_screenshot(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_DYLIB
|
||||
static void check_dsp_config(void)
|
||||
{
|
||||
if (!g_extern.audio_data.dsp_plugin || !g_extern.audio_data.dsp_plugin->config)
|
||||
@ -2579,7 +2573,6 @@ static void check_dsp_config(void)
|
||||
|
||||
old_pressed = pressed;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void check_mute(void)
|
||||
{
|
||||
@ -2758,9 +2751,7 @@ static void do_state_checks(void)
|
||||
check_cheats();
|
||||
check_disk();
|
||||
|
||||
#ifdef HAVE_DYLIB
|
||||
check_dsp_config();
|
||||
#endif
|
||||
check_reset();
|
||||
#ifdef HAVE_NETPLAY
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user