Bug 1307533 - support getUserMedia facingmode on Surface Book; r=jib draft
authorMunro Mengjue Chiang <mchiang@mozilla.com>
Thu, 27 Oct 2016 17:55:09 +0800
changeset 430743 12e0f930a6b1770f20a014591f2d4377b5ed95bb
parent 429594 f9f3cc95d7282f1fd83f66dd74acbcdbfe821915
child 535248 948eccc60fb24caedbdf49ca15c0789b9ae3a70b
push id33871
push usermchiang@mozilla.com
push dateFri, 28 Oct 2016 02:59:05 +0000
reviewersjib
bugs1307533
milestone52.0a1
Bug 1307533 - support getUserMedia facingmode on Surface Book; r=jib MozReview-Commit-ID: IOfWT2EyEPs
dom/media/webrtc/MediaEngineCameraVideoSource.cpp
--- a/dom/media/webrtc/MediaEngineCameraVideoSource.cpp
+++ b/dom/media/webrtc/MediaEngineCameraVideoSource.cpp
@@ -341,16 +341,28 @@ MediaEngineCameraVideoSource::SetName(ns
 #endif // ANDROID
 #ifdef XP_MACOSX
   // Kludge to test user-facing cameras on OSX.
   if (aName.Find(NS_LITERAL_STRING("Face")) != -1) {
     hasFacingMode = true;
     facingMode = VideoFacingModeEnum::User;
   }
 #endif
+#ifdef XP_WIN
+  // The cameras' name of Surface book are "Microsoft Camera Front" and
+  // "Microsoft Camera Rear" respectively.
+
+  if (aName.Find(NS_LITERAL_STRING("Front")) != kNotFound) {
+    hasFacingMode = true;
+    facingMode = VideoFacingModeEnum::User;
+  } else if (aName.Find(NS_LITERAL_STRING("Rear")) != kNotFound) {
+    hasFacingMode = true;
+    facingMode = VideoFacingModeEnum::Environment;
+  }
+#endif // WINDOWS
   if (hasFacingMode) {
     mFacingMode.Assign(NS_ConvertUTF8toUTF16(
         VideoFacingModeEnumValues::strings[uint32_t(facingMode)].value));
   } else {
     mFacingMode.Truncate();
   }
 }