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

Unified Diff: media/capture/video/fake_video_capture_device_unittest.cc

Issue 2805863002: Remove VideoCaptureDeviceFactory::EnumerateDeviceDescriptors() (Closed)
Patch Set: Created 3 years, 8 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/fake_video_capture_device_unittest.cc
diff --git a/media/capture/video/fake_video_capture_device_unittest.cc b/media/capture/video/fake_video_capture_device_unittest.cc
index fd52e19b54e3d65aad3c5ffbfd241cde6a969948..8cc1c3cd15f1ddf49b237be50d37ad6685ae1bb1 100644
--- a/media/capture/video/fake_video_capture_device_unittest.cc
+++ b/media/capture/video/fake_video_capture_device_unittest.cc
@@ -154,22 +154,6 @@ class MockClient : public VideoCaptureDevice::Client {
base::Callback<void(const VideoCaptureFormat&)> frame_cb_;
};
-class DeviceEnumerationListener
- : public base::RefCounted<DeviceEnumerationListener> {
- public:
- MOCK_METHOD1(OnEnumeratedDevicesCallbackPtr,
- void(VideoCaptureDeviceDescriptors* descriptors));
- // GMock doesn't support move-only arguments, so we use this forward method.
- void OnEnumeratedDevicesCallback(
- std::unique_ptr<VideoCaptureDeviceDescriptors> descriptors) {
- OnEnumeratedDevicesCallbackPtr(descriptors.release());
- }
-
- private:
- friend class base::RefCounted<DeviceEnumerationListener>;
- virtual ~DeviceEnumerationListener() {}
-};
-
class ImageCaptureClient : public base::RefCounted<ImageCaptureClient> {
public:
// GMock doesn't support move-only arguments, so we use this forward method.
@@ -216,8 +200,8 @@ class FakeVideoCaptureDeviceBase : public ::testing::Test {
protected:
FakeVideoCaptureDeviceBase()
: loop_(new base::MessageLoop()),
+ descriptors_(new VideoCaptureDeviceDescriptors()),
client_(CreateClient()),
- device_enumeration_listener_(new DeviceEnumerationListener()),
image_capture_client_(new ImageCaptureClient()),
video_capture_device_factory_(new FakeVideoCaptureDeviceFactory()) {}
@@ -238,26 +222,12 @@ class FakeVideoCaptureDeviceBase : public ::testing::Test {
run_loop_->Run();
}
- std::unique_ptr<VideoCaptureDeviceDescriptors> EnumerateDevices() {
- VideoCaptureDeviceDescriptors* descriptors;
- EXPECT_CALL(*device_enumeration_listener_.get(),
- OnEnumeratedDevicesCallbackPtr(_))
- .WillOnce(SaveArg<0>(&descriptors));
-
- video_capture_device_factory_->EnumerateDeviceDescriptors(
- base::Bind(&DeviceEnumerationListener::OnEnumeratedDevicesCallback,
- device_enumeration_listener_));
- base::RunLoop().RunUntilIdle();
- return std::unique_ptr<VideoCaptureDeviceDescriptors>(descriptors);
- }
-
const VideoCaptureFormat& last_format() const { return last_format_; }
- VideoCaptureDeviceDescriptors descriptors_;
const std::unique_ptr<base::MessageLoop> loop_;
+ std::unique_ptr<VideoCaptureDeviceDescriptors> descriptors_;
chfremer 2017/04/07 16:34:21 Does this need to be a std::unique_ptr<> or can we
Chandan 2017/04/10 09:18:24 VideoCaptureDeviceDescriptors descriptors_ was unu
std::unique_ptr<base::RunLoop> run_loop_;
std::unique_ptr<MockClient> client_;
- const scoped_refptr<DeviceEnumerationListener> device_enumeration_listener_;
const scoped_refptr<ImageCaptureClient> image_capture_client_;
VideoCaptureFormat last_format_;
const std::unique_ptr<FakeVideoCaptureDeviceFactory>
@@ -281,9 +251,9 @@ TEST_P(FakeVideoCaptureDeviceTest, CaptureUsing) {
return;
}
- const std::unique_ptr<VideoCaptureDeviceDescriptors> descriptors(
- EnumerateDevices());
- ASSERT_FALSE(descriptors->empty());
+ descriptors_->clear();
chfremer 2017/04/07 16:34:21 I believe that the gtest framework will create a n
Chandan 2017/04/10 09:18:24 Done.
+ video_capture_device_factory_->GetDeviceDescriptors(descriptors_.get());
+ ASSERT_FALSE(descriptors_->empty());
std::unique_ptr<VideoCaptureDevice> device =
FakeVideoCaptureDeviceFactory::CreateDeviceWithDefaultResolutions(
@@ -330,16 +300,16 @@ INSTANTIATE_TEST_CASE_P(
Values(20, 29.97, 30, 50, 60)));
TEST_F(FakeVideoCaptureDeviceTest, GetDeviceSupportedFormats) {
+ descriptors_->clear();
video_capture_device_factory_->SetToDefaultDevicesConfig(4);
- std::unique_ptr<VideoCaptureDeviceDescriptors> descriptors(
- EnumerateDevices());
- ASSERT_EQ(4u, descriptors->size());
+ video_capture_device_factory_->GetDeviceDescriptors(descriptors_.get());
+ ASSERT_EQ(4u, descriptors_->size());
const VideoPixelFormat expected_format_by_device_index[] = {
PIXEL_FORMAT_I420, PIXEL_FORMAT_Y16, PIXEL_FORMAT_MJPEG,
PIXEL_FORMAT_I420};
int device_index = 0;
- for (const auto& descriptors_iterator : *descriptors) {
+ for (const auto& descriptors_iterator : *descriptors_) {
VideoCaptureFormats supported_formats;
video_capture_device_factory_->GetSupportedFormats(descriptors_iterator,
&supported_formats);
@@ -371,13 +341,14 @@ TEST_F(FakeVideoCaptureDeviceTest, GetDeviceSupportedFormats) {
}
TEST_F(FakeVideoCaptureDeviceTest, GetCameraCalibration) {
+ descriptors_->clear();
const size_t device_count = 2;
video_capture_device_factory_->SetToDefaultDevicesConfig(device_count);
- std::unique_ptr<VideoCaptureDeviceDescriptors> descriptors(
- EnumerateDevices());
- ASSERT_EQ(device_count, descriptors->size());
- ASSERT_FALSE(descriptors->at(0).camera_calibration);
- const VideoCaptureDeviceDescriptor& depth_device = descriptors->at(1);
+
+ video_capture_device_factory_->GetDeviceDescriptors(descriptors_.get());
+ ASSERT_EQ(device_count, descriptors_->size());
+ ASSERT_FALSE(descriptors_->at(0).camera_calibration);
+ const VideoCaptureDeviceDescriptor& depth_device = descriptors_->at(1);
EXPECT_EQ("/dev/video1", depth_device.device_id);
ASSERT_TRUE(depth_device.camera_calibration);
EXPECT_EQ(135.0, depth_device.camera_calibration->focal_length_x);
@@ -554,20 +525,21 @@ class FakeVideoCaptureDeviceFactoryTest
public ::testing::WithParamInterface<CommandLineTestData> {};
TEST_F(FakeVideoCaptureDeviceFactoryTest, DeviceWithNoSupportedFormats) {
+ descriptors_->clear();
std::vector<FakeVideoCaptureDeviceSettings> config;
FakeVideoCaptureDeviceSettings device_setting;
device_setting.device_id = "Device with no supported formats";
config.emplace_back(device_setting);
video_capture_device_factory_->SetToCustomDevicesConfig(config);
- const std::unique_ptr<VideoCaptureDeviceDescriptors> descriptors(
- EnumerateDevices());
- EXPECT_EQ(1u, descriptors->size());
+ video_capture_device_factory_->GetDeviceDescriptors(descriptors_.get());
+ EXPECT_EQ(1u, descriptors_->size());
media::VideoCaptureFormats supported_formats;
- video_capture_device_factory_->GetSupportedFormats(descriptors->at(0),
+ video_capture_device_factory_->GetSupportedFormats(descriptors_->at(0),
&supported_formats);
EXPECT_EQ(0u, supported_formats.size());
- auto device = video_capture_device_factory_->CreateDevice(descriptors->at(0));
+ auto device =
+ video_capture_device_factory_->CreateDevice(descriptors_->at(0));
EXPECT_TRUE(device.get());
auto client = CreateClient();
@@ -580,17 +552,17 @@ TEST_F(FakeVideoCaptureDeviceFactoryTest, DeviceWithNoSupportedFormats) {
// Tests that the FakeVideoCaptureDeviceFactory delivers the expected number
// of devices and formats when being configured using command-line switches.
TEST_P(FakeVideoCaptureDeviceFactoryTest, FrameRateAndDeviceCount) {
+ descriptors_->clear();
std::vector<FakeVideoCaptureDeviceSettings> config;
FakeVideoCaptureDeviceFactory::ParseFakeDevicesConfigFromOptionsString(
GetParam().switch_value_string, &config);
video_capture_device_factory_->SetToCustomDevicesConfig(config);
- const std::unique_ptr<VideoCaptureDeviceDescriptors> descriptors(
- EnumerateDevices());
- EXPECT_EQ(GetParam().expected_device_count, descriptors->size());
+ video_capture_device_factory_->GetDeviceDescriptors(descriptors_.get());
+ EXPECT_EQ(GetParam().expected_device_count, descriptors_->size());
int device_index = 0;
- for (const auto& descriptors_iterator : *descriptors) {
+ for (const auto& descriptors_iterator : *descriptors_) {
media::VideoCaptureFormats supported_formats;
video_capture_device_factory_->GetSupportedFormats(descriptors_iterator,
&supported_formats);

Powered by Google App Engine
This is Rietveld 408576698