| 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;
|
| return true;
|
| }
|
|
|
| @@ -1355,7 +1349,6 @@ void Pipeline::OnDemuxerStopDone(const base::Closure& callback) {
|
| }
|
|
|
| callback.Run();
|
| -
|
| }
|
|
|
| void Pipeline::DoSeek(base::TimeDelta seek_timestamp) {
|
|
|