| Index: chromecast/media/cma/pipeline/media_pipeline_impl.cc
|
| diff --git a/chromecast/media/cma/pipeline/media_pipeline_impl.cc b/chromecast/media/cma/pipeline/media_pipeline_impl.cc
|
| index 51b79fa3c3369a7710e98ab4e29a860a35cc2f3c..732803193274ba2137c200bdd33ec5929ead5f80 100644
|
| --- a/chromecast/media/cma/pipeline/media_pipeline_impl.cc
|
| +++ b/chromecast/media/cma/pipeline/media_pipeline_impl.cc
|
| @@ -103,21 +103,10 @@ MediaPipelineImpl::~MediaPipelineImpl() {
|
| CMALOG(kLogControl) << __FUNCTION__;
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|
| - weak_factory_.InvalidateWeakPtrs();
|
| -
|
| if (backend_state_ != BACKEND_STATE_UNINITIALIZED &&
|
| backend_state_ != BACKEND_STATE_INITIALIZED)
|
| metrics::CastMetricsHelper::GetInstance()->RecordApplicationEvent(
|
| "Cast.Platform.Ended");
|
| -
|
| - // Since av pipeline still need to access device components in their
|
| - // destructor, it's important to delete them first.
|
| - video_pipeline_.reset();
|
| - audio_pipeline_.reset();
|
| - audio_decoder_.reset();
|
| - media_pipeline_backend_.reset();
|
| - if (!client_.pipeline_backend_destroyed_cb.is_null())
|
| - client_.pipeline_backend_destroyed_cb.Run();
|
| }
|
|
|
| void MediaPipelineImpl::Initialize(
|
| @@ -126,9 +115,7 @@ void MediaPipelineImpl::Initialize(
|
| CMALOG(kLogControl) << __FUNCTION__;
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| audio_decoder_.reset();
|
| - media_pipeline_backend_.reset(media_pipeline_backend.release());
|
| - if (!client_.pipeline_backend_created_cb.is_null())
|
| - client_.pipeline_backend_created_cb.Run();
|
| + media_pipeline_backend_ = std::move(media_pipeline_backend);
|
|
|
| if (load_type == kLoadTypeURL || load_type == kLoadTypeMediaSource) {
|
| base::TimeDelta low_threshold(kLowBufferThresholdURL);
|
|
|