| 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 a00b0280882fed5e9ef211c31c8bf1c01a49679f..610f459d70bc6c0c9e6d614511ec463310567b34 100644
|
| --- a/media/base/android/media_source_player.cc
|
| +++ b/media/base/android/media_source_player.cc
|
| @@ -504,7 +504,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;
|
| }
|
| @@ -568,8 +568,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;
|
| }
|
|
|
| @@ -761,7 +759,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();
|
|
|