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 6b04cdc8bd766e87bdd80758c9e7803eae92b599..239dcc8d45e5b5a2d5ad8a2065f7eee04c1befb6 100644 |
--- a/media/capture/video/android/video_capture_device_factory_android.cc |
+++ b/media/capture/video/android/video_capture_device_factory_android.cc |
@@ -35,14 +35,14 @@ VideoCaptureDeviceFactoryAndroid::createVideoCaptureAndroid( |
} |
std::unique_ptr<VideoCaptureDevice> VideoCaptureDeviceFactoryAndroid::Create( |
- const VideoCaptureDevice::Name& device_name) { |
+ const VideoCaptureDeviceDescriptor& device_descriptor) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
int id; |
- if (!base::StringToInt(device_name.id(), &id)) |
+ if (!base::StringToInt(device_descriptor.device_id, &id)) |
return std::unique_ptr<VideoCaptureDevice>(); |
std::unique_ptr<VideoCaptureDeviceAndroid> video_capture_device( |
- new VideoCaptureDeviceAndroid(device_name)); |
+ new VideoCaptureDeviceAndroid(device_descriptor)); |
if (video_capture_device->Init()) |
return std::move(video_capture_device); |
@@ -51,10 +51,10 @@ std::unique_ptr<VideoCaptureDevice> VideoCaptureDeviceFactoryAndroid::Create( |
return std::unique_ptr<VideoCaptureDevice>(); |
} |
-void VideoCaptureDeviceFactoryAndroid::GetDeviceNames( |
- VideoCaptureDevice::Names* device_names) { |
+void VideoCaptureDeviceFactoryAndroid::GetDeviceDescriptors( |
+ VideoCaptureDeviceDescriptors* device_descriptors) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
- device_names->clear(); |
+ device_descriptors->clear(); |
JNIEnv* env = AttachCurrentThread(); |
@@ -74,24 +74,38 @@ void VideoCaptureDeviceFactoryAndroid::GetDeviceNames( |
const int capture_api_type = |
Java_VideoCaptureFactory_getCaptureApiType(env, camera_id, context); |
- VideoCaptureDevice::Name name( |
- base::android::ConvertJavaStringToUTF8(device_name), |
- base::IntToString(camera_id), |
- static_cast<VideoCaptureDevice::Name::CaptureApiType>( |
- capture_api_type)); |
- device_names->push_back(name); |
+ VideoCaptureDeviceDescriptor descriptor; |
+ descriptor.friendly_name = |
+ base::android::ConvertJavaStringToUTF8(device_name); |
+ descriptor.device_id = base::IntToString(camera_id); |
+ descriptor.capture_api = static_cast<VideoCaptureApiType>(capture_api_type); |
+ device_descriptors->push_back(descriptor); |
DVLOG(1) << "VideoCaptureDeviceFactoryAndroid::GetDeviceNames: camera " |
- << "device_name=" << name.name() << ", unique_id=" << name.id(); |
+ << "device_name=" << descriptor.friendly_name |
+ << ", unique_id=" << descriptor.device_id; |
} |
} |
+void VideoCaptureDeviceFactoryAndroid::GetDeviceInfo( |
+ const VideoCaptureDeviceDescriptor& device_descriptor, |
+ VideoCaptureDeviceInfo* device_info) { |
+ DCHECK(device_info); |
+ device_info->descriptor = device_descriptor; |
+ GetDeviceSupportedFormats(device_descriptor, |
+ &(device_info->supported_formats)); |
+ // Android cameras are not typically USB devices, and the model_id is |
+ // currently only used for USB model identifiers, so this implementation just |
+ // indicates an unknown device model. |
+ device_info->model_id = ""; |
+} |
+ |
void VideoCaptureDeviceFactoryAndroid::GetDeviceSupportedFormats( |
- const VideoCaptureDevice::Name& device, |
+ const VideoCaptureDeviceDescriptor& device, |
VideoCaptureFormats* capture_formats) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
int id; |
- if (!base::StringToInt(device.id(), &id)) |
+ if (!base::StringToInt(device.device_id, &id)) |
return; |
JNIEnv* env = AttachCurrentThread(); |
base::android::ScopedJavaLocalRef<jobjectArray> collected_formats = |
@@ -127,7 +141,7 @@ void VideoCaptureDeviceFactoryAndroid::GetDeviceSupportedFormats( |
format.obj()), |
pixel_format); |
capture_formats->push_back(capture_format); |
- DVLOG(1) << device.name() << " " |
+ DVLOG(1) << device.friendly_name << " " |
<< VideoCaptureFormat::ToString(capture_format); |
} |
} |