Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(369)

Unified Diff: remoting/host/video_scheduler.h

Issue 92473002: Use webrtc::MouseCursorMonitor for cursor shapes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added a comment. Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698