| 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 75b72ce5fc224b4b4db3a9a60323a5a9d18f04e2..08b56aa145c5fc46b2afd2f4ffcd3a3e9c4d1c6a 100644
|
| --- a/media/base/android/media_decoder_job.cc
|
| +++ b/media/base/android/media_decoder_job.cc
|
| @@ -350,14 +350,7 @@ void MediaDecoderJob::DecodeInternal(
|
| else if (input_status == MEDIA_CODEC_INPUT_END_OF_STREAM)
|
| status = MEDIA_CODEC_INPUT_END_OF_STREAM;
|
|
|
| - // Check whether we need to render the output.
|
| - // TODO(qinmin): comparing most recently queued input's |unit.timestamp| with
|
| - // |preroll_timestamp_| is not accurate due to data reordering and possible
|
| - // input queueing without immediate dequeue when |input_status| !=
|
| - // |MEDIA_CODEC_OK|. Need to use the |presentation_timestamp| for video, and
|
| - // use |size| to calculate the timestamp for audio. See
|
| - // http://crbug.com/310823 and http://b/11356652.
|
| - bool render_output = unit.timestamp >= preroll_timestamp_ &&
|
| + bool render_output = presentation_timestamp >= preroll_timestamp_ &&
|
| (status != MEDIA_CODEC_OUTPUT_END_OF_STREAM || size != 0u);
|
| base::TimeDelta time_to_render;
|
| DCHECK(!start_time_ticks.is_null());
|
|
|