| Index: remoting/host/fake_screen_capturer.h
|
| diff --git a/remoting/host/fake_screen_capturer.h b/remoting/host/fake_screen_capturer.h
|
| index 8ea84573eb8c6dc854fda1bd86a2bf7dd4b764a6..2fd59cc2f95dc5af474dbcd4b32045ac5c0d1663 100644
|
| --- a/remoting/host/fake_screen_capturer.h
|
| +++ b/remoting/host/fake_screen_capturer.h
|
| @@ -5,6 +5,7 @@
|
| #ifndef REMOTING_HOST_FAKE_SCREEN_CAPTURER_H_
|
| #define REMOTING_HOST_FAKE_SCREEN_CAPTURER_H_
|
|
|
| +#include "base/callback.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "media/base/media_export.h"
|
| #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
|
| @@ -18,42 +19,36 @@ namespace remoting {
|
| // FakeScreenCapturer is double-buffered as required by ScreenCapturer.
|
| class FakeScreenCapturer : public webrtc::ScreenCapturer {
|
| public:
|
| - // FakeScreenCapturer generates a picture of size kWidth x kHeight.
|
| + // By default FakeScreenCapturer generates frames of size kWidth x kHeight,
|
| + // but custom frame generator set using set_frame_generator() may generate
|
| + // frames of different size.
|
| static const int kWidth = 800;
|
| static const int kHeight = 600;
|
|
|
| + typedef base::Callback<scoped_ptr<webrtc::DesktopFrame>(
|
| + webrtc::ScreenCapturer::Callback* callback)> FrameGenerator;
|
| +
|
| FakeScreenCapturer();
|
| virtual ~FakeScreenCapturer();
|
|
|
| + void set_frame_generator(const FrameGenerator& frame_generator);
|
| +
|
| // webrtc::DesktopCapturer interface.
|
| virtual void Start(Callback* callback) OVERRIDE;
|
| virtual void Capture(const webrtc::DesktopRegion& rect) OVERRIDE;
|
|
|
| - // ScreenCapturer interface.
|
| + // webrtc::ScreenCapturer interface.
|
| virtual void SetMouseShapeObserver(
|
| MouseShapeObserver* mouse_shape_observer) OVERRIDE;
|
| virtual bool GetScreenList(ScreenList* screens) OVERRIDE;
|
| virtual bool SelectScreen(webrtc::ScreenId id) OVERRIDE;
|
|
|
| private:
|
| - // Generates an image in the front buffer.
|
| - void GenerateImage();
|
| -
|
| - // Called when the screen configuration is changed.
|
| - void ScreenConfigurationChanged();
|
| + FrameGenerator frame_generator_;
|
|
|
| Callback* callback_;
|
| MouseShapeObserver* mouse_shape_observer_;
|
|
|
| - webrtc::DesktopSize size_;
|
| - int bytes_per_row_;
|
| - int box_pos_x_;
|
| - int box_pos_y_;
|
| - int box_speed_x_;
|
| - int box_speed_y_;
|
| -
|
| - webrtc::ScreenCaptureFrameQueue queue_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(FakeScreenCapturer);
|
| };
|
|
|
|
|