mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-02 15:05:09 +00:00
(Android) Stub android camera C driver - will interface with JNI
functions
This commit is contained in:
parent
ee35e5382f
commit
51891483c4
@ -27,18 +27,18 @@ static void input_autodetect_get_device_name(void *data, char *buf, size_t size,
|
|||||||
JNIEnv *env = NULL;
|
JNIEnv *env = NULL;
|
||||||
(*vm)->AttachCurrentThread(vm, &env, 0);
|
(*vm)->AttachCurrentThread(vm, &env, 0);
|
||||||
|
|
||||||
jclass input_device_class = NULL;
|
jclass class = NULL;
|
||||||
FIND_CLASS(env, input_device_class, "android/view/InputDevice");
|
FIND_CLASS(env, class, "android/view/InputDevice");
|
||||||
if (!input_device_class)
|
if (!class)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
jmethodID method = NULL;
|
jmethodID method = NULL;
|
||||||
GET_STATIC_METHOD_ID(env, method, input_device_class, "getDevice", "(I)Landroid/view/InputDevice;");
|
GET_STATIC_METHOD_ID(env, method, class, "getDevice", "(I)Landroid/view/InputDevice;");
|
||||||
if (!method)
|
if (!method)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
jobject device = NULL;
|
jobject device = NULL;
|
||||||
CALL_OBJ_STATIC_METHOD_PARAM(env, device, input_device_class, method, (jint)id);
|
CALL_OBJ_STATIC_METHOD_PARAM(env, device, class, method, (jint)id);
|
||||||
if (!device)
|
if (!device)
|
||||||
{
|
{
|
||||||
RARCH_ERR("Failed to find device for ID: %d\n", id);
|
RARCH_ERR("Failed to find device for ID: %d\n", id);
|
||||||
@ -46,7 +46,7 @@ static void input_autodetect_get_device_name(void *data, char *buf, size_t size,
|
|||||||
}
|
}
|
||||||
|
|
||||||
jmethodID getName = NULL;
|
jmethodID getName = NULL;
|
||||||
GET_METHOD_ID(env, getName, input_device_class, "getName", "()Ljava/lang/String;");
|
GET_METHOD_ID(env, getName, class, "getName", "()Ljava/lang/String;");
|
||||||
if (!getName)
|
if (!getName)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
67
camera/android.c
Normal file
67
camera/android.c
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
/* RetroArch - A frontend for libretro.
|
||||||
|
* Copyright (C) 2010-2013 - Michael Lelli
|
||||||
|
*
|
||||||
|
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
||||||
|
* of the GNU General Public License as published by the Free Software Found-
|
||||||
|
* ation, either version 3 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE. See the GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along with RetroArch.
|
||||||
|
* If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "../driver.h"
|
||||||
|
#include "../emscripten/RWebCam.h"
|
||||||
|
#include "../android/native/jni/jni_macros.h"
|
||||||
|
|
||||||
|
static void *android_init(const char *device, uint64_t caps, unsigned width, unsigned height)
|
||||||
|
{
|
||||||
|
(void)device;
|
||||||
|
(void)caps;
|
||||||
|
(void)width;
|
||||||
|
(void)height;
|
||||||
|
return (void*)0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void android_free(void *data)
|
||||||
|
{
|
||||||
|
struct android_app *android_app = (struct android_app*)g_android;
|
||||||
|
(void)android_app;
|
||||||
|
(void)data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool android_start(void *data)
|
||||||
|
{
|
||||||
|
struct android_app *android_app = (struct android_app*)g_android;
|
||||||
|
(void)android_app;
|
||||||
|
(void)data;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void android_stop(void *data)
|
||||||
|
{
|
||||||
|
struct android_app *android_app = (struct android_app*)g_android;
|
||||||
|
(void)android_app;
|
||||||
|
(void)data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool android_poll(void *data, retro_camera_frame_raw_framebuffer_t frame_raw_cb,
|
||||||
|
retro_camera_frame_opengl_texture_t frame_gl_cb)
|
||||||
|
{
|
||||||
|
struct android_app *android_app = (struct android_app*)g_android;
|
||||||
|
(void)android_app;
|
||||||
|
(void)data;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
const camera_driver_t camera_android = {
|
||||||
|
android_init,
|
||||||
|
android_free,
|
||||||
|
android_start,
|
||||||
|
android_stop,
|
||||||
|
android_poll,
|
||||||
|
"android",
|
||||||
|
};
|
Loading…
x
Reference in New Issue
Block a user