%{
#include <stdint.h>
#include "jni.h"
/**
* A stash area embedded in each allocation to hold java handles
*/
struct Jalloc {
jbyteArray jba;
jobject ref;
};
static JavaVM *cached_jvm = 0;
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
{
cached_jvm = jvm;
return JNI_VERSION_1_2;
}
static JNIEnv * JNU_GetEnv() {
JNIEnv *env;
jint rc = (*cached_jvm)->GetEnv(cached_jvm, (void **)&env, JNI_VERSION_1_2);
if (rc == JNI_EDETACHED)
av_log(NULL, AV_LOG_ERROR, "current thread not attached\n");
if (rc == JNI_EVERSION)
av_log(NULL, AV_LOG_ERROR, "jni version not supported\n");
return env;
}
%}
Wednesday, April 10, 2013
How to get JNIEnv from swig?
Subscribe to:
Comments (Atom)