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 bad50cf42d9b1fabe2b20c63c5069a8c9a55cf2e..5ef824ba443cb627ed2627e226c02baf8290a81d 100644 |
--- a/media/base/android/media_source_player.cc |
+++ b/media/base/android/media_source_player.cc |
@@ -481,8 +481,11 @@ void MediaSourcePlayer::MediaDecoderCallback( |
max_presentation_timestamp); |
} |
- if (status == MEDIA_CODEC_OUTPUT_END_OF_STREAM) |
+ if (status == MEDIA_CODEC_OUTPUT_END_OF_STREAM) { |
PlaybackCompleted(is_audio); |
+ if (is_clock_manager) |
+ interpolator_.StopInterpolating(); |
+ } |
if (pending_event_ != NO_EVENT_PENDING) { |
ProcessPendingEvents(); |
@@ -576,7 +579,6 @@ void MediaSourcePlayer::PlaybackCompleted(bool is_audio) { |
if (AudioFinished() && VideoFinished()) { |
playing_ = false; |
- interpolator_.StopInterpolating(); |
start_time_ticks_ = base::TimeTicks(); |
manager()->OnPlaybackComplete(player_id()); |
} |