| Index: media/base/pipeline_impl.cc
|
| diff --git a/media/base/pipeline_impl.cc b/media/base/pipeline_impl.cc
|
| index 43fdf5eb951113bab49777c1f94e89b3dc55434e..b980f2d97f8c3cf0890306045f816f66c3dcd6e4 100644
|
| --- a/media/base/pipeline_impl.cc
|
| +++ b/media/base/pipeline_impl.cc
|
| @@ -98,6 +98,7 @@ class PipelineImpl::RendererWrapper : public DemuxerHost,
|
| };
|
|
|
| // DemuxerHost implementaion.
|
| + void OnMetadata(PipelineMetadata metadata) final;
|
| void OnBufferedTimeRangesChanged(const Ranges<base::TimeDelta>& ranges) final;
|
| void SetDuration(base::TimeDelta duration) final;
|
| void OnDemuxerError(PipelineStatus error) final;
|
| @@ -135,7 +136,6 @@ class PipelineImpl::RendererWrapper : public DemuxerHost,
|
| void InitializeDemuxer(const PipelineStatusCB& done_cb);
|
| void InitializeRenderer(const PipelineStatusCB& done_cb);
|
| void DestroyRenderer();
|
| - void ReportMetadata();
|
|
|
| const scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_;
|
| const scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_;
|
| @@ -241,10 +241,6 @@ void PipelineImpl::RendererWrapper::Start(
|
| // Initialize demuxer.
|
| fns.Push(base::Bind(&RendererWrapper::InitializeDemuxer, weak_this_));
|
|
|
| - // Once the demuxer is initialized successfully, media metadata must be
|
| - // available - report the metadata to client.
|
| - fns.Push(base::Bind(&RendererWrapper::ReportMetadata, weak_this_));
|
| -
|
| // Initialize renderer.
|
| fns.Push(base::Bind(&RendererWrapper::InitializeRenderer, weak_this_));
|
|
|
| @@ -486,6 +482,11 @@ void PipelineImpl::RendererWrapper::SetCdm(
|
| cdm_attached_cb, cdm_context));
|
| }
|
|
|
| +void PipelineImpl::RendererWrapper::OnMetadata(PipelineMetadata metadata) {
|
| + main_task_runner_->PostTask(FROM_HERE, base::Bind(&PipelineImpl::OnMetadata,
|
| + weak_pipeline_, metadata));
|
| +}
|
| +
|
| void PipelineImpl::RendererWrapper::OnBufferedTimeRangesChanged(
|
| const Ranges<base::TimeDelta>& ranges) {
|
| // TODO(alokp): Add thread DCHECK after ensuring that all Demuxer
|
| @@ -845,25 +846,6 @@ void PipelineImpl::RendererWrapper::DestroyRenderer() {
|
| }
|
| }
|
|
|
| -void PipelineImpl::RendererWrapper::ReportMetadata() {
|
| - DCHECK(media_task_runner_->BelongsToCurrentThread());
|
| -
|
| - PipelineMetadata metadata;
|
| - metadata.timeline_offset = demuxer_->GetTimelineOffset();
|
| - DemuxerStream* stream = demuxer_->GetStream(DemuxerStream::VIDEO);
|
| - if (stream) {
|
| - metadata.has_video = true;
|
| - metadata.natural_size = stream->video_decoder_config().natural_size();
|
| - metadata.video_rotation = stream->video_rotation();
|
| - }
|
| - if (demuxer_->GetStream(DemuxerStream::AUDIO)) {
|
| - metadata.has_audio = true;
|
| - }
|
| -
|
| - main_task_runner_->PostTask(FROM_HERE, base::Bind(&PipelineImpl::OnMetadata,
|
| - weak_pipeline_, metadata));
|
| -}
|
| -
|
| PipelineImpl::PipelineImpl(
|
| const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
|
| MediaLog* media_log)
|
|
|