| Index: media/mojo/services/mojo_renderer_impl.cc
|
| diff --git a/media/mojo/services/mojo_renderer_impl.cc b/media/mojo/services/mojo_renderer_impl.cc
|
| index 55407310e9b20bff87db3662a702cfe5ac9c20c0..564941378a7eff63a5346d8c74ed651a2a7ec4bb 100644
|
| --- a/media/mojo/services/mojo_renderer_impl.cc
|
| +++ b/media/mojo/services/mojo_renderer_impl.cc
|
| @@ -12,15 +12,21 @@
|
| #include "base/single_thread_task_runner.h"
|
| #include "media/base/demuxer_stream_provider.h"
|
| #include "media/base/renderer_client.h"
|
| +#include "media/base/video_renderer_sink.h"
|
| #include "media/mojo/services/mojo_demuxer_stream_impl.h"
|
| +#include "media/renderers/video_overlay_factory.h"
|
| #include "mojo/converters/geometry/geometry_type_converters.h"
|
|
|
| namespace media {
|
|
|
| MojoRendererImpl::MojoRendererImpl(
|
| const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
|
| + std::unique_ptr<VideoOverlayFactory> video_overlay_factory,
|
| + VideoRendererSink* video_renderer_sink,
|
| mojom::RendererPtr remote_renderer)
|
| : task_runner_(task_runner),
|
| + video_overlay_factory_(std::move(video_overlay_factory)),
|
| + video_renderer_sink_(video_renderer_sink),
|
| remote_renderer_info_(remote_renderer.PassInterface()),
|
| binding_(this) {
|
| DVLOG(1) << __FUNCTION__;
|
| @@ -180,9 +186,13 @@ void MojoRendererImpl::OnError() {
|
| }
|
|
|
| void MojoRendererImpl::OnVideoNaturalSizeChange(mojo::SizePtr size) {
|
| - DVLOG(2) << __FUNCTION__ << ": " << size->width << "," << size->height;
|
| + gfx::Size new_size = size.To<gfx::Size>();
|
| + DVLOG(2) << __FUNCTION__ << ": " << new_size.ToString();
|
| DCHECK(task_runner_->BelongsToCurrentThread());
|
| - client_->OnVideoNaturalSizeChange(size.To<gfx::Size>());
|
| +
|
| + video_renderer_sink_->PaintFrameUsingOldRenderingPath(
|
| + video_overlay_factory_->CreateFrame(new_size));
|
| + client_->OnVideoNaturalSizeChange(new_size);
|
| }
|
|
|
| void MojoRendererImpl::OnVideoOpacityChange(bool opaque) {
|
|
|