Index: content/browser/renderer_host/media/desktop_capture_device.cc |
diff --git a/content/browser/renderer_host/media/desktop_capture_device.cc b/content/browser/renderer_host/media/desktop_capture_device.cc |
index 70f622edd6b79ecd8b62c1d21e05ebdbe7f704db..ba120568c5ccbb690abe61b2d5cb87d700e0be21 100644 |
--- a/content/browser/renderer_host/media/desktop_capture_device.cc |
+++ b/content/browser/renderer_host/media/desktop_capture_device.cc |
@@ -20,6 +20,10 @@ |
#include "third_party/webrtc/modules/desktop_capture/screen_capturer.h" |
#include "third_party/webrtc/modules/desktop_capture/window_capturer.h" |
+#if defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL) |
+#include "content/browser/renderer_host/media/desktop_capture_device_aura.h" |
+#endif |
+ |
namespace content { |
namespace { |
@@ -387,13 +391,16 @@ scoped_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create( |
switch (source.type) { |
case DesktopMediaID::TYPE_SCREEN: { |
+#if defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL) |
+ return scoped_ptr<media::VideoCaptureDevice>( |
+ DesktopCaptureDeviceAura::Create(source)); |
+#else |
scoped_ptr<webrtc::DesktopCapturer> capturer; |
-#if defined(OS_CHROMEOS) && !defined(ARCH_CPU_ARMEL) && defined(USE_X11) |
+#if defined(OS_CHROMEOS) && defined(USE_X11) |
// ScreenCapturerX11 polls by default, due to poor driver support for |
// DAMAGE. ChromeOS' drivers [can be patched to] support DAMAGE properly, |
- // so use it. However ARM driver seems to not support this properly, so |
- // disable it for ARM. See http://crbug.com/230105 . |
+ // so use it. |
capturer.reset(webrtc::ScreenCapturer::CreateWithXDamage(true)); |
#elif defined(OS_WIN) |
// ScreenCapturerWin disables Aero by default. We don't want it disabled |
@@ -406,6 +413,7 @@ scoped_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create( |
return scoped_ptr<media::VideoCaptureDevice>(new DesktopCaptureDevice( |
task_runner, capturer.Pass())); |
+#endif |
} |
case DesktopMediaID::TYPE_WINDOW: { |