DO NOT MERGE Don't reject "thumbnail mode" setConfig
Bug: 27207275
Change-Id: I35f6bf5b407869a9479feaf1b5beef7b68d04509
diff --git a/media/libmedia/IOMX.cpp b/media/libmedia/IOMX.cpp
index 1bc3c49..1b7381d 100644
--- a/media/libmedia/IOMX.cpp
+++ b/media/libmedia/IOMX.cpp
@@ -604,7 +604,9 @@
void *params = NULL;
size_t pageSize = 0;
size_t allocSize = 0;
- if (code != SET_INTERNAL_OPTION && size < 8) {
+ // this only applies to a subset of devices, and was obsoleted in M
+ bool mightBeThumbnailMode = (code == SET_CONFIG && size == sizeof(OMX_BOOL));
+ if (!mightBeThumbnailMode && (code != SET_INTERNAL_OPTION && size < 8)) {
// we expect the structure to contain at least the size and
// version, 8 bytes total
ALOGE("b/27207275 (%zu)", size);
@@ -626,7 +628,8 @@
} else {
err = NOT_ENOUGH_DATA;
OMX_U32 declaredSize = *(OMX_U32*)params;
- if (code != SET_INTERNAL_OPTION && declaredSize > size) {
+ if (!mightBeThumbnailMode &&
+ code != SET_INTERNAL_OPTION && declaredSize > size) {
// the buffer says it's bigger than it actually is
ALOGE("b/27207275 (%u/%zu)", declaredSize, size);
android_errorWriteLog(0x534e4554, "27207275");