Since pipewire supports v4l and gstreamer it is possible to capture video without gst-plugins-v4l2. If the both installed then by default pipewire gst plugin has used. Seems the next lines to the RDEPEND should be added:
Although I'm not sure if using the pipewire for cheese would be acceptable right now, as in my case it cause some video recording problems. I would prefer to stay with gst-plugins-v4l2, but I don’t know how to change the default settings to use it instead of pipewire if the both installed.
Looks like it's there for camerabin to actually have something to capture things with, and indeed with pipewire it just picks pipewiresrc instead and doesn't initialize v4l2 elements at all.
Perhaps, along with the cheese RDEPEND change, "media-video/pipewire -gstreamer" should be added into the Gentoo desktop profiles.
The bug has been referenced in the following commit(s):
Author: Mart Raudsepp <email@example.com>
AuthorDate: 2021-12-26 22:30:54 +0000
Commit: Mart Raudsepp <firstname.lastname@example.org>
CommitDate: 2021-12-26 22:30:54 +0000
media-video/cheese: allow pipewiresrc as camerabin provider
If pipewiresrc is present, camerabin seems to pick it. Allow uninstalling
gst-plugins-v4l2 in such cases by listing both options.
gst-plugins-v4l2 is kept as the first choice to avoid a USE flag for now
and just allow pipewire at runtime as an option, if already present. This
could/should change and be revisited later.
Package-Manager: Portage-3.0.20, Repoman-3.0.2
Signed-off-by: Mart Raudsepp <email@example.com>
media-video/cheese/cheese-41.1.ebuild | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
Out of other gst-plugins-v4l2 dependents, empathy seems to use it directly and pitivi doesn't use either directly, so need to track down why it's a dependency there in the first place. Maybe something used by gstreamer-editing-services for pitivi use cases
As a work-around it should be possible to route a V4L2 client to PipeWire (and avoid clashing over hardware control) by using the pw-v4l2 wrapper e.g.: pw-v4l2 cheese