| 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 "media/video/capture/screen/screen_capture_device.h" | 5 #include "media/video/capture/screen/screen_capture_device.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/sequenced_task_runner.h" | 8 #include "base/sequenced_task_runner.h" |
| 9 #include "base/synchronization/waitable_event.h" | 9 #include "base/synchronization/waitable_event.h" |
| 10 #include "base/test/test_timeouts.h" | 10 #include "base/test/test_timeouts.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 base::Time timestamp, | 42 base::Time timestamp, |
| 43 int rotation, | 43 int rotation, |
| 44 bool flip_vert, | 44 bool flip_vert, |
| 45 bool flip_horiz)); | 45 bool flip_horiz)); |
| 46 MOCK_METHOD2(OnIncomingCapturedVideoFrame, | 46 MOCK_METHOD2(OnIncomingCapturedVideoFrame, |
| 47 void(const scoped_refptr<media::VideoFrame>& frame, | 47 void(const scoped_refptr<media::VideoFrame>& frame, |
| 48 base::Time timestamp)); | 48 base::Time timestamp)); |
| 49 }; | 49 }; |
| 50 | 50 |
| 51 // TODO(sergeyu): Move this to a separate file where it can be reused. | 51 // TODO(sergeyu): Move this to a separate file where it can be reused. |
| 52 class FakeScreenCapturer : public ScreenCapturer { | 52 class FakeScreenCapturer : public webrtc::ScreenCapturer { |
| 53 public: | 53 public: |
| 54 FakeScreenCapturer() | 54 FakeScreenCapturer() |
| 55 : callback_(NULL), | 55 : callback_(NULL), |
| 56 frame_index_(0) { | 56 frame_index_(0) { |
| 57 } | 57 } |
| 58 virtual ~FakeScreenCapturer() {} | 58 virtual ~FakeScreenCapturer() {} |
| 59 | 59 |
| 60 // VideoFrameCapturer interface. | 60 // VideoFrameCapturer interface. |
| 61 virtual void Start(Callback* callback) OVERRIDE { | 61 virtual void Start(Callback* callback) OVERRIDE { |
| 62 callback_ = callback; | 62 callback_ = callback; |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 EXPECT_EQ(caps.width * caps.height * 4, frame_size); | 126 EXPECT_EQ(caps.width * caps.height * 4, frame_size); |
| 127 } | 127 } |
| 128 | 128 |
| 129 // Test that screen capturer can handle resolution change without crashing. | 129 // Test that screen capturer can handle resolution change without crashing. |
| 130 TEST_F(ScreenCaptureDeviceTest, ScreenResolutionChange) { | 130 TEST_F(ScreenCaptureDeviceTest, ScreenResolutionChange) { |
| 131 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer(); | 131 FakeScreenCapturer* mock_capturer = new FakeScreenCapturer(); |
| 132 | 132 |
| 133 ScreenCaptureDevice capture_device( | 133 ScreenCaptureDevice capture_device( |
| 134 worker_pool_->GetSequencedTaskRunner(worker_pool_->GetSequenceToken())); | 134 worker_pool_->GetSequencedTaskRunner(worker_pool_->GetSequenceToken())); |
| 135 capture_device.SetScreenCapturerForTest( | 135 capture_device.SetScreenCapturerForTest( |
| 136 scoped_ptr<ScreenCapturer>(mock_capturer)); | 136 scoped_ptr<webrtc::ScreenCapturer>(mock_capturer)); |
| 137 | 137 |
| 138 VideoCaptureCapability caps; | 138 VideoCaptureCapability caps; |
| 139 base::WaitableEvent done_event(false, false); | 139 base::WaitableEvent done_event(false, false); |
| 140 int frame_size; | 140 int frame_size; |
| 141 | 141 |
| 142 MockFrameObserver frame_observer; | 142 MockFrameObserver frame_observer; |
| 143 EXPECT_CALL(frame_observer, OnFrameInfo(_)) | 143 EXPECT_CALL(frame_observer, OnFrameInfo(_)) |
| 144 .WillOnce(SaveArg<0>(&caps)); | 144 .WillOnce(SaveArg<0>(&caps)); |
| 145 EXPECT_CALL(frame_observer, OnError()) | 145 EXPECT_CALL(frame_observer, OnError()) |
| 146 .Times(0); | 146 .Times(0); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 162 EXPECT_EQ(kTestFrameWidth1, caps.width); | 162 EXPECT_EQ(kTestFrameWidth1, caps.width); |
| 163 EXPECT_EQ(kTestFrameHeight1, caps.height); | 163 EXPECT_EQ(kTestFrameHeight1, caps.height); |
| 164 EXPECT_EQ(kFrameRate, caps.frame_rate); | 164 EXPECT_EQ(kFrameRate, caps.frame_rate); |
| 165 EXPECT_EQ(VideoCaptureCapability::kARGB, caps.color); | 165 EXPECT_EQ(VideoCaptureCapability::kARGB, caps.color); |
| 166 EXPECT_FALSE(caps.interlaced); | 166 EXPECT_FALSE(caps.interlaced); |
| 167 | 167 |
| 168 EXPECT_EQ(caps.width * caps.height * 4, frame_size); | 168 EXPECT_EQ(caps.width * caps.height * 4, frame_size); |
| 169 } | 169 } |
| 170 | 170 |
| 171 } // namespace media | 171 } // namespace media |
| OLD | NEW |