#include "remoting/host/gnubby_auth_handler.h"
#include "remoting/host/input_injector.h"
#include "remoting/host/screen_controls.h"
+#include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h"
+#include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h"
#include "third_party/webrtc/modules/desktop_capture/screen_capturer.h"
namespace remoting {
return scoped_ptr<ScreenControls>();
}
+scoped_ptr<webrtc::MouseCursorMonitor>
+BasicDesktopEnvironment::CreateMouseCursorMonitor() {
+ return scoped_ptr<webrtc::MouseCursorMonitor>(
+ webrtc::MouseCursorMonitor::CreateForScreen(
+ *desktop_capture_options_,
+ webrtc::kFullDesktopScreenId));
+}
+
std::string BasicDesktopEnvironment::GetCapabilities() const {
return std::string();
}
return scoped_ptr<GnubbyAuthHandler>();
}
-scoped_ptr<webrtc::ScreenCapturer>
+scoped_ptr<webrtc::DesktopCapturer>
BasicDesktopEnvironment::CreateVideoCapturer() {
DCHECK(caller_task_runner_->BelongsToCurrentThread());
// The basic desktop environment does not use X DAMAGE, since it is
// broken on many systems - see http://crbug.com/73423.
- return scoped_ptr<webrtc::ScreenCapturer>(webrtc::ScreenCapturer::Create());
+ return scoped_ptr<webrtc::DesktopCapturer>(
+ webrtc::ScreenCapturer::Create(*desktop_capture_options_));
}
BasicDesktopEnvironment::BasicDesktopEnvironment(
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
: caller_task_runner_(caller_task_runner),
input_task_runner_(input_task_runner),
- ui_task_runner_(ui_task_runner) {
+ ui_task_runner_(ui_task_runner),
+ desktop_capture_options_(
+ new webrtc::DesktopCaptureOptions(
+ webrtc::DesktopCaptureOptions::CreateDefault())) {
DCHECK(caller_task_runner_->BelongsToCurrentThread());
}