| Index: media/base/pipeline.cc
|
| diff --git a/media/base/pipeline.cc b/media/base/pipeline.cc
|
| index 7691e52e71084cc137970f0e8038f5f31b467b54..f004efb7c0ddee64c54706686b11b7aa6021416e 100644
|
| --- a/media/base/pipeline.cc
|
| +++ b/media/base/pipeline.cc
|
| @@ -260,7 +260,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);
|
| @@ -289,14 +288,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;
|
| @@ -456,9 +452,6 @@ void Pipeline::StateTransitionTask(PipelineStatus status) {
|
| case kInitDemuxer:
|
| return InitializeDemuxer(done_cb);
|
|
|
| - case kInitAudioDecoder:
|
| - return InitializeAudioDecoder(done_cb);
|
| -
|
| case kInitAudioRenderer:
|
| return InitializeAudioRenderer(done_cb);
|
|
|
| @@ -625,7 +618,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;
|
| @@ -883,31 +875,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) {
|
|
|