Index: remoting/host/desktop_session_proxy.h |
diff --git a/remoting/host/desktop_session_proxy.h b/remoting/host/desktop_session_proxy.h |
index 34eac5559f28df5ec1f49d7fce32acd72a1d8408..198bd6f82e9c33015c82c07dc0c7f26938fb1b87 100644 |
--- a/remoting/host/desktop_session_proxy.h |
+++ b/remoting/host/desktop_session_proxy.h |
@@ -16,7 +16,6 @@ |
#include "ipc/ipc_listener.h" |
#include "ipc/ipc_platform_file.h" |
#include "media/video/capture/screen/screen_capturer.h" |
-#include "media/video/capture/screen/shared_buffer.h" |
#include "remoting/host/audio_capturer.h" |
#include "remoting/host/desktop_environment.h" |
#include "remoting/host/screen_resolution.h" |
@@ -33,7 +32,7 @@ class ChannelProxy; |
class Message; |
} // namespace IPC |
-struct SerializedCapturedData; |
+struct SerializedDesktopFrame; |
namespace remoting { |
@@ -124,10 +123,15 @@ class DesktopSessionProxy |
private: |
friend class base::DeleteHelper<DesktopSessionProxy>; |
friend struct DesktopSessionProxyTraits; |
+ |
+ class IpcSharedBufferCore; |
+ class IpcSharedBuffer; |
+ typedef std::map<int, scoped_refptr<IpcSharedBufferCore> > SharedBuffers; |
+ |
virtual ~DesktopSessionProxy(); |
// Returns a shared buffer from the list of known buffers. |
- scoped_refptr<media::SharedBuffer> GetSharedBuffer(int id); |
+ scoped_refptr<IpcSharedBufferCore> GetSharedBufferCore(int id); |
// Handles AudioPacket notification from the desktop session agent. |
void OnAudioPacket(const std::string& serialized_packet); |
@@ -141,7 +145,7 @@ class DesktopSessionProxy |
void OnReleaseSharedBuffer(int id); |
// Handles CaptureCompleted notification from the desktop session agent. |
- void OnCaptureCompleted(const SerializedCapturedData& serialized_data); |
+ void OnCaptureCompleted(const SerializedDesktopFrame& serialized_frame); |
// Handles CursorShapeChanged notification from the desktop session agent. |
void OnCursorShapeChanged(const media::MouseCursorShape& cursor_shape); |
@@ -150,9 +154,8 @@ class DesktopSessionProxy |
void OnInjectClipboardEvent(const std::string& serialized_event); |
// Posts OnCaptureCompleted() to |video_capturer_| on the video thread, |
- // passing |capture_data|. |
- void PostCaptureCompleted( |
- scoped_refptr<media::ScreenCaptureData> capture_data); |
+ // passing |frame|. |
+ void PostCaptureCompleted(scoped_ptr<webrtc::DesktopFrame> frame); |
// Posts OnCursorShapeChanged() to |video_capturer_| on the video thread, |
// passing |cursor_shape|. |
@@ -197,7 +200,8 @@ class DesktopSessionProxy |
int pending_capture_frame_requests_; |
- typedef std::map<int, scoped_refptr<media::SharedBuffer> > SharedBuffers; |
+ // Shared memory buffers by Id. Each buffer is owned by the corresponding |
+ // frame. |
SharedBuffers shared_buffers_; |
// Keeps the desired screen resolution so it can be passed to a newly attached |