| Index: chromecast/media/cma/filters/cma_renderer.cc
|
| diff --git a/chromecast/media/cma/filters/cma_renderer.cc b/chromecast/media/cma/filters/cma_renderer.cc
|
| index 1473f02af0fc36c9b484b7b54b20d12a06161bb2..bc29b4f46ce97f9771243efe4237c50cea34c33b 100644
|
| --- a/chromecast/media/cma/filters/cma_renderer.cc
|
| +++ b/chromecast/media/cma/filters/cma_renderer.cc
|
| @@ -22,6 +22,7 @@
|
| #include "media/base/pipeline_status.h"
|
| #include "media/base/time_delta_interpolator.h"
|
| #include "media/base/video_frame.h"
|
| +#include "media/base/video_renderer_sink.h"
|
| #include "ui/gfx/geometry/size.h"
|
|
|
| namespace chromecast {
|
| @@ -36,12 +37,14 @@ const base::TimeDelta kMaxDeltaFetcher(
|
|
|
| } // namespace
|
|
|
| -CmaRenderer::CmaRenderer(scoped_ptr<MediaPipeline> media_pipeline)
|
| +CmaRenderer::CmaRenderer(scoped_ptr<MediaPipeline> media_pipeline,
|
| + ::media::VideoRendererSink* video_renderer_sink)
|
| : media_task_runner_factory_(
|
| new BalancedMediaTaskRunnerFactory(kMaxDeltaFetcher)),
|
| media_pipeline_(media_pipeline.Pass()),
|
| audio_pipeline_(media_pipeline_->GetAudioPipeline()),
|
| video_pipeline_(media_pipeline_->GetVideoPipeline()),
|
| + video_renderer_sink_(video_renderer_sink),
|
| state_(kUninitialized),
|
| is_pending_transition_(false),
|
| has_audio_(false),
|
| @@ -76,7 +79,6 @@ void CmaRenderer::Initialize(
|
| const ::media::PipelineStatusCB& init_cb,
|
| const ::media::StatisticsCB& statistics_cb,
|
| const ::media::BufferingStateCB& buffering_state_cb,
|
| - const PaintCB& paint_cb,
|
| const base::Closure& ended_cb,
|
| const ::media::PipelineStatusCB& error_cb,
|
| const base::Closure& waiting_for_decryption_key_cb) {
|
| @@ -97,7 +99,6 @@ void CmaRenderer::Initialize(
|
| demuxer_stream_provider_ = demuxer_stream_provider;
|
| statistics_cb_ = statistics_cb;
|
| buffering_state_cb_ = buffering_state_cb;
|
| - paint_cb_ = paint_cb;
|
| ended_cb_ = ended_cb;
|
| error_cb_ = error_cb;
|
| // TODO(erickung): wire up waiting_for_decryption_key_cb.
|
| @@ -160,7 +161,8 @@ void CmaRenderer::StartPlayingFrom(base::TimeDelta time) {
|
| // Pipeline::StateTransitionTask).
|
| if (!initial_video_hole_created_) {
|
| initial_video_hole_created_ = true;
|
| - paint_cb_.Run(::media::VideoFrame::CreateHoleFrame(initial_natural_size_));
|
| + video_renderer_sink_->PaintFrameUsingOldRenderingPath(
|
| + ::media::VideoFrame::CreateHoleFrame(initial_natural_size_));
|
| }
|
| #endif
|
|
|
| @@ -383,7 +385,8 @@ void CmaRenderer::OnStatisticsUpdated(
|
| void CmaRenderer::OnNaturalSizeChanged(const gfx::Size& size) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| #if defined(VIDEO_HOLE)
|
| - paint_cb_.Run(::media::VideoFrame::CreateHoleFrame(size));
|
| + video_renderer_sink_->PaintFrameUsingOldRenderingPath(
|
| + ::media::VideoFrame::CreateHoleFrame(size));
|
| #endif
|
| }
|
|
|
|
|