GNOME Bugzilla – Bug 672136
Add winks plugin to build target for autotools
Last modified: 2012-07-03 10:26:59 UTC
Created attachment 209834 [details] [review] 1-winks Fedora is improving cross compiling support and the very latest MinGW packages (w64-based) are going into Fedora 17. I was interested in using gstreamer for grabbing frames from a webcam and noticed that, by default, the ksvideosrc (winks) plugin is not compiled. The winks Makefile has a specific comment that the plugin is "not buildable", however, I have built it under MinGW with a few minor changes. The attached patches are broken into the following: 1-winks Makefile: Pretty self explanatory. 2-sys Makefile: Self explanatory, but you'll probably want a configure-tunable switch for winks. 3-ksvideohelpers.c: MEDIASUBTYPE_I420 is already defined by MinGW-w64. This should be tunable with a #if !define block. 4-kshelpers.c: STATIC_KSPROPSETID_Wave_Queued is not defined if NTDDI_VERSION is greater than NTDDI_WS03 according to the MinGW-w64 header ksmedia.h. I just defined it in the source as a workaround. The resulting binary (libgstwinks.dll) reports the ksvideosrc video source when I run gst-inspect in Windows 7. It shouldn't be too difficult to get this plugin officially enabled with autotools should it?
Created attachment 209836 [details] [review] 2-sys
Created attachment 209837 [details] [review] 3-ksvideohelpers.c
Created attachment 209838 [details] [review] 4-kshelpers.c
Thanks for the patches. I'm not a win32/mingw person, but still a few comments/questions: > 1-winks Makefile: Pretty self explanatory. Yes, looks fine. > 2-sys Makefile: Self explanatory, but you'll probably want a configure-tunable > switch for winks. We need a proper configure check for the right header and/or lib I think (AG_GST_CHECK_FEATURE). > 3-ksvideohelpers.c: MEDIASUBTYPE_I420 is already defined by MinGW-w64. This > should be tunable with a #if !define block. Why didn't you just wrap it in a #ifndef MEDIASUBTYPE_I420 block then? :) > 4-kshelpers.c: STATIC_KSPROPSETID_Wave_Queued is not defined if NTDDI_VERSION > is greater than NTDDI_WS03 according to the MinGW-w64 header ksmedia.h. I just > defined it in the source as a workaround. Can we also add guards here so that it'll work everywhere?
Michael, can you please provide updated patches ?
*** This bug has been marked as a duplicate of bug 659644 ***