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

Unified Diff: remoting/host/desktop_session_proxy.h

Issue 11778049: Making DesktopEnvironment a factory class used by ClientSession to create audio/video capturers and… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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/desktop_session_proxy.h
diff --git a/remoting/host/desktop_session_proxy.h b/remoting/host/desktop_session_proxy.h
index fd0d0a7e66a6f8b1bf7c1ee35e4d00d202199431..9b6d46124c2d45ad7222ff9f62795a796be2c6b1 100644
--- a/remoting/host/desktop_session_proxy.h
+++ b/remoting/host/desktop_session_proxy.h
@@ -15,6 +15,7 @@
#include "ipc/ipc_platform_file.h"
#include "remoting/capturer/shared_buffer.h"
#include "remoting/capturer/video_frame_capturer.h"
+#include "remoting/host/desktop_environment.h"
#include "remoting/proto/event.pb.h"
#include "remoting/protocol/clipboard_stub.h"
#include "third_party/skia/include/core/SkRegion.h"
@@ -46,25 +47,29 @@ class IpcVideoFrameCapturer;
// integration process.
class DesktopSessionProxy
: public base::RefCountedThreadSafe<DesktopSessionProxy>,
+ public DesktopEnvironment,
public IPC::Listener {
public:
DesktopSessionProxy(
- scoped_refptr<base::SingleThreadTaskRunner> audio_capture_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> video_capture_task_runner);
+ const std::string& client_jid,
+ const base::Closure& disconnect_callback);
+
+ // DesktopEnvironment implementation.
+ virtual scoped_ptr<AudioCapturer> CreateAudioCapturer(
+ scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner) OVERRIDE;
+ virtual scoped_ptr<EventExecutor> CreateEventExecutor(
+ scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) OVERRIDE;
+ virtual scoped_ptr<VideoFrameCapturer> CreateVideoCapturer(
+ scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner,
+ scoped_refptr<base::SingleThreadTaskRunner> encode_task_runner) OVERRIDE;
// IPC::Listener implementation.
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
virtual void OnChannelConnected(int32 peer_pid) OVERRIDE;
virtual void OnChannelError() OVERRIDE;
- // Initializes the object. |client_jid| specifies the client session's JID.
- // |disconnect_callback| specifies a callback that disconnects the client
- // session when invoked.
- // Initialize() should be called before AttachToDesktop() is called.
- void Initialize(const std::string& client_jid,
- const base::Closure& disconnect_callback);
-
// Connects to the desktop session agent.
bool AttachToDesktop(IPC::PlatformFileForTransit desktop_process,
IPC::PlatformFileForTransit desktop_pipe);
@@ -76,11 +81,6 @@ class DesktopSessionProxy
// Disconnects the client session that owns |this|.
void DisconnectSession();
- // APIs used to implement the VideoFrameCapturer interface. These must be
- // called on |video_capture_task_runner_|.
- void InvalidateRegion(const SkRegion& invalid_region);
- void CaptureFrame();
-
// Stores |audio_capturer| to be used to post captured audio packets.
// |audio_capturer| must be valid until StopAudioCapturer() is called.
void StartAudioCapturer(IpcAudioCapturer* audio_capturer);
@@ -89,6 +89,11 @@ class DesktopSessionProxy
// StopAudioCapturer() has been called will be silently dropped.
void StopAudioCapturer();
+ // APIs used to implement the VideoFrameCapturer interface. These must be
+ // called on |video_capture_task_runner_|.
+ void InvalidateRegion(const SkRegion& invalid_region);
+ void CaptureFrame();
+
// Stores |video_capturer| to be used to post captured video frames.
// |video_capturer| must be valid until StopVideoCapturer() is called.
void StartVideoCapturer(IpcVideoFrameCapturer* video_capturer);

Powered by Google App Engine
This is Rietveld 408576698