summaryrefslogtreecommitdiffstats
path: root/core/jni/android/graphics/SurfaceTexture.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/jni/android/graphics/SurfaceTexture.cpp')
-rw-r--r--core/jni/android/graphics/SurfaceTexture.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/core/jni/android/graphics/SurfaceTexture.cpp b/core/jni/android/graphics/SurfaceTexture.cpp
index 2f70190..3f922f6 100644
--- a/core/jni/android/graphics/SurfaceTexture.cpp
+++ b/core/jni/android/graphics/SurfaceTexture.cpp
@@ -35,6 +35,7 @@ namespace android {
static const char* const OutOfResourcesException =
"android/graphics/SurfaceTexture$OutOfResourcesException";
+const char* const kSurfaceTextureClassPathName = "android/graphics/SurfaceTexture";
struct fields_t {
jfieldID surfaceTexture;
@@ -74,6 +75,12 @@ sp<ANativeWindow> android_SurfaceTexture_getNativeWindow(
return surfaceTextureClient;
}
+bool android_SurfaceTexture_isInstanceOf(JNIEnv* env, jobject thiz)
+{
+ jclass surfaceTextureClass = env->FindClass(kSurfaceTextureClassPathName);
+ return env->IsInstanceOf(thiz, surfaceTextureClass);
+}
+
// ----------------------------------------------------------------------------
class JNISurfaceTextureContext : public SurfaceTexture::FrameAvailableListener
@@ -123,7 +130,6 @@ static void SurfaceTexture_classInit(JNIEnv* env, jclass clazz)
if (fields.postEvent == NULL) {
LOGE("can't find android/graphics/SurfaceTexture.postEventFromNative");
}
-
}
static void SurfaceTexture_init(JNIEnv* env, jobject thiz, jint texName,
@@ -156,6 +162,13 @@ static void SurfaceTexture_finalize(JNIEnv* env, jobject thiz)
SurfaceTexture_setSurfaceTexture(env, thiz, 0);
}
+static void SurfaceTexture_setDefaultBufferSize(
+ JNIEnv* env, jobject thiz, jint width, jint height)
+{
+ sp<SurfaceTexture> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
+ surfaceTexture->setDefaultBufferSize(width, height);
+}
+
static void SurfaceTexture_updateTexImage(JNIEnv* env, jobject thiz)
{
sp<SurfaceTexture> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
@@ -179,12 +192,11 @@ static jlong SurfaceTexture_getTimestamp(JNIEnv* env, jobject thiz)
// ----------------------------------------------------------------------------
-const char* const kSurfaceTextureClassPathName = "android/graphics/SurfaceTexture";
-
static JNINativeMethod gSurfaceTextureMethods[] = {
{"nativeClassInit", "()V", (void*)SurfaceTexture_classInit },
{"nativeInit", "(ILjava/lang/Object;)V", (void*)SurfaceTexture_init },
{"nativeFinalize", "()V", (void*)SurfaceTexture_finalize },
+ {"nativeSetDefaultBufferSize", "(II)V", (void*)SurfaceTexture_setDefaultBufferSize },
{"nativeUpdateTexImage", "()V", (void*)SurfaceTexture_updateTexImage },
{"nativeGetTransformMatrix", "([F)V", (void*)SurfaceTexture_getTransformMatrix },
{"nativeGetTimestamp", "()J", (void*)SurfaceTexture_getTimestamp }