[Bug 747757] winks: add GstDeviceProvider implementations on Windows

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sun Apr 12 16:29:23 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=747757

LRN <lrn1986 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #301430|0                           |1
        is obsolete|                            |

--- Comment #3 from LRN <lrn1986 at gmail.com> ---
Created attachment 301434
  --> https://bugzilla.gnome.org/attachment.cgi?id=301434&action=edit
GstDeviceProvider implementation for Windows Kernel Streaming plugin

OK, this turned out to be easier than i thought.

I've added GST_OBJECT_LOCK/UNLOCK everywhere, hopefully it's somewhat
threadsafe now.

Realized that notifications came in tiers, for example:
USB device, then video device, then capture device.
Also, turned out that devices can be enumerated with both GUIDs (devtype
and category) being the same. So since we (eventually) get a notification
for "capture device", this is what we should work with, and ignore the rest.

Removal is even easier, as it's enough to just compare device paths.

Cleaned up excessive if-nesting, separated debug logging into its own
(locked) part.

Note that there are some placeholder pieces of code for audio capture
and audio playback here. Winks does not support these, but it might do
so in time. Some kind of video playback via Kernel Streaming should
be theoretically possible, but i've failed to google up any examples
of it in the wild, hence no placeholders for it.

I'm still unclear how to report device index to the base provider class,
and whether it's a valid way to identify a device at all.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list