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

linux-pipewire: Add support for GS_R10G10B10A2 #6247

Merged

Conversation

columbarius
Copy link
Contributor

@columbarius columbarius commented Mar 29, 2022

Description

This adds support for the R10G10B10A2 format to the pipewire-capture plugin.

Motivation and Context

Wlroots supports 10bit formats and thus the portal implementation does export buffers with this format.

How Has This Been Tested?

Configure an output with render_bit_depth 10 in sway and use xdpw from the master branch.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@columbarius
Copy link
Contributor Author

This MR needs some defines for the ubuntu lts versions, since 10 bit formats were only added in PipeWire 0.3.41 iirc. Will add those when this is confirmed to work.

@WizardCM WizardCM added Linux Affects Linux New Feature New feature or plugin labels Mar 29, 2022
@Fenrirthviti Fenrirthviti added the Seeking Testers Build artifacts on CI label Mar 31, 2022
@columbarius columbarius marked this pull request as ready for review April 4, 2022 19:52
@columbarius
Copy link
Contributor Author

Tested this MR. Should be rerun later, it failed because ubuntu package servers were not available. Ready for review.

@tytan652
Copy link
Collaborator

Please drop the flatpak commit since we will switch to 22.08 based runtime (#7770).

@tytan652
Copy link
Collaborator

Last nitpik from me, the hide commit can be squashed with the first commit.

PipeWire supports 10bit colour formats with little endian order.

Adding two new formats required increasing the buffer size for building
PipeWire buffers.

This formats are supported since PipeWire 0.3.41. To allow building
against
older PipeWire versions we will hide those formats. Complications when
running on a host with an older PipeWire version are not expected, since
format negotiation is only done via the numerical values.
@GeorgesStavracas GeorgesStavracas merged commit 155fb8a into obsproject:master May 17, 2023
@columbarius
Copy link
Contributor Author

Btw. thanks for merging!

@RytoEX RytoEX added this to the OBS Studio (Next Release) milestone Aug 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Linux Affects Linux New Feature New feature or plugin Seeking Testers Build artifacts on CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants