gstreamer needs to be configured with '--enable-experimental' for the v4l2sink plugin to be built (http://lists.freedesktop.org/archives/gstreamer-commits/2011-January/046130.html). The patch adds the 'experimental' flag for media-plugins/gst-plugins-v4l2 to allow the compiling of said plugin. Reproducible: Always
Created attachment 290287 [details, diff] Add 'experimental' useflag to media-plugins/gst-plugins-v4l2 The removed '--with-libv4l2' is unrelated to this bug. I saw that gst-plugins-good.eclass does not care about the parameters of gst-plugins-good_src_configure but uses the variable GST_PLUGINS_BUILD instead. So i removed it.
Why do you need the v4l2sink element? I feel uncomfortable adding it, as it's experimental and all. gst-plugins-good.eclass very well cares about the arguments given. If you look carefully, you'll see ${@} passed to econf in the eclass as the first thing - $@ is a bash special parameter for basically "all parameters to the function", so it passes all parameters given to gst-plugins-good_src-configure to econf. So your change of removing --with-libv4l2 makes the plugin not use media-libs/libv4l, while that is very important for supporting all cameras video buffer formats, see bug 250079, first introduced specifically due to this since 0.10.28-r1.
I have a v4l2sink (v4l2loopback) and want to stream to it. Since it is an expermental feature, only the user who is asking for it with the 'experimental' useflag will get it. I've seen that --withl-libv4l2 is not in the log and, after a glance at the eclass thought the parameter wasn't used. I missed the $@. The problem is, that src_configure in gst-plugins-v4l2-0.10.30.ebuild never gets called. The ebuild uses the exported functions 'src_unpack, src_compile, src_install' from gst-plugins-good.eclass. I attached a new patch which overrides src_compile and actually adds --with-libv4l2.
Created attachment 290383 [details, diff] patch to add the experimental v4l2sink element and use libv4l2
The ebuilds gst-plugins-dts and gst-plugins-gl define also a 'src_configure' function. Possibly also unused. Maybe src_configure is not used when src_compile is defined? But thats a wild guess.
It's about what EAPI is used. And yes, gst-plugins-v4l2 has a problem, just everyone does get libv4l2 used, because when neither --without-libv4l2 nor --with-libv4l2 is passed, it does an automatic check, and because there's a libv4l2 dependency, it will be always enabled. But that's not quite correct. Will have to review the others too. The better fix is to probably upgrade to using EAPI=2.
The fix for this specific bug would be to apply that patch and give the user the CHOICE to build this experimental feature.
Having a USE flag for that sounds like the best solution.
Ok this is actually enabled by default in at least 0.10.31 and 1.* ebuilds. I think we can close this as fixed then. Thanks for reporting.