Index: content/common/gpu/media/video_decode_accelerator_unittest.cc |
diff --git a/content/common/gpu/media/video_decode_accelerator_unittest.cc b/content/common/gpu/media/video_decode_accelerator_unittest.cc |
index f325b40c8fcd317f72648a9fc05fdf9285775246..f5a2bca372fb0eb2c36c689fad47c2736e6a2a35 100644 |
--- a/content/common/gpu/media/video_decode_accelerator_unittest.cc |
+++ b/content/common/gpu/media/video_decode_accelerator_unittest.cc |
@@ -40,6 +40,7 @@ |
#include "base/threading/thread.h" |
#include "base/utf_string_conversions.h" |
#include "content/common/gpu/media/rendering_helper.h" |
+#include "content/public/common/content_switches.h" |
#if defined(OS_WIN) |
#include "content/common/gpu/media/dxva_video_decode_accelerator.h" |
@@ -48,6 +49,7 @@ |
#elif defined(ARCH_CPU_X86_FAMILY) |
#include "content/common/gpu/media/vaapi_video_decode_accelerator.h" |
#elif defined(ARCH_CPU_ARMEL) |
+#include "content/common/gpu/media/exynos_video_decode_accelerator.h" |
#include "content/common/gpu/media/omx_video_decode_accelerator.h" |
#else |
#error The VideoAccelerator tests are not supported on this platform. |
@@ -333,12 +335,19 @@ void GLRenderingVDAClient::CreateDecoder() { |
decoder_.reset(new MacVideoDecodeAccelerator( |
static_cast<CGLContextObj>(rendering_helper_->GetGLContext()), this)); |
#elif defined(ARCH_CPU_ARMEL) |
- decoder_.reset( |
- new OmxVideoDecodeAccelerator( |
- static_cast<EGLDisplay>(rendering_helper_->GetGLDisplay()), |
- static_cast<EGLContext>(rendering_helper_->GetGLContext()), |
- this, |
- base::Bind(&DoNothingReturnTrue))); |
+ if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kUseExynosVda)) { |
+ decoder_.reset( |
+ new ExynosVideoDecodeAccelerator( |
+ static_cast<EGLDisplay>(rendering_helper_->GetGLDisplay()), |
+ static_cast<EGLContext>(rendering_helper_->GetGLContext()), |
+ this, base::Bind(&DoNothingReturnTrue))); |
+ } else { |
+ decoder_.reset( |
+ new OmxVideoDecodeAccelerator( |
+ static_cast<EGLDisplay>(rendering_helper_->GetGLDisplay()), |
+ static_cast<EGLContext>(rendering_helper_->GetGLContext()), |
+ this, base::Bind(&DoNothingReturnTrue))); |
+ } |
#elif defined(ARCH_CPU_X86_FAMILY) |
decoder_.reset(new VaapiVideoDecodeAccelerator( |
static_cast<Display*>(rendering_helper_->GetGLDisplay()), |
@@ -922,6 +931,8 @@ int main(int argc, char **argv) { |
} |
if (it->first == "v" || it->first == "vmodule") |
continue; |
+ if (it->first == switches::kUseExynosVda) |
+ continue; |
LOG(FATAL) << "Unexpected switch: " << it->first << ":" << it->second; |
} |
@@ -935,7 +946,10 @@ int main(int argc, char **argv) { |
base::Unretained(&event))); |
event.Wait(); |
#elif defined(OS_CHROMEOS) && defined(ARCH_CPU_ARMEL) |
- content::OmxVideoDecodeAccelerator::PreSandboxInitialization(); |
+ if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kUseExynosVda)) |
+ content::ExynosVideoDecodeAccelerator::PreSandboxInitialization(); |
+ else |
+ content::OmxVideoDecodeAccelerator::PreSandboxInitialization(); |
#elif defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) |
content::VaapiVideoDecodeAccelerator::PreSandboxInitialization(); |
#endif |