Index: media/mojo/clients/mojo_renderer_factory.cc |
diff --git a/media/mojo/clients/mojo_renderer_factory.cc b/media/mojo/clients/mojo_renderer_factory.cc |
index 750b5140d69f0cc30b30ee8c678d93a6ccacdf38..31ba267404f079f8e2aa3d6d2fe27f1ab8384d82 100644 |
--- a/media/mojo/clients/mojo_renderer_factory.cc |
+++ b/media/mojo/clients/mojo_renderer_factory.cc |
@@ -17,7 +17,6 @@ MojoRendererFactory::MojoRendererFactory( |
shell::mojom::InterfaceProvider* interface_provider) |
: get_gpu_factories_cb_(get_gpu_factories_cb), |
interface_provider_(interface_provider) { |
- DCHECK(!get_gpu_factories_cb_.is_null()); |
DCHECK(interface_provider_); |
} |
@@ -29,8 +28,14 @@ std::unique_ptr<Renderer> MojoRendererFactory::CreateRenderer( |
AudioRendererSink* /* audio_renderer_sink */, |
VideoRendererSink* video_renderer_sink, |
const RequestSurfaceCB& /* request_surface_cb */) { |
- std::unique_ptr<VideoOverlayFactory> overlay_factory( |
- new VideoOverlayFactory(get_gpu_factories_cb_.Run())); |
+ std::unique_ptr<VideoOverlayFactory> overlay_factory; |
+ |
+ // |get_gpu_factories_cb_| can be null in the HLS/MediaPlayerRenderer case, |
+ // when we do not need to create video overlays. |
+ if (!get_gpu_factories_cb_.is_null()) { |
+ overlay_factory = |
+ base::MakeUnique<VideoOverlayFactory>(get_gpu_factories_cb_.Run()); |
+ } |
mojom::RendererPtr renderer_ptr; |
shell::GetInterface<mojom::Renderer>(interface_provider_, &renderer_ptr); |