[webkit-changes] [WebKit/WebKit] fa338d: [GStreamer] Setting playbackRate=0 does not pause ...

Enrique Ocaña González noreply at github.com
Wed Jan 17 04:40:55 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fa338d78104660c63562d8dd1b24a8f8207d72da
      https://github.com/WebKit/WebKit/commit/fa338d78104660c63562d8dd1b24a8f8207d72da
  Author: Enrique Ocaña González <eocanha at igalia.com>
  Date:   2024-01-17 (Wed, 17 Jan 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp

  Log Message:
  -----------
  [GStreamer] Setting playbackRate=0 does not pause video for progressive video playback
https://bugs.webkit.org/show_bug.cgi?id=267601

Reviewed by Philippe Normand.

Setting playbackRate=0 on a regular video doesn't pause the playback. Also, setting
playbackRate=1 (or any other value) on a paused video doesn't resume the playback.

See: https://github.com/WebPlatformForEmbedded/WPEWebKit/pull/1272

There's an m_playbackRatePausedState attribute in the curent code, but it only keeps track
of the desired state to be reported to the upper layers and also about if the video should
be paused/unpaused because of buffering. It's not working in practice to make the
playbackRate changes done from JavaScript effective in the pipeline.

This patch adds code to update the pipeline state depending on that already existing desired
state.

Original author: suresh-khurdiya-epam <skhurdiya.contractor at libertyglobal.com>

* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setRate): Pause/unpause the pipeline according to the state of playbackRate.

Canonical link: https://commits.webkit.org/273125@main




More information about the webkit-changes mailing list