#include <android_native_app_glue.h>
#include "EventLoop.h"
#include "XBMCApp.h"
+#include "android/jni/SurfaceTexture.h"
// copied from new android_native_app_glue.c
static void process_input(struct android_app* app, struct android_poll_source* source) {
if (vm->GetEnv(reinterpret_cast<void**>(&env), version) != JNI_OK)
return -1;
- jclass cMain = env->FindClass("org/xbmc/xbmc/XBMCBroadcastReceiver");
+ jclass cMain = env->FindClass("org/xbmc/xbmc/Main");
if(cMain)
{
- JNINativeMethod mOnReceive = { "_onReceive", "(Landroid/content/Intent;)V", (void*)&CJNIBroadcastReceiver::_onReceive};
- env->RegisterNatives(cMain, &mOnReceive, 1);
+ JNINativeMethod mOnNewIntent = {
+ "_onNewIntent",
+ "(Landroid/content/Intent;)V",
+ (void*)&CJNIContext::_onNewIntent
+ };
+ env->RegisterNatives(cMain, &mOnNewIntent, 1);
}
- jclass cBroadcastReceiver = env->FindClass("org/xbmc/xbmc/Main");
+ jclass cBroadcastReceiver = env->FindClass("org/xbmc/xbmc/XBMCBroadcastReceiver");
if(cBroadcastReceiver)
{
- JNINativeMethod mOnNewIntent = { "_onNewIntent", "(Landroid/content/Intent;)V", (void*)&CJNIContext::_onNewIntent};
- env->RegisterNatives(cBroadcastReceiver, &mOnNewIntent, 1);
+ JNINativeMethod mOnReceive = {
+ "_onReceive",
+ "(Landroid/content/Intent;)V",
+ (void*)&CJNIBroadcastReceiver::_onReceive
+ };
+ env->RegisterNatives(cBroadcastReceiver, &mOnReceive, 1);
}
+
+ jclass cFrameAvailableListener = env->FindClass("org/xbmc/xbmc/XBMCOnFrameAvailableListener");
+ if(cFrameAvailableListener)
+ {
+ JNINativeMethod mOnFrameAvailable = {
+ "_onFrameAvailable",
+ "(Landroid/graphics/SurfaceTexture;)V",
+ (void*)&CJNISurfaceTextureOnFrameAvailableListener::_onFrameAvailable
+ };
+ env->RegisterNatives(cFrameAvailableListener, &mOnFrameAvailable, 1);
+ }
+
return version;
}