From 742e89f67df160475a157af375c5ab72bba0c308 Mon Sep 17 00:00:00 2001 From: Jaesung Chung Date: Wed, 13 Apr 2016 14:13:10 +0900 Subject: [PATCH] ExifInterface: return only a JPEG-compressed thumbnail of RAW images Bug: 26923978 Change-Id: I120723c9e28a24d6fb3b7034892e0196484ee5e4 --- media/jni/android_media_ExifInterface.cpp | 3 ++- media/jni/android_mtp_MtpDatabase.cpp | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/media/jni/android_media_ExifInterface.cpp b/media/jni/android_media_ExifInterface.cpp index 418a3f2c906c1..ae23720fd132b 100644 --- a/media/jni/android_media_ExifInterface.cpp +++ b/media/jni/android_media_ExifInterface.cpp @@ -136,7 +136,8 @@ static jobject getRawAttributes(JNIEnv* env, SkStream* stream, bool returnThumbn KeyedVector map; - if (image_data.thumbnail.length > 0) { + if (image_data.thumbnail.length > 0 + && image_data.thumbnail.format == ::piex::Image::kJpegCompressed) { map.add(String8("hasThumbnail"), String8("true")); map.add(String8("thumbnailOffset"), String8::format("%d", image_data.thumbnail.offset)); map.add(String8("thumbnailLength"), String8::format("%d", image_data.thumbnail.length)); diff --git a/media/jni/android_mtp_MtpDatabase.cpp b/media/jni/android_mtp_MtpDatabase.cpp index 39f2a326f5431..d6bf9ad788ef8 100644 --- a/media/jni/android_mtp_MtpDatabase.cpp +++ b/media/jni/android_mtp_MtpDatabase.cpp @@ -932,8 +932,9 @@ void* MyMtpDatabase::getThumbnail(MtpObjectHandle handle, size_t& outThumbSize) break; } - if (image_data.thumbnail.length == 0) { - // No thumbnail. + if (image_data.thumbnail.length == 0 + || image_data.thumbnail.format == ::piex::Image::kJpegCompressed) { + // No thumbnail or non jpeg thumbnail. break; }