File gst-plugins-bad-0.10.23-winks-git.patch of Package mingw32-gst-0_10-plugins-bad

--- configure.ac	0.10.23
+++ configure.ac	git
@@ -538,6 +538,48 @@
   AC_SUBST(HAVE_DIRECTDRAW)
 ])
 
+dnl DirectShow
+translit(dnm, m, l) AM_CONDITIONAL(USE_DIRECTSHOW, true)
+AG_GST_CHECK_FEATURE(DIRECTSHOW, [DirectShow plug-in], winks, [
+  HAVE_DIRECTSHOW="no"
+  save_CFLAGS="$CFLAGS"
+  save_LDFLAGS="$LDFLAGS"
+  save_LIBS="$LIBS"
+  CFLAGS="$CFLAGS $DIRECTX_CFLAGS"
+  LDFLAGS="$LDFLAGS $DIRECTX_LDFLAGS"
+  LIBS="$LIBS -lole32 -luuid -lstrmiids"
+  AC_MSG_CHECKING(for DirectShow LDFLAGS)
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#include <windows.h>
+#include <strmif.h>
+#include <uuids.h>
+
+int main () {
+  IGraphBuilder *pGraph = NULL;
+  HRESULT hr = CoInitialize(NULL);
+  hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, 
+                        &IID_IGraphBuilder, (void **)&pGraph);
+
+  return 0;
+}
+]])],
+    [HAVE_DIRECTSHOW="yes"],
+    [HAVE_DIRECTSHOW="no"])
+  AC_MSG_RESULT($HAVE_DIRECTSHOW)
+  CFLAGS=$save_CFLAGS
+  LDFLAGS=$save_LDFLAGS
+  LIBS=$save_LIBS
+
+  if test "x$HAVE_DIRECTSHOW" = "xyes";  then
+    dnl this is much more than we want
+    DIRECTSHOW_LIBS="-ldxguid -lole32 -luuid -lstrmiids -lksuser -lsetupapi"
+    AC_SUBST(DIRECTX_CFLAGS)
+    AC_SUBST(DIRECTX_LDFLAGS)
+    AC_SUBST(DIRECTSHOW_LIBS)
+  fi
+  AC_SUBST(HAVE_DIRECTSHOW)
+])
+
 dnl *** AppleMedia (OS X and iOS) ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_APPLE_MEDIA, true)
 HAVE_APPLE_MEDIA="no"
--- sys/Makefile.am	0.10.23
+++ sys/Makefile.am	git
@@ -40,6 +40,12 @@
 DIRECTDRAW_DIR=
 endif
 
+if USE_DIRECTSHOW
+DIRECTSHOW_DIR=winks
+else
+DIRECTSHOW_DIR=
+endif
+
 if USE_DIRECTSOUND
 DIRECTSOUND_DIR=directsound
 else
@@ -120,7 +126,7 @@
 PVR_DIR=
 endif
 
