Index: remoting/host/client_session.h |
diff --git a/remoting/host/client_session.h b/remoting/host/client_session.h |
index a86839ec5875e133f5a6f87a987829cd112aeb40..44ec4932d4df6da05d6ce84fe2fb5b3f135c89d9 100644 |
--- a/remoting/host/client_session.h |
+++ b/remoting/host/client_session.h |
@@ -44,6 +44,7 @@ class DesktopEnvironmentFactory; |
class InputInjector; |
class ScreenControls; |
class VideoEncoder; |
+class VideoFrameRecorder; |
class VideoScheduler; |
// A ClientSession keeps a reference to a connection to a client, and maintains |
@@ -165,6 +166,11 @@ class ClientSession |
return client_capabilities_.get(); |
} |
+ // Manages an optional VideoFrameRecorder, used to record session content |
+ // The recorder must be set before the ClientSession becomes authenticated. |
+ void set_video_frame_recorder(scoped_ptr<VideoFrameRecorder> recorder); |
+ VideoFrameRecorder* video_frame_recorder() const; |
+ |
private: |
typedef ScopedVector<HostExtensionSession> HostExtensionSessionList; |
@@ -263,6 +269,9 @@ class ClientSession |
// Used to proxy gnubby auth traffic. |
scoped_ptr<GnubbyAuthHandler> gnubby_auth_handler_; |
+ // Used to record sequences of video frames. |
+ scoped_ptr<VideoFrameRecorder> video_frame_recorder_; |
+ |
// Host extension sessions, used to handle extension messages. |
HostExtensionSessionList extension_sessions_; |