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

Unified Diff: remoting/host/fake_screen_capturer.h

Issue 394883008: Add basic perf tests for chromoting protocol. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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
« no previous file with comments | « remoting/host/fake_desktop_environment.cc ('k') | remoting/host/fake_screen_capturer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
};
« no previous file with comments | « remoting/host/fake_desktop_environment.cc ('k') | remoting/host/fake_screen_capturer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698