-SUBDIRS = $(ACM_DIR) $(APPLE_MEDIA_DIR) $(AVC_DIR) $(D3DVIDEOSINK_DIR) $(DECKLINK_DIR) $(DIRECTDRAW_DIR) $(DIRECTSOUND_DIR) $(DVB_DIR) $(FBDEV_DIR) $(LINSYS_DIR) $(OSX_VIDEO_DIR) $(QT_DIR) $(SHM_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(PVR_DIR)
+SUBDIRS = $(ACM_DIR) $(APPLE_MEDIA_DIR) $(AVC_DIR) $(D3DVIDEOSINK_DIR) $(DECKLINK_DIR) $(DIRECTDRAW_DIR) $(DIRECTSOUND_DIR) $(DIRECTSHOW_DIR) $(DVB_DIR) $(FBDEV_DIR) $(LINSYS_DIR) $(OSX_VIDEO_DIR) $(QT_DIR) $(SHM_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(PVR_DIR)
 
 DIST_SUBDIRS = acmenc acmmp3dec applemedia avc d3dvideosink decklink directdraw directsound dvb linsys fbdev dshowdecwrapper dshowsrcwrapper dshowvideosink \
 		osxvideo qtwrapper shm vcd vdpau wasapi wininet winks winscreencap pvr2d
--- sys/winks/gstksclock.c	0.10.23
+++ sys/winks/gstksclock.c	git
@@ -99,10 +99,7 @@
 static void
 gst_ks_clock_dispose (GObject * object)
 {
-  GstKsClock *self = GST_KS_CLOCK (object);
-  GstKsClockPrivate *priv = GST_KS_CLOCK_GET_PRIVATE (self);
-
-  g_assert (!priv->open);
+  g_assert (!GST_KS_CLOCK_GET_PRIVATE (GST_KS_CLOCK (object))->open);
 
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
@@ -126,7 +123,6 @@
 gst_ks_clock_open (GstKsClock * self)
 {
   GstKsClockPrivate *priv = GST_KS_CLOCK_GET_PRIVATE (self);
-  gboolean ret = FALSE;
   GList *devices;
   KsDeviceEntry *device;
   KSSTATE state;
--- sys/winks/gstksvideodevice.c	0.10.23
+++ sys/winks/gstksvideodevice.c	git
@@ -228,13 +228,13 @@
         FORMAT_MESSAGE_IGNORE_INSERTS, NULL, error_code, 0, buf, sizeof (buf),
         NULL);
     if (result != 0) {
-      g_string_append_printf (message, "0x%08x: %s", error_code,
+      g_string_append_printf (message, "0x%08x: %s", (guint) error_code,
           g_strchomp (buf));
     } else {
       DWORD format_error_code = GetLastError ();
 
       g_string_append_printf (message,
-          "<0x%08x (FormatMessage error code: %s)>", error_code,
+          "<0x%08x (FormatMessage error code: %s)>", (guint) error_code,
           (format_error_code == ERROR_MR_MID_NOT_FOUND)
           ? "no system error message found"
           : "failed to retrieve system error message");
@@ -340,7 +340,7 @@
 {
   guint i;
 
-  GST_DEBUG ("%s supports %d property set%s", obj_name, propsets_len,
+  GST_DEBUG ("%s supports %lu property set%s", obj_name, propsets_len,
       (propsets_len != 1) ? "s" : "");
 
   for (i = 0; i < propsets_len; i++) {
@@ -589,7 +589,7 @@
     }
   }
 
-  GST_DEBUG ("num_outstanding: %d alignment: 0x%08x", *num_outstanding,
+  GST_DEBUG ("num_outstanding: %lu alignment: 0x%08x", *num_outstanding,
       alignment);
 
   if (*num_outstanding == 0 || *num_outstanding > MAX_OUTSTANDING_FRAMES) {
@@ -713,7 +713,7 @@
 
   /* State to be committed on success */
   KsVideoMediaType *media_type = NULL;
-  guint width, height, fps_n, fps_d;
+  gint width, height, fps_n, fps_d;
   HANDLE pin_handle = INVALID_HANDLE_VALUE;
 
   /* Reset? */
@@ -1080,7 +1080,7 @@
 
           GST_DEBUG ("PictureNumber=%" G_GUINT64_FORMAT ", DropCount=%"
               G_GUINT64_FORMAT ", PresentationTime=%" GST_TIME_FORMAT
-              ", Duration=%" GST_TIME_FORMAT ", OptionsFlags=%s: %d bytes",
+              ", Duration=%" GST_TIME_FORMAT ", OptionsFlags=%s: %lu bytes",
               frame_info->PictureNumber, frame_info->DropCount,
               GST_TIME_ARGS (timestamp), GST_TIME_ARGS (duration),
               options_flags_str, hdr->DataUsed);
--- sys/winks/gstksvideosrc.c	0.10.23
+++ sys/winks/gstksvideosrc.c	git
@@ -368,7 +368,6 @@
 static void
 gst_ks_video_src_apply_driver_quirks (GstKsVideoSrc * self)
 {
-  GstKsVideoSrcPrivate *priv = GST_KS_VIDEO_SRC_GET_PRIVATE (self);
   HMODULE mod;
 
   /*
@@ -725,6 +724,8 @@
       if (!gst_ks_video_src_start_worker (self))
         goto open_failed;
       break;
+    default:
+      break;
   }
 
   ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
@@ -733,6 +734,8 @@
     case GST_STATE_CHANGE_READY_TO_NULL:
       gst_ks_video_src_stop_worker (self);
       break;
+    default:
+      break;
   }
 
   return ret;
--- sys/winks/kshelpers.c	0.10.23
+++ sys/winks/kshelpers.c	git
@@ -25,6 +25,12 @@
 GST_DEBUG_CATEGORY_EXTERN (gst_ks_debug);
 #define GST_CAT_DEFAULT gst_ks_debug
 
+#ifndef STATIC_KSPROPSETID_Wave_Queued
+#define STATIC_KSPROPSETID_Wave_Queued \
+    0x16a15b10L,0x16f0,0x11d0,0xa1,0x95,0x00,0x20,0xaf,0xd1,0x56,0xe4
+DEFINE_GUIDSTRUCT("16a15b10-16f0-11d0-a195-0020afd156e4", KSPROPSETID_Wave_Queued);
+#endif
+
 gboolean
 ks_is_valid_handle (HANDLE h)
 {
--- sys/winks/ksvideohelpers.c	0.10.23
+++ sys/winks/ksvideohelpers.c	git
@@ -33,11 +33,6 @@
     0x38, 0x9B, 0x71}
 };
 
-extern const GUID MEDIASUBTYPE_I420 =
-    { 0x30323449, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B,
-    0x71}
-};
-
 typedef struct _KsVideoDeviceEntry KsVideoDeviceEntry;
 
 struct _KsVideoDeviceEntry
@@ -472,7 +467,7 @@
           KSPROPERTY_PIN_CTYPES, &pin_count, sizeof (pin_count), NULL))
     goto beach;
 
-  GST_DEBUG ("pin_count = %d", pin_count);
+  GST_DEBUG ("pin_count = %lu", pin_count);
 
   for (pin_id = 0; pin_id < pin_count; pin_id++) {
     KSPIN_COMMUNICATION pin_comm;
--- sys/winks/Makefile.am	0.10.23
+++ sys/winks/Makefile.am	git
@@ -1,9 +1,17 @@
-# This plugin isn't buildable with autotools at this point in time, so just
-# ensure everything's listed in EXTRA_DIST
+plugin_LTLIBRARIES = libgstwinks.la
 
-EXTRA_DIST = \
-	gstksclock.c gstksclock.h \
-	gstksvideodevice.c gstksvideodevice.h \
-	gstksvideosrc.c gstksvideosrc.h \
+libgstwinks_la_SOURCES = gstksclock.c \
+	gstksvideodevice.c \
+	gstksvideosrc.c \
 	kshelpers.c kshelpers.h \
-	ksvideohelpers.c ksvideohelpers.h
+	ksvideohelpers.c 
+libgstwinks_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS) \
+	$(GST_PLUGINS_BASE_CFLAGS) $(DIRECTX_CFLAGS)
+libgstwinks_la_LIBADD = $(DIRECTSHOW_LIBS) \
+	$(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) \
+	-lgstinterfaces-$(GST_MAJORMINOR)
+libgstwinks_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(DIRECTX_LDFLAGS)
+libgstwinks_la_LIBTOOLFLAGS = --tag=disable-static
+
+noinst_HEADERS= gstksclock.h
+
openSUSE Build Service is sponsored by