OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/media/capture/desktop_capture_device.h" | 5 #include "content/browser/media/capture/desktop_capture_device.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/synchronization/waitable_event.h" | 10 #include "base/synchronization/waitable_event.h" |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 EXPECT_CALL(*client, OnError(_)).Times(0); | 168 EXPECT_CALL(*client, OnError(_)).Times(0); |
169 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _)).WillRepeatedly( | 169 EXPECT_CALL(*client, OnIncomingCapturedData(_, _, _, _, _)).WillRepeatedly( |
170 DoAll(SaveArg<1>(&frame_size), | 170 DoAll(SaveArg<1>(&frame_size), |
171 SaveArg<2>(&format), | 171 SaveArg<2>(&format), |
172 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal))); | 172 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal))); |
173 | 173 |
174 media::VideoCaptureParams capture_params; | 174 media::VideoCaptureParams capture_params; |
175 capture_params.requested_format.frame_size.SetSize(640, 480); | 175 capture_params.requested_format.frame_size.SetSize(640, 480); |
176 capture_params.requested_format.frame_rate = kFrameRate; | 176 capture_params.requested_format.frame_rate = kFrameRate; |
177 capture_params.requested_format.pixel_format = media::PIXEL_FORMAT_I420; | 177 capture_params.requested_format.pixel_format = media::PIXEL_FORMAT_I420; |
178 capture_device_->AllocateAndStart( | 178 capture_device_->AllocateAndStart(capture_params, client.Pass()); |
179 capture_params, client.PassAs<media::VideoCaptureDevice::Client>()); | |
180 EXPECT_TRUE(done_event.TimedWait(TestTimeouts::action_max_timeout())); | 179 EXPECT_TRUE(done_event.TimedWait(TestTimeouts::action_max_timeout())); |
181 capture_device_->StopAndDeAllocate(); | 180 capture_device_->StopAndDeAllocate(); |
182 | 181 |
183 EXPECT_GT(format.frame_size.width(), 0); | 182 EXPECT_GT(format.frame_size.width(), 0); |
184 EXPECT_GT(format.frame_size.height(), 0); | 183 EXPECT_GT(format.frame_size.height(), 0); |
185 EXPECT_EQ(kFrameRate, format.frame_rate); | 184 EXPECT_EQ(kFrameRate, format.frame_rate); |
186 EXPECT_EQ(media::PIXEL_FORMAT_ARGB, format.pixel_format); | 185 EXPECT_EQ(media::PIXEL_FORMAT_ARGB, format.pixel_format); |
187 | 186 |
188 EXPECT_EQ(format.frame_size.GetArea() * 4, frame_size); | 187 EXPECT_EQ(format.frame_size.GetArea() * 4, frame_size); |
189 } | 188 } |
(...skipping 15 matching lines...) Expand all Loading... |
205 DoAll(SaveArg<1>(&frame_size), | 204 DoAll(SaveArg<1>(&frame_size), |
206 SaveArg<2>(&format), | 205 SaveArg<2>(&format), |
207 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal))); | 206 InvokeWithoutArgs(&done_event, &base::WaitableEvent::Signal))); |
208 | 207 |
209 media::VideoCaptureParams capture_params; | 208 media::VideoCaptureParams capture_params; |
210 capture_params.requested_format.frame_size.SetSize(kTestFrameWidth1, | 209 capture_params.requested_format.frame_size.SetSize(kTestFrameWidth1, |
211 kTestFrameHeight1); | 210 kTestFrameHeight1); |
212 capture_params.requested_format.frame_rate = kFrameRate; | 211 capture_params.requested_format.frame_rate = kFrameRate; |
213 capture_params.requested_format.pixel_format = media::PIXEL_FORMAT_I420; | 212 capture_params.requested_format.pixel_format = media::PIXEL_FORMAT_I420; |
214 | 213 |
215 capture_device_->AllocateAndStart( | 214 capture_device_->AllocateAndStart(capture_params, client.Pass()); |
216 capture_params, client.PassAs<media::VideoCaptureDevice::Client>()); | |
217 | 215 |
218 // Capture at least two frames, to ensure that the source frame size has | 216 // Capture at least two frames, to ensure that the source frame size has |
219 // changed while capturing. | 217 // changed while capturing. |
220 EXPECT_TRUE(done_event.TimedWait(TestTimeouts::action_max_timeout())); | 218 EXPECT_TRUE(done_event.TimedWait(TestTimeouts::action_max_timeout())); |
221 done_event.Reset(); | 219 done_event.Reset(); |
222 EXPECT_TRUE(done_event.TimedWait(TestTimeouts::action_max_timeout())); | 220 EXPECT_TRUE(done_event.TimedWait(TestTimeouts::action_max_timeout())); |
223 | 221 |
224 capture_device_->StopAndDeAllocate(); | 222 capture_device_->StopAndDeAllocate(); |
225 | 223 |
226 EXPECT_EQ(kTestFrameWidth1, format.frame_size.width()); | 224 EXPECT_EQ(kTestFrameWidth1, format.frame_size.width()); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 | 264 |
267 capture_device_->StopAndDeAllocate(); | 265 capture_device_->StopAndDeAllocate(); |
268 | 266 |
269 EXPECT_EQ(kTestFrameWidth1, format.frame_size.width()); | 267 EXPECT_EQ(kTestFrameWidth1, format.frame_size.width()); |
270 EXPECT_EQ(kTestFrameHeight1, format.frame_size.height()); | 268 EXPECT_EQ(kTestFrameHeight1, format.frame_size.height()); |
271 EXPECT_EQ(kFrameRate, format.frame_rate); | 269 EXPECT_EQ(kFrameRate, format.frame_rate); |
272 EXPECT_EQ(media::PIXEL_FORMAT_ARGB, format.pixel_format); | 270 EXPECT_EQ(media::PIXEL_FORMAT_ARGB, format.pixel_format); |
273 } | 271 } |
274 | 272 |
275 } // namespace content | 273 } // namespace content |
OLD | NEW |