Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GStreamer] Setting playbackRate=0 does not pause video for progressive video playback #22831

Merged
merged 1 commit into from
Jan 17, 2024

Conversation

eocanha
Copy link
Contributor

@eocanha eocanha commented Jan 16, 2024

fa338d7

[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: WebPlatformForEmbedded/WPEWebKit#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@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

afb4924

Misc iOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 wincairo
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 gtk
✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🧪 gtk-wk2
✅ 🛠 tv ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 api-gtk
✅ 🛠 tv-sim
✅ 🛠 🧪 merge ✅ 🛠 watch
✅ 🛠 watch-sim

@eocanha eocanha requested a review from philn as a code owner January 16, 2024 21:04
@eocanha eocanha self-assigned this Jan 16, 2024
@eocanha eocanha added the Media Bugs related to the HTML 5 Media elements. label Jan 16, 2024
@eocanha eocanha added the merge-queue Applied to send a pull request to merge-queue label Jan 17, 2024
…ve 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: WebPlatformForEmbedded/WPEWebKit#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@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
@webkit-commit-queue
Copy link
Collaborator

Committed 273125@main (fa338d7): https://commits.webkit.org/273125@main

Reviewed commits have been landed. Closing PR #22831 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit fa338d7 into WebKit:main Jan 17, 2024
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Jan 17, 2024
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Media Bugs related to the HTML 5 Media elements.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants