PipeWire buffer transform
Description
Import PipeWire buffers respecting previously applied transformations.
Motivation and Context
The wlroots Portal implementation won't transform buffers and as such a screencast is displayed wrongly if the output is rotated. This MR aims to prototype PipeWire buffer transformation informations to read the screencontent correctly from the rotated buffer.
How Has This Been Tested?
No test available yet.
Types of changes
- New feature (non-breaking change which adds functionality)
Checklist:
- [x] My code has been run through clang-format.
- [x] I have read the contributing document.
- [x] My code is not on the master branch.
- [x] The code has been tested.
- [x] All commit messages are properly formatted and commits squashed where appropriate.
- [x] I have included updates to all appropriate documentation.
I understand that this is a draft, but please make sure that you fully fill out the template. If the template isn't ready to be filled out, than the PR isn't ready for submission, even as a draft.
I guess I should again squash the guard commit?
May this receive the 'Seeking testers' label, please? This should allow wlroots users to stream their screen correctly when the screen is rotated.
Can confirm the flatpak build works with xdpw master and sway. Ready for review.
CC: @GeorgesStavracas @kkartaltepe
Build a flatpak version of this MR without bumping the PipeWire version and it works as expected without doing any rotation.
rebased and conflicts resolved.
Thanks for merging!