Index: content/common/gpu/media/gpu_video_decode_accelerator.cc |
diff --git a/content/common/gpu/media/gpu_video_decode_accelerator.cc b/content/common/gpu/media/gpu_video_decode_accelerator.cc |
index 3a86c48688ab04141955c5c530281ed1f6353cd8..43f66fe98926d070159f3c84634d8e9c71675919 100644 |
--- a/content/common/gpu/media/gpu_video_decode_accelerator.cc |
+++ b/content/common/gpu/media/gpu_video_decode_accelerator.cc |
@@ -28,8 +28,9 @@ |
#elif defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL) && defined(USE_X11) |
#include "content/common/gpu/media/exynos_video_decode_accelerator.h" |
#elif defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) && defined(USE_X11) |
-#include "ui/gl/gl_context_glx.h" |
#include "content/common/gpu/media/vaapi_video_decode_accelerator.h" |
+#include "ui/gl/gl_context_glx.h" |
+#include "ui/gl/gl_implementation.h" |
#elif defined(OS_ANDROID) |
#include "content/common/gpu/media/android_video_decode_accelerator.h" |
#endif |
@@ -278,6 +279,12 @@ void GpuVideoDecodeAccelerator::Initialize( |
make_context_current_, |
io_message_loop_)); |
#elif defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) && defined(USE_X11) |
+ if (gfx::GetGLImplementation() != gfx::kGLImplementationDesktopGL) { |
+ VLOG(1) << "HW video decode acceleration not available without " |
+ "DesktopGL (GLX)."; |
+ NotifyError(media::VideoDecodeAccelerator::PLATFORM_FAILURE); |
+ return; |
+ } |
gfx::GLContextGLX* glx_context = |
static_cast<gfx::GLContextGLX*>(stub_->decoder()->GetGLContext()); |
video_decode_accelerator_.reset(new VaapiVideoDecodeAccelerator( |