Until we have emulator support for YUV12 rendering do software color conversion.

Change-Id: Id2e118cae224facad7077f2f62c62cd21e95e749
related-to-bug: 6444358
diff --git a/media/libstagefright/colorconversion/SoftwareRenderer.cpp b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
index 059d6b9..8673bad 100644
--- a/media/libstagefright/colorconversion/SoftwareRenderer.cpp
+++ b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
@@ -19,6 +19,7 @@
 
 #include "../include/SoftwareRenderer.h"
 
+#include <cutils/properties.h> // for property_get
 #include <media/stagefright/foundation/ADebug.h>
 #include <media/stagefright/MetaData.h>
 #include <system/window.h>
@@ -27,6 +28,11 @@
 
 namespace android {
 
+static bool runningInEmulator() {
+    char prop[PROPERTY_VALUE_MAX];
+    return (property_get("ro.kernel.qemu", prop, NULL) > 0);
+}
+
 SoftwareRenderer::SoftwareRenderer(
         const sp<ANativeWindow> &nativeWindow, const sp<MetaData> &meta)
     : mConverter(NULL),
@@ -62,10 +68,14 @@
         case OMX_COLOR_FormatYUV420Planar:
         case OMX_TI_COLOR_FormatYUV420PackedSemiPlanar:
         {
-            halFormat = HAL_PIXEL_FORMAT_YV12;
-            bufWidth = (mCropWidth + 1) & ~1;
-            bufHeight = (mCropHeight + 1) & ~1;
-            break;
+            if (!runningInEmulator()) {
+                halFormat = HAL_PIXEL_FORMAT_YV12;
+                bufWidth = (mCropWidth + 1) & ~1;
+                bufHeight = (mCropHeight + 1) & ~1;
+                break;
+            }
+
+            // fall through.
         }
 
         default: