Build cleanups and Pipewire/xdg-portal preparations
From the main commit:
Only allowing access to the Pipewire socket effectively archives the
same as using the xdg-[camera|device]-portal, just leaving out socket
restriction. Doing so has several benefits:
- Reduced complexity as only a single Gstreamer backend is used.
- It's a good preparation to transition to the portal.
- Blocking other apps from using the camera at the same time becomes
less likely.
- Pipewire can control which cameras are advertised in a central place,
making it easy to only advertise known working ones. Notably enforcing
the libcamera backend is simplified, which is necessary for many
modern/complex cameras often found in mobile devices.
- It helps testing and stabilizing Pipewire as camera host.
The main motivation of mine here is:
- getting the app closer to a state where it can be released on Flathub
- turning it into the go-to app to test Pipewire/libcamera on mobile devices
I've been using this on a Pinephone Pro to test pending libcamera, Pipewire and kernel patches, and would love to make that easier for others as well going forward.