Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1129)

Unified Diff: media/capture/video/android/video_capture_device_factory_android.cc

Issue 2983473002: Android Tango depth camera capture support.
Patch Set: rename tango_api files to tango_client_api_glue Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/capture/video/android/video_capture_device_factory_android.cc
diff --git a/media/capture/video/android/video_capture_device_factory_android.cc b/media/capture/video/android/video_capture_device_factory_android.cc
index 5275a478a70234b11d9687f0d59c84c850e05bb4..293ab17c3ab08e08b35ceacadaa61a109a6de205 100644
--- a/media/capture/video/android/video_capture_device_factory_android.cc
+++ b/media/capture/video/android/video_capture_device_factory_android.cc
@@ -13,6 +13,7 @@
#include "base/strings/stringprintf.h"
#include "jni/VideoCaptureFactory_jni.h"
#include "media/capture/video/android/video_capture_device_android.h"
+#include "media/capture/video/android/video_capture_device_tango_android.h"
using base::android::AttachCurrentThread;
using base::android::JavaRef;
@@ -37,6 +38,9 @@ VideoCaptureDeviceFactoryAndroid::CreateDevice(
if (!base::StringToInt(device_descriptor.device_id, &id))
return std::unique_ptr<VideoCaptureDevice>();
+ if (device_descriptor.capture_api == VideoCaptureApi::ANDROID_TANGO)
+ return std::unique_ptr<VideoCaptureDeviceTangoAndroid>(
+ new VideoCaptureDeviceTangoAndroid(device_descriptor));
std::unique_ptr<VideoCaptureDeviceAndroid> video_capture_device(
new VideoCaptureDeviceAndroid(device_descriptor));
@@ -84,6 +88,8 @@ void VideoCaptureDeviceFactoryAndroid::GetDeviceDescriptors(
DVLOG(1) << __func__ << ": camera "
<< "device_name=" << display_name << ", unique_id=" << device_id;
}
+ // Also retrieve Tango device cameras, if present, via Tango API.
+ VideoCaptureDeviceTangoAndroid::EnumerateDevices(device_descriptors);
}
void VideoCaptureDeviceFactoryAndroid::GetSupportedFormats(
@@ -93,6 +99,9 @@ void VideoCaptureDeviceFactoryAndroid::GetSupportedFormats(
int id;
if (!base::StringToInt(device.device_id, &id))
return;
+ if (device.capture_api == VideoCaptureApi::ANDROID_TANGO)
+ return VideoCaptureDeviceTangoAndroid::EnumerateDeviceCapabilities(
+ device, capture_formats);
JNIEnv* env = AttachCurrentThread();
base::android::ScopedJavaLocalRef<jobjectArray> collected_formats =
Java_VideoCaptureFactory_getDeviceSupportedFormats(env, id);

Powered by Google App Engine
This is Rietveld 408576698