After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 577050 - [winks] property probe interface needs fixing to use device-path
[winks] property probe interface needs fixing to use device-path
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Windows
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-03-28 08:21 UTC by Andres Colubri
Modified: 2012-09-30 11:00 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch containing the changes made to gstksvideosrc.c and h (6.11 KB, patch)
2009-03-28 08:23 UTC, Andres Colubri
needs-work Details | Review

Description Andres Colubri 2009-03-28 08:21:07 UTC
The winks plugin was missing the property probe interface. 

This first implementation of the interface only returns the values for the device-name property, in other words, the list of available WDM cameras on Windows.

The following functions were added:

static void gst_ks_video_src_init_interfaces (GType type);
static void gst_ks_video_src_probe_interface_init (GstPropertyProbeInterface * iface);
static const GList *gst_ks_video_src_probe_get_properties (GstPropertyProbe * probe);
static GValueArray *gst_ks_video_src_probe_get_values (GstPropertyProbe * probe, 
    guint prop_id, const GParamSpec * pspec);
static GValueArray *gst_ks_video_src_get_device_name_values (GstKsVideoSrc * self);
static gboolean gst_ks_video_src_probe_needs_probe (GstPropertyProbe * probe,
    guint prop_id, const GParamSpec * pspec);
static void gst_ks_video_src_probe_probe_property (GstPropertyProbe * probe,
    guint prop_id, const GParamSpec * pspec);
Comment 1 Andres Colubri 2009-03-28 08:23:13 UTC
Created attachment 131541 [details] [review]
Patch containing the changes made to gstksvideosrc.c and h
Comment 2 Sebastian Dröge (slomo) 2009-07-29 14:05:30 UTC
This patch doesn't look correct.

_probe_property() should get/update the list of devices while _get_values() should only return them.
Comment 3 Andres Colubri 2009-07-29 15:29:29 UTC
Ok, thanks for looking at this patch. I'll correct it following your comment.
Comment 4 Tim-Philipp Müller 2010-10-31 23:24:32 UTC
Looks like something along these lines has been committed by oleavr:

http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=700f70e7a5a6ae6eed5ea6026ab5901a4c05aff1

but it doesn't look entirely correct (the interface is really awful, no doubt): "device-name" is by convention a read-only property that will return a human-readable string for the device selected via some other property (usually a "device" property, here maybe "device-path" and/or "device-index"). This is to work around the limitation of the property probe interface that it can only return one value per probe, and not a set of values such as device + device name.

So unless devices are primarily selected via the "device-name" property, this looks bogus, and it should be some other property that's probable.
Comment 5 Ole André Vadla Ravnås 2010-11-01 13:37:52 UTC
(In reply to comment #4)
> Looks like something along these lines has been committed by oleavr:
> 
> http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=700f70e7a5a6ae6eed5ea6026ab5901a4c05aff1
> 
> but it doesn't look entirely correct (the interface is really awful, no doubt):
> "device-name" is by convention a read-only property that will return a
> human-readable string for the device selected via some other property (usually
> a "device" property, here maybe "device-path" and/or "device-index"). This is
> to work around the limitation of the property probe interface that it can only
> return one value per probe, and not a set of values such as device + device
> name.
> 
> So unless devices are primarily selected via the "device-name" property, this
> looks bogus, and it should be some other property that's probable.

Spot on. The right thing to do here would be to use "device-path", as it is the only unambiguous way to specify a device. So the current implementation is indeed horribly broken. I'll fix this.
Comment 6 Andres Colubri 2010-11-01 14:21:02 UTC
Hello guys. Thanks for picking up this one!

I created the patch a while ago, but it was just a quick hack. Now I'm very busy with other things (gstreamer-java, etc) so it will be great if Ole Andre finish this functionality the way it should be.
Comment 7 Andres Colubri 2011-09-20 21:10:23 UTC
Hello, is anyone currently maintaining the winks plugin?
Comment 8 Tim-Philipp Müller 2012-05-26 11:38:16 UTC
Doesn't look like Ole André or anyone else will be fixing this any time soon.

Ole André: are you still interested in fixing this "horribly broken" code up? :)

Setting to NEEDINFO for response from Ole André.

If no one is picking this up, we may just as well WONTFIX it or OBSOLETE it, as the property probe interface has been removed in 0.11 anyway, and there's no replacement so far.
Comment 9 Andres Colubri 2012-05-26 15:16:59 UTC
I'd be willing to maintain the winks plugin if no one else is up to the tak, and continues to be the most reliable capture source on windows in my projects (as it has been so far). The disappearance of the probe interface from gsteamer is what worries me most at this point, tough.
Comment 10 Tim-Philipp Müller 2012-05-26 15:26:18 UTC
Andres: we don't really have specific people maintaining certain plugins. Great to hear you're willing to help out here though.

There will be a better probing interface at some point though, it just hasn't been designed/written yet.
Comment 11 Tobias Mueller 2012-09-30 11:00:09 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for.
Thanks!