diff options
Diffstat (limited to 'media/libcubeb/src/cubeb-jni-instances.h')
-rw-r--r-- | media/libcubeb/src/cubeb-jni-instances.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/media/libcubeb/src/cubeb-jni-instances.h b/media/libcubeb/src/cubeb-jni-instances.h new file mode 100644 index 0000000000..19c5c29da9 --- /dev/null +++ b/media/libcubeb/src/cubeb-jni-instances.h @@ -0,0 +1,34 @@ +#ifndef _CUBEB_JNI_INSTANCES_H_ +#define _CUBEB_JNI_INSTANCES_H_ + +#include "GeneratedJNIWrappers.h" +#include "mozilla/jni/Utils.h" + +/* + * The methods in this file offer a way to pass in the required + * JNI instances in the cubeb library. By default they return NULL. + * In this case part of the cubeb API that depends on JNI + * will return CUBEB_ERROR_NOT_SUPPORTED. Currently only one + * method depends on that: + * + * cubeb_stream_get_position() + * + * Users that want to use that cubeb API method must "override" + * the methods bellow to return a valid instance of JavaVM + * and application's Context object. + * */ + +JNIEnv * +cubeb_get_jni_env_for_thread() +{ + return mozilla::jni::GetEnvForThread(); +} + +jobject +cubeb_jni_get_context_instance() +{ + auto context = mozilla::java::GeckoAppShell::GetApplicationContext(); + return context.Forget(); +} + +#endif //_CUBEB_JNI_INSTANCES_H_ |