| Index: media/base/android/media_decoder_job.cc
|
| diff --git a/media/base/android/media_decoder_job.cc b/media/base/android/media_decoder_job.cc
|
| index 30ee84e5cfd9d0732abf4d93d06f3efdcb64f516..6d01cbfed128e465a8ea452040782c8c43be7d87 100644
|
| --- a/media/base/android/media_decoder_job.cc
|
| +++ b/media/base/android/media_decoder_job.cc
|
| @@ -31,13 +31,12 @@ MediaDecoderJob::MediaDecoderJob(
|
| output_eos_encountered_(false),
|
| skip_eos_enqueue_(true),
|
| prerolling_(true),
|
| - weak_this_(this),
|
| request_data_cb_(request_data_cb),
|
| access_unit_index_(0),
|
| input_buf_index_(-1),
|
| stop_decode_pending_(false),
|
| - destroy_pending_(false) {
|
| -}
|
| + destroy_pending_(false),
|
| + weak_factory_(this) {}
|
|
|
| MediaDecoderJob::~MediaDecoderJob() {}
|
|
|
| @@ -362,7 +361,10 @@ void MediaDecoderJob::DecodeInternal(
|
| decoder_task_runner_->PostDelayedTask(
|
| FROM_HERE,
|
| base::Bind(&MediaDecoderJob::ReleaseOutputBuffer,
|
| - weak_this_.GetWeakPtr(), buffer_index, size, render_output,
|
| + weak_factory_.GetWeakPtr(),
|
| + buffer_index,
|
| + size,
|
| + render_output,
|
| base::Bind(callback, status, presentation_timestamp)),
|
| time_to_render);
|
| return;
|
|
|