Chromium Code Reviews| 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..9c27cb97fbde5888fa814be51976a5e993b3d2d9 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_.interpolating()) |
|
qinmin
2014/09/25 20:23:17
we probably don't need interpolator_.interpolating
|
| + interpolator_.StopInterpolating(); |
| + } |
| if (pending_event_ != NO_EVENT_PENDING) { |
| ProcessPendingEvents(); |
| @@ -493,7 +496,7 @@ void MediaSourcePlayer::MediaDecoderCallback( |
| return; |
| if (!playing_) { |
| - if (is_clock_manager) |
| + if (is_clock_manager && interpolator_.interpolating()) |
| interpolator_.StopInterpolating(); |
| return; |
| } |
| @@ -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()); |
| } |