Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 387747 - media-plugins/gst-plugins-v4l2: allow build of experimental v4l2sink plugin
Summary: media-plugins/gst-plugins-v4l2: allow build of experimental v4l2sink plugin
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: GStreamer package maintainers
URL:
Whiteboard:
Keywords: Inclusion
Depends on:
Blocks:
 
Reported: 2011-10-19 21:40 UTC by John Doe
Modified: 2013-01-24 22:14 UTC (History)
1 user (show)

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


Attachments
Add 'experimental' useflag to media-plugins/gst-plugins-v4l2 (gst-plugins-v4l2_v4l2sink.patch,1.02 KB, patch)
2011-10-19 21:43 UTC, John Doe
Details | Diff
patch to add the experimental v4l2sink element and use libv4l2 (gst-plugins-v4l2_v4l2sink_and_libv4l2.patch,1.11 KB, patch)
2011-10-20 16:41 UTC, John Doe
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description John Doe 2011-10-19 21:40:42 UTC
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
Comment 1 John Doe 2011-10-19 21:43:56 UTC
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.
Comment 2 Mart Raudsepp gentoo-dev 2011-10-20 15:21:04 UTC
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.
Comment 3 John Doe 2011-10-20 16:40:43 UTC
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.
Comment 4 John Doe 2011-10-20 16:41:37 UTC
Created attachment 290383 [details, diff]
patch to add the experimental v4l2sink element and use libv4l2
Comment 5 John Doe 2011-10-20 16:49:47 UTC
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.
Comment 6 Mart Raudsepp gentoo-dev 2011-10-20 16:59:53 UTC
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.
Comment 7 John Doe 2011-11-18 20:18:37 UTC
The fix for this specific bug would be to apply that patch and give the user the CHOICE to build this experimental feature.
Comment 8 Gilles Dartiguelongue (RETIRED) gentoo-dev 2012-12-28 00:09:27 UTC
Having a USE flag for that sounds like the best solution.
Comment 9 Gilles Dartiguelongue (RETIRED) gentoo-dev 2013-01-24 22:14:47 UTC
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.