From 5016ebd3440194da0adaea9d641816cc3cda0807 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 27 Jan 2016 03:40:02 +0100 Subject: [PATCH] Create CORE_CTL_RETRO_GET_SYSTEM_AV_INFO --- libretro_version_1.c | 8 ++++++++ libretro_version_1.h | 4 +++- retroarch.c | 9 +++------ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/libretro_version_1.c b/libretro_version_1.c index 25d24674d9..7bdf8026e8 100644 --- a/libretro_version_1.c +++ b/libretro_version_1.c @@ -171,6 +171,14 @@ bool core_ctl(enum core_ctl_state state, void *data) { switch (state) { + case CORE_CTL_RETRO_GET_SYSTEM_AV_INFO: + { + struct retro_system_av_info *av_info = (struct retro_system_av_info*)data; + if (!av_info) + return false; + core.retro_get_system_av_info(av_info); + } + break; case CORE_CTL_RETRO_RESET: core.retro_reset(); break; diff --git a/libretro_version_1.h b/libretro_version_1.h index ba88e341cb..da159e9fb5 100644 --- a/libretro_version_1.h +++ b/libretro_version_1.h @@ -58,7 +58,9 @@ enum core_ctl_state CORE_CTL_RETRO_UNLOAD_GAME, - CORE_CTL_RETRO_RESET + CORE_CTL_RETRO_RESET, + + CORE_CTL_RETRO_GET_SYSTEM_AV_INFO }; typedef struct retro_callbacks diff --git a/retroarch.c b/retroarch.c index fa4bdddfe1..ef9790ac7c 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1310,12 +1310,9 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data) switch(state) { case RARCH_CTL_INIT_SYSTEM_AV_INFO: - { - struct retro_system_av_info *av_info = - video_viewport_get_system_av_info(); - core.retro_get_system_av_info(av_info); - runloop_ctl(RUNLOOP_CTL_SET_FRAME_LIMIT, NULL); - } + core_ctl(CORE_CTL_RETRO_GET_SYSTEM_AV_INFO, + video_viewport_get_system_av_info()); + runloop_ctl(RUNLOOP_CTL_SET_FRAME_LIMIT, NULL); break; case RARCH_CTL_IS_PLAIN_CORE: return (current_core_type == CORE_TYPE_PLAIN);