Index: chrome/gpu/arc_gpu_video_decode_accelerator.cc |
diff --git a/chrome/gpu/arc_gpu_video_decode_accelerator.cc b/chrome/gpu/arc_gpu_video_decode_accelerator.cc |
index d86aa671af7dbe8d93d6421333a16cf48117112f..27adb0dbabe1a4ed96eda36fc7131ad15f484cdd 100644 |
--- a/chrome/gpu/arc_gpu_video_decode_accelerator.cc |
+++ b/chrome/gpu/arc_gpu_video_decode_accelerator.cc |
@@ -8,8 +8,8 @@ |
#include "base/logging.h" |
#include "base/numerics/safe_math.h" |
#include "base/run_loop.h" |
-#include "content/public/gpu/gpu_video_decode_accelerator_factory.h" |
#include "media/base/video_frame.h" |
+#include "media/gpu/gpu_video_decode_accelerator_factory_impl.h" |
namespace chromeos { |
namespace arc { |
@@ -51,11 +51,13 @@ ArcGpuVideoDecodeAccelerator::OutputBufferInfo::OutputBufferInfo( |
ArcGpuVideoDecodeAccelerator::OutputBufferInfo::~OutputBufferInfo() = default; |
-ArcGpuVideoDecodeAccelerator::ArcGpuVideoDecodeAccelerator() |
+ArcGpuVideoDecodeAccelerator::ArcGpuVideoDecodeAccelerator( |
+ const gpu::GpuPreferences& gpu_preferences) |
: arc_client_(nullptr), |
next_bitstream_buffer_id_(0), |
output_pixel_format_(media::PIXEL_FORMAT_UNKNOWN), |
- output_buffer_size_(0) {} |
+ output_buffer_size_(0), |
+ gpu_preferences_(gpu_preferences) {} |
ArcGpuVideoDecodeAccelerator::~ArcGpuVideoDecodeAccelerator() { |
DCHECK(thread_checker_.CalledOnValidThread()); |
@@ -109,9 +111,10 @@ ArcVideoAccelerator::Result ArcGpuVideoDecodeAccelerator::Initialize( |
vda_config.output_mode = |
media::VideoDecodeAccelerator::Config::OutputMode::IMPORT; |
- std::unique_ptr<content::GpuVideoDecodeAcceleratorFactory> vda_factory = |
- content::GpuVideoDecodeAcceleratorFactory::CreateWithNoGL(); |
- vda_ = vda_factory->CreateVDA(this, vda_config); |
+ auto vda_factory = |
+ media::GpuVideoDecodeAcceleratorFactoryImpl::CreateWithNoGL(); |
+ vda_ = vda_factory->CreateVDA( |
+ this, vda_config, gpu::GpuDriverBugWorkarounds(), gpu_preferences_); |
if (!vda_) { |
DLOG(ERROR) << "Failed to create VDA."; |
return PLATFORM_FAILURE; |