Lines Matching refs:env

82 static void SurfaceTexture_setSurfaceTexture(JNIEnv* env, jobject thiz,
86 (GLConsumer*)env->GetLongField(thiz, fields.surfaceTexture);
93 env->SetLongField(thiz, fields.surfaceTexture, (jlong)surfaceTexture.get());
96 static void SurfaceTexture_setProducer(JNIEnv* env, jobject thiz,
100 (IGraphicBufferProducer*)env->GetLongField(thiz, fields.producer);
107 env->SetLongField(thiz, fields.producer, (jlong)producer.get());
110 static void SurfaceTexture_setFrameAvailableListener(JNIEnv* env,
115 env->GetLongField(thiz, fields.frameAvailableListener);
122 env->SetLongField(thiz, fields.frameAvailableListener, (jlong)listener.get());
125 sp<GLConsumer> SurfaceTexture_getSurfaceTexture(JNIEnv* env, jobject thiz) {
126 return (GLConsumer*)env->GetLongField(thiz, fields.surfaceTexture);
129 sp<IGraphicBufferProducer> SurfaceTexture_getProducer(JNIEnv* env, jobject thiz) {
130 return (IGraphicBufferProducer*)env->GetLongField(thiz, fields.producer);
133 sp<ANativeWindow> android_SurfaceTexture_getNativeWindow(JNIEnv* env, jobject thiz) {
134 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
135 sp<IGraphicBufferProducer> producer(SurfaceTexture_getProducer(env, thiz));
140 bool android_SurfaceTexture_isInstanceOf(JNIEnv* env, jobject thiz) {
141 jclass surfaceTextureClass = env->FindClass(kSurfaceTextureClassPathName);
142 return env->IsInstanceOf(thiz, surfaceTextureClass);
150 JNISurfaceTextureContext(JNIEnv* env, jobject weakThiz, jclass clazz);
162 JNISurfaceTextureContext::JNISurfaceTextureContext(JNIEnv* env,
164 mWeakThiz(env->NewGlobalRef(weakThiz)),
165 mClazz((jclass)env->NewGlobalRef(clazz))
170 JNIEnv* env = AndroidRuntime::getJNIEnv();
171 if (env == NULL) {
175 int result = vm->AttachCurrentThread(&env, (void*) &args);
182 return env;
196 JNIEnv* env = getJNIEnv(&needsDetach);
197 if (env != NULL) {
198 env->DeleteGlobalRef(mWeakThiz);
199 env->DeleteGlobalRef(mClazz);
211 JNIEnv* env = getJNIEnv(&needsDetach);
212 if (env != NULL) {
213 env->CallStaticVoidMethod(mClazz, fields.postEvent, mWeakThiz);
230 static void SurfaceTexture_classInit(JNIEnv* env, jclass clazz)
232 fields.surfaceTexture = env->GetFieldID(clazz,
238 fields.producer = env->GetFieldID(clazz,
244 fields.frameAvailableListener = env->GetFieldID(clazz,
251 fields.postEvent = env->GetStaticMethodID(clazz, "postEventFromNative",
258 static void SurfaceTexture_init(JNIEnv* env, jobject thiz, jboolean isDetached,
279 jniThrowException(env, OutOfResourcesException,
291 SurfaceTexture_setSurfaceTexture(env, thiz, surfaceTexture);
292 SurfaceTexture_setProducer(env, thiz, producer);
294 jclass clazz = env->GetObjectClass(thiz);
296 jniThrowRuntimeException(env,
301 sp<JNISurfaceTextureContext> ctx(new JNISurfaceTextureContext(env, weakThiz,
304 SurfaceTexture_setFrameAvailableListener(env, thiz, ctx);
307 static void SurfaceTexture_finalize(JNIEnv* env, jobject thiz)
309 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
311 SurfaceTexture_setFrameAvailableListener(env, thiz, 0);
312 SurfaceTexture_setSurfaceTexture(env, thiz, 0);
313 SurfaceTexture_setProducer(env, thiz, 0);
317 JNIEnv* env, jobject thiz, jint width, jint height) {
318 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
322 static void SurfaceTexture_updateTexImage(JNIEnv* env, jobject thiz)
324 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
327 jniThrowException(env, IllegalStateException, "Unable to update texture contents (see "
330 jniThrowRuntimeException(env, "Error during updateTexImage (see logcat for details)");
334 static void SurfaceTexture_releaseTexImage(JNIEnv* env, jobject thiz)
336 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
339 jniThrowException(env, IllegalStateException, "Unable to release texture contents (see "
342 jniThrowRuntimeException(env, "Error during updateTexImage (see logcat for details)");
346 static jint SurfaceTexture_detachFromGLContext(JNIEnv* env, jobject thiz)
348 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
352 static jint SurfaceTexture_attachToGLContext(JNIEnv* env, jobject thiz, jint tex)
354 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
358 static void SurfaceTexture_getTransformMatrix(JNIEnv* env, jobject thiz,
361 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
362 float* mtx = env->GetFloatArrayElements(jmtx, NULL);
364 env->ReleaseFloatArrayElements(jmtx, mtx, 0);
367 static jlong SurfaceTexture_getTimestamp(JNIEnv* env, jobject thiz)
369 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
373 static void SurfaceTexture_release(JNIEnv* env, jobject thiz)
375 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
379 static jboolean SurfaceTexture_isReleased(JNIEnv* env, jobject thiz)
381 sp<GLConsumer> surfaceTexture(SurfaceTexture_getSurfaceTexture(env, thiz));
401 int register_android_graphics_SurfaceTexture(JNIEnv* env)
404 ScopedLocalRef<jclass> klass(env, FindClassOrDie(env, kSurfaceTextureClassPathName));
405 SurfaceTexture_classInit(env, klass.get());
407 return RegisterMethodsOrDie(env, kSurfaceTextureClassPathName, gSurfaceTextureMethods,