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

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

Issue 2805863002: Remove VideoCaptureDeviceFactory::EnumerateDeviceDescriptors() (Closed)
Patch Set: Rebase 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/video_capture_device_unittest.cc
diff --git a/media/capture/video/video_capture_device_unittest.cc b/media/capture/video/video_capture_device_unittest.cc
index b90b9f37644ce2b0a176ec2e07378637afd74c3b..6910b8f225afa21fa5e1e30a9918f5a7aff40152 100644
--- a/media/capture/video/video_capture_device_unittest.cc
+++ b/media/capture/video/video_capture_device_unittest.cc
@@ -205,22 +205,6 @@ class MockImageCaptureClient
mojom::PhotoCapabilitiesPtr capabilities_;
};
-class DeviceEnumerationListener
- : public base::RefCounted<DeviceEnumerationListener> {
- public:
- MOCK_METHOD1(DoOnEnumerateDeviceDescriptors,
- void(VideoCaptureDeviceDescriptors* device_descriptors));
- // GMock doesn't support move-only arguments, so we use this forward method.
- void OnEnumerateDeviceDescriptors(
- std::unique_ptr<VideoCaptureDeviceDescriptors> device_descriptors) {
- DoOnEnumerateDeviceDescriptors(device_descriptors.release());
- }
-
- private:
- friend class base::RefCounted<DeviceEnumerationListener>;
- virtual ~DeviceEnumerationListener() {}
-};
-
} // namespace
class VideoCaptureDeviceTest : public testing::TestWithParam<gfx::Size> {
@@ -229,10 +213,10 @@ class VideoCaptureDeviceTest : public testing::TestWithParam<gfx::Size> {
VideoCaptureDeviceTest()
: loop_(new base::MessageLoop()),
+ device_descriptors_(new VideoCaptureDeviceDescriptors()),
video_capture_client_(new MockVideoCaptureClient(
base::Bind(&VideoCaptureDeviceTest::OnFrameCaptured,
base::Unretained(this)))),
- device_enumeration_listener_(new DeviceEnumerationListener()),
image_capture_client_(new MockImageCaptureClient()),
video_capture_device_factory_(VideoCaptureDeviceFactory::CreateFactory(
base::ThreadTaskRunnerHandle::Get())) {}
@@ -268,27 +252,16 @@ class VideoCaptureDeviceTest : public testing::TestWithParam<gfx::Size> {
run_loop_->Run();
}
- bool EnumerateAndFindUsableDevices() {
- VideoCaptureDeviceDescriptors* descriptors = nullptr;
- EXPECT_CALL(*device_enumeration_listener_.get(),
- DoOnEnumerateDeviceDescriptors(_))
- .WillOnce(SaveArg<0>(&descriptors));
-
- video_capture_device_factory_->EnumerateDeviceDescriptors(
- base::Bind(&DeviceEnumerationListener::OnEnumerateDeviceDescriptors,
- device_enumeration_listener_));
- base::RunLoop().RunUntilIdle();
-
- device_descriptors_.reset(descriptors);
- if (!device_descriptors_)
- return false;
+ bool FindUsableDevices() {
+ video_capture_device_factory_->GetDeviceDescriptors(
+ device_descriptors_.get());
#if defined(OS_ANDROID)
// Android deprecated/legacy devices capture on a single thread, which is
// occupied by the tests, so nothing gets actually delivered.
// TODO(mcasas): use those devices' test mode to deliver frames in a
// background thread, https://crbug.com/626857
- for (const auto& descriptor : *descriptors) {
+ for (const auto& descriptor : *device_descriptors_) {
if (VideoCaptureDeviceFactoryAndroid::IsLegacyOrDeprecatedDevice(
descriptor.device_id)) {
return false;
@@ -304,7 +277,7 @@ class VideoCaptureDeviceTest : public testing::TestWithParam<gfx::Size> {
std::unique_ptr<VideoCaptureDeviceDescriptor>
GetFirstDeviceDescriptorSupportingPixelFormat(
const VideoPixelFormat& pixel_format) {
- if (!EnumerateAndFindUsableDevices())
+ if (!FindUsableDevices())
return nullptr;
for (const auto& descriptor : *device_descriptors_) {
@@ -341,11 +314,10 @@ class VideoCaptureDeviceTest : public testing::TestWithParam<gfx::Size> {
#if defined(OS_WIN)
base::win::ScopedCOMInitializer initialize_com_;
#endif
- std::unique_ptr<VideoCaptureDeviceDescriptors> device_descriptors_;
const std::unique_ptr<base::MessageLoop> loop_;
+ std::unique_ptr<VideoCaptureDeviceDescriptors> device_descriptors_;
std::unique_ptr<base::RunLoop> run_loop_;
std::unique_ptr<MockVideoCaptureClient> video_capture_client_;
- const scoped_refptr<DeviceEnumerationListener> device_enumeration_listener_;
const scoped_refptr<MockImageCaptureClient> image_capture_client_;
VideoCaptureFormat last_format_;
const std::unique_ptr<VideoCaptureDeviceFactory>
@@ -392,7 +364,7 @@ TEST_F(VideoCaptureDeviceTest, MAYBE_OpenInvalidDevice) {
// Allocates the first enumerated device, and expects a frame.
TEST_P(VideoCaptureDeviceTest, CaptureWithSize) {
- if (!EnumerateAndFindUsableDevices())
+ if (!FindUsableDevices())
return;
const gfx::Size& size = GetParam();
@@ -433,7 +405,7 @@ INSTANTIATE_TEST_CASE_P(VideoCaptureDeviceTests,
// Allocates a device with an uncommon resolution and verifies frames are
// captured in a close, much more typical one.
TEST_F(VideoCaptureDeviceTest, MAYBE_AllocateBadSize) {
- if (!EnumerateAndFindUsableDevices())
+ if (!FindUsableDevices())
return;
std::unique_ptr<VideoCaptureDevice> device(
@@ -460,7 +432,7 @@ TEST_F(VideoCaptureDeviceTest, MAYBE_AllocateBadSize) {
// Cause hangs on Windows, Linux. Fails Android. https://crbug.com/417824
TEST_F(VideoCaptureDeviceTest, DISABLED_ReAllocateCamera) {
- if (!EnumerateAndFindUsableDevices())
+ if (!FindUsableDevices())
return;
// First, do a number of very fast device start/stops.
@@ -553,7 +525,7 @@ TEST_F(VideoCaptureDeviceTest, NoCameraSupportsPixelFormatMax) {
// Starts the camera and verifies that a photo can be taken. The correctness of
// the photo is enforced by MockImageCaptureClient.
TEST_F(VideoCaptureDeviceTest, MAYBE_TakePhoto) {
- if (!EnumerateAndFindUsableDevices())
+ if (!FindUsableDevices())
return;
#if defined(OS_ANDROID)
@@ -598,7 +570,7 @@ TEST_F(VideoCaptureDeviceTest, MAYBE_TakePhoto) {
// Starts the camera and verifies that the photo capabilities can be retrieved.
TEST_F(VideoCaptureDeviceTest, MAYBE_GetPhotoCapabilities) {
- if (!EnumerateAndFindUsableDevices())
+ if (!FindUsableDevices())
return;
#if defined(OS_ANDROID)
« no previous file with comments | « media/capture/video/video_capture_device_factory.cc ('k') | media/capture/video/video_capture_system_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698