Index: media/video/capture/screen/screen_capture_device.cc |
diff --git a/media/video/capture/screen/screen_capture_device.cc b/media/video/capture/screen/screen_capture_device.cc |
index 6182f8d4e0e4f710d85831ed56cbddffa630f964..c831d03cd066eac8878e9562d53d57eccc635dc7 100644 |
--- a/media/video/capture/screen/screen_capture_device.cc |
+++ b/media/video/capture/screen/screen_capture_device.cc |
@@ -271,8 +271,15 @@ void ScreenCaptureDevice::Core::DoAllocate(int frame_rate) { |
frame_rate_ = frame_rate; |
// Create and start frame capturer. |
+#if defined(OS_CHROMEOS) |
+ // ScreenCapturerX11 polls by default, due to poor driver support for DAMAGE. |
+ // ChromeOS' drivers [can be patched to] support DAMAGE properly, so use it. |
+ if (!screen_capturer_) |
Sergey Ulanov
2013/03/17 05:36:32
nit: Maybe pull this line out of the #ifdef - it's
Wez
2013/03/19 18:25:44
Since it's only duplicating one line, I chose to a
|
+ screen_capturer_ = ScreenCapturer::CreateWithXDamage(true); |
+#else |
if (!screen_capturer_) |
screen_capturer_ = ScreenCapturer::Create(); |
+#endif |
if (screen_capturer_) |
screen_capturer_->Start(this); |