Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Unified Diff: chromecast/renderer/media/cma_renderer.cc

Issue 1978973002: Moves video frame callbacks from VideoFrameCompositor to Renderer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addresses comments Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromecast/renderer/media/cma_renderer.h ('k') | media/base/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « chromecast/renderer/media/cma_renderer.h ('k') | media/base/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698