Lines Matching refs:env

79     JNIImageReaderContext(JNIEnv* env, jobject weakThiz, jclass clazz, int maxImages);
118 JNIImageReaderContext::JNIImageReaderContext(JNIEnv* env,
120 mWeakThiz(env->NewGlobalRef(weakThiz)),
121 mClazz((jclass)env->NewGlobalRef(clazz)) {
131 JNIEnv* env = AndroidRuntime::getJNIEnv();
132 if (env == NULL) {
135 int result = vm->AttachCurrentThread(&env, (void*) &args);
142 return env;
170 JNIEnv* env = getJNIEnv(&needsDetach);
171 if (env != NULL) {
172 env->DeleteGlobalRef(mWeakThiz);
173 env->DeleteGlobalRef(mClazz);
194 JNIEnv* env = getJNIEnv(&needsDetach);
195 if (env != NULL) {
196 env->CallStaticVoidMethod(mClazz, gImageReaderClassInfo.postEventFromNative, mWeakThiz);
209 static JNIImageReaderContext* ImageReader_getContext(JNIEnv* env, jobject thiz)
213 (env->GetLongField(thiz, gImageReaderClassInfo.mNativeContext));
217 static CpuConsumer* ImageReader_getCpuConsumer(JNIEnv* env, jobject thiz)
220 JNIImageReaderContext* const ctx = ImageReader_getContext(env, thiz);
222 jniThrowRuntimeException(env, "ImageReaderContext is not initialized");
228 static IGraphicBufferProducer* ImageReader_getProducer(JNIEnv* env, jobject thiz)
231 JNIImageReaderContext* const ctx = ImageReader_getContext(env, thiz);
233 jniThrowRuntimeException(env, "ImageReaderContext is not initialized");
239 static void ImageReader_setNativeContext(JNIEnv* env,
243 JNIImageReaderContext* const p = ImageReader_getContext(env, thiz);
250 env->SetLongField(thiz, gImageReaderClassInfo.mNativeContext,
254 static CpuConsumer::LockedBuffer* Image_getLockedBuffer(JNIEnv* env, jobject image)
257 env->GetLongField(image, gSurfaceImageClassInfo.mLockedBuffer));
260 static void Image_setBuffer(JNIEnv* env, jobject thiz,
263 env->SetLongField(thiz, gSurfaceImageClassInfo.mLockedBuffer, reinterpret_cast<jlong>(buffer));
268 static int Image_getPixelFormat(JNIEnv* env, int format)
275 jclass imageFormatClazz = env->FindClass("android/graphics/ImageFormat");
278 fid = env->GetStaticFieldID(imageFormatClazz, "JPEG", "I");
279 jpegFormat = env->GetStaticIntField(imageFormatClazz, fid);
338 static void Image_getLockedBufferInfo(JNIEnv* env, CpuConsumer::LockedBuffer* buffer, int idx,
473 jniThrowExceptionFmt(env, "java/lang/UnsupportedOperationException",
482 static jint Image_imageGetPixelStride(JNIEnv* env, CpuConsumer::LockedBuffer* buffer, int idx,
535 jniThrowExceptionFmt(env, "java/lang/UnsupportedOperationException",
543 static jint Image_imageGetRowStride(JNIEnv* env, CpuConsumer::LockedBuffer* buffer, int idx,
610 jniThrowException(env, "java/lang/UnsupportedOperationException",
620 static void ImageReader_classInit(JNIEnv* env, jclass clazz)
624 jclass imageClazz = env->FindClass("android/media/ImageReader$SurfaceImage");
627 gSurfaceImageClassInfo.mLockedBuffer = env->GetFieldID(
633 gSurfaceImageClassInfo.mTimestamp = env->GetFieldID(
639 gImageReaderClassInfo.mNativeContext = env->GetFieldID(
645 gImageReaderClassInfo.postEventFromNative = env->GetStaticMethodID(
650 jclass planeClazz = env->FindClass("android/media/ImageReader$SurfaceImage$SurfacePlane");
653 gSurfacePlaneClassInfo.clazz = (jclass) env->NewGlobalRef(planeClazz);
654 gSurfacePlaneClassInfo.ctor = env->GetMethodID(gSurfacePlaneClassInfo.clazz, "<init>",
660 static void ImageReader_init(JNIEnv* env, jobject thiz, jobject weakThiz,
669 nativeFormat = Image_getPixelFormat(env, format);
678 jniThrowRuntimeException(env, "Failed to allocate native CpuConsumer");
682 jclass clazz = env->GetObjectClass(thiz);
684 jniThrowRuntimeException(env, "Can't find android/graphics/ImageReader");
687 sp<JNIImageReaderContext> ctx(new JNIImageReaderContext(env, weakThiz, clazz, maxImages));
691 ImageReader_setNativeContext(env, thiz, ctx);
699 jniThrowException(env, "java/lang/IllegalStateException",
705 jniThrowException(env, "java/lang/IllegalStateException",
710 static void ImageReader_close(JNIEnv* env, jobject thiz)
714 JNIImageReaderContext* const ctx = ImageReader_getContext(env, thiz);
720 CpuConsumer* consumer = ImageReader_getCpuConsumer(env, thiz);
725 ImageReader_setNativeContext(env, thiz, NULL);
728 static void ImageReader_imageRelease(JNIEnv* env, jobject thiz, jobject image)
731 JNIImageReaderContext* ctx = ImageReader_getContext(env, thiz);
738 CpuConsumer::LockedBuffer* buffer = Image_getLockedBuffer(env, image);
744 Image_setBuffer(env, image, NULL);
748 static jint ImageReader_imageSetup(JNIEnv* env, jobject thiz,
752 JNIImageReaderContext* ctx = ImageReader_getContext(env, thiz);
754 jniThrowRuntimeException(env, "ImageReaderContext is not initialized");
774 jniThrowExceptionFmt(env, "java/lang/AssertionError",
783 jniThrowException(env, "java/lang/UnsupportedOperationException",
792 jniThrowExceptionFmt(env, "java/lang/UnsupportedOperationException",
821 jniThrowExceptionFmt(env, "java/lang/IllegalStateException",
852 jniThrowException(env, "java/lang/UnsupportedOperationException",
858 Image_setBuffer(env, image, buffer);
859 env->SetLongField(image, gSurfaceImageClassInfo.mTimestamp,
865 static jobject ImageReader_getSurface(JNIEnv* env, jobject thiz)
869 IGraphicBufferProducer* gbp = ImageReader_getProducer(env, thiz);
871 jniThrowRuntimeException(env, "CpuConsumer is uninitialized");
876 return android_view_Surface_createFromIGraphicBufferProducer(env, gbp);
879 static jobject Image_createSurfacePlane(JNIEnv* env, jobject thiz, int idx, int readerFormat)
884 CpuConsumer::LockedBuffer* buffer = Image_getLockedBuffer(env, thiz);
888 jniThrowException(env, "java/lang/IllegalStateException", "Image was released");
891 readerFormat = Image_getPixelFormat(env, readerFormat);
893 rowStride = Image_imageGetRowStride(env, buffer, idx, readerFormat);
894 pixelStride = Image_imageGetPixelStride(env, buffer, idx, readerFormat);
896 jobject surfPlaneObj = env->NewObject(gSurfacePlaneClassInfo.clazz,
902 static jobject Image_getByteBuffer(JNIEnv* env, jobject thiz, int idx, int readerFormat)
910 CpuConsumer::LockedBuffer* buffer = Image_getLockedBuffer(env, thiz);
913 jniThrowException(env, "java/lang/IllegalStateException", "Image was released");
916 readerFormat = Image_getPixelFormat(env, readerFormat);
919 Image_getLockedBufferInfo(env, buffer, idx, &base, &size, readerFormat);
923 jniThrowExceptionFmt(env, "java/lang/IllegalStateException",
928 byteBuffer = env->NewDirectByteBuffer(base, size);
930 if ((byteBuffer == NULL) && (env->ExceptionCheck() == false)) {
931 jniThrowException(env, "java/lang/IllegalStateException", "Failed to allocate ByteBuffer");
956 int register_android_media_ImageReader(JNIEnv *env) {
958 int ret1 = AndroidRuntime::registerNativeMethods(env,
961 int ret2 = AndroidRuntime::registerNativeMethods(env,