winks: Port to MSVC and pretend to be Windows XP

strcasecmp is not defined on MSVC, so just use the glib wrapper. Also pretend to
be Windows XP explicitly since the API we use was deprecated and removed
(ifdef-ed) from the SDK after this version of Windows. This will be especially
relevant once we stop supporting Windows XP soon:

https://bugzilla.gnome.org/show_bug.cgi?id=756866
This commit is contained in:
Nirbheek Chauhan 2016-05-24 16:26:24 +05:30 committed by Tim-Philipp Müller
parent a2cd9b0f0c
commit 28f0df681c
3 changed files with 9 additions and 2 deletions

View file

@ -355,7 +355,7 @@ msg_window_message_proc (HWND window_handle, UINT message,
entry->path);
if ((source == NULL) &&
(strcasecmp (entry->path, bcdi->dbcc_name) == 0))
(g_ascii_strcasecmp (entry->path, bcdi->dbcc_name) == 0))
source = new_video_source (entry);
ks_device_entry_free (entry);
@ -377,7 +377,7 @@ msg_window_message_proc (HWND window_handle, UINT message,
for (item = provider->devices; item; item = item->next) {
dev = item->data;
if (strcasecmp (dev->path, bcdi->dbcc_name) == 0) {
if (g_ascii_strcasecmp (dev->path, bcdi->dbcc_name) == 0) {
guid_str = gst_device_get_display_name (GST_DEVICE (dev));
GST_INFO_OBJECT (self, "Device matches to %s", guid_str);
g_free (guid_str);

View file

@ -19,6 +19,12 @@
#include "kshelpers.h"
/* This plugin is from the era of Windows XP and uses APIs that have been
* deprecated since then. Let's pretend we're Windows XP too so that Windows
* lets us use that deprecated API. */
#define NTDDI_VERSION NTDDI_WINXP
#define _WIN32_WINNT _WIN32_WINNT_WINXP
#include <ksmedia.h>
#include <setupapi.h>
#include <gst/gst.h>

View file

@ -22,6 +22,7 @@
#include <glib.h>
#include <windows.h>
#include <mmsystem.h>
#include <ks.h>
G_BEGIN_DECLS