| Index: content/renderer/media/android/webmediaplayer_android.cc
|
| diff --git a/content/renderer/media/android/webmediaplayer_android.cc b/content/renderer/media/android/webmediaplayer_android.cc
|
| index 4ff222bb92624a82e49a3f8f7f3314900c5bbc4b..5187d3f81d6358f24b0d326fbd2a8fca54d73c2e 100644
|
| --- a/content/renderer/media/android/webmediaplayer_android.cc
|
| +++ b/content/renderer/media/android/webmediaplayer_android.cc
|
| @@ -72,6 +72,8 @@ using blink::WebSize;
|
| using blink::WebString;
|
| using blink::WebURL;
|
| using gpu::gles2::GLES2Interface;
|
| +using media::LogHelper;
|
| +using media::MediaLog;
|
| using media::MediaPlayerAndroid;
|
| using media::VideoFrame;
|
|
|
| @@ -426,13 +428,12 @@ void WebMediaPlayerAndroid::seek(double seconds) {
|
| if (seeking_) {
|
| if (new_seek_time == seek_time_) {
|
| if (media_source_delegate_) {
|
| - if (!pending_seek_) {
|
| - // If using media source demuxer, only suppress redundant seeks if
|
| - // there is no pending seek. This enforces that any pending seek that
|
| - // results in a demuxer seek is preceded by matching
|
| - // CancelPendingSeek() and StartWaitingForSeek() calls.
|
| - return;
|
| - }
|
| + // Don't suppress any redundant in-progress MSE seek. There could have
|
| + // been changes to the underlying buffers after seeking the demuxer and
|
| + // before receiving OnSeekComplete() for the currently in-progress seek.
|
| + MEDIA_LOG(DEBUG, media_log_)
|
| + << "Detected MediaSource seek to same time as in-progress seek to "
|
| + << seek_time_ << ".";
|
| } else {
|
| // Suppress all redundant seeks if unrestricted by media source
|
| // demuxer API.
|
|
|