| Index: media/gpu/ipc/service/gpu_video_encode_accelerator.cc
|
| diff --git a/media/gpu/ipc/service/gpu_video_encode_accelerator.cc b/media/gpu/ipc/service/gpu_video_encode_accelerator.cc
|
| index dc4e51591bd843e8e2d8486bf12f5d967bf21046..4c48a9fd0ef8060954fae6bb376000ec3476ab88 100644
|
| --- a/media/gpu/ipc/service/gpu_video_encode_accelerator.cc
|
| +++ b/media/gpu/ipc/service/gpu_video_encode_accelerator.cc
|
| @@ -35,6 +35,9 @@
|
| #include "media/gpu/android_video_encode_accelerator.h"
|
| #elif defined(OS_MACOSX)
|
| #include "media/gpu/vt_video_encode_accelerator_mac.h"
|
| +#elif defined(OS_WIN)
|
| +#include "media/base/media_switches.h"
|
| +#include "media/gpu/media_foundation_video_encode_accelerator_win.h"
|
| #endif
|
|
|
| namespace media {
|
| @@ -208,6 +211,13 @@ GpuVideoEncodeAccelerator::CreateVEAFps(
|
| #if defined(OS_MACOSX)
|
| create_vea_fps.push_back(&GpuVideoEncodeAccelerator::CreateVTVEA);
|
| #endif
|
| +#if defined(OS_WIN)
|
| + if (base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnableMFH264Encoding)) {
|
| + create_vea_fps.push_back(
|
| + &GpuVideoEncodeAccelerator::CreateMediaFoundationVEA);
|
| + }
|
| +#endif
|
| return create_vea_fps;
|
| }
|
|
|
| @@ -250,6 +260,15 @@ GpuVideoEncodeAccelerator::CreateVTVEA() {
|
| }
|
| #endif
|
|
|
| +#if defined(OS_WIN)
|
| +// static
|
| +std::unique_ptr<media::VideoEncodeAccelerator>
|
| +GpuVideoEncodeAccelerator::CreateMediaFoundationVEA() {
|
| + return base::WrapUnique<media::VideoEncodeAccelerator>(
|
| + new MediaFoundationVideoEncodeAccelerator());
|
| +}
|
| +#endif
|
| +
|
| void GpuVideoEncodeAccelerator::OnEncode(
|
| const AcceleratedVideoEncoderMsg_Encode_Params& params) {
|
| DVLOG(3) << "GpuVideoEncodeAccelerator::OnEncode: frame_id = "
|
|
|