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

Side by Side Diff: webrtc/modules/video_capture/test/video_capture_unittest.cc

Issue 2765243002: Delete RawVideoType enum, use the VideoType enum instead. (Closed)
Patch Set: Define constant webrtc::kI420, for backwards compatibility. Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 OpenVideoCaptureDevice(0, &capture_observer)); 205 OpenVideoCaptureDevice(0, &capture_observer));
206 ASSERT_TRUE(module.get() != NULL); 206 ASSERT_TRUE(module.get() != NULL);
207 207
208 VideoCaptureCapability capability; 208 VideoCaptureCapability capability;
209 #ifndef WEBRTC_MAC 209 #ifndef WEBRTC_MAC
210 device_info_->GetCapability(module->CurrentDeviceName(), 0, capability); 210 device_info_->GetCapability(module->CurrentDeviceName(), 0, capability);
211 #else 211 #else
212 capability.width = kTestWidth; 212 capability.width = kTestWidth;
213 capability.height = kTestHeight; 213 capability.height = kTestHeight;
214 capability.maxFPS = kTestFramerate; 214 capability.maxFPS = kTestFramerate;
215 capability.rawType = webrtc::kVideoUnknown; 215 capability.videoType = webrtc::VideoType::kUnknown;
216 #endif 216 #endif
217 capture_observer.SetExpectedCapability(capability); 217 capture_observer.SetExpectedCapability(capability);
218 ASSERT_NO_FATAL_FAILURE(StartCapture(module.get(), capability)); 218 ASSERT_NO_FATAL_FAILURE(StartCapture(module.get(), capability));
219 219
220 // Less than 4s to start the camera. 220 // Less than 4s to start the camera.
221 EXPECT_LE(rtc::TimeMillis() - start_time, 4000); 221 EXPECT_LE(rtc::TimeMillis() - start_time, 4000);
222 222
223 // Make sure 5 frames are captured. 223 // Make sure 5 frames are captured.
224 EXPECT_TRUE_WAIT(capture_observer.incoming_frames() >= 5, kTimeOut); 224 EXPECT_TRUE_WAIT(capture_observer.incoming_frames() >= 5, kTimeOut);
225 225
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 rtc::scoped_refptr<VideoCaptureModule> module1( 312 rtc::scoped_refptr<VideoCaptureModule> module1(
313 OpenVideoCaptureDevice(0, &capture_observer1)); 313 OpenVideoCaptureDevice(0, &capture_observer1));
314 ASSERT_TRUE(module1.get() != NULL); 314 ASSERT_TRUE(module1.get() != NULL);
315 VideoCaptureCapability capability1; 315 VideoCaptureCapability capability1;
316 #ifndef WEBRTC_MAC 316 #ifndef WEBRTC_MAC
317 device_info_->GetCapability(module1->CurrentDeviceName(), 0, capability1); 317 device_info_->GetCapability(module1->CurrentDeviceName(), 0, capability1);
318 #else 318 #else
319 capability1.width = kTestWidth; 319 capability1.width = kTestWidth;
320 capability1.height = kTestHeight; 320 capability1.height = kTestHeight;
321 capability1.maxFPS = kTestFramerate; 321 capability1.maxFPS = kTestFramerate;
322 capability1.rawType = webrtc::kVideoUnknown; 322 capability1.videoType = webrtc::VideoType::kUnknown;
323 #endif 323 #endif
324 capture_observer1.SetExpectedCapability(capability1); 324 capture_observer1.SetExpectedCapability(capability1);
325 325
326 TestVideoCaptureCallback capture_observer2; 326 TestVideoCaptureCallback capture_observer2;
327 rtc::scoped_refptr<VideoCaptureModule> module2( 327 rtc::scoped_refptr<VideoCaptureModule> module2(
328 OpenVideoCaptureDevice(1, &capture_observer2)); 328 OpenVideoCaptureDevice(1, &capture_observer2));
329 ASSERT_TRUE(module1.get() != NULL); 329 ASSERT_TRUE(module1.get() != NULL);
330 330
331 331
332 VideoCaptureCapability capability2; 332 VideoCaptureCapability capability2;
333 #ifndef WEBRTC_MAC 333 #ifndef WEBRTC_MAC
334 device_info_->GetCapability(module2->CurrentDeviceName(), 0, capability2); 334 device_info_->GetCapability(module2->CurrentDeviceName(), 0, capability2);
335 #else 335 #else
336 capability2.width = kTestWidth; 336 capability2.width = kTestWidth;
337 capability2.height = kTestHeight; 337 capability2.height = kTestHeight;
338 capability2.maxFPS = kTestFramerate; 338 capability2.maxFPS = kTestFramerate;
339 capability2.rawType = webrtc::kVideoUnknown; 339 capability2.videoType = webrtc::VideoType::kUnknown;
340 #endif 340 #endif
341 capture_observer2.SetExpectedCapability(capability2); 341 capture_observer2.SetExpectedCapability(capability2);
342 342
343 ASSERT_NO_FATAL_FAILURE(StartCapture(module1.get(), capability1)); 343 ASSERT_NO_FATAL_FAILURE(StartCapture(module1.get(), capability1));
344 ASSERT_NO_FATAL_FAILURE(StartCapture(module2.get(), capability2)); 344 ASSERT_NO_FATAL_FAILURE(StartCapture(module2.get(), capability2));
345 EXPECT_TRUE_WAIT(capture_observer1.incoming_frames() >= 5, kTimeOut); 345 EXPECT_TRUE_WAIT(capture_observer1.incoming_frames() >= 5, kTimeOut);
346 EXPECT_TRUE_WAIT(capture_observer2.incoming_frames() >= 5, kTimeOut); 346 EXPECT_TRUE_WAIT(capture_observer2.incoming_frames() >= 5, kTimeOut);
347 EXPECT_EQ(0, module2->StopCapture()); 347 EXPECT_EQ(0, module2->StopCapture());
348 EXPECT_EQ(0, module1->StopCapture()); 348 EXPECT_EQ(0, module1->StopCapture());
349 } 349 }
350 350
351 // Test class for testing external capture and capture feedback information 351 // Test class for testing external capture and capture feedback information
352 // such as frame rate and picture alarm. 352 // such as frame rate and picture alarm.
353 class VideoCaptureExternalTest : public testing::Test { 353 class VideoCaptureExternalTest : public testing::Test {
354 public: 354 public:
355 void SetUp() { 355 void SetUp() {
356 capture_module_ = VideoCaptureFactory::Create(capture_input_interface_); 356 capture_module_ = VideoCaptureFactory::Create(capture_input_interface_);
357 357
358 VideoCaptureCapability capability; 358 VideoCaptureCapability capability;
359 capability.width = kTestWidth; 359 capability.width = kTestWidth;
360 capability.height = kTestHeight; 360 capability.height = kTestHeight;
361 capability.rawType = webrtc::kVideoYV12; 361 capability.videoType = webrtc::VideoType::kYV12;
362 capability.maxFPS = kTestFramerate; 362 capability.maxFPS = kTestFramerate;
363 capture_callback_.SetExpectedCapability(capability); 363 capture_callback_.SetExpectedCapability(capability);
364 364
365 rtc::scoped_refptr<webrtc::I420Buffer> buffer = webrtc::I420Buffer::Create( 365 rtc::scoped_refptr<webrtc::I420Buffer> buffer = webrtc::I420Buffer::Create(
366 kTestWidth, kTestHeight, 366 kTestWidth, kTestHeight,
367 kTestWidth, ((kTestWidth + 1) / 2), (kTestWidth + 1) / 2); 367 kTestWidth, ((kTestWidth + 1) / 2), (kTestWidth + 1) / 2);
368 368
369 memset(buffer->MutableDataY(), 127, kTestWidth * kTestHeight); 369 memset(buffer->MutableDataY(), 127, kTestWidth * kTestHeight);
370 memset(buffer->MutableDataU(), 127, 370 memset(buffer->MutableDataU(), 127,
371 ((kTestWidth + 1) / 2) * ((kTestHeight + 1) / 2)); 371 ((kTestWidth + 1) / 2) * ((kTestHeight + 1) / 2));
(...skipping 11 matching lines...) Expand all
383 } 383 }
384 384
385 webrtc::VideoCaptureExternal* capture_input_interface_; 385 webrtc::VideoCaptureExternal* capture_input_interface_;
386 rtc::scoped_refptr<VideoCaptureModule> capture_module_; 386 rtc::scoped_refptr<VideoCaptureModule> capture_module_;
387 std::unique_ptr<webrtc::VideoFrame> test_frame_; 387 std::unique_ptr<webrtc::VideoFrame> test_frame_;
388 TestVideoCaptureCallback capture_callback_; 388 TestVideoCaptureCallback capture_callback_;
389 }; 389 };
390 390
391 // Test input of external video frames. 391 // Test input of external video frames.
392 TEST_F(VideoCaptureExternalTest, TestExternalCapture) { 392 TEST_F(VideoCaptureExternalTest, TestExternalCapture) {
393 size_t length = webrtc::CalcBufferSize(webrtc::kI420, 393 size_t length = webrtc::CalcBufferSize(
394 test_frame_->width(), 394 webrtc::VideoType::kI420, test_frame_->width(), test_frame_->height());
395 test_frame_->height());
396 std::unique_ptr<uint8_t[]> test_buffer(new uint8_t[length]); 395 std::unique_ptr<uint8_t[]> test_buffer(new uint8_t[length]);
397 webrtc::ExtractBuffer(*test_frame_, length, test_buffer.get()); 396 webrtc::ExtractBuffer(*test_frame_, length, test_buffer.get());
398 EXPECT_EQ(0, capture_input_interface_->IncomingFrame(test_buffer.get(), 397 EXPECT_EQ(0, capture_input_interface_->IncomingFrame(test_buffer.get(),
399 length, capture_callback_.capability(), 0)); 398 length, capture_callback_.capability(), 0));
400 EXPECT_TRUE(capture_callback_.CompareLastFrame(*test_frame_)); 399 EXPECT_TRUE(capture_callback_.CompareLastFrame(*test_frame_));
401 } 400 }
402 401
403 TEST_F(VideoCaptureExternalTest, Rotation) { 402 TEST_F(VideoCaptureExternalTest, Rotation) {
404 EXPECT_EQ(0, capture_module_->SetCaptureRotation(webrtc::kVideoRotation_0)); 403 EXPECT_EQ(0, capture_module_->SetCaptureRotation(webrtc::kVideoRotation_0));
405 size_t length = webrtc::CalcBufferSize(webrtc::kI420, 404 size_t length = webrtc::CalcBufferSize(
406 test_frame_->width(), 405 webrtc::VideoType::kI420, test_frame_->width(), test_frame_->height());
407 test_frame_->height());
408 std::unique_ptr<uint8_t[]> test_buffer(new uint8_t[length]); 406 std::unique_ptr<uint8_t[]> test_buffer(new uint8_t[length]);
409 webrtc::ExtractBuffer(*test_frame_, length, test_buffer.get()); 407 webrtc::ExtractBuffer(*test_frame_, length, test_buffer.get());
410 EXPECT_EQ(0, capture_input_interface_->IncomingFrame(test_buffer.get(), 408 EXPECT_EQ(0, capture_input_interface_->IncomingFrame(test_buffer.get(),
411 length, capture_callback_.capability(), 0)); 409 length, capture_callback_.capability(), 0));
412 EXPECT_EQ(0, capture_module_->SetCaptureRotation(webrtc::kVideoRotation_90)); 410 EXPECT_EQ(0, capture_module_->SetCaptureRotation(webrtc::kVideoRotation_90));
413 capture_callback_.SetExpectedCaptureRotation(webrtc::kVideoRotation_90); 411 capture_callback_.SetExpectedCaptureRotation(webrtc::kVideoRotation_90);
414 EXPECT_EQ(0, capture_input_interface_->IncomingFrame(test_buffer.get(), 412 EXPECT_EQ(0, capture_input_interface_->IncomingFrame(test_buffer.get(),
415 length, capture_callback_.capability(), 0)); 413 length, capture_callback_.capability(), 0));
416 EXPECT_EQ(0, capture_module_->SetCaptureRotation(webrtc::kVideoRotation_180)); 414 EXPECT_EQ(0, capture_module_->SetCaptureRotation(webrtc::kVideoRotation_180));
417 capture_callback_.SetExpectedCaptureRotation(webrtc::kVideoRotation_180); 415 capture_callback_.SetExpectedCaptureRotation(webrtc::kVideoRotation_180);
418 EXPECT_EQ(0, capture_input_interface_->IncomingFrame(test_buffer.get(), 416 EXPECT_EQ(0, capture_input_interface_->IncomingFrame(test_buffer.get(),
419 length, capture_callback_.capability(), 0)); 417 length, capture_callback_.capability(), 0));
420 EXPECT_EQ(0, capture_module_->SetCaptureRotation(webrtc::kVideoRotation_270)); 418 EXPECT_EQ(0, capture_module_->SetCaptureRotation(webrtc::kVideoRotation_270));
421 capture_callback_.SetExpectedCaptureRotation(webrtc::kVideoRotation_270); 419 capture_callback_.SetExpectedCaptureRotation(webrtc::kVideoRotation_270);
422 EXPECT_EQ(0, capture_input_interface_->IncomingFrame(test_buffer.get(), 420 EXPECT_EQ(0, capture_input_interface_->IncomingFrame(test_buffer.get(),
423 length, capture_callback_.capability(), 0)); 421 length, capture_callback_.capability(), 0));
424 } 422 }
OLDNEW
« no previous file with comments | « webrtc/modules/video_capture/objc/video_capture.mm ('k') | webrtc/modules/video_capture/video_capture_defines.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698