Lines Matching defs:env

82     JNIImageReaderContext(JNIEnv* env, jobject weakThiz, jclass clazz, int maxImages);
125 JNIImageReaderContext::JNIImageReaderContext(JNIEnv* env,
127 mWeakThiz(env->NewGlobalRef(weakThiz)),
128 mClazz((jclass)env->NewGlobalRef(clazz)),
142 JNIEnv* env = AndroidRuntime::getJNIEnv();
143 if (env == NULL) {
146 int result = vm->AttachCurrentThread(&env, (void*) &args);
153 return env;
181 JNIEnv* env = getJNIEnv(&needsDetach);
182 if (env != NULL) {
183 env->DeleteGlobalRef(mWeakThiz);
184 env->DeleteGlobalRef(mClazz);
207 JNIEnv* env = getJNIEnv(&needsDetach);
208 if (env != NULL) {
209 env->CallStaticVoidMethod(mClazz, gImageReaderClassInfo.postEventFromNative, mWeakThiz);
222 static JNIImageReaderContext* ImageReader_getContext(JNIEnv* env, jobject thiz)
226 (env->GetLongField(thiz, gImageReaderClassInfo.mNativeContext));
230 static IGraphicBufferProducer* ImageReader_getProducer(JNIEnv* env, jobject thiz)
233 JNIImageReaderContext* const ctx = ImageReader_getContext(env, thiz);
235 jniThrowRuntimeException(env, "ImageReaderContext is not initialized");
242 static void ImageReader_setNativeContext(JNIEnv* env,
246 JNIImageReaderContext* const p = ImageReader_getContext(env, thiz);
253 env->SetLongField(thiz, gImageReaderClassInfo.mNativeContext,
257 static BufferItemConsumer* ImageReader_getBufferConsumer(JNIEnv* env, jobject thiz)
260 JNIImageReaderContext* const ctx = ImageReader_getContext(env, thiz);
262 jniThrowRuntimeException(env, "ImageReaderContext is not initialized");
269 static void Image_setBufferItem(JNIEnv* env, jobject thiz,
272 env->SetLongField(thiz, gSurfaceImageClassInfo.mNativeBuffer, reinterpret_cast<jlong>(buffer));
275 static BufferItem* Image_getBufferItem(JNIEnv* env, jobject image)
278 env->GetLongField(image, gSurfaceImageClassInfo.mNativeBuffer));
284 static void ImageReader_classInit(JNIEnv* env, jclass clazz)
288 jclass imageClazz = env->FindClass("android/media/ImageReader$SurfaceImage");
291 gSurfaceImageClassInfo.mNativeBuffer = env->GetFieldID(
297 gSurfaceImageClassInfo.mTimestamp = env->GetFieldID(
303 gSurfaceImageClassInfo.mPlanes = env->GetFieldID(
308 gImageReaderClassInfo.mNativeContext = env->GetFieldID(
314 gImageReaderClassInfo.postEventFromNative = env->GetStaticMethodID(
319 jclass planeClazz = env->FindClass("android/media/ImageReader$SurfaceImage$SurfacePlane");
322 gSurfacePlaneClassInfo.clazz = (jclass) env->NewGlobalRef(planeClazz);
323 gSurfacePlaneClassInfo.ctor = env->GetMethodID(gSurfacePlaneClassInfo.clazz, "<init>",
329 static void ImageReader_init(JNIEnv* env, jobject thiz, jobject weakThiz,
345 jclass clazz = env->GetObjectClass(thiz);
347 jniThrowRuntimeException(env, "Can't find android/graphics/ImageReader");
350 sp<JNIImageReaderContext> ctx(new JNIImageReaderContext(env, weakThiz, clazz, maxImages));
369 jniThrowExceptionFmt(env, "java/lang/RuntimeException",
378 ImageReader_setNativeContext(env, thiz, ctx);
387 jniThrowExceptionFmt(env, "java/lang/IllegalStateException",
394 jniThrowExceptionFmt(env, "java/lang/IllegalStateException",
399 jniThrowExceptionFmt(env, "java/lang/IllegalStateException",
404 static void ImageReader_close(JNIEnv* env, jobject thiz)
408 JNIImageReaderContext* const ctx = ImageReader_getContext(env, thiz);
415 consumer = ImageReader_getBufferConsumer(env, thiz);
421 ImageReader_setNativeContext(env, thiz, NULL);
424 static sp<Fence> Image_unlockIfLocked(JNIEnv* env, jobject image) {
426 BufferItem* buffer = Image_getBufferItem(env, image);
428 jniThrowException(env, "java/lang/IllegalStateException",
437 planes = env->GetObjectField(image, gSurfaceImageClassInfo.mPlanes);
446 jniThrowRuntimeException(env, "unlock buffer failed");
457 static void ImageReader_imageRelease(JNIEnv* env, jobject thiz, jobject image)
460 JNIImageReaderContext* ctx = ImageReader_getContext(env, thiz);
467 BufferItem* buffer = Image_getBufferItem(env, image);
473 sp<Fence> releaseFence = Image_unlockIfLocked(env, image);
475 Image_setBufferItem(env, image, NULL);
480 static jint ImageReader_imageSetup(JNIEnv* env, jobject thiz, jobject image) {
482 JNIImageReaderContext* ctx = ImageReader_getContext(env, thiz);
484 jniThrowException(env, "java/lang/IllegalStateException",
509 jniThrowExceptionFmt(env, "java/lang/IllegalStateException",
525 jniThrowExceptionFmt(env, "java/lang/UnsupportedOperationException",
568 jniThrowException(env, "java/lang/UnsupportedOperationException",
577 Image_setBufferItem(env, image, buffer);
578 env->SetLongField(image, gSurfaceImageClassInfo.mTimestamp,
584 static jint ImageReader_detachImage(JNIEnv* env, jobject thiz, jobject image) {
586 JNIImageReaderContext* ctx = ImageReader_getContext(env, thiz);
588 jniThrowException(env, "java/lang/IllegalStateException", "ImageReader was already closed");
593 BufferItem* buffer = Image_getBufferItem(env, image);
597 jniThrowException(env, "java/lang/IllegalStateException",
603 Image_unlockIfLocked(env, image);
607 jniThrowRuntimeException(env,
614 static jobject ImageReader_getSurface(JNIEnv* env, jobject thiz)
618 IGraphicBufferProducer* gbp = ImageReader_getProducer(env, thiz);
620 jniThrowRuntimeException(env, "Buffer consumer is uninitialized");
625 return android_view_Surface_createFromIGraphicBufferProducer(env, gbp);
628 static void Image_getLockedImage(JNIEnv* env, jobject thiz, LockedImage *image) {
630 BufferItem* buffer = Image_getBufferItem(env, thiz);
632 jniThrowException(env, "java/lang/IllegalStateException",
640 jniThrowExceptionFmt(env, "java/lang/RuntimeException",
659 static void Image_getLockedImageInfo(JNIEnv* env, LockedImage* buffer, int idx,
666 jniThrowExceptionFmt(env, "java/lang/UnsupportedOperationException",
671 static jobjectArray Image_createSurfacePlanes(JNIEnv* env, jobject thiz,
689 jniThrowException(env, "java/lang/IllegalArgumentException", msg.string());
693 jobjectArray surfacePlanes = env->NewObjectArray(numPlanes, gSurfacePlaneClassInfo.clazz,
696 jniThrowRuntimeException(env, "Failed to create SurfacePlane arrays,"
706 Image_getLockedImage(env, thiz, &lockedImg);
709 Image_getLockedImageInfo(env, &lockedImg, i, halReaderFormat,
711 byteBuffer = env->NewDirectByteBuffer(pData, dataSize);
712 if ((byteBuffer == NULL) && (env->ExceptionCheck() == false)) {
713 jniThrowException(env, "java/lang/IllegalStateException",
719 jobject surfacePlane = env->NewObject(gSurfacePlaneClassInfo.clazz,
721 env->SetObjectArrayElement(surfacePlanes, i, surfacePlane);
727 static jint Image_getWidth(JNIEnv* env, jobject thiz)
729 BufferItem* buffer = Image_getBufferItem(env, thiz);
733 static jint Image_getHeight(JNIEnv* env, jobject thiz)
735 BufferItem* buffer = Image_getBufferItem(env, thiz);
739 static jint Image_getFormat(JNIEnv* env, jobject thiz, jint readerFormat)
745 BufferItem* buffer = Image_getBufferItem(env, thiz);
786 int register_android_media_ImageReader(JNIEnv *env) {
788 int ret1 = AndroidRuntime::registerNativeMethods(env,
791 int ret2 = AndroidRuntime::registerNativeMethods(env,