| Index: remoting/host/video_scheduler.h
|
| diff --git a/remoting/host/video_scheduler.h b/remoting/host/video_scheduler.h
|
| index 804cdfddd6b025ca427d22e876b37996ae59af20..aa9697f250b389b3434462625ef9ec9ce3576d35 100644
|
| --- a/remoting/host/video_scheduler.h
|
| +++ b/remoting/host/video_scheduler.h
|
| @@ -16,6 +16,7 @@
|
| #include "remoting/host/capture_scheduler.h"
|
| #include "remoting/proto/video.pb.h"
|
| #include "third_party/skia/include/core/SkSize.h"
|
| +#include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h"
|
| #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h"
|
|
|
| namespace base {
|
| @@ -75,7 +76,7 @@ class VideoStub;
|
|
|
| class VideoScheduler : public base::RefCountedThreadSafe<VideoScheduler>,
|
| public webrtc::DesktopCapturer::Callback,
|
| - public webrtc::ScreenCapturer::MouseShapeObserver {
|
| + public webrtc::MouseCursorMonitor::Callback {
|
| public:
|
| // Creates a VideoScheduler running capture, encode and network tasks on the
|
| // supplied TaskRunners. Video and cursor shape updates will be pumped to
|
| @@ -86,6 +87,7 @@ class VideoScheduler : public base::RefCountedThreadSafe<VideoScheduler>,
|
| scoped_refptr<base::SingleThreadTaskRunner> encode_task_runner,
|
| scoped_refptr<base::SingleThreadTaskRunner> network_task_runner,
|
| scoped_ptr<webrtc::ScreenCapturer> capturer,
|
| + scoped_ptr<webrtc::MouseCursorMonitor> mouse_cursor_monitor,
|
| scoped_ptr<VideoEncoder> encoder,
|
| protocol::CursorShapeStub* cursor_stub,
|
| protocol::VideoStub* video_stub);
|
| @@ -94,9 +96,12 @@ class VideoScheduler : public base::RefCountedThreadSafe<VideoScheduler>,
|
| virtual webrtc::SharedMemory* CreateSharedMemory(size_t size) OVERRIDE;
|
| virtual void OnCaptureCompleted(webrtc::DesktopFrame* frame) OVERRIDE;
|
|
|
| - // webrtc::ScreenCapturer::MouseShapeObserver implementation.
|
| - virtual void OnCursorShapeChanged(
|
| - webrtc::MouseCursorShape* cursor_shape) OVERRIDE;
|
| + // webrtc::MouseCursorMonitor::Callback implementation.
|
| + virtual void OnMouseCursor(
|
| + webrtc::MouseCursor* mouse_cursor) OVERRIDE;
|
| + virtual void OnMouseCursorPosition(
|
| + webrtc::MouseCursorMonitor::CursorState state,
|
| + const webrtc::DesktopVector& position) OVERRIDE;
|
|
|
| // Starts scheduling frame captures.
|
| void Start();
|
| @@ -163,6 +168,9 @@ class VideoScheduler : public base::RefCountedThreadSafe<VideoScheduler>,
|
| // Used to capture frames. Always accessed on the capture thread.
|
| scoped_ptr<webrtc::ScreenCapturer> capturer_;
|
|
|
| + // Used to capture mouse cursor shapes. Always accessed on the capture thread.
|
| + scoped_ptr<webrtc::MouseCursorMonitor> mouse_cursor_monitor_;
|
| +
|
| // Used to encode captured frames. Always accessed on the encode thread.
|
| scoped_ptr<VideoEncoder> encoder_;
|
|
|
|
|