I used the weekend for some spring cleaning in my brain, looking into a couple of camera issues in the #PipeWire #GStreamer #xdg_desktop_portal Gnome-Camera/Snapshot stack.
It turned out to be quite productive. If you faced one of the following issues in the past, things will likely soon get better:
1. Unreliable camera portal behavior, notably the portal reporting that there are no cameras present.
2. High delay with some cameras, especially external USB ones.
...
3. Camera apps like Snapshot or Cheese taking long to start the stream - and restarting it when e.g. taking a picture.
4. Snapshot (and similar apps) having much lower frame rates than e.g. Cheese.
There are a few more changes in the pipe - notably improving Snapshot performance on low-end devices, including #LinuxMobile devices like the #PinePhonePro.
All of this together will hopefully help making cameras on FDO more fun.
Some links for those interested:
1. https://github.com/flatpak/xdg-desktop-portal/pull/1319
2. https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1955
3. https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/1956
4. https://gitlab.gnome.org/GNOME/snapshot/-/merge_requests/223
Ongoing Snapshots performance work: https://gitlab.gnome.org/GNOME/snapshot/-/merge_requests/172
@rmader Is this likely to affect camera's on the PinePhone(Pro)?
Either way, thank you for taking the effort to look into this on the Easter weekend!
@Blort Yep, 1. and 3. should make things a bit nicer, however https://gitlab.gnome.org/GNOME/snapshot/-/merge_requests/172 is the MR where I have things cooking to improve the graphics side, which is the main issue on devices like the #PinePhonePro.
The first goal is to improve things to a point where Snapshot (and the increasing number of apps using its aperture library) run smoothly on even weaker devices like the org. #PinePhone and #Librem5, which will (hopefully) soon finally be supported by #libcamera softwareISP.