Index: media/mojo/services/mojo_renderer_factory.cc |
diff --git a/media/mojo/services/mojo_renderer_factory.cc b/media/mojo/services/mojo_renderer_factory.cc |
index a27b0f3a7b4242ebc83e2a54b5a6fadedbb4374f..e5fab5d0d4e8fc8c969b1e1b01817818abbad147 100644 |
--- a/media/mojo/services/mojo_renderer_factory.cc |
+++ b/media/mojo/services/mojo_renderer_factory.cc |
@@ -6,14 +6,18 @@ |
#include "base/single_thread_task_runner.h" |
#include "media/mojo/services/mojo_renderer_impl.h" |
+#include "media/renderers/video_overlay_factory.h" |
#include "services/shell/public/cpp/connect.h" |
#include "services/shell/public/interfaces/interface_provider.mojom.h" |
namespace media { |
MojoRendererFactory::MojoRendererFactory( |
+ const GetGpuFactoriesCB& get_gpu_factories_cb, |
shell::mojom::InterfaceProvider* interface_provider) |
- : interface_provider_(interface_provider) { |
+ : get_gpu_factories_cb_(get_gpu_factories_cb), |
+ interface_provider_(interface_provider) { |
+ DCHECK(!get_gpu_factories_cb_.is_null()); |
DCHECK(interface_provider_); |
} |
@@ -24,13 +28,17 @@ std::unique_ptr<Renderer> MojoRendererFactory::CreateRenderer( |
const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, |
const scoped_refptr<base::TaskRunner>& /* worker_task_runner */, |
AudioRendererSink* /* audio_renderer_sink */, |
- VideoRendererSink* /* video_renderer_sink */, |
+ VideoRendererSink* video_renderer_sink, |
const RequestSurfaceCB& /* request_surface_cb */) { |
+ std::unique_ptr<VideoOverlayFactory> overlay_factory( |
+ new VideoOverlayFactory(get_gpu_factories_cb_.Run())); |
+ |
mojom::RendererPtr renderer_ptr; |
shell::GetInterface<mojom::Renderer>(interface_provider_, &renderer_ptr); |
return std::unique_ptr<Renderer>( |
- new MojoRendererImpl(media_task_runner, std::move(renderer_ptr))); |
+ new MojoRendererImpl(media_task_runner, std::move(overlay_factory), |
+ video_renderer_sink, std::move(renderer_ptr))); |
} |
} // namespace media |