| Index: media/base/android/media_source_player.cc
|
| diff --git a/media/base/android/media_source_player.cc b/media/base/android/media_source_player.cc
|
| index 8aec0ab31f907c76f5cfcae34d2b4a707390bde8..0c75aaa1353c69c1a64968f75193dc386e2237c9 100644
|
| --- a/media/base/android/media_source_player.cc
|
| +++ b/media/base/android/media_source_player.cc
|
| @@ -503,7 +503,7 @@ void MediaSourcePlayer::MediaDecoderCallback(
|
| if (IsEventPending(SEEK_EVENT_PENDING)) {
|
| ProcessPendingEvents();
|
| // In case of Seek GetCurrentTime() already tells the time to seek to.
|
| - if (is_clock_manager)
|
| + if (is_clock_manager && !doing_browser_seek_)
|
| media_stat_->StopAndReport(current_presentation_timestamp);
|
| return;
|
| }
|
| @@ -567,8 +567,6 @@ void MediaSourcePlayer::MediaDecoderCallback(
|
| // in the middle of a seek or stop event and needs to wait for the IPCs to
|
| // come.
|
| if (status == MEDIA_CODEC_ABORT) {
|
| - if (is_clock_manager)
|
| - media_stat_->StopAndReport(GetCurrentTime());
|
| return;
|
| }
|
|
|
| @@ -760,7 +758,8 @@ void MediaSourcePlayer::OnPrefetchDone() {
|
| if (!interpolator_.interpolating())
|
| interpolator_.StartInterpolating();
|
|
|
| - media_stat_->Start(start_presentation_timestamp_);
|
| + if (!AudioFinished() || !VideoFinished())
|
| + media_stat_->Start(start_presentation_timestamp_);
|
|
|
| if (!AudioFinished())
|
| DecodeMoreAudio();
|
|
|