Chromium Code Reviews| Index: media/base/pipeline.cc |
| diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc |
| index 9da3df1b95579c0bc85d147f8111ea2f5e06284c..569b105227f8ee2fa27bed3cd8d2d3668dd1700b 100644 |
| --- a/media/base/pipeline.cc |
| +++ b/media/base/pipeline.cc |
| @@ -17,7 +17,6 @@ |
| #include "media/base/audio_decoder.h" |
| #include "media/base/clock.h" |
| #include "media/base/composite_filter.h" |
| -#include "media/base/composite_filter.h" |
| #include "media/base/filter_collection.h" |
| #include "media/base/filters.h" |
| #include "media/base/media_log.h" |
| @@ -648,8 +647,6 @@ void Pipeline::InitializeTask(PipelineStatus last_stage_status) { |
| // Currently only VideoDecoders have a recoverable error code. |
| if (state_ == kInitVideoDecoder && |
| last_stage_status == DECODER_ERROR_NOT_SUPPORTED) { |
| - pipeline_init_state_->composite->RemoveFilter( |
| - pipeline_init_state_->video_decoder.get()); |
| state_ = kInitAudioRenderer; |
| } else { |
| SetError(last_stage_status); |
| @@ -1161,6 +1158,7 @@ bool Pipeline::InitializeAudioDecoder( |
| const scoped_refptr<Demuxer>& demuxer) { |
| DCHECK_EQ(MessageLoop::current(), message_loop_); |
| DCHECK(IsPipelineOk()); |
| + DCHECK(demuxer); |
| scoped_refptr<DemuxerStream> stream = |
| demuxer->GetStream(DemuxerStream::AUDIO); |
| @@ -1186,31 +1184,27 @@ bool Pipeline::InitializeVideoDecoder( |
| const scoped_refptr<Demuxer>& demuxer) { |
| DCHECK_EQ(MessageLoop::current(), message_loop_); |
| DCHECK(IsPipelineOk()); |
| + DCHECK(demuxer); |
| - scoped_refptr<DemuxerStream> stream; |
| - |
| - if (demuxer) { |
| - stream = demuxer->GetStream(DemuxerStream::VIDEO); |
| + scoped_refptr<DemuxerStream> stream = |
| + demuxer->GetStream(DemuxerStream::VIDEO); |
| - if (!stream) |
| - return false; |
| - } |
| + if (!stream) |
| + return false; |
| - filter_collection_->SelectVideoDecoder(&video_decoder_); |
| + filter_collection_->SelectVideoDecoder(&pipeline_init_state_->video_decoder); |
| - if (!video_decoder_) { |
| + if (!pipeline_init_state_->video_decoder) { |
| SetError(PIPELINE_ERROR_REQUIRED_FILTER_MISSING); |
| return false; |
| } |
| - if (!PrepareFilter(video_decoder_)) |
| - return false; |
| - |
| - pipeline_init_state_->video_decoder = video_decoder_; |
| - video_decoder_->Initialize( |
| + pipeline_init_state_->video_decoder->Initialize( |
| stream, |
| base::Bind(&Pipeline::OnFilterInitialize, this), |
| base::Bind(&Pipeline::OnUpdateStatistics, this)); |
| + |
| + video_decoder_ = pipeline_init_state_->video_decoder; |
|
Ami GONE FROM CHROMIUM
2012/03/14 20:05:01
I don't get why you flipped the use of video_decod
xhwang
2012/03/14 22:28:41
Nothing deep :) I found InitializeVideoDecoder and
|
| return true; |
| } |
| @@ -1355,7 +1349,6 @@ void Pipeline::OnDemuxerStopDone(const base::Closure& callback) { |
| } |
| callback.Run(); |
| - |
| } |
| void Pipeline::DoSeek(base::TimeDelta seek_timestamp) { |