Index: content/common/gpu/media/gpu_video_encode_accelerator.cc |
diff --git a/content/common/gpu/media/gpu_video_encode_accelerator.cc b/content/common/gpu/media/gpu_video_encode_accelerator.cc |
index c29a015792a2fbb23e059d89602335b119628dd4..6a33c7730f11279a6196151e27addb1ae54725e2 100644 |
--- a/content/common/gpu/media/gpu_video_encode_accelerator.cc |
+++ b/content/common/gpu/media/gpu_video_encode_accelerator.cc |
@@ -15,8 +15,15 @@ |
#include "media/base/limits.h" |
#include "media/base/video_frame.h" |
-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL) && defined(USE_X11) |
+#if defined(OS_CHROMEOS) && defined(USE_X11) |
+ |
+#if defined(ARCH_CPU_ARMEL) |
#include "content/common/gpu/media/v4l2_video_encode_accelerator.h" |
+#elif defined(ARCH_CPU_X86_FAMILY) |
+#include "content/common/gpu/media/vaapi_video_encode_accelerator.h" |
+#include "ui/gfx/x/x11_types.h" |
+#endif |
+ |
#elif defined(OS_ANDROID) && defined(ENABLE_WEBRTC) |
#include "content/common/gpu/media/android_video_encode_accelerator.h" |
#endif |
@@ -158,8 +165,12 @@ std::vector<media::VideoEncodeAccelerator::SupportedProfile> |
GpuVideoEncodeAccelerator::GetSupportedProfiles() { |
std::vector<media::VideoEncodeAccelerator::SupportedProfile> profiles; |
-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL) && defined(USE_X11) |
+#if defined(OS_CHROMEOS) && defined(USE_X11) |
+#if defined(ARCH_CPU_ARMEL) |
profiles = V4L2VideoEncodeAccelerator::GetSupportedProfiles(); |
+#elif defined(ARCH_CPU_X86_FAMILY) |
+ profiles = VaapiVideoEncodeAccelerator::GetSupportedProfiles(); |
+#endif |
#elif defined(OS_ANDROID) && defined(ENABLE_WEBRTC) |
profiles = AndroidVideoEncodeAccelerator::GetSupportedProfiles(); |
#endif |
@@ -170,12 +181,16 @@ GpuVideoEncodeAccelerator::GetSupportedProfiles() { |
void GpuVideoEncodeAccelerator::CreateEncoder() { |
DCHECK(!encoder_); |
-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL) && defined(USE_X11) |
+#if defined(OS_CHROMEOS) && defined(USE_X11) |
+#if defined(ARCH_CPU_ARMEL) |
scoped_ptr<V4L2Device> device = V4L2Device::Create(V4L2Device::kEncoder); |
if (!device.get()) |
return; |
encoder_.reset(new V4L2VideoEncodeAccelerator(device.Pass())); |
+#elif defined(ARCH_CPU_X86_FAMILY) |
+ encoder_.reset(new VaapiVideoEncodeAccelerator(gfx::GetXDisplay())); |
+#endif |
#elif defined(OS_ANDROID) && defined(ENABLE_WEBRTC) |
encoder_.reset(new AndroidVideoEncodeAccelerator()); |
#endif |