- Go to tiny.cc/wkmedia and start playback of one of the video. - Try to seek somewhere. On Linux the seeking is really strange sometimes going back to the value we were before the seek. On Mac for instance the playback stops.
Created attachment 85390 [details] Patch to fix the issue We do not need seekTimeout and queuedSeekTimeout anymore. setPosition on QMediaPlayer is good enough. positionChanged() will be emitted when the data is buffered. On Linux the signal was not emitted because of a bug in QtMultimedia. Also we need to resume the playback after receiving positionChanged() because beginScrubbing() actually paused the mediaplayer previously. A patch has been send to the Qt Multimedia team for review.
Comment on attachment 85390 [details] Patch to fix the issue as discussed on irc we need to exit early on state-change when seeking so that play/pause changes are not reflected as DOM events
Created attachment 85673 [details] V2 with comments taken into account.
Comment on attachment 85673 [details] V2 with comments taken into account. View in context: https://bugs.webkit.org/attachment.cgi?id=85673&action=review r=me with comment > Source/WebCore/platform/graphics/qt/MediaPlayerPrivateQt.cpp:448 > + if (m_mediaPlayer->state() != QMediaPlayer::PlayingState) { This needs to check the webcorePlayer state
Comment on attachment 85673 [details] V2 with comments taken into account. r-, there's logic in HTMLMEdiaElement that should take care of the play() for us
Created attachment 85700 [details] V3 without the play. Resuming the playback should be handled a layer up so I removed the play() call. It's a separate patch that I will upload after on a separate bug report. This commit then still fix the seeking but the video keep being paused after a successful seek.
Created attachment 85702 [details] V4 with up-to-date changelog
Comment on attachment 85702 [details] V4 with up-to-date changelog Clearing flags on attachment: 85702 Committed r81114: <http://trac.webkit.org/changeset/81114>
All reviewed patches have been landed. Closing bug.