Index: remoting/host/video_scheduler_unittest.cc |
diff --git a/remoting/host/video_scheduler_unittest.cc b/remoting/host/video_scheduler_unittest.cc |
index 44010aff14cf6946887435e15f824f44535bd6d3..7bf17fc1380e0baaf62ade6a8e6ac0a3a82384b0 100644 |
--- a/remoting/host/video_scheduler_unittest.cc |
+++ b/remoting/host/video_scheduler_unittest.cc |
@@ -7,7 +7,6 @@ |
#include "base/bind.h" |
#include "base/message_loop.h" |
#include "base/run_loop.h" |
-#include "media/video/capture/screen/screen_capture_data.h" |
#include "media/video/capture/screen/screen_capturer_mock_objects.h" |
#include "remoting/base/auto_thread_task_runner.h" |
#include "remoting/codec/video_encoder.h" |
@@ -15,6 +14,7 @@ |
#include "remoting/protocol/protocol_mock_objects.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h" |
using ::remoting::protocol::MockClientStub; |
using ::remoting::protocol::MockVideoStub; |
@@ -38,7 +38,7 @@ namespace { |
ACTION(FinishEncode) { |
scoped_ptr<VideoPacket> packet(new VideoPacket()); |
packet->set_flags(VideoPacket::LAST_PACKET | VideoPacket::LAST_PARTITION); |
- arg2.Run(packet.Pass()); |
+ arg1.Run(packet.Pass()); |
} |
ACTION(FinishSend) { |
@@ -55,9 +55,8 @@ class MockVideoEncoder : public VideoEncoder { |
MockVideoEncoder(); |
virtual ~MockVideoEncoder(); |
- MOCK_METHOD3(Encode, void( |
- scoped_refptr<media::ScreenCaptureData> capture_data, |
- bool key_frame, |
+ MOCK_METHOD2(Encode, void( |
+ const webrtc::DesktopFrame* frame, |
const DataAvailableCallback& data_available_callback)); |
private: |
@@ -78,9 +77,8 @@ class VideoSchedulerTest : public testing::Test { |
void StopVideoScheduler(); |
// media::ScreenCapturer mocks. |
- void OnCapturerStart(media::ScreenCapturer::Delegate* delegate); |
- void OnCapturerStop(); |
- void OnCaptureFrame(); |
+ void OnCapturerStart(media::ScreenCapturer::Callback* callback); |
+ void OnCaptureFrame(const webrtc::DesktopRegion& region); |
protected: |
base::MessageLoop message_loop_; |
@@ -94,10 +92,10 @@ class VideoSchedulerTest : public testing::Test { |
// The following mock objects are owned by VideoScheduler. |
MockVideoEncoder* encoder_; |
- scoped_refptr<media::ScreenCaptureData> data_; |
+ scoped_ptr<webrtc::DesktopFrame> frame_; |
- // Points to the delegate passed to media::ScreenCapturer::Start(). |
- media::ScreenCapturer::Delegate* capturer_delegate_; |
+ // Points to the callback passed to media::ScreenCapturer::Start(). |
+ media::ScreenCapturer::Callback* capturer_callback_; |
private: |
DISALLOW_COPY_AND_ASSIGN(VideoSchedulerTest); |
@@ -105,7 +103,7 @@ class VideoSchedulerTest : public testing::Test { |
VideoSchedulerTest::VideoSchedulerTest() |
: encoder_(NULL), |
- capturer_delegate_(NULL) { |
+ capturer_callback_(NULL) { |
} |
void VideoSchedulerTest::SetUp() { |
@@ -134,22 +132,17 @@ void VideoSchedulerTest::StopVideoScheduler() { |
} |
void VideoSchedulerTest::OnCapturerStart( |
- media::ScreenCapturer::Delegate* delegate) { |
- EXPECT_FALSE(capturer_delegate_); |
- EXPECT_TRUE(delegate); |
+ media::ScreenCapturer::Callback* callback) { |
+ EXPECT_FALSE(capturer_callback_); |
+ EXPECT_TRUE(callback); |
- capturer_delegate_ = delegate; |
+ capturer_callback_ = callback; |
} |
-void VideoSchedulerTest::OnCapturerStop() { |
- capturer_delegate_ = NULL; |
-} |
- |
-void VideoSchedulerTest::OnCaptureFrame() { |
- SkRegion update_region(SkIRect::MakeXYWH(0, 0, 10, 10)); |
- data_->mutable_dirty_region().op(update_region, SkRegion::kUnion_Op); |
- |
- capturer_delegate_->OnCaptureCompleted(data_); |
+void VideoSchedulerTest::OnCaptureFrame(const webrtc::DesktopRegion& region) { |
+ frame_->mutable_updated_region()->SetRect( |
+ webrtc::DesktopRect::MakeXYWH(0, 0, 10, 10)); |
+ capturer_callback_->OnCaptureCompleted(frame_.release()); |
} |
// This test mocks capturer, encoder and network layer to simulate one capture |
@@ -163,17 +156,17 @@ TEST_F(VideoSchedulerTest, StartAndStop) { |
EXPECT_CALL(*capturer, Start(_)) |
.WillOnce(Invoke(this, &VideoSchedulerTest::OnCapturerStart)); |
- data_ = new media::ScreenCaptureData( |
- NULL, kWidth * media::ScreenCaptureData::kBytesPerPixel, |
- SkISize::Make(kWidth, kHeight)); |
+ frame_.reset(new webrtc::BasicDesktopFrame( |
+ webrtc::DesktopSize(kWidth, kHeight))); |
+ webrtc::DesktopFrame* frame_ptr = frame_.get(); |
// First the capturer is called. |
- Expectation capturer_capture = EXPECT_CALL(*capturer, CaptureFrame()) |
+ Expectation capturer_capture = EXPECT_CALL(*capturer, Capture(_)) |
.After(capturer_start) |
.WillRepeatedly(Invoke(this, &VideoSchedulerTest::OnCaptureFrame)); |
// Expect the encoder be called. |
- EXPECT_CALL(*encoder_, Encode(data_, false, _)) |
+ EXPECT_CALL(*encoder_, Encode(frame_ptr, _)) |
.WillRepeatedly(FinishEncode()); |
// By default delete the arguments when ProcessVideoPacket is received. |