Index: chromecast/renderer/media/cma_renderer.cc |
diff --git a/chromecast/renderer/media/cma_renderer.cc b/chromecast/renderer/media/cma_renderer.cc |
index cb2191dfa8a5e2ea38b05326066c432778cb9764..636b2f783bbafd9989a9f043ff63853c99e068c5 100644 |
--- a/chromecast/renderer/media/cma_renderer.cc |
+++ b/chromecast/renderer/media/cma_renderer.cc |
@@ -61,8 +61,6 @@ CmaRenderer::CmaRenderer(std::unique_ptr<MediaPipelineProxy> media_pipeline, |
has_video_(false), |
received_audio_eos_(false), |
received_video_eos_(false), |
- initial_natural_size_(gfx::Size()), |
- initial_video_hole_created_(false), |
gpu_factories_(gpu_factories), |
time_interpolator_( |
new ::media::TimeDeltaInterpolator(&default_tick_clock_)), |
@@ -155,19 +153,6 @@ void CmaRenderer::StartPlayingFrom(base::TimeDelta time) { |
return; |
} |
- // Create a video hole frame just before starting playback. |
- // Note that instead of creating the video hole frame in Initialize(), we do |
- // it here because paint_cb_ (which eventually calls OnOpacityChanged) |
- // expects the current state to not be HaveNothing. And the place where |
- // the ready state is changed to HaveMetadata (OnPipelineMetadata) is |
- // right before the pipeline calls StartPlayingFrom (in |
- // Pipeline::StateTransitionTask). |
- if (HasVideo() && !initial_video_hole_created_) { |
- initial_video_hole_created_ = true; |
- video_renderer_sink_->PaintFrameUsingOldRenderingPath( |
- hole_frame_factory_->CreateHoleFrame(initial_natural_size_)); |
- } |
- |
{ |
base::AutoLock auto_lock(time_interpolator_lock_); |
time_interpolator_.reset( |
@@ -330,8 +315,6 @@ void CmaRenderer::InitializeVideoPipeline() { |
if (config.codec() == ::media::kCodecH264) |
stream->EnableBitstreamConverter(); |
- initial_natural_size_ = config.natural_size(); |
- |
std::vector<::media::VideoDecoderConfig> configs; |
configs.push_back(config); |
media_pipeline_->InitializeVideo(configs, std::move(frame_provider), |
@@ -397,6 +380,7 @@ void CmaRenderer::OnNaturalSizeChanged(const gfx::Size& size) { |
DCHECK(thread_checker_.CalledOnValidThread()); |
video_renderer_sink_->PaintFrameUsingOldRenderingPath( |
hole_frame_factory_->CreateHoleFrame(size)); |
+ client_->OnVideoNaturalSizeChange(size); |
} |
void CmaRenderer::OnPlaybackTimeUpdated(base::TimeDelta time, |