Index: content/browser/renderer_host/media/video_capture_host_unittest.cc |
diff --git a/content/browser/renderer_host/media/video_capture_host_unittest.cc b/content/browser/renderer_host/media/video_capture_host_unittest.cc |
index 57a47c852b47d50c6e6a93790b41ea5c1efe35c9..aace519800c03d9ca6980766c2579e31bc04b65e 100644 |
--- a/content/browser/renderer_host/media/video_capture_host_unittest.cc |
+++ b/content/browser/renderer_host/media/video_capture_host_unittest.cc |
@@ -64,23 +64,27 @@ static const int kDeviceId = 555; |
// verifying the output. |
class DumpVideo { |
public: |
- DumpVideo() : expected_size_(0) {} |
- void StartDump(int width, int height) { |
+ DumpVideo() {} |
+ const gfx::Size& coded_size() const { return coded_size_; } |
+ void StartDump(const gfx::Size& coded_size) { |
base::FilePath file_name = base::FilePath(base::StringPrintf( |
- FILE_PATH_LITERAL("dump_w%d_h%d.yuv"), width, height)); |
+ FILE_PATH_LITERAL("dump_w%d_h%d.yuv"), |
+ coded_size.width(), |
+ coded_size.height())); |
file_.reset(base::OpenFile(file_name, "wb")); |
- expected_size_ = media::VideoFrame::AllocationSize( |
- media::VideoFrame::I420, gfx::Size(width, height)); |
+ coded_size_ = coded_size; |
} |
void NewVideoFrame(const void* buffer) { |
if (file_.get() != NULL) { |
- ASSERT_EQ(1U, fwrite(buffer, expected_size_, 1, file_.get())); |
+ const int size = media::VideoFrame::AllocationSize( |
+ media::VideoFrame::I420, coded_size_); |
+ ASSERT_EQ(1U, fwrite(buffer, size, 1, file_.get())); |
} |
} |
private: |
base::ScopedFILE file_; |
- int expected_size_; |
+ gfx::Size coded_size_; |
}; |
class MockMediaStreamRequester : public MediaStreamRequester { |
@@ -130,18 +134,20 @@ class MockVideoCaptureHost : public VideoCaptureHost { |
int buffer_id)); |
MOCK_METHOD2(OnBufferFreed, |
void(int device_id, int buffer_id)); |
- MOCK_METHOD5(OnBufferFilled, |
+ MOCK_METHOD6(OnBufferFilled, |
void(int device_id, |
int buffer_id, |
- const media::VideoCaptureFormat& format, |
+ const gfx::Size& coded_size, |
const gfx::Rect& visible_rect, |
- base::TimeTicks timestamp)); |
- MOCK_METHOD5(OnMailboxBufferFilled, |
+ base::TimeTicks timestamp, |
+ const base::DictionaryValue& metadata)); |
+ MOCK_METHOD6(OnMailboxBufferFilled, |
void(int device_id, |
int buffer_id, |
const gpu::MailboxHolder& mailbox_holder, |
- const media::VideoCaptureFormat& format, |
- base::TimeTicks timestamp)); |
+ const gfx::Size& packed_frame_size, |
+ base::TimeTicks timestamp, |
+ const base::DictionaryValue& metadata)); |
MOCK_METHOD2(OnStateChanged, void(int device_id, VideoCaptureState state)); |
// Use class DumpVideo to write I420 video to file. |
@@ -224,41 +230,34 @@ class MockVideoCaptureHost : public VideoCaptureHost { |
filled_dib_.erase(it); |
} |
- void OnBufferFilledDispatch(int device_id, |
- int buffer_id, |
- const media::VideoCaptureFormat& frame_format, |
- const gfx::Rect& visible_rect, |
- base::TimeTicks timestamp) { |
- base::SharedMemory* dib = filled_dib_[buffer_id]; |
+ void OnBufferFilledDispatch( |
+ const VideoCaptureMsg_BufferReady_Params& params) { |
+ base::SharedMemory* dib = filled_dib_[params.buffer_id]; |
ASSERT_TRUE(dib != NULL); |
if (dump_video_) { |
- if (!format_.IsValid()) { |
- dumper_.StartDump(frame_format.frame_size.width(), |
- frame_format.frame_size.height()); |
- format_ = frame_format; |
- } |
- ASSERT_EQ(format_.frame_size.width(), frame_format.frame_size.width()) |
- << "Dump format does not handle variable resolution."; |
- ASSERT_EQ(format_.frame_size.height(), frame_format.frame_size.height()) |
+ if (dumper_.coded_size().IsEmpty()) |
+ dumper_.StartDump(params.coded_size); |
+ ASSERT_TRUE(dumper_.coded_size() == params.coded_size) |
<< "Dump format does not handle variable resolution."; |
dumper_.NewVideoFrame(dib->memory()); |
} |
- OnBufferFilled(device_id, buffer_id, frame_format, visible_rect, timestamp); |
+ OnBufferFilled(params.device_id, params.buffer_id, params.coded_size, |
+ params.visible_rect, params.timestamp, params.metadata); |
if (return_buffers_) { |
- VideoCaptureHost::OnReceiveEmptyBuffer(device_id, buffer_id, 0); |
+ VideoCaptureHost::OnReceiveEmptyBuffer( |
+ params.device_id, params.buffer_id, 0); |
} |
} |
- void OnMailboxBufferFilledDispatch(int device_id, |
- int buffer_id, |
- const gpu::MailboxHolder& mailbox_holder, |
- const media::VideoCaptureFormat& format, |
- base::TimeTicks timestamp) { |
- OnMailboxBufferFilled( |
- device_id, buffer_id, mailbox_holder, format, timestamp); |
+ void OnMailboxBufferFilledDispatch( |
+ const VideoCaptureMsg_MailboxBufferReady_Params& params) { |
+ OnMailboxBufferFilled(params.device_id, params.buffer_id, |
+ params.mailbox_holder, params.packed_frame_size, |
+ params.timestamp, params.metadata); |
if (return_buffers_) { |
- VideoCaptureHost::OnReceiveEmptyBuffer(device_id, buffer_id, 0); |
+ VideoCaptureHost::OnReceiveEmptyBuffer( |
+ params.device_id, params.buffer_id, 0); |
} |
} |
@@ -407,7 +406,7 @@ class VideoCaptureHostTest : public testing::Test { |
.WillRepeatedly(Return()); |
base::RunLoop run_loop; |
- EXPECT_CALL(*host_.get(), OnBufferFilled(kDeviceId, _, _, _, _)) |
+ EXPECT_CALL(*host_.get(), OnBufferFilled(kDeviceId, _, _, _, _, _)) |
.Times(AnyNumber()) |
.WillOnce(ExitMessageLoop(message_loop_, run_loop.QuitClosure())); |
@@ -441,7 +440,7 @@ class VideoCaptureHostTest : public testing::Test { |
.Times(AnyNumber()).WillRepeatedly(Return()); |
base::RunLoop run_loop; |
- EXPECT_CALL(*host_, OnBufferFilled(kDeviceId, _, _, _, _)) |
+ EXPECT_CALL(*host_, OnBufferFilled(kDeviceId, _, _, _, _, _)) |
.Times(AnyNumber()) |
.WillOnce(ExitMessageLoop(message_loop_, run_loop.QuitClosure())); |
@@ -473,7 +472,7 @@ class VideoCaptureHostTest : public testing::Test { |
void NotifyPacketReady() { |
base::RunLoop run_loop; |
- EXPECT_CALL(*host_.get(), OnBufferFilled(kDeviceId, _, _, _, _)) |
+ EXPECT_CALL(*host_.get(), OnBufferFilled(kDeviceId, _, _, _, _, _)) |
.Times(AnyNumber()) |
.WillOnce(ExitMessageLoop(message_loop_, run_loop.QuitClosure())) |
.RetiresOnSaturation(); |