mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-23 16:09:47 +00:00
(Apple) Get rid of HAVE_CORELOCATION/HAVE_AVFOUNDATION - was mostly dormant
code and makes the Apple code needlessly complex right now. We can always reintroduce this later on when the time is right
This commit is contained in:
parent
d1edfabddb
commit
f705503531
@ -980,11 +980,6 @@ ifeq ($(HAVE_IOHIDMANAGER), 1)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(HAVE_CORELOCATION), 1)
|
||||
DEFINES += -DHAVE_CORELOCATION
|
||||
LIBS += -framework CoreLocation
|
||||
endif
|
||||
|
||||
ifeq ($(HAVE_HID), 1)
|
||||
DEFINES += -DHAVE_HID
|
||||
OBJ += input/drivers_joypad/hid_joypad.o \
|
||||
@ -1794,15 +1789,6 @@ ifneq ($(findstring Win32,$(OS)),)
|
||||
LIBS += -lmsimg32 -lhid -lsetupapi
|
||||
endif
|
||||
|
||||
ifeq ($(HAVE_AVFOUNDATION), 1)
|
||||
ifeq ($(HAVE_COCOA), 1)
|
||||
DEFINES += -DHAVE_AVFOUNDATION
|
||||
LIBS += -framework AVFoundation
|
||||
LIBS += -framework CoreVideo
|
||||
LIBS += -framework CoreMedia
|
||||
endif
|
||||
endif
|
||||
|
||||
# Record
|
||||
|
||||
ifeq ($(HAVE_FFMPEG), 1)
|
||||
|
@ -37,11 +37,6 @@ static const camera_driver_t *camera_drivers[] = {
|
||||
#endif
|
||||
#ifdef ANDROID
|
||||
&camera_android,
|
||||
#endif
|
||||
#if defined(HAVE_AVFOUNDATION)
|
||||
#if defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH)
|
||||
&camera_avfoundation,
|
||||
#endif
|
||||
#endif
|
||||
&camera_null,
|
||||
NULL,
|
||||
|
@ -356,12 +356,6 @@ static const bool _coretext_supp = true;
|
||||
static const bool _coretext_supp = false;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
static const bool _avfoundation_supp = true;
|
||||
#else
|
||||
static const bool _avfoundation_supp = false;
|
||||
#endif
|
||||
|
||||
#if !defined(_WIN32) && !defined(GLOBAL_CONFIG_DIR)
|
||||
#if defined(__HAIKU__)
|
||||
#define GLOBAL_CONFIG_DIR "/system/settings"
|
||||
|
@ -547,8 +547,6 @@ static enum camera_driver_enum CAMERA_DEFAULT_DRIVER = CAMERA_V4L2;
|
||||
static enum camera_driver_enum CAMERA_DEFAULT_DRIVER = CAMERA_RWEBCAM;
|
||||
#elif defined(ANDROID)
|
||||
static enum camera_driver_enum CAMERA_DEFAULT_DRIVER = CAMERA_ANDROID;
|
||||
#elif defined(HAVE_AVFOUNDATION) && (defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH) || defined(HAVE_COCOA_METAL))
|
||||
static enum camera_driver_enum CAMERA_DEFAULT_DRIVER = CAMERA_AVFOUNDATION;
|
||||
#else
|
||||
static enum camera_driver_enum CAMERA_DEFAULT_DRIVER = CAMERA_NULL;
|
||||
#endif
|
||||
@ -561,8 +559,6 @@ static enum wifi_driver_enum WIFI_DEFAULT_DRIVER = WIFI_NULL;
|
||||
|
||||
#if defined(ANDROID)
|
||||
static enum location_driver_enum LOCATION_DEFAULT_DRIVER = LOCATION_ANDROID;
|
||||
#elif defined(HAVE_CORELOCATION) && (defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH) || defined(HAVE_COCOA_METAL))
|
||||
static enum location_driver_enum LOCATION_DEFAULT_DRIVER = LOCATION_CORELOCATION;
|
||||
#else
|
||||
static enum location_driver_enum LOCATION_DEFAULT_DRIVER = LOCATION_NULL;
|
||||
#endif
|
||||
|
@ -30,9 +30,6 @@
|
||||
#include <AppKit/NSOpenGL.h>
|
||||
#elif defined(HAVE_COCOATOUCH)
|
||||
#include <GLKit/GLKit.h>
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <retro_assert.h>
|
||||
@ -153,12 +150,6 @@ void *glkitview_init(void)
|
||||
#if defined(HAVE_COCOATOUCH)
|
||||
void cocoagl_bind_game_view_fbo(void)
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
/* Implicitly initializes your audio session */
|
||||
AVAudioSession *audio_session = [AVAudioSession sharedInstance];
|
||||
[audio_session setCategory:AVAudioSessionCategoryAmbient error:nil];
|
||||
[audio_session setActive:YES error:nil];
|
||||
#endif
|
||||
if (g_context)
|
||||
[g_view bindDrawable];
|
||||
}
|
||||
|
@ -29,9 +29,6 @@
|
||||
#include <AppKit/NSOpenGL.h>
|
||||
#elif defined(HAVE_COCOATOUCH)
|
||||
#include <GLKit/GLKit.h>
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <retro_assert.h>
|
||||
@ -151,12 +148,6 @@ void *glkitview_init(void)
|
||||
#if defined(HAVE_COCOATOUCH)
|
||||
void cocoagl_bind_game_view_fbo(void)
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
/* Implicitly initializes your audio session */
|
||||
AVAudioSession *audio_session = [AVAudioSession sharedInstance];
|
||||
[audio_session setCategory:AVAudioSessionCategoryAmbient error:nil];
|
||||
[audio_session setActive:YES error:nil];
|
||||
#endif
|
||||
if (g_context)
|
||||
[g_view bindDrawable];
|
||||
}
|
||||
|
@ -32,11 +32,6 @@
|
||||
static const location_driver_t *location_drivers[] = {
|
||||
#ifdef ANDROID
|
||||
&location_android,
|
||||
#endif
|
||||
#ifdef HAVE_CORELOCATION
|
||||
#if defined(HAVE_COCOA) || defined(HAVE_COCOATOUCH)
|
||||
&location_corelocation,
|
||||
#endif
|
||||
#endif
|
||||
&location_null,
|
||||
NULL,
|
||||
|
@ -333,7 +333,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -344,7 +343,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -377,7 +375,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArchiOS10;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@ -422,7 +419,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -433,7 +429,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -467,7 +462,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
"OTHER_CFLAGS[arch=*]" = (
|
||||
"-DNS_BLOCK_ASSERTIONS=1",
|
||||
@ -478,7 +472,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -489,7 +482,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -523,7 +515,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArchiOS10;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@ -568,7 +559,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -579,7 +569,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -641,7 +630,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -652,7 +640,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
|
@ -342,7 +342,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
"-DHAVE_MINIUPNPC",
|
||||
@ -352,7 +351,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -384,7 +382,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArchiOS10S;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@ -430,7 +427,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
"-DHAVE_MINIUPNPC",
|
||||
@ -440,7 +436,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -473,7 +468,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
"OTHER_CFLAGS[arch=*]" = (
|
||||
"-DNS_BLOCK_ASSERTIONS=1",
|
||||
@ -485,7 +479,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
"-DHAVE_MINIUPNPC",
|
||||
@ -495,7 +488,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -528,7 +520,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArchiOS10S;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@ -574,7 +565,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
"-DHAVE_MINIUPNPC",
|
||||
@ -584,7 +574,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -646,7 +635,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
"-DHAVE_MINIUPNPC",
|
||||
@ -656,7 +644,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
|
@ -588,7 +588,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -599,7 +598,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -632,7 +630,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_KEYMAPPER",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArchiOS11;
|
||||
@ -678,7 +675,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -689,7 +685,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -723,7 +718,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_KEYMAPPER",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArchiOS11;
|
||||
@ -998,7 +992,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -1009,7 +1002,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -1071,7 +1063,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -1082,7 +1073,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
|
@ -341,7 +341,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
"-DHAVE_MINIUPNPC",
|
||||
@ -351,7 +350,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -383,7 +381,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArchiOS11S;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@ -429,7 +426,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
"-DHAVE_MINIUPNPC",
|
||||
@ -439,7 +435,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -472,7 +467,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
"OTHER_CFLAGS[arch=*]" = (
|
||||
"-DNS_BLOCK_ASSERTIONS=1",
|
||||
@ -484,7 +478,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
"-DHAVE_MINIUPNPC",
|
||||
@ -494,7 +487,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -527,7 +519,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArchiOS11S;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@ -573,7 +564,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
"-DHAVE_MINIUPNPC",
|
||||
@ -583,7 +573,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -645,7 +634,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
"-DHAVE_MINIUPNPC",
|
||||
@ -655,7 +643,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
|
@ -345,7 +345,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -357,7 +356,6 @@
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORETEXT",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -431,7 +429,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -442,7 +439,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -483,7 +479,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -494,7 +489,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -568,7 +562,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -579,7 +572,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -640,7 +632,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -651,7 +642,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
|
@ -347,7 +347,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -358,7 +357,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -419,7 +417,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -430,7 +427,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -497,7 +493,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -508,7 +503,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -541,7 +535,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArch8;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@ -586,7 +579,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -597,7 +589,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -631,7 +622,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
"OTHER_CFLAGS[arch=*]" = (
|
||||
"-DNS_BLOCK_ASSERTIONS=1",
|
||||
@ -641,7 +631,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -652,7 +641,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -686,7 +674,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArch8;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
|
@ -362,7 +362,6 @@
|
||||
"-DHAVE_CORETEXT",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -373,7 +372,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -406,7 +404,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArch9;
|
||||
PRODUCT_NAME = RetroArch;
|
||||
@ -449,7 +446,6 @@
|
||||
"-DHAVE_CORETEXT",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -460,7 +456,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -494,7 +489,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
"OTHER_CFLAGS[arch=*]" = (
|
||||
"-DNS_BLOCK_ASSERTIONS=1",
|
||||
@ -503,7 +497,6 @@
|
||||
"-DHAVE_CORETEXT",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -514,7 +507,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -548,7 +540,6 @@
|
||||
"-D_LZMA_UINT32_IS_ULONG",
|
||||
"-DHAVE_MFI",
|
||||
"-DHAVE_BTSTACK",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.libretro.RetroArch9;
|
||||
PRODUCT_NAME = RetroArch;
|
||||
@ -592,7 +583,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -603,7 +593,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
@ -664,7 +653,6 @@
|
||||
"-DHAVE_HID",
|
||||
"-DHAVE_NETWORKING",
|
||||
"-DHAVE_NETPLAYDISCOVERY",
|
||||
"-DHAVE_AVFOUNDATION",
|
||||
"-DHAVE_RUNAHEAD",
|
||||
"-DHAVE_GRIFFIN",
|
||||
"-DHAVE_STB_VORBIS",
|
||||
@ -675,7 +663,6 @@
|
||||
"-DHAVE_CHEEVOS",
|
||||
"-DRC_DISABLE_LUA",
|
||||
"-DHAVE_IMAGEVIEWER",
|
||||
"-DHAVE_CORELOCATION",
|
||||
"-DHAVE_RGUI",
|
||||
"-DHAVE_MENU",
|
||||
"-DHAVE_LIBRETRODB",
|
||||
|
@ -17,8 +17,7 @@ ${APPLICATION_NAME}_FILES = $(SRC_DIR)/griffin/griffin.c \
|
||||
$(SRC_DIR)/audio/drivers_resampler/sinc_neon.S \
|
||||
$(SRC_DIR)/audio/drivers_resampler/cc_resampler_neon.S
|
||||
|
||||
COMMON_FLAGS := -DIOS -DHAVE_GRIFFIN -DHAVE_CORELOCATION -DHAVE_NETWORKING -DHAVE_RGUI -DHAVE_MENU -DHAVE_DYNAMIC -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_GLSL -DINLINE=inline -DHAVE_THREADS -D__LIBRETRO__ -DRARCH_MOBILE -std=gnu99 -DHAVE_COREAUDIO -DHAVE_OVERLAY -DHAVE_ZLIB -DWANT_ZLIB -DRARCH_INTERNAL -DHAVE_FILTERS_BUILTIN -DHAVE_XMB -D_LZMA_UINT32_IS_ULONG -DHAVE_STRL
|
||||
COMMON_FLAGS += -DHAVE_AVFOUNDATION
|
||||
COMMON_FLAGS := -DIOS -DHAVE_GRIFFIN -DHAVE_NETWORKING -DHAVE_RGUI -DHAVE_MENU -DHAVE_DYNAMIC -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_GLSL -DINLINE=inline -DHAVE_THREADS -D__LIBRETRO__ -DRARCH_MOBILE -std=gnu99 -DHAVE_COREAUDIO -DHAVE_OVERLAY -DHAVE_ZLIB -DWANT_ZLIB -DRARCH_INTERNAL -DHAVE_FILTERS_BUILTIN -DHAVE_XMB -D_LZMA_UINT32_IS_ULONG -DHAVE_STRL
|
||||
COMMON_IOS_FLAGS := -Wno-deprecated-declarations -Wno-error
|
||||
COMMON_IOS_OBJCFLAGS := -fobjc-arc
|
||||
INCFLAGS := -I$(SRC_DIR) -I$(SRC_DIR)/libretro-common/include
|
||||
|
@ -24,10 +24,6 @@
|
||||
#include "../../menu/menu_driver.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CORELOCATION
|
||||
#include <CoreLocation/CoreLocation.h>
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_COCOATOUCH)
|
||||
#include <UIKit/UIKit.h>
|
||||
|
||||
@ -35,10 +31,6 @@
|
||||
#import <GameController/GameController.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
#import <AVFoundation/AVCaptureOutput.h>
|
||||
#endif
|
||||
|
||||
/*********************************************/
|
||||
/* RAMenuBase */
|
||||
/* A menu class that displays RAMenuItemBase */
|
||||
@ -97,9 +89,6 @@ void get_ios_version(int *major, int *minor);
|
||||
#include <AppKit/AppKit.h>
|
||||
|
||||
@interface CocoaView : NSView
|
||||
#ifdef HAVE_CORELOCATION
|
||||
<CLLocationManagerDelegate>
|
||||
#endif
|
||||
|
||||
+ (CocoaView*)get;
|
||||
#if !defined(HAVE_COCOA)
|
||||
|
@ -27,19 +27,6 @@
|
||||
|
||||
/* Define compatibility symbols and categories. */
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
#include <AVFoundation/AVCaptureSession.h>
|
||||
#include <AVFoundation/AVCaptureDevice.h>
|
||||
#include <AVFoundation/AVCaptureOutput.h>
|
||||
#include <AVFoundation/AVCaptureInput.h>
|
||||
#include <AVFoundation/AVMediaFormat.h>
|
||||
#ifdef HAVE_OPENGLES
|
||||
#include <CoreVideo/CVOpenGLESTextureCache.h>
|
||||
#else
|
||||
#include <CoreVideo/CVOpenGLTexture.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "../../../location/location_driver.h"
|
||||
#include "../../../camera/camera_driver.h"
|
||||
|
||||
@ -329,410 +316,4 @@ void *glkitview_init(void);
|
||||
}
|
||||
#endif // end HAVE_COCOATOUCH
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
#include "../../gfx/common/gl_common.h"
|
||||
|
||||
#ifndef GL_BGRA
|
||||
#define GL_BGRA 0x80E1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_OPENGLES
|
||||
#define RCVOpenGLTextureCacheCreateTextureFromImage CVOpenGLESTextureCacheCreateTextureFromImage
|
||||
#define RCVOpenGLTextureGetName CVOpenGLESTextureGetName
|
||||
#define RCVOpenGLTextureCacheFlush CVOpenGLESTextureCacheFlush
|
||||
#define RCVOpenGLTextureCacheCreate CVOpenGLESTextureCacheCreate
|
||||
#define RCVOpenGLTextureRef CVOpenGLESTextureRef
|
||||
#define RCVOpenGLTextureCacheRef CVOpenGLESTextureCacheRef
|
||||
#if COREVIDEO_USE_EAGLCONTEXT_CLASS_IN_API
|
||||
#define RCVOpenGLGetCurrentContext() (CVEAGLContext)(g_context)
|
||||
#else
|
||||
#define RCVOpenGLGetCurrentContext() (__bridge void *)(g_context)
|
||||
#endif
|
||||
#else
|
||||
#define RCVOpenGLTextureCacheCreateTextureFromImage CVOpenGLTextureCacheCreateTextureFromImage
|
||||
#define RCVOpenGLTextureGetName CVOpenGLTextureGetName
|
||||
#define RCVOpenGLTextureCacheFlush CVOpenGLTextureCacheFlush
|
||||
#define RCVOpenGLTextureCacheCreate CVOpenGLTextureCacheCreate
|
||||
#define RCVOpenGLTextureRef CVOpenGLTextureRef
|
||||
#define RCVOpenGLTextureCacheRef CVOpenGLTextureCacheRef
|
||||
#define RCVOpenGLGetCurrentContext() CGLGetCurrentContext(), CGLGetPixelFormat(CGLGetCurrentContext())
|
||||
#endif
|
||||
|
||||
static AVCaptureSession *_session;
|
||||
static NSString *_sessionPreset;
|
||||
RCVOpenGLTextureCacheRef textureCache;
|
||||
GLuint outputTexture;
|
||||
static bool newFrame = false;
|
||||
|
||||
static void event_process_camera_frame(void *pbuf_ptr)
|
||||
{
|
||||
CVReturn ret;
|
||||
RCVOpenGLTextureRef renderTexture;
|
||||
CVPixelBufferRef pixelBuffer = (CVPixelBufferRef)pbuf_ptr;
|
||||
size_t width = CVPixelBufferGetWidth(pixelBuffer);
|
||||
size_t height = CVPixelBufferGetHeight(pixelBuffer);
|
||||
|
||||
CVPixelBufferLockBaseAddress(pixelBuffer, 0);
|
||||
|
||||
(void)width;
|
||||
(void)height;
|
||||
|
||||
/*TODO - rewrite all this.
|
||||
*
|
||||
* create a texture from our render target.
|
||||
* textureCache will be what you previously
|
||||
* made with RCVOpenGLTextureCacheCreate.
|
||||
*/
|
||||
#ifdef HAVE_OPENGLES
|
||||
ret = RCVOpenGLTextureCacheCreateTextureFromImage(kCFAllocatorDefault,
|
||||
textureCache, pixelBuffer, NULL, GL_TEXTURE_2D,
|
||||
GL_RGBA, (GLsizei)width, (GLsizei)height,
|
||||
GL_BGRA, GL_UNSIGNED_BYTE, 0, &renderTexture);
|
||||
#else
|
||||
ret = RCVOpenGLTextureCacheCreateTextureFromImage(kCFAllocatorDefault,
|
||||
textureCache, pixelBuffer, 0, &renderTexture);
|
||||
#endif
|
||||
|
||||
if (!renderTexture || ret)
|
||||
{
|
||||
RARCH_ERR("[apple_camera]: RCVOpenGLTextureCacheCreateTextureFromImage failed.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
outputTexture = RCVOpenGLTextureGetName(renderTexture);
|
||||
|
||||
gl_bind_texture(outputTexture, GL_CLAMP_TO_EDGE, GL_LINEAR, GL_LINEAR);
|
||||
|
||||
CVPixelBufferUnlockBaseAddress(pixelBuffer, 0);
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"NewCameraTextureReady" object:nil];
|
||||
newFrame = true;
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
|
||||
RCVOpenGLTextureCacheFlush(textureCache, 0);
|
||||
|
||||
CFRelease(renderTexture);
|
||||
CFRelease(pixelBuffer);
|
||||
|
||||
pixelBuffer = 0;
|
||||
}
|
||||
|
||||
- (void)captureOutput:(AVCaptureOutput *)captureOutput
|
||||
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
|
||||
fromConnection:(AVCaptureConnection *)connection
|
||||
{
|
||||
/* TODO: Don't post if event queue is full */
|
||||
CVPixelBufferRef pixelBuffer = (CVPixelBufferRef)CVPixelBufferRetain(CMSampleBufferGetImageBuffer(sampleBuffer));
|
||||
event_process_camera_frame(pixelBuffer);
|
||||
}
|
||||
|
||||
/* TODO - add void param to onCameraInit so we can pass g_context. */
|
||||
- (void) onCameraInit
|
||||
{
|
||||
NSError *error;
|
||||
AVCaptureVideoDataOutput * dataOutput;
|
||||
AVCaptureDeviceInput *input;
|
||||
AVCaptureDevice *videoDevice;
|
||||
|
||||
CVReturn ret = RCVOpenGLTextureCacheCreate(kCFAllocatorDefault, NULL,
|
||||
RCVOpenGLGetCurrentContext(), NULL, &textureCache);
|
||||
(void)ret;
|
||||
|
||||
/* Setup Capture Session. */
|
||||
_session = [[AVCaptureSession alloc] init];
|
||||
[_session beginConfiguration];
|
||||
|
||||
/* TODO: dehardcode this based on device capabilities */
|
||||
_sessionPreset = AVCaptureSessionPreset640x480;
|
||||
|
||||
/* Set preset session size. */
|
||||
[_session setSessionPreset:_sessionPreset];
|
||||
|
||||
/* Creata a video device and input from that Device. Add the input to the capture session. */
|
||||
videoDevice = (AVCaptureDevice*)[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
|
||||
if (videoDevice == nil)
|
||||
retro_assert(0);
|
||||
|
||||
/* Add the device to the session. */
|
||||
input = (AVCaptureDeviceInput*)[AVCaptureDeviceInput deviceInputWithDevice:videoDevice error:&error];
|
||||
|
||||
if (error)
|
||||
{
|
||||
RARCH_ERR("video device input %s\n", error.localizedDescription.UTF8String);
|
||||
retro_assert(0);
|
||||
}
|
||||
|
||||
[_session addInput:input];
|
||||
|
||||
/* Create the output for the capture session. */
|
||||
dataOutput = (AVCaptureVideoDataOutput*)[[AVCaptureVideoDataOutput alloc] init];
|
||||
[dataOutput setAlwaysDiscardsLateVideoFrames:NO]; /* Probably want to set this to NO when recording. */
|
||||
|
||||
[dataOutput setVideoSettings:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey]];
|
||||
|
||||
/* Set dispatch to be on the main thread so OpenGL can do things with the data. */
|
||||
[dataOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()];
|
||||
|
||||
[_session addOutput:dataOutput];
|
||||
[_session commitConfiguration];
|
||||
}
|
||||
|
||||
- (void) onCameraStart
|
||||
{
|
||||
[_session startRunning];
|
||||
}
|
||||
|
||||
- (void) onCameraStop
|
||||
{
|
||||
[_session stopRunning];
|
||||
}
|
||||
|
||||
- (void) onCameraFree
|
||||
{
|
||||
RCVOpenGLTextureCacheFlush(textureCache, 0);
|
||||
CFRelease(textureCache);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CORELOCATION
|
||||
#include <CoreLocation/CoreLocation.h>
|
||||
|
||||
static CLLocationManager *locationManager;
|
||||
static bool locationChanged;
|
||||
static CLLocationDegrees currentLatitude;
|
||||
static CLLocationDegrees currentLongitude;
|
||||
static CLLocationAccuracy currentHorizontalAccuracy;
|
||||
static CLLocationAccuracy currentVerticalAccuracy;
|
||||
|
||||
- (bool)onLocationHasChanged
|
||||
{
|
||||
bool hasChanged = locationChanged;
|
||||
|
||||
if (hasChanged)
|
||||
locationChanged = false;
|
||||
|
||||
return hasChanged;
|
||||
}
|
||||
|
||||
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
|
||||
{
|
||||
locationChanged = true;
|
||||
currentLatitude = newLocation.coordinate.latitude;
|
||||
currentLongitude = newLocation.coordinate.longitude;
|
||||
currentHorizontalAccuracy = newLocation.horizontalAccuracy;
|
||||
currentVerticalAccuracy = newLocation.verticalAccuracy;
|
||||
RARCH_LOG("didUpdateToLocation - latitude %f, longitude %f\n", (float)currentLatitude, (float)currentLongitude);
|
||||
}
|
||||
|
||||
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
|
||||
{
|
||||
CLLocation *location = (CLLocation*)[locations objectAtIndex:([locations count] - 1)];
|
||||
|
||||
locationChanged = true;
|
||||
currentLatitude = [location coordinate].latitude;
|
||||
currentLongitude = [location coordinate].longitude;
|
||||
currentHorizontalAccuracy = location.horizontalAccuracy;
|
||||
currentVerticalAccuracy = location.verticalAccuracy;
|
||||
RARCH_LOG("didUpdateLocations - latitude %f, longitude %f\n", (float)currentLatitude, (float)currentLongitude);
|
||||
}
|
||||
|
||||
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
|
||||
{
|
||||
RARCH_LOG("didFailWithError - %s\n", [[error localizedDescription] UTF8String]);
|
||||
}
|
||||
|
||||
- (void)locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager
|
||||
{
|
||||
RARCH_LOG("didPauseLocationUpdates\n");
|
||||
}
|
||||
|
||||
- (void)locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager
|
||||
{
|
||||
RARCH_LOG("didResumeLocationUpdates\n");
|
||||
}
|
||||
|
||||
- (void)onLocationInit
|
||||
{
|
||||
/* Create the location manager
|
||||
* if this object does not already have one.
|
||||
*/
|
||||
|
||||
if (locationManager == nil)
|
||||
locationManager = [[CLLocationManager alloc] init];
|
||||
locationManager.delegate = self;
|
||||
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
|
||||
locationManager.distanceFilter = kCLDistanceFilterNone;
|
||||
[locationManager startUpdatingLocation];
|
||||
}
|
||||
#endif
|
||||
|
||||
@end
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
typedef struct apple_camera
|
||||
{
|
||||
void *empty;
|
||||
} applecamera_t;
|
||||
|
||||
static void *apple_camera_init(const char *device, uint64_t caps, unsigned width, unsigned height)
|
||||
{
|
||||
applecamera_t *applecamera;
|
||||
|
||||
if ((caps & (UINT64_C(1) << RETRO_CAMERA_BUFFER_OPENGL_TEXTURE)) == 0)
|
||||
{
|
||||
RARCH_ERR("applecamera returns OpenGL texture.\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
applecamera = (applecamera_t*)calloc(1, sizeof(applecamera_t));
|
||||
if (!applecamera)
|
||||
return NULL;
|
||||
|
||||
[[CocoaView get] onCameraInit];
|
||||
|
||||
return applecamera;
|
||||
}
|
||||
|
||||
static void apple_camera_free(void *data)
|
||||
{
|
||||
applecamera_t *applecamera = (applecamera_t*)data;
|
||||
|
||||
[[CocoaView get] onCameraFree];
|
||||
|
||||
if (applecamera)
|
||||
free(applecamera);
|
||||
applecamera = NULL;
|
||||
}
|
||||
|
||||
static bool apple_camera_start(void *data)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
[[CocoaView get] onCameraStart];
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void apple_camera_stop(void *data)
|
||||
{
|
||||
[[CocoaView get] onCameraStop];
|
||||
}
|
||||
|
||||
static bool apple_camera_poll(void *data, retro_camera_frame_raw_framebuffer_t frame_raw_cb,
|
||||
retro_camera_frame_opengl_texture_t frame_gl_cb)
|
||||
{
|
||||
|
||||
(void)data;
|
||||
(void)frame_raw_cb;
|
||||
|
||||
if (frame_gl_cb && newFrame)
|
||||
{
|
||||
/* FIXME: Identity for now.
|
||||
* Use proper texture matrix as returned by iOS Camera (if at all?). */
|
||||
static const float affine[] = {
|
||||
1.0f, 0.0f, 0.0f,
|
||||
0.0f, 1.0f, 0.0f,
|
||||
0.0f, 0.0f, 1.0f
|
||||
};
|
||||
|
||||
frame_gl_cb(outputTexture, GL_TEXTURE_2D, affine);
|
||||
newFrame = false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
camera_driver_t camera_avfoundation = {
|
||||
apple_camera_init,
|
||||
apple_camera_free,
|
||||
apple_camera_start,
|
||||
apple_camera_stop,
|
||||
apple_camera_poll,
|
||||
"avfoundation",
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CORELOCATION
|
||||
typedef struct apple_location
|
||||
{
|
||||
void *empty;
|
||||
} applelocation_t;
|
||||
|
||||
static void *apple_location_init(void)
|
||||
{
|
||||
applelocation_t *applelocation = (applelocation_t*)calloc(1, sizeof(applelocation_t));
|
||||
if (!applelocation)
|
||||
return NULL;
|
||||
|
||||
[[CocoaView get] onLocationInit];
|
||||
|
||||
return applelocation;
|
||||
}
|
||||
|
||||
static void apple_location_set_interval(void *data, unsigned interval_update_ms, unsigned interval_distance)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
locationManager.distanceFilter = interval_distance ? interval_distance : kCLDistanceFilterNone;
|
||||
}
|
||||
|
||||
static void apple_location_free(void *data)
|
||||
{
|
||||
applelocation_t *applelocation = (applelocation_t*)data;
|
||||
|
||||
/* TODO - free location manager? */
|
||||
|
||||
if (applelocation)
|
||||
free(applelocation);
|
||||
applelocation = NULL;
|
||||
}
|
||||
|
||||
static bool apple_location_start(void *data)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
[locationManager startUpdatingLocation];
|
||||
return true;
|
||||
}
|
||||
|
||||
static void apple_location_stop(void *data)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
[locationManager stopUpdatingLocation];
|
||||
}
|
||||
|
||||
static bool apple_location_get_position(void *data, double *lat, double *lon, double *horiz_accuracy,
|
||||
double *vert_accuracy)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
bool ret = [[CocoaView get] onLocationHasChanged];
|
||||
|
||||
if (!ret)
|
||||
goto fail;
|
||||
|
||||
*lat = currentLatitude;
|
||||
*lon = currentLongitude;
|
||||
*horiz_accuracy = currentHorizontalAccuracy;
|
||||
*vert_accuracy = currentVerticalAccuracy;
|
||||
return true;
|
||||
|
||||
fail:
|
||||
*lat = 0.0;
|
||||
*lon = 0.0;
|
||||
*horiz_accuracy = 0.0;
|
||||
*vert_accuracy = 0.0;
|
||||
return false;
|
||||
}
|
||||
|
||||
location_driver_t location_corelocation = {
|
||||
apple_location_init,
|
||||
apple_location_free,
|
||||
apple_location_start,
|
||||
apple_location_stop,
|
||||
apple_location_get_position,
|
||||
apple_location_set_interval,
|
||||
"corelocation",
|
||||
};
|
||||
#endif
|
||||
|
@ -24,10 +24,6 @@
|
||||
#include "../../menu/menu_driver.h"
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CORELOCATION
|
||||
#include <CoreLocation/CoreLocation.h>
|
||||
#endif
|
||||
|
||||
typedef enum apple_view_type {
|
||||
APPLE_VIEW_TYPE_NONE,
|
||||
APPLE_VIEW_TYPE_OPENGL_ES,
|
||||
@ -71,10 +67,6 @@ extern id<ApplePlatform> apple_platform;
|
||||
#if defined(HAVE_COCOATOUCH)
|
||||
#include <UIKit/UIKit.h>
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
#import <AVFoundation/AVCaptureOutput.h>
|
||||
#endif
|
||||
|
||||
/*********************************************/
|
||||
/* RAMenuBase */
|
||||
/* A menu class that displays RAMenuItemBase */
|
||||
@ -129,9 +121,6 @@ void get_ios_version(int *major, int *minor);
|
||||
#include <AppKit/AppKit.h>
|
||||
|
||||
@interface CocoaView : NSView
|
||||
#ifdef HAVE_CORELOCATION
|
||||
<CLLocationManagerDelegate>
|
||||
#endif
|
||||
|
||||
+ (CocoaView*)get;
|
||||
#if !defined(HAVE_COCOA_METAL)
|
||||
|
@ -25,21 +25,6 @@
|
||||
|
||||
#include "../../../verbosity.h"
|
||||
|
||||
/* Define compatibility symbols and categories. */
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
#include <AVFoundation/AVCaptureSession.h>
|
||||
#include <AVFoundation/AVCaptureDevice.h>
|
||||
#include <AVFoundation/AVCaptureOutput.h>
|
||||
#include <AVFoundation/AVCaptureInput.h>
|
||||
#include <AVFoundation/AVMediaFormat.h>
|
||||
#ifdef HAVE_OPENGLES
|
||||
#include <CoreVideo/CVOpenGLESTextureCache.h>
|
||||
#else
|
||||
#include <CoreVideo/CVOpenGLTexture.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "../../../location/location_driver.h"
|
||||
#include "../../../camera/camera_driver.h"
|
||||
|
||||
@ -294,410 +279,4 @@ void *glkitview_init(void);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
#include "../../gfx/common/gl_common.h"
|
||||
|
||||
#ifndef GL_BGRA
|
||||
#define GL_BGRA 0x80E1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_OPENGLES
|
||||
#define RCVOpenGLTextureCacheCreateTextureFromImage CVOpenGLESTextureCacheCreateTextureFromImage
|
||||
#define RCVOpenGLTextureGetName CVOpenGLESTextureGetName
|
||||
#define RCVOpenGLTextureCacheFlush CVOpenGLESTextureCacheFlush
|
||||
#define RCVOpenGLTextureCacheCreate CVOpenGLESTextureCacheCreate
|
||||
#define RCVOpenGLTextureRef CVOpenGLESTextureRef
|
||||
#define RCVOpenGLTextureCacheRef CVOpenGLESTextureCacheRef
|
||||
#if COREVIDEO_USE_EAGLCONTEXT_CLASS_IN_API
|
||||
#define RCVOpenGLGetCurrentContext() (CVEAGLContext)(g_context)
|
||||
#else
|
||||
#define RCVOpenGLGetCurrentContext() (__bridge void *)(g_context)
|
||||
#endif
|
||||
#else
|
||||
#define RCVOpenGLTextureCacheCreateTextureFromImage CVOpenGLTextureCacheCreateTextureFromImage
|
||||
#define RCVOpenGLTextureGetName CVOpenGLTextureGetName
|
||||
#define RCVOpenGLTextureCacheFlush CVOpenGLTextureCacheFlush
|
||||
#define RCVOpenGLTextureCacheCreate CVOpenGLTextureCacheCreate
|
||||
#define RCVOpenGLTextureRef CVOpenGLTextureRef
|
||||
#define RCVOpenGLTextureCacheRef CVOpenGLTextureCacheRef
|
||||
#define RCVOpenGLGetCurrentContext() CGLGetCurrentContext(), CGLGetPixelFormat(CGLGetCurrentContext())
|
||||
#endif
|
||||
|
||||
static AVCaptureSession *_session;
|
||||
static NSString *_sessionPreset;
|
||||
RCVOpenGLTextureCacheRef textureCache;
|
||||
GLuint outputTexture;
|
||||
static bool newFrame = false;
|
||||
|
||||
static void event_process_camera_frame(void *pbuf_ptr)
|
||||
{
|
||||
CVReturn ret;
|
||||
RCVOpenGLTextureRef renderTexture;
|
||||
CVPixelBufferRef pixelBuffer = (CVPixelBufferRef)pbuf_ptr;
|
||||
size_t width = CVPixelBufferGetWidth(pixelBuffer);
|
||||
size_t height = CVPixelBufferGetHeight(pixelBuffer);
|
||||
|
||||
CVPixelBufferLockBaseAddress(pixelBuffer, 0);
|
||||
|
||||
(void)width;
|
||||
(void)height;
|
||||
|
||||
/*TODO - rewrite all this.
|
||||
*
|
||||
* create a texture from our render target.
|
||||
* textureCache will be what you previously
|
||||
* made with RCVOpenGLTextureCacheCreate.
|
||||
*/
|
||||
#ifdef HAVE_OPENGLES
|
||||
ret = RCVOpenGLTextureCacheCreateTextureFromImage(kCFAllocatorDefault,
|
||||
textureCache, pixelBuffer, NULL, GL_TEXTURE_2D,
|
||||
GL_RGBA, (GLsizei)width, (GLsizei)height,
|
||||
GL_BGRA, GL_UNSIGNED_BYTE, 0, &renderTexture);
|
||||
#else
|
||||
ret = RCVOpenGLTextureCacheCreateTextureFromImage(kCFAllocatorDefault,
|
||||
textureCache, pixelBuffer, 0, &renderTexture);
|
||||
#endif
|
||||
|
||||
if (!renderTexture || ret)
|
||||
{
|
||||
RARCH_ERR("[apple_camera]: RCVOpenGLTextureCacheCreateTextureFromImage failed.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
outputTexture = RCVOpenGLTextureGetName(renderTexture);
|
||||
|
||||
gl_bind_texture(outputTexture, GL_CLAMP_TO_EDGE, GL_LINEAR, GL_LINEAR);
|
||||
|
||||
CVPixelBufferUnlockBaseAddress(pixelBuffer, 0);
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"NewCameraTextureReady" object:nil];
|
||||
newFrame = true;
|
||||
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
|
||||
RCVOpenGLTextureCacheFlush(textureCache, 0);
|
||||
|
||||
CFRelease(renderTexture);
|
||||
CFRelease(pixelBuffer);
|
||||
|
||||
pixelBuffer = 0;
|
||||
}
|
||||
|
||||
- (void)captureOutput:(AVCaptureOutput *)captureOutput
|
||||
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
|
||||
fromConnection:(AVCaptureConnection *)connection
|
||||
{
|
||||
/* TODO: Don't post if event queue is full */
|
||||
CVPixelBufferRef pixelBuffer = (CVPixelBufferRef)CVPixelBufferRetain(CMSampleBufferGetImageBuffer(sampleBuffer));
|
||||
event_process_camera_frame(pixelBuffer);
|
||||
}
|
||||
|
||||
/* TODO - add void param to onCameraInit so we can pass g_context. */
|
||||
- (void) onCameraInit
|
||||
{
|
||||
NSError *error;
|
||||
AVCaptureVideoDataOutput * dataOutput;
|
||||
AVCaptureDeviceInput *input;
|
||||
AVCaptureDevice *videoDevice;
|
||||
|
||||
CVReturn ret = RCVOpenGLTextureCacheCreate(kCFAllocatorDefault, NULL,
|
||||
RCVOpenGLGetCurrentContext(), NULL, &textureCache);
|
||||
(void)ret;
|
||||
|
||||
/* Setup Capture Session. */
|
||||
_session = [[AVCaptureSession alloc] init];
|
||||
[_session beginConfiguration];
|
||||
|
||||
/* TODO: dehardcode this based on device capabilities */
|
||||
_sessionPreset = AVCaptureSessionPreset640x480;
|
||||
|
||||
/* Set preset session size. */
|
||||
[_session setSessionPreset:_sessionPreset];
|
||||
|
||||
/* Creata a video device and input from that Device. Add the input to the capture session. */
|
||||
videoDevice = (AVCaptureDevice*)[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
|
||||
if (videoDevice == nil)
|
||||
retro_assert(0);
|
||||
|
||||
/* Add the device to the session. */
|
||||
input = (AVCaptureDeviceInput*)[AVCaptureDeviceInput deviceInputWithDevice:videoDevice error:&error];
|
||||
|
||||
if (error)
|
||||
{
|
||||
RARCH_ERR("video device input %s\n", error.localizedDescription.UTF8String);
|
||||
retro_assert(0);
|
||||
}
|
||||
|
||||
[_session addInput:input];
|
||||
|
||||
/* Create the output for the capture session. */
|
||||
dataOutput = (AVCaptureVideoDataOutput*)[[AVCaptureVideoDataOutput alloc] init];
|
||||
[dataOutput setAlwaysDiscardsLateVideoFrames:NO]; /* Probably want to set this to NO when recording. */
|
||||
|
||||
[dataOutput setVideoSettings:[NSDictionary dictionaryWithObject:[NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey:(id)kCVPixelBufferPixelFormatTypeKey]];
|
||||
|
||||
/* Set dispatch to be on the main thread so OpenGL can do things with the data. */
|
||||
[dataOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()];
|
||||
|
||||
[_session addOutput:dataOutput];
|
||||
[_session commitConfiguration];
|
||||
}
|
||||
|
||||
- (void) onCameraStart
|
||||
{
|
||||
[_session startRunning];
|
||||
}
|
||||
|
||||
- (void) onCameraStop
|
||||
{
|
||||
[_session stopRunning];
|
||||
}
|
||||
|
||||
- (void) onCameraFree
|
||||
{
|
||||
RCVOpenGLTextureCacheFlush(textureCache, 0);
|
||||
CFRelease(textureCache);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CORELOCATION
|
||||
#include <CoreLocation/CoreLocation.h>
|
||||
|
||||
static CLLocationManager *locationManager;
|
||||
static bool locationChanged;
|
||||
static CLLocationDegrees currentLatitude;
|
||||
static CLLocationDegrees currentLongitude;
|
||||
static CLLocationAccuracy currentHorizontalAccuracy;
|
||||
static CLLocationAccuracy currentVerticalAccuracy;
|
||||
|
||||
- (bool)onLocationHasChanged
|
||||
{
|
||||
bool hasChanged = locationChanged;
|
||||
|
||||
if (hasChanged)
|
||||
locationChanged = false;
|
||||
|
||||
return hasChanged;
|
||||
}
|
||||
|
||||
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
|
||||
{
|
||||
locationChanged = true;
|
||||
currentLatitude = newLocation.coordinate.latitude;
|
||||
currentLongitude = newLocation.coordinate.longitude;
|
||||
currentHorizontalAccuracy = newLocation.horizontalAccuracy;
|
||||
currentVerticalAccuracy = newLocation.verticalAccuracy;
|
||||
RARCH_LOG("didUpdateToLocation - latitude %f, longitude %f\n", (float)currentLatitude, (float)currentLongitude);
|
||||
}
|
||||
|
||||
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
|
||||
{
|
||||
CLLocation *location = (CLLocation*)[locations objectAtIndex:([locations count] - 1)];
|
||||
|
||||
locationChanged = true;
|
||||
currentLatitude = [location coordinate].latitude;
|
||||
currentLongitude = [location coordinate].longitude;
|
||||
currentHorizontalAccuracy = location.horizontalAccuracy;
|
||||
currentVerticalAccuracy = location.verticalAccuracy;
|
||||
RARCH_LOG("didUpdateLocations - latitude %f, longitude %f\n", (float)currentLatitude, (float)currentLongitude);
|
||||
}
|
||||
|
||||
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
|
||||
{
|
||||
RARCH_LOG("didFailWithError - %s\n", [[error localizedDescription] UTF8String]);
|
||||
}
|
||||
|
||||
- (void)locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager
|
||||
{
|
||||
RARCH_LOG("didPauseLocationUpdates\n");
|
||||
}
|
||||
|
||||
- (void)locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager
|
||||
{
|
||||
RARCH_LOG("didResumeLocationUpdates\n");
|
||||
}
|
||||
|
||||
- (void)onLocationInit
|
||||
{
|
||||
/* Create the location manager
|
||||
* if this object does not already have one.
|
||||
*/
|
||||
|
||||
if (locationManager == nil)
|
||||
locationManager = [[CLLocationManager alloc] init];
|
||||
locationManager.delegate = self;
|
||||
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
|
||||
locationManager.distanceFilter = kCLDistanceFilterNone;
|
||||
[locationManager startUpdatingLocation];
|
||||
}
|
||||
#endif
|
||||
|
||||
@end
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
typedef struct apple_camera
|
||||
{
|
||||
void *empty;
|
||||
} applecamera_t;
|
||||
|
||||
static void *apple_camera_init(const char *device, uint64_t caps, unsigned width, unsigned height)
|
||||
{
|
||||
applecamera_t *applecamera;
|
||||
|
||||
if ((caps & (UINT64_C(1) << RETRO_CAMERA_BUFFER_OPENGL_TEXTURE)) == 0)
|
||||
{
|
||||
RARCH_ERR("applecamera returns OpenGL texture.\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
applecamera = (applecamera_t*)calloc(1, sizeof(applecamera_t));
|
||||
if (!applecamera)
|
||||
return NULL;
|
||||
|
||||
[[CocoaView get] onCameraInit];
|
||||
|
||||
return applecamera;
|
||||
}
|
||||
|
||||
static void apple_camera_free(void *data)
|
||||
{
|
||||
applecamera_t *applecamera = (applecamera_t*)data;
|
||||
|
||||
[[CocoaView get] onCameraFree];
|
||||
|
||||
if (applecamera)
|
||||
free(applecamera);
|
||||
applecamera = NULL;
|
||||
}
|
||||
|
||||
static bool apple_camera_start(void *data)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
[[CocoaView get] onCameraStart];
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static void apple_camera_stop(void *data)
|
||||
{
|
||||
[[CocoaView get] onCameraStop];
|
||||
}
|
||||
|
||||
static bool apple_camera_poll(void *data, retro_camera_frame_raw_framebuffer_t frame_raw_cb,
|
||||
retro_camera_frame_opengl_texture_t frame_gl_cb)
|
||||
{
|
||||
|
||||
(void)data;
|
||||
(void)frame_raw_cb;
|
||||
|
||||
if (frame_gl_cb && newFrame)
|
||||
{
|
||||
/* FIXME: Identity for now.
|
||||
* Use proper texture matrix as returned by iOS Camera (if at all?). */
|
||||
static const float affine[] = {
|
||||
1.0f, 0.0f, 0.0f,
|
||||
0.0f, 1.0f, 0.0f,
|
||||
0.0f, 0.0f, 1.0f
|
||||
};
|
||||
|
||||
frame_gl_cb(outputTexture, GL_TEXTURE_2D, affine);
|
||||
newFrame = false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
camera_driver_t camera_avfoundation = {
|
||||
apple_camera_init,
|
||||
apple_camera_free,
|
||||
apple_camera_start,
|
||||
apple_camera_stop,
|
||||
apple_camera_poll,
|
||||
"avfoundation",
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CORELOCATION
|
||||
typedef struct apple_location
|
||||
{
|
||||
void *empty;
|
||||
} applelocation_t;
|
||||
|
||||
static void *apple_location_init(void)
|
||||
{
|
||||
applelocation_t *applelocation = (applelocation_t*)calloc(1, sizeof(applelocation_t));
|
||||
if (!applelocation)
|
||||
return NULL;
|
||||
|
||||
[[CocoaView get] onLocationInit];
|
||||
|
||||
return applelocation;
|
||||
}
|
||||
|
||||
static void apple_location_set_interval(void *data, unsigned interval_update_ms, unsigned interval_distance)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
locationManager.distanceFilter = interval_distance ? interval_distance : kCLDistanceFilterNone;
|
||||
}
|
||||
|
||||
static void apple_location_free(void *data)
|
||||
{
|
||||
applelocation_t *applelocation = (applelocation_t*)data;
|
||||
|
||||
/* TODO - free location manager? */
|
||||
|
||||
if (applelocation)
|
||||
free(applelocation);
|
||||
applelocation = NULL;
|
||||
}
|
||||
|
||||
static bool apple_location_start(void *data)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
[locationManager startUpdatingLocation];
|
||||
return true;
|
||||
}
|
||||
|
||||
static void apple_location_stop(void *data)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
[locationManager stopUpdatingLocation];
|
||||
}
|
||||
|
||||
static bool apple_location_get_position(void *data, double *lat, double *lon, double *horiz_accuracy,
|
||||
double *vert_accuracy)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
bool ret = [[CocoaView get] onLocationHasChanged];
|
||||
|
||||
if (!ret)
|
||||
goto fail;
|
||||
|
||||
*lat = currentLatitude;
|
||||
*lon = currentLongitude;
|
||||
*horiz_accuracy = currentHorizontalAccuracy;
|
||||
*vert_accuracy = currentVerticalAccuracy;
|
||||
return true;
|
||||
|
||||
fail:
|
||||
*lat = 0.0;
|
||||
*lon = 0.0;
|
||||
*horiz_accuracy = 0.0;
|
||||
*vert_accuracy = 0.0;
|
||||
return false;
|
||||
}
|
||||
|
||||
location_driver_t location_corelocation = {
|
||||
apple_location_init,
|
||||
apple_location_free,
|
||||
apple_location_start,
|
||||
apple_location_stop,
|
||||
apple_location_get_position,
|
||||
apple_location_set_interval,
|
||||
"corelocation",
|
||||
};
|
||||
#endif
|
||||
|
@ -32,9 +32,6 @@
|
||||
#include "../../input/drivers/cocoa_input.h"
|
||||
#include "../../input/drivers_keyboard/keyboard_event_apple.h"
|
||||
#include "../../retroarch.h"
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
#include "../../menu/menu_setting.h"
|
||||
@ -50,9 +47,6 @@ static void apple_rarch_exited(void);
|
||||
static void rarch_enable_ui(void)
|
||||
{
|
||||
bool boolean = true;
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[[RetroArch_iOS get] supportOtherAudioSessions];
|
||||
#endif
|
||||
|
||||
ui_companion_set_foreground(true);
|
||||
|
||||
@ -70,9 +64,6 @@ static void rarch_disable_ui(void)
|
||||
rarch_ctl(RARCH_CTL_SET_PAUSED, &boolean);
|
||||
rarch_ctl(RARCH_CTL_SET_IDLE, &boolean);
|
||||
rarch_menu_running_finished();
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[[RetroArch_iOS get] supportOtherAudioSessions];
|
||||
#endif
|
||||
}
|
||||
|
||||
static void ui_companion_cocoatouch_event_command(
|
||||
@ -329,10 +320,6 @@ enum
|
||||
|
||||
+ (RetroArch_iOS*)get
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
/* Implicitly initializes your audio session. */
|
||||
[(RetroArch_iOS*)[[UIApplication sharedApplication] delegate] supportOtherAudioSessions];
|
||||
#endif
|
||||
return (RetroArch_iOS*)[[UIApplication sharedApplication] delegate];
|
||||
}
|
||||
|
||||
@ -358,11 +345,6 @@ enum
|
||||
|
||||
[self setDelegate:self];
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
/* Other background audio check */
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
|
||||
/* Setup window */
|
||||
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
|
||||
[self.window makeKeyAndVisible];
|
||||
@ -376,10 +358,6 @@ enum
|
||||
[self refreshSystemConfig];
|
||||
[self showGameView];
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
|
||||
if (rarch_main(argc, argv, NULL))
|
||||
apple_rarch_exited();
|
||||
|
||||
@ -396,9 +374,6 @@ enum
|
||||
|
||||
- (void)applicationDidEnterBackground:(UIApplication *)application
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)applicationWillTerminate:(UIApplication *)application
|
||||
@ -412,9 +387,6 @@ enum
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
if (settings->bools.ui_companion_start_on_boot)
|
||||
return;
|
||||
|
||||
@ -423,9 +395,6 @@ enum
|
||||
|
||||
- (void)applicationWillResignActive:(UIApplication *)application
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
dispatch_async(dispatch_get_main_queue(),
|
||||
^{
|
||||
ui_companion_cocoatouch_event_command(NULL, CMD_EVENT_MENU_SAVE_CURRENT_CONFIG);
|
||||
@ -456,11 +425,6 @@ enum
|
||||
|
||||
- (void)showGameView
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
/* implicitly initializes your audio session */
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
|
||||
[self popToRootViewControllerAnimated:NO];
|
||||
|
||||
#if TARGET_OS_IOS
|
||||
@ -477,9 +441,6 @@ enum
|
||||
|
||||
- (IBAction)showPauseMenu:(id)sender
|
||||
{
|
||||
#ifndef HAVE_AVFOUNDATION
|
||||
ui_companion_cocoatouch_event_command(NULL, CMD_EVENT_AUDIO_STOP);
|
||||
#endif
|
||||
rarch_enable_ui();
|
||||
|
||||
#if TARGET_OS_IOS
|
||||
@ -500,9 +461,6 @@ enum
|
||||
{
|
||||
[self showPauseMenu:self];
|
||||
}
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)refreshSystemConfig
|
||||
@ -554,12 +512,6 @@ enum
|
||||
|
||||
- (void)supportOtherAudioSessions
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
/* implicitly initializes your audio session */
|
||||
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
|
||||
[audioSession setCategory: AVAudioSessionCategoryAmbient error: nil];
|
||||
[audioSession setActive:YES error:nil];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)mainMenuRenderMessageBox:(NSString *)msg
|
||||
@ -596,9 +548,6 @@ static void apple_rarch_exited(void)
|
||||
|
||||
if (!ap)
|
||||
return;
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[ap supportOtherAudioSessions];
|
||||
#endif
|
||||
[ap showPauseMenu:ap];
|
||||
}
|
||||
|
||||
|
@ -32,9 +32,6 @@
|
||||
#include "../../input/drivers/cocoa_input.h"
|
||||
#include "../../input/drivers_keyboard/keyboard_event_apple.h"
|
||||
#include "../../retroarch.h"
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
#include "../../menu/menu_setting.h"
|
||||
@ -50,9 +47,6 @@ static void apple_rarch_exited(void);
|
||||
static void rarch_enable_ui(void)
|
||||
{
|
||||
bool boolean = true;
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[[RetroArch_iOS get] supportOtherAudioSessions];
|
||||
#endif
|
||||
|
||||
ui_companion_set_foreground(true);
|
||||
|
||||
@ -70,9 +64,6 @@ static void rarch_disable_ui(void)
|
||||
rarch_ctl(RARCH_CTL_SET_PAUSED, &boolean);
|
||||
rarch_ctl(RARCH_CTL_SET_IDLE, &boolean);
|
||||
rarch_menu_running_finished();
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[[RetroArch_iOS get] supportOtherAudioSessions];
|
||||
#endif
|
||||
}
|
||||
|
||||
static void ui_companion_cocoatouch_event_command(
|
||||
@ -329,10 +320,6 @@ enum
|
||||
|
||||
+ (RetroArch_iOS*)get
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
/* Implicitly initializes your audio session. */
|
||||
[(RetroArch_iOS*)[[UIApplication sharedApplication] delegate] supportOtherAudioSessions];
|
||||
#endif
|
||||
return (RetroArch_iOS*)[[UIApplication sharedApplication] delegate];
|
||||
}
|
||||
|
||||
@ -353,11 +340,6 @@ enum
|
||||
|
||||
[self setDelegate:self];
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
/* Other background audio check */
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
|
||||
/* Setup window */
|
||||
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
|
||||
[self.window makeKeyAndVisible];
|
||||
@ -369,10 +351,6 @@ enum
|
||||
[self refreshSystemConfig];
|
||||
[self showGameView];
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
|
||||
if (rarch_main(argc, argv, NULL))
|
||||
apple_rarch_exited();
|
||||
|
||||
@ -389,9 +367,6 @@ enum
|
||||
|
||||
- (void)applicationDidEnterBackground:(UIApplication *)application
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)applicationWillTerminate:(UIApplication *)application
|
||||
@ -405,9 +380,6 @@ enum
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
if (settings->bools.ui_companion_start_on_boot)
|
||||
return;
|
||||
|
||||
@ -416,9 +388,6 @@ enum
|
||||
|
||||
- (void)applicationWillResignActive:(UIApplication *)application
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
dispatch_async(dispatch_get_main_queue(),
|
||||
^{
|
||||
ui_companion_cocoatouch_event_command(NULL, CMD_EVENT_MENU_SAVE_CURRENT_CONFIG);
|
||||
@ -447,10 +416,6 @@ enum
|
||||
|
||||
- (void)showGameView
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
/* implicitly initializes your audio session */
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
[self popToRootViewControllerAnimated:NO];
|
||||
[self setToolbarHidden:true animated:NO];
|
||||
[[UIApplication sharedApplication] setStatusBarHidden:true withAnimation:UIStatusBarAnimationNone];
|
||||
@ -463,9 +428,6 @@ enum
|
||||
|
||||
- (IBAction)showPauseMenu:(id)sender
|
||||
{
|
||||
#ifndef HAVE_AVFOUNDATION
|
||||
ui_companion_cocoatouch_event_command(NULL, CMD_EVENT_AUDIO_STOP);
|
||||
#endif
|
||||
rarch_enable_ui();
|
||||
|
||||
[[UIApplication sharedApplication] setStatusBarHidden:false withAnimation:UIStatusBarAnimationNone];
|
||||
@ -483,9 +445,6 @@ enum
|
||||
{
|
||||
[self showPauseMenu:self];
|
||||
}
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[self supportOtherAudioSessions];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)refreshSystemConfig
|
||||
@ -531,12 +490,6 @@ enum
|
||||
|
||||
- (void)supportOtherAudioSessions
|
||||
{
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
/* implicitly initializes your audio session */
|
||||
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
|
||||
[audioSession setCategory: AVAudioSessionCategoryAmbient error: nil];
|
||||
[audioSession setActive:YES error:nil];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)mainMenuRenderMessageBox:(NSString *)msg
|
||||
@ -571,9 +524,6 @@ static void apple_rarch_exited(void)
|
||||
|
||||
if (!ap)
|
||||
return;
|
||||
#ifdef HAVE_AVFOUNDATION
|
||||
[ap supportOtherAudioSessions];
|
||||
#endif
|
||||
[ap showPauseMenu:ap];
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user