Index: remoting/host/video_scheduler.h |
diff --git a/remoting/host/video_scheduler.h b/remoting/host/video_scheduler.h |
index 3b745ff51af803d9cdbd0e088ce7c21d5b98ee18..21b100731851fca85dc9ed851bc688c2341eabab 100644 |
--- a/remoting/host/video_scheduler.h |
+++ b/remoting/host/video_scheduler.h |
@@ -15,6 +15,7 @@ |
#include "remoting/codec/video_encoder.h" |
#include "remoting/host/capture_scheduler.h" |
#include "remoting/proto/video.pb.h" |
+#include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h" |
#include "third_party/webrtc/modules/desktop_capture/screen_capturer.h" |
namespace base { |
@@ -74,7 +75,7 @@ class VideoStub; |
class VideoScheduler : public base::RefCountedThreadSafe<VideoScheduler>, |
public webrtc::DesktopCapturer::Callback, |
- public webrtc::ScreenCapturer::MouseShapeObserver { |
+ public webrtc::MouseCursorMonitor::Callback { |
public: |
// Enables timestamps for generated frames. Used for testing. |
static void EnableTimestampsForTests(); |
@@ -88,6 +89,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); |
@@ -96,9 +98,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(); |
@@ -177,6 +182,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_; |