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

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

Issue 83633008: Reland: Reorganize media::VideoCapture* types (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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
« no previous file with comments | « media/video/capture/video_capture_device.h ('k') | media/video/capture/video_capture_proxy.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/video/capture/video_capture_device_unittest.cc
diff --git a/media/video/capture/video_capture_device_unittest.cc b/media/video/capture/video_capture_device_unittest.cc
index 3b470d111a7287d18ea9d9afeb42d562d3e00565..705167def5510dea41454b5fd6b46236a993d81a 100644
--- a/media/video/capture/video_capture_device_unittest.cc
+++ b/media/video/capture/video_capture_device_unittest.cc
@@ -58,7 +58,6 @@ using ::testing::_;
using ::testing::AnyNumber;
using ::testing::Return;
using ::testing::AtLeast;
-using ::testing::SaveArg;
namespace media {
@@ -69,8 +68,7 @@ class MockClient : public media::VideoCaptureDevice::Client {
const gfx::Size& dimensions));
MOCK_METHOD0(OnErr, void());
- explicit MockClient(
- base::Callback<void(const VideoCaptureCapability&)> frame_cb)
+ explicit MockClient(base::Callback<void(const VideoCaptureFormat&)> frame_cb)
: main_thread_(base::MessageLoopProxy::current()), frame_cb_(frame_cb) {}
virtual void OnError() OVERRIDE {
@@ -83,9 +81,9 @@ class MockClient : public media::VideoCaptureDevice::Client {
int rotation,
bool flip_vert,
bool flip_horiz,
- const VideoCaptureCapability& frame_info)
+ const VideoCaptureFormat& format)
OVERRIDE {
- main_thread_->PostTask(FROM_HERE, base::Bind(frame_cb_, frame_info));
+ main_thread_->PostTask(FROM_HERE, base::Bind(frame_cb_, format));
}
virtual void OnIncomingCapturedBuffer(const scoped_refptr<Buffer>& buffer,
@@ -98,7 +96,7 @@ class MockClient : public media::VideoCaptureDevice::Client {
private:
scoped_refptr<base::MessageLoopProxy> main_thread_;
- base::Callback<void(const VideoCaptureCapability&)> frame_cb_;
+ base::Callback<void(const VideoCaptureFormat&)> frame_cb_;
};
class VideoCaptureDeviceTest : public testing::Test {
@@ -123,8 +121,8 @@ class VideoCaptureDeviceTest : public testing::Test {
&VideoCaptureDeviceTest::OnFrameCaptured, base::Unretained(this))));
}
- void OnFrameCaptured(const VideoCaptureCapability& frame_info) {
- last_frame_info_ = frame_info;
+ void OnFrameCaptured(const VideoCaptureFormat& format) {
+ last_format_ = format;
run_loop_->QuitClosure().Run();
}
@@ -133,9 +131,7 @@ class VideoCaptureDeviceTest : public testing::Test {
run_loop_->Run();
}
- const VideoCaptureCapability& last_frame_info() const {
- return last_frame_info_;
- }
+ const VideoCaptureFormat& last_format() const { return last_format_; }
#if defined(OS_WIN)
base::win::ScopedCOMInitializer initialize_com_;
@@ -144,7 +140,7 @@ class VideoCaptureDeviceTest : public testing::Test {
scoped_ptr<base::MessageLoop> loop_;
scoped_ptr<base::RunLoop> run_loop_;
scoped_ptr<MockClient> client_;
- VideoCaptureCapability last_frame_info_;
+ VideoCaptureFormat last_format_;
};
TEST_F(VideoCaptureDeviceTest, OpenInvalidDevice) {
@@ -176,17 +172,16 @@ TEST_F(VideoCaptureDeviceTest, CaptureVGA) {
EXPECT_CALL(*client_, OnErr())
.Times(0);
- VideoCaptureCapability capture_format(640,
- 480,
- 30,
- PIXEL_FORMAT_I420,
- ConstantResolutionVideoCaptureDevice);
- device->AllocateAndStart(capture_format,
- client_.PassAs<Client>());
+ VideoCaptureParams capture_params;
+ capture_params.requested_format.frame_size.SetSize(640, 480);
+ capture_params.requested_format.frame_rate = 30;
+ capture_params.requested_format.pixel_format = PIXEL_FORMAT_I420;
+ capture_params.allow_resolution_change = false;
+ device->AllocateAndStart(capture_params, client_.PassAs<Client>());
// Get captured video frames.
WaitForCapturedFrame();
- EXPECT_EQ(last_frame_info().width, 640);
- EXPECT_EQ(last_frame_info().height, 480);
+ EXPECT_EQ(last_format().frame_size.width(), 640);
+ EXPECT_EQ(last_format().frame_size.height(), 480);
device->StopAndDeAllocate();
}
@@ -204,13 +199,12 @@ TEST_F(VideoCaptureDeviceTest, Capture720p) {
EXPECT_CALL(*client_, OnErr())
.Times(0);
- VideoCaptureCapability capture_format(1280,
- 720,
- 30,
- PIXEL_FORMAT_I420,
- ConstantResolutionVideoCaptureDevice);
- device->AllocateAndStart(capture_format,
- client_.PassAs<Client>());
+ VideoCaptureParams capture_params;
+ capture_params.requested_format.frame_size.SetSize(1280, 720);
+ capture_params.requested_format.frame_rate = 30;
+ capture_params.requested_format.pixel_format = PIXEL_FORMAT_I420;
+ capture_params.allow_resolution_change = false;
+ device->AllocateAndStart(capture_params, client_.PassAs<Client>());
// Get captured video frames.
WaitForCapturedFrame();
device->StopAndDeAllocate();
@@ -229,17 +223,16 @@ TEST_F(VideoCaptureDeviceTest, MAYBE_AllocateBadSize) {
EXPECT_CALL(*client_, OnErr())
.Times(0);
- VideoCaptureCapability capture_format(637,
- 472,
- 35,
- PIXEL_FORMAT_I420,
- ConstantResolutionVideoCaptureDevice);
- device->AllocateAndStart(capture_format,
- client_.PassAs<Client>());
+ VideoCaptureParams capture_params;
+ capture_params.requested_format.frame_size.SetSize(637, 472);
+ capture_params.requested_format.frame_rate = 35;
+ capture_params.requested_format.pixel_format = PIXEL_FORMAT_I420;
+ capture_params.allow_resolution_change = false;
+ device->AllocateAndStart(capture_params, client_.PassAs<Client>());
WaitForCapturedFrame();
device->StopAndDeAllocate();
- EXPECT_EQ(last_frame_info().width, 640);
- EXPECT_EQ(last_frame_info().height, 480);
+ EXPECT_EQ(last_format().frame_size.width(), 640);
+ EXPECT_EQ(last_format().frame_size.height(), 480);
}
TEST_F(VideoCaptureDeviceTest, ReAllocateCamera) {
@@ -260,36 +253,32 @@ TEST_F(VideoCaptureDeviceTest, ReAllocateCamera) {
} else {
resolution = gfx::Size(1280, 1024);
}
- VideoCaptureCapability requested_format(
- resolution.width(),
- resolution.height(),
- 30,
- PIXEL_FORMAT_I420,
- ConstantResolutionVideoCaptureDevice);
-
- device->AllocateAndStart(requested_format, client_.PassAs<Client>());
+ VideoCaptureParams capture_params;
+ capture_params.requested_format.frame_size = resolution;
+ capture_params.requested_format.frame_rate = 30;
+ capture_params.requested_format.pixel_format = PIXEL_FORMAT_I420;
+ capture_params.allow_resolution_change = false;
+ device->AllocateAndStart(capture_params, client_.PassAs<Client>());
device->StopAndDeAllocate();
}
// Finally, do a device start and wait for it to finish.
- gfx::Size resolution;
- VideoCaptureCapability requested_format(
- 320,
- 240,
- 30,
- PIXEL_FORMAT_I420,
- ConstantResolutionVideoCaptureDevice);
+ VideoCaptureParams capture_params;
+ capture_params.requested_format.frame_size.SetSize(320, 240);
+ capture_params.requested_format.frame_rate = 30;
+ capture_params.requested_format.pixel_format = PIXEL_FORMAT_I420;
+ capture_params.allow_resolution_change = false;
ResetWithNewClient();
scoped_ptr<VideoCaptureDevice> device(
VideoCaptureDevice::Create(names_.front()));
- device->AllocateAndStart(requested_format, client_.PassAs<Client>());
+ device->AllocateAndStart(capture_params, client_.PassAs<Client>());
WaitForCapturedFrame();
device->StopAndDeAllocate();
device.reset();
- EXPECT_EQ(last_frame_info().width, 320);
- EXPECT_EQ(last_frame_info().height, 240);
+ EXPECT_EQ(last_format().frame_size.width(), 320);
+ EXPECT_EQ(last_format().frame_size.height(), 240);
}
TEST_F(VideoCaptureDeviceTest, DeAllocateCameraWhileRunning) {
@@ -305,17 +294,17 @@ TEST_F(VideoCaptureDeviceTest, DeAllocateCameraWhileRunning) {
EXPECT_CALL(*client_, OnErr())
.Times(0);
- VideoCaptureCapability capture_format(640,
- 480,
- 30,
- PIXEL_FORMAT_I420,
- ConstantResolutionVideoCaptureDevice);
- device->AllocateAndStart(capture_format, client_.PassAs<Client>());
+ VideoCaptureParams capture_params;
+ capture_params.requested_format.frame_size.SetSize(640, 480);
+ capture_params.requested_format.frame_rate = 30;
+ capture_params.requested_format.pixel_format = PIXEL_FORMAT_I420;
+ capture_params.allow_resolution_change = false;
+ device->AllocateAndStart(capture_params, client_.PassAs<Client>());
// Get captured video frames.
WaitForCapturedFrame();
- EXPECT_EQ(last_frame_info().width, 640);
- EXPECT_EQ(last_frame_info().height, 480);
- EXPECT_EQ(last_frame_info().frame_rate, 30);
+ EXPECT_EQ(last_format().frame_size.width(), 640);
+ EXPECT_EQ(last_format().frame_size.height(), 480);
+ EXPECT_EQ(last_format().frame_rate, 30);
device->StopAndDeAllocate();
}
@@ -333,17 +322,16 @@ TEST_F(VideoCaptureDeviceTest, FakeCapture) {
EXPECT_CALL(*client_, OnErr())
.Times(0);
- VideoCaptureCapability capture_format(640,
- 480,
- 30,
- PIXEL_FORMAT_I420,
- ConstantResolutionVideoCaptureDevice);
- device->AllocateAndStart(capture_format,
- client_.PassAs<Client>());
+ VideoCaptureParams capture_params;
+ capture_params.requested_format.frame_size.SetSize(640, 480);
+ capture_params.requested_format.frame_rate = 30;
+ capture_params.requested_format.pixel_format = PIXEL_FORMAT_I420;
+ capture_params.allow_resolution_change = false;
+ device->AllocateAndStart(capture_params, client_.PassAs<Client>());
WaitForCapturedFrame();
- EXPECT_EQ(last_frame_info().width, 640);
- EXPECT_EQ(last_frame_info().height, 480);
- EXPECT_EQ(last_frame_info().frame_rate, 30);
+ EXPECT_EQ(last_format().frame_size.width(), 640);
+ EXPECT_EQ(last_format().frame_size.height(), 480);
+ EXPECT_EQ(last_format().frame_rate, 30);
device->StopAndDeAllocate();
}
@@ -361,17 +349,17 @@ TEST_F(VideoCaptureDeviceTest, MAYBE_CaptureMjpeg) {
EXPECT_CALL(*client_, OnErr())
.Times(0);
- VideoCaptureCapability capture_format(1280,
- 720,
- 30,
- PIXEL_FORMAT_MJPEG,
- ConstantResolutionVideoCaptureDevice);
- device->AllocateAndStart(capture_format, client_.PassAs<Client>());
+ VideoCaptureParams capture_params;
+ capture_params.requested_format.frame_size.SetSize(1280, 720);
+ capture_params.requested_format.frame_rate = 30;
+ capture_params.requested_format.pixel_format = PIXEL_FORMAT_MJPEG;
+ capture_params.allow_resolution_change = false;
+ device->AllocateAndStart(capture_params, client_.PassAs<Client>());
// Get captured video frames.
WaitForCapturedFrame();
// Verify we get MJPEG from the device. Not all devices can capture 1280x720
// @ 30 fps, so we don't care about the exact resolution we get.
- EXPECT_EQ(last_frame_info().color, PIXEL_FORMAT_MJPEG);
+ EXPECT_EQ(last_format().pixel_format, PIXEL_FORMAT_MJPEG);
device->StopAndDeAllocate();
}
@@ -381,12 +369,12 @@ TEST_F(VideoCaptureDeviceTest, GetDeviceSupportedFormats) {
DVLOG(1) << "No camera available. Exiting test.";
return;
}
- VideoCaptureCapabilities capture_formats;
+ VideoCaptureCapabilities capture_capabilities;
VideoCaptureDevice::Names::iterator names_iterator;
for (names_iterator = names_.begin(); names_iterator != names_.end();
++names_iterator) {
VideoCaptureDevice::GetDeviceSupportedFormats(*names_iterator,
- &capture_formats);
+ &capture_capabilities);
// Nothing to test here since we cannot forecast the hardware capabilities.
}
}
@@ -395,11 +383,11 @@ TEST_F(VideoCaptureDeviceTest, FakeCaptureVariableResolution) {
VideoCaptureDevice::Names names;
FakeVideoCaptureDevice::GetDeviceNames(&names);
- media::VideoCaptureCapability capture_format;
- capture_format.width = 640;
- capture_format.height = 480;
- capture_format.frame_rate = 30;
- capture_format.frame_size_type = media::VariableResolutionVideoCaptureDevice;
+ VideoCaptureParams capture_params;
+ capture_params.requested_format.frame_size.SetSize(640, 480);
+ capture_params.requested_format.frame_rate = 30;
+ capture_params.requested_format.pixel_format = PIXEL_FORMAT_I420;
+ capture_params.allow_resolution_change = true;
ASSERT_GT(static_cast<int>(names.size()), 0);
@@ -411,7 +399,7 @@ TEST_F(VideoCaptureDeviceTest, FakeCaptureVariableResolution) {
.Times(0);
int action_count = 200;
- device->AllocateAndStart(capture_format, client_.PassAs<Client>());
+ device->AllocateAndStart(capture_params, client_.PassAs<Client>());
// We set TimeWait to 200 action timeouts and this should be enough for at
// least action_count/kFakeCaptureCapabilityChangePeriod calls.
@@ -425,18 +413,20 @@ TEST_F(VideoCaptureDeviceTest, FakeGetDeviceSupportedFormats) {
VideoCaptureDevice::Names names;
FakeVideoCaptureDevice::GetDeviceNames(&names);
- VideoCaptureCapabilities capture_formats;
+ VideoCaptureCapabilities capture_capabilities;
VideoCaptureDevice::Names::iterator names_iterator;
for (names_iterator = names.begin(); names_iterator != names.end();
++names_iterator) {
FakeVideoCaptureDevice::GetDeviceSupportedFormats(*names_iterator,
- &capture_formats);
- EXPECT_GE(capture_formats.size(), 1u);
- EXPECT_EQ(capture_formats[0].width, 640);
- EXPECT_EQ(capture_formats[0].height, 480);
- EXPECT_EQ(capture_formats[0].color, media::PIXEL_FORMAT_I420);
- EXPECT_GE(capture_formats[0].frame_rate, 20);
+ &capture_capabilities);
+ EXPECT_GE(capture_capabilities.size(), 1u);
+ EXPECT_EQ(capture_capabilities[0].supported_format.frame_size.width(), 640);
+ EXPECT_EQ(capture_capabilities[0].supported_format.frame_size.height(),
+ 480);
+ EXPECT_EQ(capture_capabilities[0].supported_format.pixel_format,
+ media::PIXEL_FORMAT_I420);
+ EXPECT_GE(capture_capabilities[0].supported_format.frame_rate, 20);
}
}
« no previous file with comments | « media/video/capture/video_capture_device.h ('k') | media/video/capture/video_capture_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698