summaryrefslogtreecommitdiff
path: root/media/jni/android_media_ImageReader.cpp
diff options
context:
space:
mode:
authorEmilian Peev <epeev@google.com>2018-04-06 12:55:00 +0100
committerEmilian Peev <epeev@google.com>2018-04-06 13:01:45 +0100
commit750aec6f3bf8353fb619773862f3181b5766d42e (patch)
tree49256665ecbb2816b287b340c3cd92306b5b9317 /media/jni/android_media_ImageReader.cpp
parent8a585a6f1fc33f2bc4c011abebbf909e3c24fe25 (diff)
media: Populate Image scaling mode in reader and writer
"ImageReader" and "ImageWriter" must pass information about the specific buffer scaling mode. Bug: 76022384 Test: Manual using application, Camera CTS Change-Id: I116f00cbf3b1487d8e44661e8fd15e2aa16e6e0d
Diffstat (limited to 'media/jni/android_media_ImageReader.cpp')
-rw-r--r--media/jni/android_media_ImageReader.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/media/jni/android_media_ImageReader.cpp b/media/jni/android_media_ImageReader.cpp
index bfb3ea2a353c..c36858ad3d8e 100644
--- a/media/jni/android_media_ImageReader.cpp
+++ b/media/jni/android_media_ImageReader.cpp
@@ -46,6 +46,7 @@
#define ANDROID_MEDIA_SURFACEIMAGE_BUFFER_JNI_ID "mNativeBuffer"
#define ANDROID_MEDIA_SURFACEIMAGE_TS_JNI_ID "mTimestamp"
#define ANDROID_MEDIA_SURFACEIMAGE_TF_JNI_ID "mTransform"
+#define ANDROID_MEDIA_SURFACEIMAGE_SM_JNI_ID "mScalingMode"
#define CONSUMER_BUFFER_USAGE_UNKNOWN 0;
// ----------------------------------------------------------------------------
@@ -68,6 +69,7 @@ static struct {
jfieldID mNativeBuffer;
jfieldID mTimestamp;
jfieldID mTransform;
+ jfieldID mScalingMode;
jfieldID mPlanes;
} gSurfaceImageClassInfo;
@@ -315,6 +317,12 @@ static void ImageReader_classInit(JNIEnv* env, jclass clazz)
"can't find android/graphics/ImageReader.%s",
ANDROID_MEDIA_SURFACEIMAGE_TF_JNI_ID);
+ gSurfaceImageClassInfo.mScalingMode = env->GetFieldID(
+ imageClazz, ANDROID_MEDIA_SURFACEIMAGE_SM_JNI_ID, "I");
+ LOG_ALWAYS_FATAL_IF(gSurfaceImageClassInfo.mScalingMode == NULL,
+ "can't find android/graphics/ImageReader.%s",
+ ANDROID_MEDIA_SURFACEIMAGE_SM_JNI_ID);
+
gSurfaceImageClassInfo.mPlanes = env->GetFieldID(
imageClazz, "mPlanes", "[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;");
LOG_ALWAYS_FATAL_IF(gSurfaceImageClassInfo.mPlanes == NULL,
@@ -606,6 +614,8 @@ static jint ImageReader_imageSetup(JNIEnv* env, jobject thiz, jobject image) {
static_cast<jlong>(buffer->mTimestamp));
env->SetIntField(image, gSurfaceImageClassInfo.mTransform,
static_cast<jint>(buffer->mTransform));
+ env->SetIntField(image, gSurfaceImageClassInfo.mScalingMode,
+ static_cast<jint>(buffer->mScalingMode));
return ACQUIRE_SUCCESS;
}