| Index: media/base/pipeline.cc
|
| diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
|
| index 2cb87f00d3890569af7602262bcffba8c03cf799..fd8b902d7f3808bb296fae869dde8e0aefee8303 100644
|
| --- a/media/base/pipeline.cc
|
| +++ b/media/base/pipeline.cc
|
| @@ -264,7 +264,6 @@ const char* Pipeline::GetStateString(State state) {
|
| switch (state) {
|
| RETURN_STRING(kCreated);
|
| RETURN_STRING(kInitDemuxer);
|
| - RETURN_STRING(kInitAudioDecoder);
|
| RETURN_STRING(kInitAudioRenderer);
|
| RETURN_STRING(kInitVideoRenderer);
|
| RETURN_STRING(kInitPrerolling);
|
| @@ -293,14 +292,11 @@ Pipeline::State Pipeline::GetNextState() const {
|
|
|
| case kInitDemuxer:
|
| if (demuxer_->GetStream(DemuxerStream::AUDIO))
|
| - return kInitAudioDecoder;
|
| + return kInitAudioRenderer;
|
| if (demuxer_->GetStream(DemuxerStream::VIDEO))
|
| return kInitVideoRenderer;
|
| return kInitPrerolling;
|
|
|
| - case kInitAudioDecoder:
|
| - return kInitAudioRenderer;
|
| -
|
| case kInitAudioRenderer:
|
| if (demuxer_->GetStream(DemuxerStream::VIDEO))
|
| return kInitVideoRenderer;
|
| @@ -464,9 +460,6 @@ void Pipeline::StateTransitionTask(PipelineStatus status) {
|
| case kInitDemuxer:
|
| return InitializeDemuxer(done_cb);
|
|
|
| - case kInitAudioDecoder:
|
| - return InitializeAudioDecoder(done_cb);
|
| -
|
| case kInitAudioRenderer:
|
| return InitializeAudioRenderer(done_cb);
|
|
|
| @@ -633,7 +626,6 @@ void Pipeline::OnStopCompleted(PipelineStatus status) {
|
| SetState(kStopped);
|
| pending_callbacks_.reset();
|
| filter_collection_.reset();
|
| - audio_decoder_ = NULL;
|
| audio_renderer_ = NULL;
|
| video_renderer_ = NULL;
|
| demuxer_ = NULL;
|
| @@ -886,31 +878,25 @@ void Pipeline::InitializeDemuxer(const PipelineStatusCB& done_cb) {
|
| demuxer_->Initialize(this, done_cb);
|
| }
|
|
|
| -void Pipeline::InitializeAudioDecoder(const PipelineStatusCB& done_cb) {
|
| +void Pipeline::InitializeAudioRenderer(const PipelineStatusCB& done_cb) {
|
| DCHECK(message_loop_->BelongsToCurrentThread());
|
|
|
| scoped_refptr<DemuxerStream> stream =
|
| demuxer_->GetStream(DemuxerStream::AUDIO);
|
| DCHECK(stream);
|
|
|
| - filter_collection_->SelectAudioDecoder(&audio_decoder_);
|
| - audio_decoder_->Initialize(
|
| - stream, done_cb, base::Bind(&Pipeline::OnUpdateStatistics, this));
|
| -}
|
| -
|
| -void Pipeline::InitializeAudioRenderer(const PipelineStatusCB& done_cb) {
|
| - DCHECK(message_loop_->BelongsToCurrentThread());
|
| - DCHECK(audio_decoder_);
|
| -
|
| filter_collection_->SelectAudioRenderer(&audio_renderer_);
|
| audio_renderer_->Initialize(
|
| - audio_decoder_,
|
| + stream,
|
| + *filter_collection_->GetAudioDecoders(),
|
| done_cb,
|
| + base::Bind(&Pipeline::OnUpdateStatistics, this),
|
| base::Bind(&Pipeline::OnAudioUnderflow, this),
|
| base::Bind(&Pipeline::OnAudioTimeUpdate, this),
|
| base::Bind(&Pipeline::OnAudioRendererEnded, this),
|
| base::Bind(&Pipeline::OnAudioDisabled, this),
|
| base::Bind(&Pipeline::SetError, this));
|
| + filter_collection_->GetAudioDecoders()->clear();
|
| }
|
|
|
| void Pipeline::InitializeVideoRenderer(const PipelineStatusCB& done_cb) {
|
|
|