Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 830018 - media-video/cheese: extend RDEPEND for media-video/pipewire[gstreamer,v4l]
Summary: media-video/cheese: extend RDEPEND for media-video/pipewire[gstreamer,v4l]
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Linux Gnome Desktop Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-26 22:00 UTC by Dmitriy Baranov
Modified: 2022-12-02 05:26 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitriy Baranov 2021-12-26 22:00:34 UTC
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:

|| (
	media-video/pipewire[gstreamer,v4l]
	>=media-plugins/gst-plugins-v4l2-1.4:1.0
)

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.

Reproducible: Always
Comment 1 Mart Raudsepp gentoo-dev 2021-12-26 22:14:34 UTC
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.
Comment 2 Dmitriy Baranov 2021-12-26 22:15:37 UTC
Perhaps, along with the cheese RDEPEND change, "media-video/pipewire -gstreamer" should be added into the Gentoo desktop profiles.
Comment 3 Larry the Git Cow gentoo-dev 2021-12-26 22:32:02 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=40e38423f0a01fe541251f8d543dcc9506f494a3

commit 40e38423f0a01fe541251f8d543dcc9506f494a3
Author:     Mart Raudsepp <leio@gentoo.org>
AuthorDate: 2021-12-26 22:30:54 +0000
Commit:     Mart Raudsepp <leio@gentoo.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.
    
    Bug: https://bugs.gentoo.org/830018
    Package-Manager: Portage-3.0.20, Repoman-3.0.2
    Signed-off-by: Mart Raudsepp <leio@gentoo.org>

 media-video/cheese/cheese-41.1.ebuild | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
Comment 4 Mart Raudsepp gentoo-dev 2021-12-26 23:06:13 UTC
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
Comment 5 Niklāvs Koļesņikovs 2022-01-02 21:28:32 UTC
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