Chromium Code Reviews| Index: remoting/host/ipc_video_frame_capturer.cc |
| diff --git a/remoting/host/ipc_video_frame_capturer.cc b/remoting/host/ipc_video_frame_capturer.cc |
| index 5d1016f9307580cbcd7a8a708330f66b6aa0b45c..044b367a9cacbf922593b3233c7a9ac25abc2ce8 100644 |
| --- a/remoting/host/ipc_video_frame_capturer.cc |
| +++ b/remoting/host/ipc_video_frame_capturer.cc |
| @@ -5,14 +5,15 @@ |
| #include "remoting/host/ipc_video_frame_capturer.h" |
| #include "media/video/capture/screen/mouse_cursor_shape.h" |
| -#include "media/video/capture/screen/screen_capture_data.h" |
| #include "remoting/host/desktop_session_proxy.h" |
| +#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h" |
| namespace remoting { |
| IpcVideoFrameCapturer::IpcVideoFrameCapturer( |
| scoped_refptr<DesktopSessionProxy> desktop_session_proxy) |
| - : delegate_(NULL), |
| + : callback_(NULL), |
| + mouse_shape_observer_(NULL), |
| desktop_session_proxy_(desktop_session_proxy), |
| weak_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { |
| } |
| @@ -20,25 +21,30 @@ IpcVideoFrameCapturer::IpcVideoFrameCapturer( |
| IpcVideoFrameCapturer::~IpcVideoFrameCapturer() { |
| } |
| -void IpcVideoFrameCapturer::Start(Delegate* delegate) { |
| - delegate_ = delegate; |
| +void IpcVideoFrameCapturer::Start(Callback* callback) { |
| + callback_ = callback; |
|
alexeypa (please no reviews)
2013/04/26 21:33:58
DCHECK(!callback_);
DCHECK(callback);
Sergey Ulanov
2013/05/07 22:25:50
Done.
|
| desktop_session_proxy_->SetVideoCapturer(weak_factory_.GetWeakPtr()); |
| } |
| -void IpcVideoFrameCapturer::CaptureFrame() { |
| +void IpcVideoFrameCapturer::SetMouseShapeObserver( |
| + MouseShapeObserver* mouse_shape_observer) { |
| + mouse_shape_observer_ = mouse_shape_observer; |
|
alexeypa (please no reviews)
2013/04/26 21:33:58
DCHECK(!mouse_shape_observer_);
DCHECK(mouse_shape
Sergey Ulanov
2013/05/07 22:25:50
Done.
|
| +} |
| + |
| +void IpcVideoFrameCapturer::Capture(const webrtc::DesktopRegion& region) { |
| desktop_session_proxy_->CaptureFrame(); |
| } |
| void IpcVideoFrameCapturer::OnCaptureCompleted( |
| - scoped_refptr<media::ScreenCaptureData> capture_data) { |
| - if (delegate_) |
| - delegate_->OnCaptureCompleted(capture_data); |
| + scoped_ptr<webrtc::DesktopFrame> frame) { |
| + if (callback_) |
|
alexeypa (please no reviews)
2013/04/26 21:33:58
I think this check can be removed.
Sergey Ulanov
2013/05/07 22:25:50
Done.
|
| + callback_->OnCaptureCompleted(frame.release()); |
| } |
| void IpcVideoFrameCapturer::OnCursorShapeChanged( |
| scoped_ptr<media::MouseCursorShape> cursor_shape) { |
| - if (delegate_) |
| - delegate_->OnCursorShapeChanged(cursor_shape.Pass()); |
| + if (mouse_shape_observer_) |
|
alexeypa (please no reviews)
2013/04/26 21:33:58
Can this be NULL?
Sergey Ulanov
2013/05/07 22:25:50
yes
|
| + mouse_shape_observer_->OnCursorShapeChanged(cursor_shape.Pass()); |
| } |
| } // namespace remoting |