Index: media/base/pipeline.cc |
diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc |
index 0f268c967efeb3f2759af823991d92d0adec412e..e7ed272f21509f9349c020dec22b36df293d6f72 100644 |
--- a/media/base/pipeline.cc |
+++ b/media/base/pipeline.cc |
@@ -54,9 +54,7 @@ media::PipelineStatus PipelineStatusNotification::status() { |
return status_; |
} |
-class Pipeline::PipelineInitState { |
- public: |
- scoped_refptr<AudioDecoder> audio_decoder_; |
+struct Pipeline::PipelineInitState { |
scoped_refptr<VideoDecoder> video_decoder_; |
scoped_refptr<CompositeFilter> composite_; |
}; |
@@ -683,7 +681,7 @@ void Pipeline::InitializeTask(PipelineStatus last_stage_status) { |
SetState(kInitAudioRenderer); |
// Returns false if there's no audio stream. |
- if (InitializeAudioRenderer(pipeline_init_state_->audio_decoder_)) { |
+ if (InitializeAudioRenderer(audio_decoder_)) { |
base::AutoLock auto_lock(lock_); |
has_audio_ = true; |
scherkus (not reviewing)
2012/02/03 23:31:29
I wonder if we can replace has_audio_/has_video_ w
Ami GONE FROM CHROMIUM
2012/02/04 00:10:21
TODO'd.
|
return; |
@@ -1029,7 +1027,7 @@ void Pipeline::FilterStateTransitionTask() { |
// Start monitoring rate of downloading. |
int bitrate = 0; |
- if (demuxer_.get()) { |
+ if (demuxer_) { |
bitrate = demuxer_->GetBitrate(); |
local_source_ = demuxer_->IsLocalSource(); |
streaming_ = !demuxer_->IsSeekable(); |
@@ -1091,6 +1089,7 @@ void Pipeline::FinishDestroyingFiltersTask() { |
DCHECK(IsPipelineStopped()); |
// Clear filter references. |
+ audio_decoder_ = NULL; |
audio_renderer_ = NULL; |
video_renderer_ = NULL; |
demuxer_ = NULL; |
@@ -1171,19 +1170,14 @@ bool Pipeline::InitializeAudioDecoder( |
if (!stream) |
return false; |
- scoped_refptr<AudioDecoder> audio_decoder; |
- filter_collection_->SelectAudioDecoder(&audio_decoder); |
+ filter_collection_->SelectAudioDecoder(&audio_decoder_); |
- if (!audio_decoder) { |
+ if (!audio_decoder_) { |
SetError(PIPELINE_ERROR_REQUIRED_FILTER_MISSING); |
return false; |
} |
- if (!PrepareFilter(audio_decoder)) |
- return false; |
- |
- pipeline_init_state_->audio_decoder_ = audio_decoder; |
- audio_decoder->Initialize( |
+ audio_decoder_->Initialize( |
stream, |
base::Bind(&Pipeline::OnFilterInitialize, this), |
base::Bind(&Pipeline::OnUpdateStatistics, this)); |