Index: media/gpu/ipc/service/gpu_video_encode_accelerator.h |
diff --git a/media/gpu/ipc/service/gpu_video_encode_accelerator.h b/media/gpu/ipc/service/gpu_video_encode_accelerator.h |
index c928d6e985862415ea134e3475ae7e8c3c024982..821ffbe623dab470e6b59c84982cc9eec574ec6e 100644 |
--- a/media/gpu/ipc/service/gpu_video_encode_accelerator.h |
+++ b/media/gpu/ipc/service/gpu_video_encode_accelerator.h |
@@ -74,28 +74,11 @@ class GpuVideoEncodeAccelerator |
const gpu::GpuPreferences& gpu_preferences); |
private: |
- typedef std::unique_ptr<VideoEncodeAccelerator> (*CreateVEAFp)(); |
- |
- // Return a set of VEA Create function pointers applicable to the current |
- // platform. |
- static std::vector<CreateVEAFp> CreateVEAFps( |
+ // Returns a vector of VEAFactoryFunctions for the current platform. |
+ using VEAFactoryFunction = |
+ base::Callback<std::unique_ptr<VideoEncodeAccelerator>()>; |
+ static std::vector<VEAFactoryFunction> GetVEAFactoryFunctions( |
const gpu::GpuPreferences& gpu_preferences); |
-#if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) |
- static std::unique_ptr<VideoEncodeAccelerator> CreateV4L2VEA(); |
-#endif |
-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) |
- static std::unique_ptr<VideoEncodeAccelerator> CreateVaapiVEA(); |
-#endif |
-#if defined(OS_ANDROID) && defined(ENABLE_WEBRTC) |
- static std::unique_ptr<VideoEncodeAccelerator> CreateAndroidVEA(); |
-#endif |
-#if defined(OS_MACOSX) |
- static std::unique_ptr<VideoEncodeAccelerator> CreateVTVEA(); |
-#endif |
-#if defined(OS_WIN) |
- static std::unique_ptr<media::VideoEncodeAccelerator> |
- CreateMediaFoundationVEA(); |
-#endif |
// IPC handlers, proxying VideoEncodeAccelerator for the renderer |
// process. |