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

Unified Diff: remoting/host/window_capturer_screen_wrapper.h

Issue 422503004: Adding ability to stream windows and inject events to them (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added exit code to remoting_host when unable to parse window_id Created 6 years, 4 months 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/window_capturer_screen_wrapper.h
diff --git a/remoting/host/window_capturer_screen_wrapper.h b/remoting/host/window_capturer_screen_wrapper.h
new file mode 100644
index 0000000000000000000000000000000000000000..4f00db298973a7db37fd079332f9ae25bb8b957d
--- /dev/null
+++ b/remoting/host/window_capturer_screen_wrapper.h
@@ -0,0 +1,42 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/memory/scoped_ptr.h"
+#include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h"
+#include "third_party/webrtc/modules/desktop_capture/screen_capturer.h"
+
+namespace webrtc {
+class WindowCapturer;
+}
+
+namespace remoting {
+
+// This class wraps a WindowCapturer instance. The reason we do this
+// is because the remoting_me2me_host uses a screen capturer interface.
+// Instead of adding support for a window_capturer_interface, which
+// is not really needed, we simply wrap a WindowCapturer inside of a
+// ScreenCapturer and delegate messages sent to this class to the
+// wrapped WindowCapturer.
+class WindowCapturerScreenWrapper : public webrtc::ScreenCapturer {
Sergey Ulanov 2014/08/12 18:18:00 You will not need this class after Wez's CL: https
ronakvora do not use 2014/08/13 18:04:44 Done.
+ public:
+ WindowCapturerScreenWrapper(
+ scoped_ptr<webrtc::WindowCapturer> window_capturer);
+ virtual ~WindowCapturerScreenWrapper();
+
+ // webrtc::ScreenCapturer interface.
+ virtual void Start(DesktopCapturer::Callback* callback) OVERRIDE;
+ virtual void Capture(const webrtc::DesktopRegion& region) OVERRIDE;
+ virtual void SetMouseShapeObserver(
+ MouseShapeObserver* mouse_shape_observer) OVERRIDE;
+ virtual bool GetScreenList(ScreenList* screens) OVERRIDE;
+ virtual bool SelectScreen(webrtc::ScreenId id) OVERRIDE;
+
+ private:
+ scoped_ptr<webrtc::WindowCapturer> window_capturer_;
+
+ DISALLOW_COPY_AND_ASSIGN(WindowCapturerScreenWrapper);
+};
+
+
+} // namespace remoting

Powered by Google App Engine
This is Rietveld 408576698