From b6f6cbd305aeab1ee4568c5cf46dd637aac404a2 Mon Sep 17 00:00:00 2001
From: atraczyk <andreastraczyk@gmail.com>
Date: Fri, 14 Oct 2016 10:15:37 -0400
Subject: [PATCH] accept many video input formats and map to BGRA for now

Change-Id: I9276b4b6f677efc2f5b593c7b17d5e249336139c
---
 .../video/uwpvideo/video_device_impl.cpp      | 25 ++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/src/media/video/uwpvideo/video_device_impl.cpp b/src/media/video/uwpvideo/video_device_impl.cpp
index 0869e17859..1ae628f82e 100644
--- a/src/media/video/uwpvideo/video_device_impl.cpp
+++ b/src/media/video/uwpvideo/video_device_impl.cpp
@@ -44,9 +44,27 @@ typedef struct {
     enum VideoPixelFormat   ring_format;
 } uwp_fmt;
 
-static const std::array<uwp_fmt, 2> uwp_formats {
-    uwp_fmt { "NV12",       VIDEO_PIXFMT_BGRA    },
-    uwp_fmt { "YUY2",       VIDEO_PIXFMT_BGRA    },
+// have all formats map to bgra
+static const std::array<uwp_fmt, 19> uwp_formats {
+    uwp_fmt { "MJPG",                                           VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "RGB24",                                          VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "NV12",                                           VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "YUY2",                                           VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{30323449-0000-0010-8000-00AA00389B71}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{56555949-0000-0010-8000-00AA00389B71}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{e436eb78-524f-11ce-9f53-0020af0ba7701}",        VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{e436eb7d-524f-11ce-9f53-0020af0ba7701}",        VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{e436eb7e-524f-11ce-9f53-0020af0ba770}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{e436eb79-524f-11ce-9f53-0020af0ba770}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{e436eb7c-524f-11ce-9f53-0020af0ba770}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{e436eb7b-524f-11ce-9f53-0020af0ba770}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{e436eb7a-524f-11ce-9f53-0020af0ba770}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{59565955-0000-0010-8000-00AA00389B71}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{1d4a45f2-e5f6-4b44-8388-f0ae5c0e0c37}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{32595559-0000-0010-8000-00AA00389B71}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{31313259-0000-0010-8000-00AA00389B71}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{39555659-0000-0010-8000-00AA00389B71}",         VIDEO_PIXFMT_BGRA       },
+    uwp_fmt { "{55595659-0000-0010-8000-00AA00389B71}",         VIDEO_PIXFMT_BGRA       }
 };
 
 class VideoDeviceImpl {
@@ -56,6 +74,7 @@ class VideoDeviceImpl {
         std::string name;
 
         DeviceParams getDeviceParams() const;
+
         void setDeviceParams(const DeviceParams&);
 
         std::vector<VideoSize> getSizeList() const;
-- 
GitLab