Index: content/common/gpu/media/gpu_video_decode_accelerator_factory_impl.cc |
diff --git a/content/common/gpu/media/gpu_video_decode_accelerator_factory_impl.cc b/content/common/gpu/media/gpu_video_decode_accelerator_factory_impl.cc |
index c3cd7ee1e710b27e8f37e27b6a0043f45e34adb4..6822c7e230801acb716d9b172cc80c1e2155356c 100644 |
--- a/content/common/gpu/media/gpu_video_decode_accelerator_factory_impl.cc |
+++ b/content/common/gpu/media/gpu_video_decode_accelerator_factory_impl.cc |
@@ -5,6 +5,7 @@ |
#include "content/common/gpu/media/gpu_video_accelerator_util.h" |
#include "content/common/gpu/media/gpu_video_decode_accelerator.h" |
#include "content/common/gpu/media/gpu_video_decode_accelerator_factory_impl.h" |
+#include "content/gpu/gpu_child_thread.h" |
#include "gpu/command_buffer/service/gpu_preferences.h" |
#if defined(OS_WIN) |
@@ -34,7 +35,17 @@ static base::WeakPtr<gpu::gles2::GLES2Decoder> GetEmptyGLES2Decoder() { |
NOTREACHED() << "VDA requests a GLES2Decoder, but client did not provide it"; |
return base::WeakPtr<gpu::gles2::GLES2Decoder>(); |
} |
+ |
+const gpu::GpuPreferences GetGpuPreferences() { |
+ GpuChildThread* gpu_child_thread = GpuChildThread::current(); |
+ |
+ // No GpuChildThread if unit test. |
+ if (!gpu_child_thread) |
+ return gpu::GpuPreferences(); |
+ |
+ return gpu_child_thread->gpu_preferences(); |
} |
+} // namespace |
// static |
scoped_ptr<GpuVideoDecodeAcceleratorFactoryImpl> |
@@ -61,8 +72,8 @@ GpuVideoDecodeAcceleratorFactoryImpl::CreateWithGLES2Decoder( |
// static |
gpu::VideoDecodeAcceleratorCapabilities |
-GpuVideoDecodeAcceleratorFactoryImpl::GetDecoderCapabilities( |
- const gpu::GpuPreferences& gpu_preferences) { |
+GpuVideoDecodeAcceleratorFactoryImpl::GetDecoderCapabilities() { |
+ const gpu::GpuPreferences gpu_preferences = GetGpuPreferences(); |
media::VideoDecodeAccelerator::Capabilities capabilities; |
if (gpu_preferences.disable_accelerated_video_decode) |
return gpu::VideoDecodeAcceleratorCapabilities(); |
@@ -106,9 +117,9 @@ GpuVideoDecodeAcceleratorFactoryImpl::GetDecoderCapabilities( |
scoped_ptr<media::VideoDecodeAccelerator> |
GpuVideoDecodeAcceleratorFactoryImpl::CreateVDA( |
media::VideoDecodeAccelerator::Client* client, |
- const media::VideoDecodeAccelerator::Config& config, |
- const gpu::GpuPreferences& gpu_preferences) { |
+ const media::VideoDecodeAccelerator::Config& config) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
+ const gpu::GpuPreferences gpu_preferences = GetGpuPreferences(); |
if (gpu_preferences.disable_accelerated_video_decode) |
return nullptr; |