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

[WPE][GStreamer] support auto-pluging of different sinks #13612

Conversation

emutavchi
Copy link
Contributor

@emutavchi emutavchi commented May 9, 2023

bfa9538

[WPE][GStreamer] support auto-pluging of different sinks
https://bugs.webkit.org/show_bug.cgi?id=256482

Reviewed by Xabier Rodriguez-Calvar.

This solves several cases:

- secondary (video only/pip) playback: audio sink allocates resources in
ready state (as part of auto audio sink detection), which interferes
with the main playback.

- "external" playback, or playback with other sink elements: in this
case we want playbin2 to autoplug needed elements.

* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::gstreamerPositionFromSinks const):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::createHolePunchVideoSink):

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

b4bf638

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 βœ… πŸ›  gtk
βœ… πŸ§ͺ ios-wk2-wpt βœ… πŸ§ͺ mac-wk1 βœ… πŸ§ͺ gtk-wk2
βœ… πŸ§ͺ api-ios βœ… πŸ§ͺ mac-wk2 βœ… πŸ§ͺ api-gtk
βœ… πŸ›  tv βœ… πŸ§ͺ mac-AS-debug-wk2
βœ… πŸ›  tv-sim
❌ πŸ›  πŸ§ͺ merge βœ… πŸ›  watch
βœ… πŸ›  watch-sim

@emutavchi emutavchi requested a review from philn as a code owner May 9, 2023 00:01
Copy link
Contributor

@calvaris calvaris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Title of the PR has to be in the first line of the commit log. Bug URL has to be in the second line of the log. After these two lines you need to have Reviewed by NOBODY (OOPS!)., then the bug explanation (remove the second OOPS line as you already have the explanation.

Please, check some other commits to have an idea of how to do it.

@calvaris
Copy link
Contributor

calvaris commented May 9, 2023

Ah, and PR title, first line of the commit log and title of the bugzilla bug have to be the same.

@emutavchi emutavchi force-pushed the eng/WPEGStreamer-support-auto-pluging-of-different-sinks branch from bf72c05 to b27450a Compare May 9, 2023 18:38
@emutavchi emutavchi changed the title disable enforcement of audio/video sink setup for some platforms [WPE][GStreamer] support auto-pluging of different sinks May 9, 2023
@emutavchi
Copy link
Contributor Author

@calvaris I've updated the PR. hopefully I got it right this time.

Copy link
Contributor

@calvaris calvaris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One you push the list last change, I'll already ask the merge queue to merge it. Thanks.

@emutavchi emutavchi force-pushed the eng/WPEGStreamer-support-auto-pluging-of-different-sinks branch from b27450a to b4bf638 Compare May 11, 2023 11:38
@calvaris calvaris added merge-queue Applied to send a pull request to merge-queue and removed merging-blocked Applied to prevent a change from being merged labels May 11, 2023
@webkit-commit-queue webkit-commit-queue force-pushed the eng/WPEGStreamer-support-auto-pluging-of-different-sinks branch from b4bf638 to 1c9b3fa Compare May 11, 2023 16:22
https://bugs.webkit.org/show_bug.cgi?id=256482

Reviewed by Xabier Rodriguez-Calvar.

This solves several cases:

- secondary (video only/pip) playback: audio sink allocates resources in
ready state (as part of auto audio sink detection), which interferes
with the main playback.

- "external" playback, or playback with other sink elements: in this
case we want playbin2 to autoplug needed elements.

* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::gstreamerPositionFromSinks const):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::createHolePunchVideoSink):

Canonical link: https://commits.webkit.org/263972@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/WPEGStreamer-support-auto-pluging-of-different-sinks branch from 1c9b3fa to bfa9538 Compare May 11, 2023 16:24
@webkit-commit-queue
Copy link
Collaborator

Committed 263972@main (bfa9538): https://commits.webkit.org/263972@main

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

@webkit-commit-queue webkit-commit-queue merged commit bfa9538 into WebKit:main May 11, 2023
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label May 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants