Index: content/browser/renderer_host/media/video_capture_manager_unittest.cc |
diff --git a/content/browser/renderer_host/media/video_capture_manager_unittest.cc b/content/browser/renderer_host/media/video_capture_manager_unittest.cc |
index c794195683aa3197f750c599f9614b6a42609498..a05096e509ac69fde628eac3e054abae0f04546f 100644 |
--- a/content/browser/renderer_host/media/video_capture_manager_unittest.cc |
+++ b/content/browser/renderer_host/media/video_capture_manager_unittest.cc |
@@ -165,6 +165,37 @@ TEST_F(VideoCaptureManagerTest, CreateAndClose) { |
vcm_->Unregister(); |
} |
+// Try to enumerate devices, then check their capture capabilities. |
+TEST_F(VideoCaptureManagerTest, EnumerateDevicesAndCheckCapabilities) { |
+ StreamDeviceInfoArray devices; |
+ |
+ EXPECT_CALL(*listener_, DevicesEnumerated(MEDIA_DEVICE_VIDEO_CAPTURE, _)) |
+ .Times(1).WillOnce(SaveArg<1>(&devices)); |
+ vcm_->EnumerateDevices(MEDIA_DEVICE_VIDEO_CAPTURE); |
+ message_loop_->RunUntilIdle(); |
+ |
+ StreamDeviceInfoArray::iterator device_it; |
+ for (device_it = devices.begin(); device_it != devices.end(); ++device_it) { |
+ const media::VideoCaptureCapabilities* device_capabilities = |
+ vcm_->EnumerateDeviceCapabilities(*device_it); |
+ if (device_capabilities == NULL) continue; |
+ DCHECK_GE(device_capabilities->size(), 1u); |
+ |
+ media::VideoCaptureCapabilities::const_iterator format; |
+ for (format = device_capabilities->begin(); |
+ format != device_capabilities->end(); |
+ ++format) { |
+ DCHECK_GE(format->width, 1); |
+ DCHECK_GE(format->height, 1); |
+ DCHECK_GE(format->frame_rate, 1); |
+ DVLOG(1) << " Device name: " << device_it->device.name << ", format (" |
+ << format->width << "x" << format->height << ")@" |
+ << format->frame_rate << "fps"; |
+ } |
+ } |
+ vcm_->Unregister(); |
+} |
+ |
// Open the same device twice. |
TEST_F(VideoCaptureManagerTest, OpenTwice) { |
StreamDeviceInfoArray devices; |