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

Unified Diff: media/base/pipeline.cc

Issue 9325044: Remove AudioDecoder from the Filter heirarchy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 11 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
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));

Powered by Google App Engine
This is Rietveld 408576698