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 0de06343e5e2546e97bb77d08a929e10e82e6a09..b8e7b42ba9a025ad69e8b409c5e88a41bdd1c97f 100644 |
--- a/chromecast/media/cma/filters/cma_renderer.cc |
+++ b/chromecast/media/cma/filters/cma_renderer.cc |
@@ -263,7 +263,6 @@ void CmaRenderer::InitializeAudioPipeline() { |
if (config.codec() == ::media::kCodecAAC) |
stream->EnableBitstreamConverter(); |
- has_audio_ = true; |
media_pipeline_->InitializeAudio( |
config, frame_provider.Pass(), audio_initialization_done_cb); |
} |
@@ -279,10 +278,10 @@ void CmaRenderer::OnAudioPipelineInitializeDone( |
DCHECK_EQ(state_, kUninitialized) << state_; |
DCHECK(!init_cb_.is_null()); |
if (status != ::media::PIPELINE_OK) { |
- has_audio_ = false; |
base::ResetAndReturn(&init_cb_).Run(status); |
return; |
} |
+ has_audio_ = true; |
InitializeVideoPipeline(); |
} |
@@ -327,7 +326,6 @@ void CmaRenderer::InitializeVideoPipeline() { |
initial_natural_size_ = config.natural_size(); |
- has_video_ = true; |
media_pipeline_->InitializeVideo( |
config, |
frame_provider.Pass(), |
@@ -345,10 +343,10 @@ void CmaRenderer::OnVideoPipelineInitializeDone( |
DCHECK_EQ(state_, kUninitialized) << state_; |
DCHECK(!init_cb_.is_null()); |
if (status != ::media::PIPELINE_OK) { |
- has_video_ = false; |
base::ResetAndReturn(&init_cb_).Run(status); |
return; |
} |
+ has_video_ = true; |
CompleteStateTransition(kFlushed); |
base::ResetAndReturn(&init_cb_).Run(::media::PIPELINE_OK); |