In kernel 2.6.27 and higher, the drivers for gspca and most uvc webcams (i.e. most USB webcams in existence) require userspace v4l2 clients to do their own video format conversion. gst-plugins-libv4l2 currently does not perform this conversion, hence making the plugin very nearly useless. To perform the required format conversion automatically, Fedora patched gst-plugins-libv4l2 to use libv4l2 from media-libs/libv4l (see URL field for the patch). Seems to be working pretty well for them. I have tested the Fedora patch with two webcams (one gspca, one uvc), and it works beautifully. Please add it to the version of gst-plugins-v4l2 in portage.
In text above, s/gst-plugins-libv4l2/gst-plugins-v4l2/g
Created attachment 174472 [details, diff] Fedora's gst-plugins-v4l2 libv4l2 patch The patch from Fedora, renamed for sanity purposes.
Created attachment 174473 [details, diff] Patch to make libv4l dependency non-automagic Unfortunately, Fedora's patch makes the dependency on libv4l automagic. Here's a patch to apply on top of Fedora's to make it non-automagic. (One could integrate the two patches into one, but that would make version bumps harder.)
Created attachment 174475 [details] ebuild using the above two patches
(In reply to comment #3) > Created an attachment (id=174473) [edit] > Patch to make libv4l dependency non-automagic > > Unfortunately, Fedora's patch makes the dependency on libv4l automagic. Here's > a patch to apply on top of Fedora's to make it non-automagic. (One could > integrate the two patches into one, but that would make version bumps harder.) > Please open a bug for this in gstreamer's bugzilla (gnome's bugzilla) so we don't have to carry these around from version to version. And link this bug there in the URL field, and other way around.
I'm asking this because we really don't have a active gstreamer maintainer in Gentoo at the moment, unfortunately. I've done some work, because there has been nobody else to do it. I don't need the extra work, no offense. Thanks!
(In reply to comment #5) > Please open a bug for this in gstreamer's bugzilla (gnome's bugzilla) so we > don't have to carry these around from version to version. Done: http://bugzilla.gnome.org/show_bug.cgi?id=563504 > And link this bug there in the URL field, and other way around. Can't, Gnome bugzilla doesn't seem to have a URL field... > I don't need the extra work, no offense. I understand. That's why I made the non-automagic patch separate: it will (hopefully) remain constant for future versions of the plugin, while the updated main patch can simply be downloaded from Fedora CVS.
FYI, I have joined the gstreamer herd a week ago, and do have a gspca driven webcam. Hopefully I can take a look at resolving this bug before the year ends...
It turned out that the Fedora patch had been accepted in upstream CVS in September. And the non-automagic patch is now in too, see the Gnome bug. So there will be no extra work in the future.
Could this be included in the tree? Now that kernel 2.6.27 is in stable some people are having to manually run gst apps setting LD_PRELOAD=/usr/$(get_libdir)/libv4l/v4l2convert.so Thanks a lot :-)
gst-plugins-v4l2-0.10.14 (recently added to portage) automatically detects and uses libv4l2 at compile time. However, it would probably be best to make the dependency explicit in the ebuild instead of automagic (currently, the ebuild does not mention libv4l at all).
Created attachment 186758 [details] non-automagic gst-plugins-v4l2-0.10.14.ebuild gst-plugins-v4l2-0.10.14.ebuild that makes the libv4l dependency explicit, controlled by a USE flag (the USE flag is on by default because most modern webcams require libv4l support).
I'm tempted to just add it without a use flag..
(In reply to comment #13) > I'm tempted to just add it without a use flag.. OK, that also works.
Removing myself from CC because I refuse to maintain gstreamer long as it is packaged in such ridicilous way in Gentoo.
Well, the "fix" for this is simply depend on media-libs/libv4l (always or with a USE flag) What is the other suggest?
Please make libv4l dependency explicit, it won't hurt anyone. I just saw this when i dropped v4l support for vlc and emerge --depclean deleted libv4l afterwards.
Sorry about the inordinate delay on this - I've pushed this (mandatory libv4l2 dep) to CVS in 0.10.28-r1.
(In reply to comment #18) > Sorry about the inordinate delay on this - I've pushed this (mandatory libv4l2 > dep) to CVS in 0.10.28-r1. This looks like it should be a RDEPEND as well as a DEPEND. Right now if one runs "emerge --depclean --with-bdeps=n" then it pulls out media-libs/libv4l2. But this breaks a link dependency with libgstvideo4linux2.so.
+ 04 Aug 2011; Samuli Suominen <ssuominen@gentoo.org> + gst-plugins-v4l2-0.10.30.ebuild: + Move libv4l from DEPEND to RDEPEND wrt #370671 It seems 0.10.30 is proper, and this bug can be closed now