Index: webrtc/media/base/capturemanager_unittest.cc |
diff --git a/webrtc/media/base/capturemanager_unittest.cc b/webrtc/media/base/capturemanager_unittest.cc |
index e643d9d9c26a899710e72eb0ce6fa8615ae1a176..2feaf15f48b5b49a9bbf883bcd450fba44d1a07b 100644 |
--- a/webrtc/media/base/capturemanager_unittest.cc |
+++ b/webrtc/media/base/capturemanager_unittest.cc |
@@ -160,3 +160,41 @@ |
EXPECT_FALSE(capture_manager_.StopVideoCapture(&video_capturer_, |
format_vga_)); |
} |
+ |
+TEST_F(CaptureManagerTest, TestForceRestart) { |
+ EXPECT_TRUE(capture_manager_.StartVideoCapture(&video_capturer_, |
+ format_qvga_)); |
+ capture_manager_.AddVideoSink(&video_capturer_, &video_renderer_); |
+ EXPECT_EQ_WAIT(1, callback_count(), kMsCallbackWait); |
+ EXPECT_TRUE(video_capturer_.CaptureFrame()); |
+ EXPECT_EQ(1, NumFramesRendered()); |
+ EXPECT_TRUE(WasRenderedResolution(format_qvga_)); |
+ // Now restart with vga. |
+ EXPECT_TRUE(capture_manager_.RestartVideoCapture( |
+ &video_capturer_, format_qvga_, format_vga_, |
+ cricket::CaptureManager::kForceRestart)); |
+ EXPECT_TRUE(video_capturer_.CaptureFrame()); |
+ EXPECT_EQ(2, NumFramesRendered()); |
+ EXPECT_TRUE(WasRenderedResolution(format_vga_)); |
+ EXPECT_TRUE(capture_manager_.StopVideoCapture(&video_capturer_, |
+ format_vga_)); |
+} |
+ |
+TEST_F(CaptureManagerTest, TestRequestRestart) { |
+ EXPECT_TRUE(capture_manager_.StartVideoCapture(&video_capturer_, |
+ format_vga_)); |
+ capture_manager_.AddVideoSink(&video_capturer_, &video_renderer_); |
+ EXPECT_EQ_WAIT(1, callback_count(), kMsCallbackWait); |
+ EXPECT_TRUE(video_capturer_.CaptureFrame()); |
+ EXPECT_EQ(1, NumFramesRendered()); |
+ EXPECT_TRUE(WasRenderedResolution(format_vga_)); |
+ // Now request restart with qvga. |
+ EXPECT_TRUE(capture_manager_.RestartVideoCapture( |
+ &video_capturer_, format_vga_, format_qvga_, |
+ cricket::CaptureManager::kRequestRestart)); |
+ EXPECT_TRUE(video_capturer_.CaptureFrame()); |
+ EXPECT_EQ(2, NumFramesRendered()); |
+ EXPECT_TRUE(WasRenderedResolution(format_vga_)); |
+ EXPECT_TRUE(capture_manager_.StopVideoCapture(&video_capturer_, |
+ format_qvga_)); |
+} |