| Index: media/blink/webmediaplayer_impl.cc
|
| diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
|
| index b1744bd1c3d4893f8ed38aa8933ab804430bea90..e0873422a839df297ee6f83c9b676d08e211381e 100644
|
| --- a/media/blink/webmediaplayer_impl.cc
|
| +++ b/media/blink/webmediaplayer_impl.cc
|
| @@ -337,8 +337,20 @@ void WebMediaPlayerImpl::seek(double seconds) {
|
| media_log_->AddEvent(media_log_->CreateSeekEvent(seconds));
|
|
|
| // Update our paused time.
|
| - if (paused_)
|
| - paused_time_ = seek_time;
|
| + // In paused state ignore the seek operations to current time and generate
|
| + // buffer state change event to eventually fire seeking and seeked events
|
| + if (paused_) {
|
| + if (paused_time_ != seek_time) {
|
| + paused_time_ = seek_time;
|
| + } else {
|
| + main_task_runner_->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(&WebMediaPlayerImpl::OnPipelineBufferingStateChanged,
|
| + AsWeakPtr(),
|
| + BUFFERING_HAVE_ENOUGH));
|
| + return;
|
| + }
|
| + }
|
|
|
| seeking_ = true;
|
|
|
|
|