1
0
mirror of https://github.com/libretro/RetroArch synced 2024-07-03 00:38:44 +00:00

Start adding HAVE_MPV ifdefs

This commit is contained in:
twinaphex 2018-06-20 04:29:31 +02:00
parent e51d8b6b0f
commit 0286829348
6 changed files with 58 additions and 3 deletions

View File

@ -1101,11 +1101,15 @@ ifneq ($(C89_BUILD), 1)
ifneq ($(HAVE_OPENGLES), 1)
OBJ += cores/libretro-ffmpeg/ffmpeg_fft.o
DEFINES += -I$(DEPS_DIR) -DHAVE_GL_FFT
NEED_CXX_LINKER=1
endif
endif
endif
ifeq ($(HAVE_MPV), 1)
OBJ += cores/libretro-mpv/libretro-mpv.o
DEFINES += -I$(DEPS_DIR) -DHAVE_MPV
endif
ifeq ($(HAVE_OPENGLES), 1)
LIBS += $(OPENGLES_LIBS)
DEFINES += $(OPENGLES_CFLAGS) -DHAVE_OPENGLES

View File

@ -21,6 +21,7 @@ enum rarch_core_type
CORE_TYPE_PLAIN = 0,
CORE_TYPE_DUMMY,
CORE_TYPE_FFMPEG,
CORE_TYPE_MPV,
CORE_TYPE_IMAGEVIEWER,
CORE_TYPE_NETRETROPAD,
CORE_TYPE_VIDEO_PROCESSOR

View File

@ -90,6 +90,10 @@ static dylib_t lib_handle;
#define SYMBOL_FFMPEG(x) current_core->x = libretro_ffmpeg_##x
#endif
#ifdef HAVE_MPV
#define SYMBOL_MPV(x) current_core->x = libretro_mpv_##x
#endif
#ifdef HAVE_IMAGEVIEWER
#define SYMBOL_IMAGEVIEWER(x) current_core->x = libretro_imageviewer_##x
#endif
@ -528,6 +532,43 @@ bool init_libretro_sym_custom(enum rarch_core_type type, struct retro_core_t *cu
SYMBOL_FFMPEG(retro_get_region);
SYMBOL_FFMPEG(retro_get_memory_data);
SYMBOL_FFMPEG(retro_get_memory_size);
#endif
break;
case CORE_TYPE_MPV:
#ifdef HAVE_MPV
SYMBOL_MPV(retro_init);
SYMBOL_MPV(retro_deinit);
SYMBOL_MPV(retro_api_version);
SYMBOL_MPV(retro_get_system_info);
SYMBOL_MPV(retro_get_system_av_info);
SYMBOL_MPV(retro_set_environment);
SYMBOL_MPV(retro_set_video_refresh);
SYMBOL_MPV(retro_set_audio_sample);
SYMBOL_MPV(retro_set_audio_sample_batch);
SYMBOL_MPV(retro_set_input_poll);
SYMBOL_MPV(retro_set_input_state);
SYMBOL_MPV(retro_set_controller_port_device);
SYMBOL_MPV(retro_reset);
SYMBOL_MPV(retro_run);
SYMBOL_MPV(retro_serialize_size);
SYMBOL_MPV(retro_serialize);
SYMBOL_MPV(retro_unserialize);
SYMBOL_MPV(retro_cheat_reset);
SYMBOL_MPV(retro_cheat_set);
SYMBOL_MPV(retro_load_game);
SYMBOL_MPV(retro_load_game_special);
SYMBOL_MPV(retro_unload_game);
SYMBOL_MPV(retro_get_region);
SYMBOL_MPV(retro_get_memory_data);
SYMBOL_MPV(retro_get_memory_size);
#endif
break;
case CORE_TYPE_IMAGEVIEWER:

View File

@ -368,6 +368,10 @@ else
check_val '' ZLIB '-lz'
fi
if [ "$HAVE_MPV" != 'no' ]; then
check_pkgconf MPV libmpv
fi
if [ "$HAVE_THREADS" != 'no' ] && [ "$HAVE_FFMPEG" != 'no' ]; then
check_pkgconf AVCODEC libavcodec 54
check_pkgconf AVFORMAT libavformat 54

View File

@ -25,7 +25,8 @@ HAVE_SYSTEMD=auto # Systemd support
HAVE_UDEV=auto # Udev/Evdev gamepad support
HAVE_THREADS=auto # Threading support
HAVE_THREAD_STORAGE=auto # Thread Local Storage support
HAVE_FFMPEG=auto # FFmpeg recording support
HAVE_FFMPEG=auto # FFmpeg support
HAVE_MPV=auto # MPV support
C89_FFMPEG=no
HAVE_SSA=auto # SSA/ASS for FFmpeg subtitle support
HAVE_DYLIB=auto # Dynamic loading support

View File

@ -1262,7 +1262,11 @@ static void retroarch_main_init_media(void)
case RARCH_CONTENT_MUSIC:
if (builtin_mediaplayer)
{
#ifdef HAVE_FFMPEG
/* TODO/FIXME - it needs to become possible to switch between FFmpeg and MPV at runtime */
#if defined(HAVE_MPV)
retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_LIBRETRO, NULL);
retroarch_set_current_core_type(CORE_TYPE_MPV, false);
#elif defined(HAVE_FFMPEG)
retroarch_override_setting_set(RARCH_OVERRIDE_SETTING_LIBRETRO, NULL);
retroarch_set_current_core_type(CORE_TYPE_FFMPEG, false);
#endif