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");