diff --git a/ChangeLog b/ChangeLog
index 455dd05..c35dd16 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
+
+	* win32/vs7:
+	  project files updated to the default vs7 configuration
+	* win32/common/libgstbase.def:
+	* win32/common/libgstreamer.def:
+	  added new symbols,
+	  removed empty lines,
+	  sorted all exported symbols alphabetically
+	* win32/common/dirent.c:
+	* win32/common/dirent.h:
+	* win32/common/gchar.h:
+	  use windows line end.
+	  
 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
 
 	* libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
diff --git a/common b/common
index 79d67fe..58567e5 160000
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 79d67fe009b6120b82d51df860c78e8361f02aea
+Subproject commit 58567e5519f2d00a4592491db1a6e8302993279e
diff --git a/win32/common/dirent.c b/win32/common/dirent.c
index 77b7ec9..093ab1c 100644
--- a/win32/common/dirent.c
+++ b/win32/common/dirent.c
Binary files differ
diff --git a/win32/common/dirent.h b/win32/common/dirent.h
index 1707ccb..9df2307 100644
--- a/win32/common/dirent.h
+++ b/win32/common/dirent.h
@@ -1,147 +1,294 @@
-/*
- * DIRENT.H (formerly DIRLIB.H)
- *
- * by M. J. Weinstein   Released to public domain 1-Jan-89
- *
- * Because I have heard that this feature (opendir, readdir, closedir)
- * it so useful for programmers coming from UNIX or attempting to port
- * UNIX code, and because it is reasonably light weight, I have included
- * it in the Mingw32 package. I have also added an implementation of
- * rewinddir, seekdir and telldir.
- *   - Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- *  This code is distributed in the hope that is will be useful but
- *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- *  DISCLAIMED. This includeds but is not limited to warranties of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision$
- * $Author$
- * $Date$
- *
- */
-
-#ifndef	__STRICT_ANSI__
-
-#ifndef _DIRENT_H_
-#define _DIRENT_H_
-
-/* All the headers include this file. */
-/*#include <_mingw.h>*/
-
-#include <io.h>
-
-#ifndef RC_INVOKED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct dirent
-{
-	long		d_ino;		/* Always zero. */
-	unsigned short	d_reclen;	/* Always zero. */
-	unsigned short	d_namlen;	/* Length of name in d_name. */
-	char*		d_name;		/* File name. */
-	/* NOTE: The name in the dirent structure points to the name in the
-	 *       finddata_t structure in the DIR. */
-};
-
-/*
- * This is an internal data structure. Good programmers will not use it
- * except as an argument to one of the functions below.
- * dd_stat field is now int (was short in older versions).
- */
-typedef struct
-{
-	/* disk transfer area for this dir */
-	struct _finddata_t	dd_dta;
-
-	/* dirent struct to return from dir (NOTE: this makes this thread
-	 * safe as long as only one thread uses a particular DIR struct at
-	 * a time) */
-	struct dirent		dd_dir;
-
-	/* _findnext handle */
-	long			dd_handle;
-
-	/*
-         * Status of search:
-	 *   0 = not started yet (next entry to read is first entry)
-	 *  -1 = off the end
-	 *   positive = 0 based index of next entry
-	 */
-	int			dd_stat;
-
-	/* given path for dir with search pattern (struct is extended) */
-	char			dd_name[1];
-} DIR;
-
-DIR*		opendir (const char*);
-struct dirent*	readdir (DIR*);
-int		closedir (DIR*);
-void		rewinddir (DIR*);
-long		telldir (DIR*);
-void		seekdir (DIR*, long);
-
-
-/* wide char versions */
-
-struct _wdirent
-{
-	long		d_ino;		/* Always zero. */
-	unsigned short	d_reclen;	/* Always zero. */
-	unsigned short	d_namlen;	/* Length of name in d_name. */
-	wchar_t*	d_name;		/* File name. */
-	/* NOTE: The name in the dirent structure points to the name in the	 *       wfinddata_t structure in the _WDIR. */
-};
-
-/*
- * This is an internal data structure. Good programmers will not use it
- * except as an argument to one of the functions below.
- */
-typedef struct
-{
-	/* disk transfer area for this dir */
-	struct _wfinddata_t	dd_dta;
-
-	/* dirent struct to return from dir (NOTE: this makes this thread
-	 * safe as long as only one thread uses a particular DIR struct at
-	 * a time) */
-	struct _wdirent		dd_dir;
-
-	/* _findnext handle */
-	long			dd_handle;
-
-	/*
-         * Status of search:
-	 *   0 = not started yet (next entry to read is first entry)
-	 *  -1 = off the end
-	 *   positive = 0 based index of next entry
-	 */
-	int			dd_stat;
-
-	/* given path for dir with search pattern (struct is extended) */
-	wchar_t			dd_name[1];
-} _WDIR;
-
-
-
-_WDIR*		_wopendir (const wchar_t*);
-struct _wdirent* _wreaddir (_WDIR*);
-int		_wclosedir (_WDIR*);
-void		_wrewinddir (_WDIR*);
-long		_wtelldir (_WDIR*);
-void		_wseekdir (_WDIR*, long);
-
-
-#ifdef	__cplusplus
-}
-#endif
-
-#endif	/* Not RC_INVOKED */
-
-#endif	/* Not _DIRENT_H_ */
-
-#endif	/* Not __STRICT_ANSI__ */
-
+/*
+
+ * DIRENT.H (formerly DIRLIB.H)
+
+ *
+
+ * by M. J. Weinstein   Released to public domain 1-Jan-89
+
+ *
+
+ * Because I have heard that this feature (opendir, readdir, closedir)
+
+ * it so useful for programmers coming from UNIX or attempting to port
+
+ * UNIX code, and because it is reasonably light weight, I have included
+
+ * it in the Mingw32 package. I have also added an implementation of
+
+ * rewinddir, seekdir and telldir.
+
+ *   - Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
+
+ *
+
+ *  This code is distributed in the hope that is will be useful but
+
+ *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+
+ *  DISCLAIMED. This includeds but is not limited to warranties of
+
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ *
+
+ * $Revision$
+
+ * $Author$
+
+ * $Date$
+
+ *
+
+ */
+
+
+
+#ifndef	__STRICT_ANSI__
+
+
+
+#ifndef _DIRENT_H_
+
+#define _DIRENT_H_
+
+
+
+/* All the headers include this file. */
+
+/*#include <_mingw.h>*/
+
+
+
+#include <io.h>
+
+
+
+#ifndef RC_INVOKED
+
+
+
+#ifdef __cplusplus
+
+extern "C" {
+
+#endif
+
+
+
+struct dirent
+
+{
+
+	long		d_ino;		/* Always zero. */
+
+	unsigned short	d_reclen;	/* Always zero. */
+
+	unsigned short	d_namlen;	/* Length of name in d_name. */
+
+	char*		d_name;		/* File name. */
+
+	/* NOTE: The name in the dirent structure points to the name in the
+
+	 *       finddata_t structure in the DIR. */
+
+};
+
+
+
+/*
+
+ * This is an internal data structure. Good programmers will not use it
+
+ * except as an argument to one of the functions below.
+
+ * dd_stat field is now int (was short in older versions).
+
+ */
+
+typedef struct
+
+{
+
+	/* disk transfer area for this dir */
+
+	struct _finddata_t	dd_dta;
+
+
+
+	/* dirent struct to return from dir (NOTE: this makes this thread
+
+	 * safe as long as only one thread uses a particular DIR struct at
+
+	 * a time) */
+
+	struct dirent		dd_dir;
+
+
+
+	/* _findnext handle */
+
+	long			dd_handle;
+
+
+
+	/*
+
+         * Status of search:
+
+	 *   0 = not started yet (next entry to read is first entry)
+
+	 *  -1 = off the end
+
+	 *   positive = 0 based index of next entry
+
+	 */
+
+	int			dd_stat;
+
+
+
+	/* given path for dir with search pattern (struct is extended) */
+
+	char			dd_name[1];
+
+} DIR;
+
+
+
+DIR*		opendir (const char*);
+
+struct dirent*	readdir (DIR*);
+
+int		closedir (DIR*);
+
+void		rewinddir (DIR*);
+
+long		telldir (DIR*);
+
+void		seekdir (DIR*, long);
+
+
+
+
+
+/* wide char versions */
+
+
+
+struct _wdirent
+
+{
+
+	long		d_ino;		/* Always zero. */
+
+	unsigned short	d_reclen;	/* Always zero. */
+
+	unsigned short	d_namlen;	/* Length of name in d_name. */
+
+	wchar_t*	d_name;		/* File name. */
+
+	/* NOTE: The name in the dirent structure points to the name in the	 *       wfinddata_t structure in the _WDIR. */
+
+};
+
+
+
+/*
+
+ * This is an internal data structure. Good programmers will not use it
+
+ * except as an argument to one of the functions below.
+
+ */
+
+typedef struct
+
+{
+
+	/* disk transfer area for this dir */
+
+	struct _wfinddata_t	dd_dta;
+
+
+
+	/* dirent struct to return from dir (NOTE: this makes this thread
+
+	 * safe as long as only one thread uses a particular DIR struct at
+
+	 * a time) */
+
+	struct _wdirent		dd_dir;
+
+
+
+	/* _findnext handle */
+
+	long			dd_handle;
+
+
+
+	/*
+
+         * Status of search:
+
+	 *   0 = not started yet (next entry to read is first entry)
+
+	 *  -1 = off the end
+
+	 *   positive = 0 based index of next entry
+
+	 */
+
+	int			dd_stat;
+
+
+
+	/* given path for dir with search pattern (struct is extended) */
+
+	wchar_t			dd_name[1];
+
+} _WDIR;
+
+
+
+
+
+
+
+_WDIR*		_wopendir (const wchar_t*);
+
+struct _wdirent* _wreaddir (_WDIR*);
+
+int		_wclosedir (_WDIR*);
+
+void		_wrewinddir (_WDIR*);
+
+long		_wtelldir (_WDIR*);
+
+void		_wseekdir (_WDIR*, long);
+
+
+
+
+
+#ifdef	__cplusplus
+
+}
+
+#endif
+
+
+
+#endif	/* Not RC_INVOKED */
+
+
+
+#endif	/* Not _DIRENT_H_ */
+
+
+
+#endif	/* Not __STRICT_ANSI__ */
+
+
+
diff --git a/win32/common/gtchar.h b/win32/common/gtchar.h
index a11682a..ddaa818 100644
--- a/win32/common/gtchar.h
+++ b/win32/common/gtchar.h
@@ -1,397 +1,794 @@
-/* 
- * tchar.h
- *
- * Unicode mapping layer for the standard C library. By including this
- * file and using the 't' names for string functions
- * (eg. _tprintf) you can make code which can be easily adapted to both
- * Unicode and non-unicode environments. In a unicode enabled compile define
- * _UNICODE before including tchar.h, otherwise the standard non-unicode
- * library functions will be used.
- *
- * Note that you still need to include string.h or stdlib.h etc. to define
- * the appropriate functions. Also note that there are several defines
- * included for non-ANSI functions which are commonly available (but using
- * the convention of prepending an underscore to non-ANSI library function
- * names).
- *
- * This file is part of the Mingw32 package.
- *
- * Contributors:
- *  Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- *  THIS SOFTWARE IS NOT COPYRIGHTED
- *
- *  This source code is offered for use in the public domain. You may
- *  use, modify or distribute it freely.
- *
- *  This code is distributed in the hope that it will be useful but
- *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- *  DISCLAIMED. This includes but is not limited to warranties of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision$
- * $Author$
- * $Date$
- *
- */
-
-#ifndef	_TCHAR_H_
-#define _TCHAR_H_
-
-/* All the headers include this file. */
-/*#include <_mingw.h>*/
-
-/*
- * NOTE: This tests _UNICODE, which is different from the UNICODE define
- *       used to differentiate Win32 API calls.
- */
-#ifdef	_UNICODE
-
-
-/*
- * Use TCHAR instead of char or wchar_t. It will be appropriately translated
- * if _UNICODE is correctly defined (or not).
- */
-#ifndef _TCHAR_DEFINED
-#ifndef RC_INVOKED
-typedef	wchar_t	TCHAR;
-typedef wchar_t _TCHAR;
-#endif	/* Not RC_INVOKED */
-#define _TCHAR_DEFINED
-#endif
-
-
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macros _T or _TEXT.  DO NOT use this
- * macro within your programs.  It's name and function could change without
- * notice.
- */
-#define	__TEXT(q)	L##q
-
-/*  for porting from other Windows compilers */
-#if 0  // no  wide startup module
-#define _tmain      wmain
-#define _tWinMain   wWinMain
-#define _tenviron   _wenviron
-#define __targv     __wargv
-#endif
-
-/*
- * Unicode functions
- */
-#define	_tprintf	wprintf
-#define	_ftprintf	fwprintf
-#define	_stprintf	swprintf
-#define	_sntprintf	_snwprintf
-#define	_vtprintf	vwprintf
-#define	_vftprintf	vfwprintf
-#define _vstprintf	vswprintf
-#define	_vsntprintf	_vsnwprintf
-#define	_tscanf		wscanf
-#define	_ftscanf	fwscanf
-#define	_stscanf	swscanf
-#define	_fgettc		fgetwc
-#define	_fgettchar	_fgetwchar
-#define	_fgetts		fgetws
-#define	_fputtc		fputwc
-#define	_fputtchar	_fputwchar
-#define	_fputts		fputws
-#define	_gettc		getwc
-#define	_getts		_getws
-#define	_puttc		putwc
-#define	_putts		_putws
-#define	_ungettc	ungetwc
-#define	_tcstod		wcstod
-#define	_tcstol		wcstol
-#define _tcstoul	wcstoul
-#define	_itot		_itow
-#define	_ltot		_ltow
-#define	_ultot		_ultow
-#define	_ttoi		_wtoi
-#define	_ttol		_wtol
-#define	_tcscat		wcscat
-#define _tcschr		wcschr
-#define _tcscmp		wcscmp
-#define _tcscpy		wcscpy
-#define _tcscspn	wcscspn
-#define	_tcslen		wcslen
-#define	_tcsncat	wcsncat
-#define	_tcsncmp	wcsncmp
-#define	_tcsncpy	wcsncpy
-#define	_tcspbrk	wcspbrk
-#define	_tcsrchr	wcsrchr
-#define _tcsspn		wcsspn
-#define	_tcsstr		wcsstr
-#define _tcstok		wcstok
-#define	_tcsdup		_wcsdup
-#define	_tcsicmp	_wcsicmp
-#define	_tcsnicmp	_wcsnicmp
-#define	_tcsnset	_wcsnset
-#define	_tcsrev		_wcsrev
-#define _tcsset		_wcsset
-#define	_tcslwr		_wcslwr
-#define	_tcsupr		_wcsupr
-#define	_tcsxfrm	wcsxfrm
-#define	_tcscoll	wcscoll
-#define	_tcsicoll	_wcsicoll
-#define	_istalpha	iswalpha
-#define	_istupper	iswupper
-#define	_istlower	iswlower
-#define	_istdigit	iswdigit
-#define	_istxdigit	iswxdigit
-#define	_istspace	iswspace
-#define	_istpunct	iswpunct
-#define	_istalnum	iswalnum
-#define	_istprint	iswprint
-#define	_istgraph	iswgraph
-#define	_istcntrl	iswcntrl
-#define	_istascii	iswascii
-#define _totupper	towupper
-#define	_totlower	towlower
-#define _tcsftime	wcsftime
-/* Macro functions */ 
-#define _tcsdec     _wcsdec
-#define _tcsinc     _wcsinc
-#define _tcsnbcnt   _wcsncnt
-#define _tcsnccnt   _wcsncnt
-#define _tcsnextc   _wcsnextc
-#define _tcsninc    _wcsninc
-#define _tcsspnp    _wcsspnp
-#define _wcsdec(_wcs1, _wcs2) ((_wcs1)>=(_wcs2) ? NULL : (_wcs2)-1)
-#define _wcsinc(_wcs)  ((_wcs)+1)
-#define _wcsnextc(_wcs) ((unsigned int) *(_wcs))
-#define _wcsninc(_wcs, _inc) (((_wcs)+(_inc)))
-#define _wcsncnt(_wcs, _cnt) ((wcslen(_wcs)>_cnt) ? _count : wcslen(_wcs))
-#define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL)
-
-#if 1  /* defined __MSVCRT__ */
-/*
- *   These wide functions not in crtdll.dll.
- *   Define macros anyway so that _wfoo rather than _tfoo is undefined
- */
-#define _ttoi64     _wtoi64
-#define _i64tot     _i64tow
-#define _ui64tot    _ui64tow
-#define	_tasctime	_wasctime
-#define	_tctime		_wctime
-#define	_tstrdate	_wstrdate
-#define	_tstrtime	_wstrtime
-#define	_tutime		_wutime
-#define _tcsnccoll  _wcsncoll
-#define _tcsncoll   _wcsncoll
-#define _tcsncicoll _wcsnicoll
-#define _tcsnicoll  _wcsnicoll
-#define _taccess    _waccess
-#define _tchmod     _wchmod
-#define _tcreat     _wcreat
-#define _tfindfirst _wfindfirst
-#define _tfindnext  _wfindnext
-#define _tfdopen    _wfdopen
-#define _tfopen     _wfopen
-#define _tgetenv    _wgetenv
-#define _tputenv    _wputenv
-#define _tsearchenv _wsearchenv
-#define _tmakepath  _wmakepath
-#define _tsplitpath _wsplitpath
-#define _tfullpath  _wfullpath
-#define _tmktemp    _wmktemp
-#define _topen      _wopen
-#define _tremove    _wremove
-#define _trename    _wrename
-#define _tsopen     _wsopen
-#define _tsetlocale _wsetlocale
-#define _tunlink    _wunlink
-#define _tfinddata_t    _wfinddata_t
-#define _tfindfirsti64  _wfindfirsti64
-#define _tfindnexti64   _wfindnexti64
-#define _tfinddatai64_t _wfinddatai64_t
-#endif  /* __MSVCRT__ */
-
-/* dirent structures and functions */
-#define _tdirent	_wdirent
-#define _TDIR 		_WDIR
-#define _topendir	_wopendir
-#define _tclosedir	_wclosedir
-#define _treaddir	_wreaddir
-#define _trewinddir	_wrewinddir
-#define _ttelldir	_wtelldir
-#define _tseekdir	_wseekdir
-#else	/* Not _UNICODE */
-
-/*
- * TCHAR, the type you should use instead of char.
- */
-#ifndef _TCHAR_DEFINED
-#ifndef RC_INVOKED
-typedef char	TCHAR;
-typedef char	_TCHAR;
-#endif
-#define _TCHAR_DEFINED
-#endif
-
-/*
- * __TEXT is a private macro whose specific use is to force the expansion of a
- * macro passed as an argument to the macros _T or _TEXT.  DO NOT use this
- * macro within your programs.  It's name and function could change without
- * notice.
- */
-#define	__TEXT(q)	q
-
-/*  for porting from other Windows compilers */
-#define _tmain      main
-#define _tWinMain   WinMain
-#define _tenviron  _environ
-#define __targv     __argv
-
-/*
- * Non-unicode (standard) functions
- */
-
-#define	_tprintf	printf
-#define _ftprintf	fprintf
-#define	_stprintf	sprintf
-#define	_sntprintf	_snprintf
-#define	_vtprintf	vprintf
-#define	_vftprintf	vfprintf
-#define _vstprintf	vsprintf
-#define	_vsntprintf	_vsnprintf
-#define	_tscanf		scanf
-#define	_ftscanf	fscanf
-#define	_stscanf	sscanf
-#define	_fgettc		fgetc
-#define	_fgettchar	_fgetchar
-#define	_fgetts		fgets
-#define	_fputtc		fputc
-#define	_fputtchar	_fputchar
-#define	_fputts		fputs
-#define _tfdopen	_fdopen
-#define	_tfopen		fopen
-#define	_tgetenv	getenv
-#define	_tputenv	_putenv
-#define	_tsearchenv	_searchenv
-#define	_tmakepath	_makepath
-#define	_tsplitpath	_splitpath
-#define	_tfullpath	_fullpath
-#define	_gettc		getc
-#define	_getts		gets
-#define	_puttc		putc
-#define	_putts		puts
-#define	_ungettc	ungetc
-#define	_tcstod		strtod
-#define	_tcstol		strtol
-#define _tcstoul	strtoul
-#define	_itot		_itoa
-#define	_ltot		_ltoa
-#define	_ultot		_ultoa
-#define	_ttoi		atoi
-#define	_ttol		atol
-#define	_tcscat		strcat
-#define _tcschr		strchr
-#define _tcscmp		strcmp
-#define _tcscpy		strcpy
-#define _tcscspn	strcspn
-#define	_tcslen		strlen
-#define	_tcsncat	strncat
-#define	_tcsncmp	strncmp
-#define	_tcsncpy	strncpy
-#define	_tcspbrk	strpbrk
-#define	_tcsrchr	strrchr
-#define _tcsspn		strspn
-#define	_tcsstr		strstr
-#define _tcstok		strtok
-#define	_tcsdup		_strdup
-#define	_tcsicmp	_stricmp
-#define	_tcsnicmp	_strnicmp
-#define	_tcsnset	_strnset
-#define	_tcsrev		_strrev
-#define _tcsset		_strset
-#define	_tcslwr		_strlwr
-#define	_tcsupr		_strupr
-#define	_tcsxfrm	strxfrm
-#define	_tcscoll	strcoll
-#define	_tcsicoll	_stricoll
-#define	_istalpha	isalpha
-#define	_istupper	isupper
-#define	_istlower	islower
-#define	_istdigit	isdigit
-#define	_istxdigit	isxdigit
-#define	_istspace	isspace
-#define	_istpunct	ispunct
-#define	_istalnum	isalnum
-#define	_istprint	isprint
-#define	_istgraph	isgraph
-#define	_istcntrl	iscntrl
-#define	_istascii	isascii
-#define _totupper	toupper
-#define	_totlower	tolower
-#define	_tasctime	asctime
-#define	_tctime		ctime
-#define	_tstrdate	_strdate
-#define	_tstrtime	_strtime
-#define	_tutime		_utime
-#define _tcsftime	strftime
-/* Macro functions */ 
-#define _tcsdec     _strdec
-#define _tcsinc     _strinc
-#define _tcsnbcnt   _strncnt
-#define _tcsnccnt   _strncnt
-#define _tcsnextc   _strnextc
-#define _tcsninc    _strninc
-#define _tcsspnp    _strspnp
-#define _strdec(_str1, _str2) ((_str1)>=(_str2) ? NULL : (_str2)-1)
-#define _strinc(_str)  ((_str)+1)
-#define _strnextc(_str) ((unsigned int) *(_str))
-#define _strninc(_str, _inc) (((_str)+(_inc)))
-#define _strncnt(_str, _cnt) ((strlen(_str)>_cnt) ? _count : strlen(_str))
-#define _strspnp(_str1, _str2) ((*((_str1)+strspn(_str1,_str2))) ? ((_str1)+strspn(_str1,_str2)) : NULL)
-
-#define _tchmod     _chmod
-#define _tcreat     _creat
-#define _tfindfirst _findfirst
-#define _tfindnext  _findnext
-#define _tmktemp    _mktemp
-#define _topen      _open
-#define _taccess    _access
-#define _tremove    remove
-#define _trename    rename
-#define _tsopen     _sopen
-#define _tsetlocale setlocale
-#define _tunlink    _unlink
-#define _tfinddata_t    _finddata_t
-
-#if 1  /* defined __MSVCRT__ */
-/* Not in crtdll.dll. Define macros anyway? */
-#define _ttoi64     _atoi64
-#define _i64tot     _i64toa
-#define _ui64tot    _ui64toa
-#define _tcsnccoll  _strncoll
-#define _tcsncoll   _strncoll
-#define _tcsncicoll _strnicoll
-#define _tcsnicoll  _strnicoll
-#define _tfindfirsti64  _findfirsti64
-#define _tfindnexti64   _findnexti64
-#define _tfinddatai64_t _finddatai64_t
-#endif  /* __MSVCRT__ */
-
-/* dirent structures and functions */
-#define _tdirent	dirent
-#define _TDIR 		DIR
-#define _topendir	opendir
-#define _tclosedir	closedir
-#define _treaddir	readdir
-#define _trewinddir	rewinddir
-#define _ttelldir	telldir
-#define _tseekdir	seekdir
-
-#endif	/* Not _UNICODE */
-
-/*
- * UNICODE a constant string when _UNICODE is defined else returns the string
- * unmodified.  Also defined in w32api/winnt.h.
- */
-#define _TEXT(x)	__TEXT(x)
-#define	_T(x)		__TEXT(x)
-
-#endif	/* Not _TCHAR_H_ */
-
+/* 
+
+ * tchar.h
+
+ *
+
+ * Unicode mapping layer for the standard C library. By including this
+
+ * file and using the 't' names for string functions
+
+ * (eg. _tprintf) you can make code which can be easily adapted to both
+
+ * Unicode and non-unicode environments. In a unicode enabled compile define
+
+ * _UNICODE before including tchar.h, otherwise the standard non-unicode
+
+ * library functions will be used.
+
+ *
+
+ * Note that you still need to include string.h or stdlib.h etc. to define
+
+ * the appropriate functions. Also note that there are several defines
+
+ * included for non-ANSI functions which are commonly available (but using
+
+ * the convention of prepending an underscore to non-ANSI library function
+
+ * names).
+
+ *
+
+ * This file is part of the Mingw32 package.
+
+ *
+
+ * Contributors:
+
+ *  Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
+
+ *
+
+ *  THIS SOFTWARE IS NOT COPYRIGHTED
+
+ *
+
+ *  This source code is offered for use in the public domain. You may
+
+ *  use, modify or distribute it freely.
+
+ *
+
+ *  This code is distributed in the hope that it will be useful but
+
+ *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+
+ *  DISCLAIMED. This includes but is not limited to warranties of
+
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ *
+
+ * $Revision$
+
+ * $Author$
+
+ * $Date$
+
+ *
+
+ */
+
+
+
+#ifndef	_TCHAR_H_
+
+#define _TCHAR_H_
+
+
+
+/* All the headers include this file. */
+
+/*#include <_mingw.h>*/
+
+
+
+/*
+
+ * NOTE: This tests _UNICODE, which is different from the UNICODE define
+
+ *       used to differentiate Win32 API calls.
+
+ */
+
+#ifdef	_UNICODE
+
+
+
+
+
+/*
+
+ * Use TCHAR instead of char or wchar_t. It will be appropriately translated
+
+ * if _UNICODE is correctly defined (or not).
+
+ */
+
+#ifndef _TCHAR_DEFINED
+
+#ifndef RC_INVOKED
+
+typedef	wchar_t	TCHAR;
+
+typedef wchar_t _TCHAR;
+
+#endif	/* Not RC_INVOKED */
+
+#define _TCHAR_DEFINED
+
+#endif
+
+
+
+
+
+/*
+
+ * __TEXT is a private macro whose specific use is to force the expansion of a
+
+ * macro passed as an argument to the macros _T or _TEXT.  DO NOT use this
+
+ * macro within your programs.  It's name and function could change without
+
+ * notice.
+
+ */
+
+#define	__TEXT(q)	L##q
+
+
+
+/*  for porting from other Windows compilers */
+
+#if 0  // no  wide startup module
+
+#define _tmain      wmain
+
+#define _tWinMain   wWinMain
+
+#define _tenviron   _wenviron
+
+#define __targv     __wargv
+
+#endif
+
+
+
+/*
+
+ * Unicode functions
+
+ */
+
+#define	_tprintf	wprintf
+
+#define	_ftprintf	fwprintf
+
+#define	_stprintf	swprintf
+
+#define	_sntprintf	_snwprintf
+
+#define	_vtprintf	vwprintf
+
+#define	_vftprintf	vfwprintf
+
+#define _vstprintf	vswprintf
+
+#define	_vsntprintf	_vsnwprintf
+
+#define	_tscanf		wscanf
+
+#define	_ftscanf	fwscanf
+
+#define	_stscanf	swscanf
+
+#define	_fgettc		fgetwc
+
+#define	_fgettchar	_fgetwchar
+
+#define	_fgetts		fgetws
+
+#define	_fputtc		fputwc
+
+#define	_fputtchar	_fputwchar
+
+#define	_fputts		fputws
+
+#define	_gettc		getwc
+
+#define	_getts		_getws
+
+#define	_puttc		putwc
+
+#define	_putts		_putws
+
+#define	_ungettc	ungetwc
+
+#define	_tcstod		wcstod
+
+#define	_tcstol		wcstol
+
+#define _tcstoul	wcstoul
+
+#define	_itot		_itow
+
+#define	_ltot		_ltow
+
+#define	_ultot		_ultow
+
+#define	_ttoi		_wtoi
+
+#define	_ttol		_wtol
+
+#define	_tcscat		wcscat
+
+#define _tcschr		wcschr
+
+#define _tcscmp		wcscmp
+
+#define _tcscpy		wcscpy
+
+#define _tcscspn	wcscspn
+
+#define	_tcslen		wcslen
+
+#define	_tcsncat	wcsncat
+
+#define	_tcsncmp	wcsncmp
+
+#define	_tcsncpy	wcsncpy
+
+#define	_tcspbrk	wcspbrk
+
+#define	_tcsrchr	wcsrchr
+
+#define _tcsspn		wcsspn
+
+#define	_tcsstr		wcsstr
+
+#define _tcstok		wcstok
+
+#define	_tcsdup		_wcsdup
+
+#define	_tcsicmp	_wcsicmp
+
+#define	_tcsnicmp	_wcsnicmp
+
+#define	_tcsnset	_wcsnset
+
+#define	_tcsrev		_wcsrev
+
+#define _tcsset		_wcsset
+
+#define	_tcslwr		_wcslwr
+
+#define	_tcsupr		_wcsupr
+
+#define	_tcsxfrm	wcsxfrm
+
+#define	_tcscoll	wcscoll
+
+#define	_tcsicoll	_wcsicoll
+
+#define	_istalpha	iswalpha
+
+#define	_istupper	iswupper
+
+#define	_istlower	iswlower
+
+#define	_istdigit	iswdigit
+
+#define	_istxdigit	iswxdigit
+
+#define	_istspace	iswspace
+
+#define	_istpunct	iswpunct
+
+#define	_istalnum	iswalnum
+
+#define	_istprint	iswprint
+
+#define	_istgraph	iswgraph
+
+#define	_istcntrl	iswcntrl
+
+#define	_istascii	iswascii
+
+#define _totupper	towupper
+
+#define	_totlower	towlower
+
+#define _tcsftime	wcsftime
+
+/* Macro functions */ 
+
+#define _tcsdec     _wcsdec
+
+#define _tcsinc     _wcsinc
+
+#define _tcsnbcnt   _wcsncnt
+
+#define _tcsnccnt   _wcsncnt
+
+#define _tcsnextc   _wcsnextc
+
+#define _tcsninc    _wcsninc
+
+#define _tcsspnp    _wcsspnp
+
+#define _wcsdec(_wcs1, _wcs2) ((_wcs1)>=(_wcs2) ? NULL : (_wcs2)-1)
+
+#define _wcsinc(_wcs)  ((_wcs)+1)
+
+#define _wcsnextc(_wcs) ((unsigned int) *(_wcs))
+
+#define _wcsninc(_wcs, _inc) (((_wcs)+(_inc)))
+
+#define _wcsncnt(_wcs, _cnt) ((wcslen(_wcs)>_cnt) ? _count : wcslen(_wcs))
+
+#define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL)
+
+
+
+#if 1  /* defined __MSVCRT__ */
+
+/*
+
+ *   These wide functions not in crtdll.dll.
+
+ *   Define macros anyway so that _wfoo rather than _tfoo is undefined
+
+ */
+
+#define _ttoi64     _wtoi64
+
+#define _i64tot     _i64tow
+
+#define _ui64tot    _ui64tow
+
+#define	_tasctime	_wasctime
+
+#define	_tctime		_wctime
+
+#define	_tstrdate	_wstrdate
+
+#define	_tstrtime	_wstrtime
+
+#define	_tutime		_wutime
+
+#define _tcsnccoll  _wcsncoll
+
+#define _tcsncoll   _wcsncoll
+
+#define _tcsncicoll _wcsnicoll
+
+#define _tcsnicoll  _wcsnicoll
+
+#define _taccess    _waccess
+
+#define _tchmod     _wchmod
+
+#define _tcreat     _wcreat
+
+#define _tfindfirst _wfindfirst
+
+#define _tfindnext  _wfindnext
+
+#define _tfdopen    _wfdopen
+
+#define _tfopen     _wfopen
+
+#define _tgetenv    _wgetenv
+
+#define _tputenv    _wputenv
+
+#define _tsearchenv _wsearchenv
+
+#define _tmakepath  _wmakepath
+
+#define _tsplitpath _wsplitpath
+
+#define _tfullpath  _wfullpath
+
+#define _tmktemp    _wmktemp
+
+#define _topen      _wopen
+
+#define _tremove    _wremove
+
+#define _trename    _wrename
+
+#define _tsopen     _wsopen
+
+#define _tsetlocale _wsetlocale
+
+#define _tunlink    _wunlink
+
+#define _tfinddata_t    _wfinddata_t
+
+#define _tfindfirsti64  _wfindfirsti64
+
+#define _tfindnexti64   _wfindnexti64
+
+#define _tfinddatai64_t _wfinddatai64_t
+
+#endif  /* __MSVCRT__ */
+
+
+
+/* dirent structures and functions */
+
+#define _tdirent	_wdirent
+
+#define _TDIR 		_WDIR
+
+#define _topendir	_wopendir
+
+#define _tclosedir	_wclosedir
+
+#define _treaddir	_wreaddir
+
+#define _trewinddir	_wrewinddir
+
+#define _ttelldir	_wtelldir
+
+#define _tseekdir	_wseekdir
+
+#else	/* Not _UNICODE */
+
+
+
+/*
+
+ * TCHAR, the type you should use instead of char.
+
+ */
+
+#ifndef _TCHAR_DEFINED
+
+#ifndef RC_INVOKED
+
+typedef char	TCHAR;
+
+typedef char	_TCHAR;
+
+#endif
+
+#define _TCHAR_DEFINED
+
+#endif
+
+
+
+/*
+
+ * __TEXT is a private macro whose specific use is to force the expansion of a
+
+ * macro passed as an argument to the macros _T or _TEXT.  DO NOT use this
+
+ * macro within your programs.  It's name and function could change without
+
+ * notice.
+
+ */
+
+#define	__TEXT(q)	q
+
+
+
+/*  for porting from other Windows compilers */
+
+#define _tmain      main
+
+#define _tWinMain   WinMain
+
+#define _tenviron  _environ
+
+#define __targv     __argv
+
+
+
+/*
+
+ * Non-unicode (standard) functions
+
+ */
+
+
+
+#define	_tprintf	printf
+
+#define _ftprintf	fprintf
+
+#define	_stprintf	sprintf
+
+#define	_sntprintf	_snprintf
+
+#define	_vtprintf	vprintf
+
+#define	_vftprintf	vfprintf
+
+#define _vstprintf	vsprintf
+
+#define	_vsntprintf	_vsnprintf
+
+#define	_tscanf		scanf
+
+#define	_ftscanf	fscanf
+
+#define	_stscanf	sscanf
+
+#define	_fgettc		fgetc
+
+#define	_fgettchar	_fgetchar
+
+#define	_fgetts		fgets
+
+#define	_fputtc		fputc
+
+#define	_fputtchar	_fputchar
+
+#define	_fputts		fputs
+
+#define _tfdopen	_fdopen
+
+#define	_tfopen		fopen
+
+#define	_tgetenv	getenv
+
+#define	_tputenv	_putenv
+
+#define	_tsearchenv	_searchenv
+
+#define	_tmakepath	_makepath
+
+#define	_tsplitpath	_splitpath
+
+#define	_tfullpath	_fullpath
+
+#define	_gettc		getc
+
+#define	_getts		gets
+
+#define	_puttc		putc
+
+#define	_putts		puts
+
+#define	_ungettc	ungetc
+
+#define	_tcstod		strtod
+
+#define	_tcstol		strtol
+
+#define _tcstoul	strtoul
+
+#define	_itot		_itoa
+
+#define	_ltot		_ltoa
+
+#define	_ultot		_ultoa
+
+#define	_ttoi		atoi
+
+#define	_ttol		atol
+
+#define	_tcscat		strcat
+
+#define _tcschr		strchr
+
+#define _tcscmp		strcmp
+
+#define _tcscpy		strcpy
+
+#define _tcscspn	strcspn
+
+#define	_tcslen		strlen
+
+#define	_tcsncat	strncat
+
+#define	_tcsncmp	strncmp
+
+#define	_tcsncpy	strncpy
+
+#define	_tcspbrk	strpbrk
+
+#define	_tcsrchr	strrchr
+
+#define _tcsspn		strspn
+
+#define	_tcsstr		strstr
+
+#define _tcstok		strtok
+
+#define	_tcsdup		_strdup
+
+#define	_tcsicmp	_stricmp
+
+#define	_tcsnicmp	_strnicmp
+
+#define	_tcsnset	_strnset
+
+#define	_tcsrev		_strrev
+
+#define _tcsset		_strset
+
+#define	_tcslwr		_strlwr
+
+#define	_tcsupr		_strupr
+
+#define	_tcsxfrm	strxfrm
+
+#define	_tcscoll	strcoll
+
+#define	_tcsicoll	_stricoll
+
+#define	_istalpha	isalpha
+
+#define	_istupper	isupper
+
+#define	_istlower	islower
+
+#define	_istdigit	isdigit
+
+#define	_istxdigit	isxdigit
+
+#define	_istspace	isspace
+
+#define	_istpunct	ispunct
+
+#define	_istalnum	isalnum
+
+#define	_istprint	isprint
+
+#define	_istgraph	isgraph
+
+#define	_istcntrl	iscntrl
+
+#define	_istascii	isascii
+
+#define _totupper	toupper
+
+#define	_totlower	tolower
+
+#define	_tasctime	asctime
+
+#define	_tctime		ctime
+
+#define	_tstrdate	_strdate
+
+#define	_tstrtime	_strtime
+
+#define	_tutime		_utime
+
+#define _tcsftime	strftime
+
+/* Macro functions */ 
+
+#define _tcsdec     _strdec
+
+#define _tcsinc     _strinc
+
+#define _tcsnbcnt   _strncnt
+
+#define _tcsnccnt   _strncnt
+
+#define _tcsnextc   _strnextc
+
+#define _tcsninc    _strninc
+
+#define _tcsspnp    _strspnp
+
+#define _strdec(_str1, _str2) ((_str1)>=(_str2) ? NULL : (_str2)-1)
+
+#define _strinc(_str)  ((_str)+1)
+
+#define _strnextc(_str) ((unsigned int) *(_str))
+
+#define _strninc(_str, _inc) (((_str)+(_inc)))
+
+#define _strncnt(_str, _cnt) ((strlen(_str)>_cnt) ? _count : strlen(_str))
+
+#define _strspnp(_str1, _str2) ((*((_str1)+strspn(_str1,_str2))) ? ((_str1)+strspn(_str1,_str2)) : NULL)
+
+
+
+#define _tchmod     _chmod
+
+#define _tcreat     _creat
+
+#define _tfindfirst _findfirst
+
+#define _tfindnext  _findnext
+
+#define _tmktemp    _mktemp
+
+#define _topen      _open
+
+#define _taccess    _access
+
+#define _tremove    remove
+
+#define _trename    rename
+
+#define _tsopen     _sopen
+
+#define _tsetlocale setlocale
+
+#define _tunlink    _unlink
+
+#define _tfinddata_t    _finddata_t
+
+
+
+#if 1  /* defined __MSVCRT__ */
+
+/* Not in crtdll.dll. Define macros anyway? */
+
+#define _ttoi64     _atoi64
+
+#define _i64tot     _i64toa
+
+#define _ui64tot    _ui64toa
+
+#define _tcsnccoll  _strncoll
+
+#define _tcsncoll   _strncoll
+
+#define _tcsncicoll _strnicoll
+
+#define _tcsnicoll  _strnicoll
+
+#define _tfindfirsti64  _findfirsti64
+
+#define _tfindnexti64   _findnexti64
+
+#define _tfinddatai64_t _finddatai64_t
+
+#endif  /* __MSVCRT__ */
+
+
+
+/* dirent structures and functions */
+
+#define _tdirent	dirent
+
+#define _TDIR 		DIR
+
+#define _topendir	opendir
+
+#define _tclosedir	closedir
+
+#define _treaddir	readdir
+
+#define _trewinddir	rewinddir
+
+#define _ttelldir	telldir
+
+#define _tseekdir	seekdir
+
+
+
+#endif	/* Not _UNICODE */
+
+
+
+/*
+
+ * UNICODE a constant string when _UNICODE is defined else returns the string
+
+ * unmodified.  Also defined in w32api/winnt.h.
+
+ */
+
+#define _TEXT(x)	__TEXT(x)
+
+#define	_T(x)		__TEXT(x)
+
+
+
+#endif	/* Not _TCHAR_H_ */
+
+
+
diff --git a/win32/common/libgstbase.def b/win32/common/libgstbase.def
index d462b39..b0bdbd5 100644
--- a/win32/common/libgstbase.def
+++ b/win32/common/libgstbase.def
@@ -1,43 +1,21 @@
 EXPORTS
-
-	gst_base_transform_set_passthrough
-
-	gst_base_transform_get_type
-
 	gst_base_sink_get_type
-
-	gst_base_src_set_live
-
 	gst_base_src_get_type
-
-	gst_base_src_set_format
-
 	gst_base_src_is_live
-
-	gst_push_src_get_type
-
-	gst_type_find_helper
-
+	gst_base_src_set_format
+	gst_base_src_set_live
+	gst_base_transform_get_type
+	gst_base_transform_set_passthrough
 	gst_collect_pads_add_pad
-
-	gst_collect_pads_remove_pad
-
-	gst_collect_pads_peek
-
-	gst_collect_pads_pop
-
-	gst_collect_pads_start
-
-	gst_collect_pads_stop
-
-	gst_collect_pads_set_function
-
-	gst_collect_pads_new
-
-	gst_collect_pads_flush
-
-	gst_collect_pads_read
-
 	gst_collect_pads_available
-	
-	
+	gst_collect_pads_flush
+	gst_collect_pads_new
+	gst_collect_pads_peek
+	gst_collect_pads_pop
+	gst_collect_pads_read
+	gst_collect_pads_remove_pad
+	gst_collect_pads_set_function
+	gst_collect_pads_start
+	gst_collect_pads_stop
+	gst_push_src_get_type
+	gst_type_find_helper
\ No newline at end of file
diff --git a/win32/common/libgstreamer.def b/win32/common/libgstreamer.def
index 524df80..f66c343 100644
--- a/win32/common/libgstreamer.def
+++ b/win32/common/libgstreamer.def
@@ -1,812 +1,410 @@
 EXPORTS
-
-    
-
-    gst_alloc_trace_available
-
-    gst_alloc_trace_live_all
-
-    gst_alloc_trace_print_all
-
-    gst_alloc_trace_print_live
-
-    gst_alloc_trace_set_flags_all
-
-    gst_bin_add
-
-    gst_bin_add_many
-
-    gst_bin_get_by_interface
-
-    gst_bin_get_by_name
-
-    gst_bin_get_type
-
-    gst_bin_new
-
-    gst_bin_remove
-
-    gst_buffer_create_sub
-
-    gst_buffer_get_type
-
-    gst_buffer_is_span_fast
-
-    gst_buffer_merge
-
-    gst_buffer_new
-
-    gst_buffer_new_and_alloc
-
-    gst_buffer_stamp
-    
-    gst_bus_new
-
-    gst_bus_poll
-
-    gst_bus_pop
-
-    gst_bus_post
-
-    gst_caps_append
-
-    gst_caps_append_structure
-
-    gst_caps_copy
-
-    gst_caps_do_simplify
-
-    gst_caps_from_string
-
-    gst_caps_get_size
-
-    gst_caps_get_structure
-
-    gst_caps_get_type
-
-    gst_caps_intersect
-
-    gst_caps_is_any
-
-    gst_caps_is_empty
-
-    gst_caps_is_fixed
-
-    gst_caps_new_any
-
-    gst_caps_new_empty
-
-    gst_caps_new_full
-
-    gst_caps_new_simple
-
-    gst_caps_replace
-
-    gst_caps_set_simple
-
-    gst_caps_to_string
-
-    gst_clock_get_calibration
-
-    gst_clock_get_internal_time
-
-    gst_clock_get_type
-
-    gst_clock_set_calibration
-
-    gst_clock_set_master
-
-    gst_core_error_quark
-    
-    gst_date_get_type    
-
-    gst_deinit
-
-    gst_double_range_get_type
-
-    gst_element_add_pad
-
-    gst_element_class_add_pad_template
-
-    gst_element_class_get_pad_template
-    
-    gst_element_class_get_pad_template_list
-
-    gst_element_class_set_details
-
-    gst_element_default_error
-
-    _gst_element_error_printf
-
-    gst_element_factory_create
-
-    gst_element_factory_find
-
-    gst_element_factory_get_element_type
-
-    gst_element_factory_get_type
-
-    gst_element_factory_make
-
-    gst_element_found_tags
-
-    gst_element_found_tags_for_pad
-
-    gst_element_get_bus
-
-    gst_element_get_clock
-
-    gst_element_get_factory
-
-    gst_element_get_pad
-    
-    gst_element_get_request_pad
-
-    gst_element_get_state
-
-    gst_element_get_type
-
-    gst_element_is_indexable
-
-    gst_element_link
-
-    gst_element_link_many
-
-    gst_element_link_pads
-    
-    gst_element_make_from_uri
-
-    gst_element_no_more_pads
-
-    gst_element_provides_clock
-
-    gst_element_register
-
-    gst_element_remove_pad
-
-    gst_element_requires_clock
-    
-    gst_element_send_event
-    
-    gst_element_set_bus
-    
-    gst_element_set_state
-    
-    gst_element_sync_state_with_parent
-
-    gst_element_unlink
-
-    gst_event_get_type
-
-    gst_event_new_seek
-
-    gst_event_new_tag
-
-    gst_event_type_get_type
-
-    gst_format_get_by_nick
-
-    gst_format_get_details
-
-    gst_format_get_name
-
-    gst_format_register
-
-    gst_fourcc_get_type
-
-    gst_fraction_get_type
-
-    gst_fraction_range_get_type
-    
-    gst_ghost_pad_get_type
-    
-    gst_ghost_pad_new
-    
-    gst_ghost_pad_new_no_target
-    
-    gst_ghost_pad_set_target
-    
-    gst_implements_interface_cast
-
-    gst_implements_interface_check
-
-    gst_implements_interface_get_type
-
-    gst_index_add_association
-
-    gst_index_add_format
-
-    gst_index_entry_assoc_map
-
-    gst_index_factory_get_type
-
-    gst_index_get_assoc_entry
-
-    gst_index_get_writer_id
-
-    gst_init
-
-    gst_init_get_option_group
-
-    gst_int_range_get_type
-    
-    gst_library_error_quark
-
-    gst_marshal_BOOLEAN__POINTER
-
-    gst_marshal_VOID__INT_INT
-
-    gst_marshal_VOID__OBJECT_OBJECT
-
-    gst_marshal_VOID__POINTER_OBJECT
-
-    gst_marshal_VOID__UINT_BOXED
-    
-    gst_message_new_element
-
-    gst_message_get_structure
-
-    gst_message_get_type
-
-    gst_message_new_state_changed
-
-    gst_message_new_state_dirty
-
-    gst_message_new_warning
-
-    gst_message_parse_error
-
-    gst_message_parse_state_changed
-
-    gst_message_parse_tag
-
-    gst_message_parse_warning
-
-    gst_mini_object_get_type
-    
-    gst_mini_object_make_writable
-
-    gst_mini_object_new
-
-    gst_mini_object_ref
-
-    gst_mini_object_unref
-
-    gst_object_default_deep_notify
-
-    gst_object_default_error
-
-    gst_object_get_name
-
-    gst_object_get_parent
-
-    gst_object_get_type
-
-    gst_object_ref
-
-    gst_object_replace
-
-    gst_object_set_name
-
-    gst_object_unref
-    
-    gst_pad_add_buffer_probe
-    
-    gst_pad_add_data_probe
-    
-    gst_pad_add_event_probe
-
-    gst_pad_alloc_buffer
-
-    gst_pad_event_default
-
-    gst_pad_get_allowed_caps
-
-    gst_pad_get_caps
-
-    gst_pad_get_direction
-
-    gst_pad_get_element_private
-    
-    gst_pad_get_internal_links
-
-    gst_pad_get_internal_links_default
-
-    gst_pad_get_negotiated_caps
-
-    gst_pad_get_pad_template_caps
-    
-    gst_pad_get_parent_element
-
-    gst_pad_get_peer
-
-    gst_pad_get_query_types
-
-    gst_pad_get_query_types_default
-
-    gst_pad_get_type
-
-    gst_pad_is_linked
-
-    gst_pad_link
-
-    gst_pad_new
-
-    gst_pad_new_from_static_template
-
-    gst_pad_new_from_template
-
-    gst_pad_proxy_getcaps
-
-    gst_pad_push
-
-    gst_pad_query
-
-    gst_pad_query_default
-    
-    gst_pad_remove_buffer_probe
-    
-    gst_pad_remove_data_probe
-
-    gst_pad_send_event
-
-    gst_pad_set_active
-
-    gst_pad_set_blocked_async
-
-    gst_pad_set_chain_function
-
-    gst_pad_set_element_private
-
-    gst_pad_set_event_function
-
-    gst_pad_set_getcaps_function
-
-    gst_pad_set_internal_link_function
-
-    gst_pad_set_link_function
-
-    gst_pad_set_query_function
-
-    gst_pad_set_query_type_function
-
-    gst_pad_set_unlink_function
-
-    gst_pad_template_get_caps
-
-    gst_pad_template_get_type
-
-    gst_pad_template_new
-
-    gst_pad_unlink
-    
-    gst_param_spec_mini_object
-
-    gst_parse_launch
-
-    gst_parse_launchv
-
-    gst_pipeline_get_type
-
-    gst_pipeline_new
-
-    gst_pipeline_set_new_stream_time
-
-    gst_plugin_feature_get_name
-
-    gst_plugin_feature_get_type
-
-    gst_query_type_get_details
-
-    gst_resource_error_quark
-
-    gst_seek_type_get_type
-
-    gst_static_caps_get
-
-    gst_static_pad_template_get
-
-    gst_stream_error_quark
-
-    gst_structure_copy
-    
-    gst_structure_fixate_field_boolean
-
-    gst_structure_fixate_field_nearest_double
-
-    gst_structure_fixate_field_nearest_int
-    
-    gst_structure_fixate_field_nearest_fraction
-
-    gst_structure_foreach
-
-    gst_structure_get_boolean
-
-    gst_structure_get_double
-
-    gst_structure_get_fourcc
-    
-    gst_structure_get_fraction
-
-    gst_structure_get_int
-
-    gst_structure_get_name
-
-    gst_structure_get_string
-
-    gst_structure_get_value
-
-    gst_structure_has_field
-
-    gst_structure_has_name
-
-    gst_structure_new
-
-    gst_structure_remove_field
-
-    gst_structure_set
-
-    gst_structure_set_name
-
-    gst_structure_set_value
-
-    gst_structure_to_string
-
-    gst_system_clock_get_type
-
-    gst_type_find_get_length
-
-    gst_type_find_peek
-
-    gst_type_find_register
-
-    gst_type_find_suggest
-
-    gst_uri_construct
-
-    gst_uri_get_location
-
-    gst_uri_get_protocol
-
-    gst_uri_handler_get_type
-
-    gst_uri_handler_get_type
-
-    gst_uri_handler_new_uri
-
-    gst_util_dump_mem
-
-    gst_util_set_object_arg
-
-    gst_value_array_append_value
-
-    gst_value_array_get_size
-
-    gst_value_array_get_type
-
-    gst_value_array_get_value
-
-    gst_value_get_caps
-
-    gst_value_get_fraction_denominator
-
-    gst_value_get_fraction_numerator
-
-    gst_value_init_and_copy
-
-    gst_value_list_get_type
-
-    gst_value_serialize
-
-    gst_value_set_fraction
-
-    gst_xml_get_topelements
-
-    gst_xml_new
-
-    gst_xml_parse_file
-
-    gst_xml_write_file
-
-    
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;;exports needed by libgstbase.dll
-
-	gst_buffer_join
-
-	gst_buffer_set_caps
-
-	gst_caps_copy_nth
-
-	gst_caps_is_equal
-
-	gst_caps_make_writable
-
-	gst_caps_ref
-
-	gst_caps_truncate
-
-	gst_caps_unref
-
-	gst_clock_get_time
-
-	gst_clock_id_unref
-
-	gst_clock_id_unschedule
-
-	gst_clock_id_wait
-
-	gst_clock_new_single_shot_id
-
 	_gst_debug_category_new
-
-	gst_debug_log_valist
-
 	_gst_debug_nameof_funcptr
-
 	_gst_debug_register_funcptr
-
-	gst_element_abort_state
-
-	gst_element_factory_get_klass
-
-	gst_element_factory_get_static_pad_templates
-
-	gst_element_get_base_time
-
-	gst_element_iterate_pads
-
-	gst_element_iterate_src_pads
-
-	gst_element_lost_state
-
-	gst_element_message_full
-
-	gst_element_post_message
-
-	gst_event_get_structure
-
-	gst_event_new_eos
-
-	gst_event_new_flush_start
-
-	gst_event_new_flush_stop
-
-	gst_event_new_new_segment
-
-	gst_event_parse_new_segment
-
-	gst_event_parse_seek
-
-	gst_event_parse_tag
-
-	gst_event_type_get_name
-
-	gst_flags_get_first_value
-
-	gst_flow_get_name
-
-	gst_flow_return_get_type
-
-	gst_is_tag_list
-
-	gst_iterator_fold
-
-	gst_iterator_free
-	
-	gst_message_new_custom
-
-	gst_message_new_eos
-
-	gst_message_new_segment_done
-
-	gst_message_new_segment_start
-
-	gst_message_new_tag
-
-	gst_message_parse_new_clock
-
-	gst_message_type_get_name
-
-	gst_mini_object_copy
-
-	gst_mini_object_is_writable
-
-	gst_mini_object_replace
-
-	gst_object_set_parent
-
-	gst_object_set_parent
-
-	gst_object_sink
-
-	gst_pad_accept_caps
-
-	gst_pad_activate_pull
-
-	gst_pad_activate_push
-
-	gst_pad_alloc_buffer_and_set_caps
-
-	gst_pad_chain
-
-	gst_pad_check_pull_range
-
-	gst_pad_fixate_caps
-
-	gst_pad_is_active
-
-	gst_pad_pause_task
-
-	gst_pad_peer_get_caps
-
-	gst_pad_proxy_setcaps
-
-	gst_pad_pull_range
-
-	gst_pad_push_event
-
-	gst_pad_query_convert
-
-	gst_pad_query_duration
-
-	gst_pad_query_position
-
-	gst_pad_set_activate_function
-
-	gst_pad_set_activatepull_function
-
-	gst_pad_set_activatepush_function
-
-	gst_pad_set_bufferalloc_function
-
-	gst_pad_set_caps
-
-	gst_pad_set_checkgetrange_function
-
-	gst_pad_set_fixatecaps_function
-
-	gst_pad_set_getrange_function
-
-	gst_pad_set_setcaps_function
-
-	gst_pad_start_task
-
-	gst_pad_stop_task
-
-	gst_pad_use_fixed_caps
-
-	gst_plugin_feature_get_rank
-
-	gst_plugin_feature_list_free
-
-	gst_plugin_feature_load
-
-	gst_plugin_list_free
-
-	gst_plugin_load_file
-
-	gst_query_parse_convert
-
-	gst_query_parse_duration
-
-	gst_query_parse_position
-
-	gst_query_set_convert
-
-	gst_query_set_duration
-
-	gst_query_set_formats
-
-	gst_query_set_position
-
-	gst_query_set_seeking
-
-	gst_query_set_segment
-
-	gst_registry_feature_filter
-
-	gst_registry_find_feature
-
-	gst_registry_find_plugin
-
-	gst_registry_get_default
-
-	gst_registry_get_feature_list_by_plugin
-
-	gst_registry_get_plugin_list
-
-	gst_segment_init
-
-	gst_segment_clip
-
-	gst_segment_set_duration
-	
-	gst_segment_set_newsegment
-
-	gst_segment_to_running_time
-
-	gst_segment_set_last_stop
-
-	gst_segment_set_seek
-
-	gst_tag_get_nick
-
-	gst_tag_get_type
-
-	gst_tag_list_add
-
-	gst_tag_list_foreach
-
-	gst_tag_list_free
-	
-	gst_tag_list_get_date_index
-
-	gst_tag_list_get_double_index
-	
-	gst_tag_list_get_string
-
-	gst_tag_list_get_string_index
-
-	gst_tag_list_get_tag_size
-
-	gst_tag_list_get_uint_index
-
-	gst_tag_list_get_value_index
-
-	gst_tag_list_insert
-
-	gst_tag_list_merge
-
-	gst_tag_list_new
-
-	gst_tag_setter_get_tag_list
-
-	gst_tag_setter_get_tag_merge_mode
-
-	gst_tag_setter_get_type
-
-	gst_type_find_factory_call_function
-
-	gst_type_find_factory_get_list
-
-	gst_type_find_factory_get_type
-
-	gst_util_gdouble_to_guint64
-
-	gst_util_guint64_to_gdouble
-
-	gst_util_uint64_scale
-	
-	gst_util_uint64_scale_int
-
-	gst_value_get_int_range_max
-
-	gst_value_get_int_range_min
-
-	gst_value_get_mini_object
-
-	gst_value_list_append_value
-
-	gst_value_list_get_size
-
-	gst_value_list_get_value
-
-	gst_value_set_caps
-
-	gst_value_set_mini_object
-
-	gst_version
-
-	gst_version_string
-
+	_gst_element_error_printf
+	gst_alloc_trace_available
+	gst_alloc_trace_live_all
+	gst_alloc_trace_print_all
+	gst_alloc_trace_print_live
+	gst_alloc_trace_set_flags_all
+	gst_bin_add
+	gst_bin_add_many
+	gst_bin_get_by_interface
+	gst_bin_get_by_name
+	gst_bin_get_type
+	gst_bin_new
+	gst_bin_remove
+	gst_buffer_create_sub
+	gst_buffer_get_type
 	gst_buffer_is_metadata_writable
-	
+	gst_buffer_is_span_fast
+	gst_buffer_join
+	gst_buffer_merge
+	gst_buffer_new
+	gst_buffer_new_and_alloc
+	gst_buffer_set_caps
+	gst_buffer_stamp  
+	gst_bus_new
+	gst_bus_poll
+	gst_bus_pop
+	gst_bus_post
+	gst_caps_append
+	gst_caps_append_structure
+	gst_caps_copy
+	gst_caps_copy_nth
+	gst_caps_do_simplify
+	gst_caps_from_string
+	gst_caps_get_size
+	gst_caps_get_structure
+	gst_caps_get_type
+	gst_caps_intersect
+	gst_caps_is_any
+	gst_caps_is_empty
+	gst_caps_is_equal
+	gst_caps_is_fixed
+	gst_caps_make_writable
+	gst_caps_new_any
+	gst_caps_new_empty
+	gst_caps_new_full
+	gst_caps_new_simple
+	gst_caps_ref
+	gst_caps_replace
+	gst_caps_set_simple
+	gst_caps_to_string
+	gst_caps_truncate
+	gst_caps_unref
+	gst_clock_get_calibration
+	gst_clock_get_internal_time
+	gst_clock_get_time
+	gst_clock_get_type
+	gst_clock_id_unref
+	gst_clock_id_unschedule
+	gst_clock_id_wait
+	gst_clock_new_single_shot_id
+	gst_clock_set_calibration
+	gst_clock_set_master
+	gst_core_error_quark
+	gst_date_get_type
+	gst_debug_log_valist
+	gst_deinit
+	gst_double_range_get_type
+	gst_element_abort_state
+	gst_element_add_pad
+	gst_element_class_add_pad_template
+	gst_element_class_get_pad_template
+	gst_element_class_get_pad_template_list
+	gst_element_class_set_details
+	gst_element_default_error
+	gst_element_factory_create
+	gst_element_factory_find
+	gst_element_factory_get_element_type
+	gst_element_factory_get_klass
+	gst_element_factory_get_static_pad_templates
+	gst_element_factory_get_type
+	gst_element_factory_make
+	gst_element_found_tags
+	gst_element_found_tags_for_pad
+	gst_element_get_base_time
+	gst_element_get_bus
+	gst_element_get_clock
+	gst_element_get_factory
+	gst_element_get_pad
+	gst_element_get_request_pad
+	gst_element_get_state
+	gst_element_get_type
+	gst_element_is_indexable
+	gst_element_iterate_pads
+	gst_element_iterate_src_pads
+	gst_element_link
+	gst_element_link_many
+	gst_element_link_pads
+	gst_element_lost_state
+	gst_element_make_from_uri
+	gst_element_message_full
+	gst_element_no_more_pads
+	gst_element_post_message
+	gst_element_provides_clock
+	gst_element_register
+	gst_element_remove_pad
+	gst_element_requires_clock
+	gst_element_send_event
+	gst_element_set_bus
+	gst_element_set_state
+	gst_element_sync_state_with_parent
+	gst_element_unlink
+	gst_event_get_structure
+	gst_event_get_type
+	gst_event_new_eos
+	gst_event_new_flush_start
+	gst_event_new_flush_stop
+	gst_event_new_new_segment
+	gst_event_new_seek
+	gst_event_new_tag
+	gst_event_parse_new_segment
+	gst_event_parse_seek
+	gst_event_parse_tag
+	gst_event_type_get_name
+	gst_event_type_get_type
+	gst_flags_get_first_value
+	gst_flow_get_name
+	gst_flow_return_get_type
+	gst_format_get_by_nick
+	gst_format_get_details
+	gst_format_get_name
+	gst_format_register
+	gst_formats_contains
+	gst_fourcc_get_type
+	gst_fraction_get_type
+	gst_fraction_range_get_type
+	gst_ghost_pad_get_type
+	gst_ghost_pad_new
+	gst_ghost_pad_new_no_target
+	gst_ghost_pad_set_target
+	gst_implements_interface_cast
+	gst_implements_interface_check
+	gst_implements_interface_get_type
+	gst_index_add_association
+	gst_index_add_format
+	gst_index_entry_assoc_map
+	gst_index_factory_get_type
+	gst_index_get_assoc_entry
+	gst_index_get_writer_id
+	gst_init
+	gst_init_get_option_group
+	gst_int_range_get_type
+	gst_is_tag_list
+	gst_iterator_fold
+	gst_iterator_free
 	gst_iterator_next
-
+	gst_library_error_quark
+	gst_marshal_BOOLEAN__POINTER
+	gst_marshal_VOID__INT_INT
+	gst_marshal_VOID__OBJECT_OBJECT
+	gst_marshal_VOID__POINTER_OBJECT
+	gst_marshal_VOID__UINT_BOXED
+	gst_message_get_structure
+	gst_message_get_type
+	gst_message_new_custom
+	gst_message_new_element
+	gst_message_new_eos
+	gst_message_new_segment_done
+	gst_message_new_segment_start
+	gst_message_new_state_changed
+	gst_message_new_state_dirty
+	gst_message_new_tag
+	gst_message_new_warning
+	gst_message_parse_error
+	gst_message_parse_new_clock
+	gst_message_parse_state_changed
+	gst_message_parse_tag
+	gst_message_parse_warning
+	gst_message_type_get_name
+	gst_mini_object_copy
+	gst_mini_object_get_type
+	gst_mini_object_is_writable
+	gst_mini_object_make_writable
+	gst_mini_object_new
+	gst_mini_object_ref
+	gst_mini_object_replace
+	gst_mini_object_unref
+	gst_object_default_deep_notify
+	gst_object_default_error
+	gst_object_get_name
+	gst_object_get_parent
+	gst_object_get_type
+	gst_object_ref
+	gst_object_replace
+	gst_object_set_name
+	gst_object_set_parent
+	gst_object_set_parent
+	gst_object_sink
+	gst_object_unref
+	gst_pad_accept_caps
+	gst_pad_activate_pull
+	gst_pad_activate_push
+	gst_pad_add_buffer_probe
+	gst_pad_add_data_probe
+	gst_pad_add_event_probe
+	gst_pad_alloc_buffer
+	gst_pad_alloc_buffer_and_set_caps
+	gst_pad_chain
+	gst_pad_check_pull_range
+	gst_pad_event_default
+	gst_pad_fixate_caps
+	gst_pad_get_allowed_caps
+	gst_pad_get_caps
+	gst_pad_get_direction
+	gst_pad_get_element_private
+	gst_pad_get_internal_links
+	gst_pad_get_internal_links_default
+	gst_pad_get_negotiated_caps
+	gst_pad_get_pad_template_caps
+	gst_pad_get_parent_element
+	gst_pad_get_peer
+	gst_pad_get_query_types
+	gst_pad_get_query_types_default
+	gst_pad_get_type
+	gst_pad_is_active
+	gst_pad_is_linked
+	gst_pad_link
+	gst_pad_new
+	gst_pad_new_from_static_template
+	gst_pad_new_from_template
+	gst_pad_pause_task
+	gst_pad_peer_get_caps
+	gst_pad_proxy_getcaps
+	gst_pad_proxy_setcaps
+	gst_pad_pull_range
+	gst_pad_push
+	gst_pad_push_event
+	gst_pad_query
+	gst_pad_query_convert
+	gst_pad_query_default
+	gst_pad_query_duration
+	gst_pad_query_position
+	gst_pad_remove_buffer_probe
+	gst_pad_remove_data_probe
+	gst_pad_send_event
+	gst_pad_set_activate_function
+	gst_pad_set_activatepull_function
+	gst_pad_set_activatepush_function
+	gst_pad_set_active
+	gst_pad_set_blocked_async
+	gst_pad_set_bufferalloc_function
+	gst_pad_set_caps
+	gst_pad_set_chain_function
+	gst_pad_set_checkgetrange_function
+	gst_pad_set_element_private
+	gst_pad_set_event_function
+	gst_pad_set_fixatecaps_function
+	gst_pad_set_getcaps_function
+	gst_pad_set_getrange_function
+	gst_pad_set_internal_link_function
+	gst_pad_set_link_function
+	gst_pad_set_query_function
+	gst_pad_set_query_type_function
+	gst_pad_set_setcaps_function
+	gst_pad_set_unlink_function
+	gst_pad_start_task
+	gst_pad_stop_task
+	gst_pad_template_get_caps
+	gst_pad_template_get_type
+	gst_pad_template_new
+	gst_pad_unlink
+	gst_pad_use_fixed_caps
+	gst_param_spec_mini_object
+	gst_parse_launch
+	gst_parse_launchv
+	gst_pipeline_get_type
+	gst_pipeline_new
+	gst_pipeline_set_new_stream_time
+	gst_plugin_feature_get_name
+	gst_plugin_feature_get_rank
+	gst_plugin_feature_get_type
+	gst_plugin_feature_list_free
+	gst_plugin_feature_load
+	gst_plugin_list_free
+	gst_plugin_load_file
+	gst_query_new_duration
+	gst_query_parse_convert
+	gst_query_parse_duration
+	gst_query_parse_position
+	gst_query_set_convert
+	gst_query_set_duration
+	gst_query_set_formats
+	gst_query_set_position
+	gst_query_set_seeking
+	gst_query_set_segment
+	gst_query_type_get_details
+	gst_registry_feature_filter
+	gst_registry_find_feature
+	gst_registry_find_plugin
+	gst_registry_get_default
+	gst_registry_get_feature_list_by_plugin
+	gst_registry_get_plugin_list
+	gst_resource_error_quark
+	gst_seek_type_get_type
+	gst_segment_clip
+	gst_segment_free
+	gst_segment_init
+	gst_segment_new
+	gst_segment_set_duration
+	gst_segment_set_last_stop
+	gst_segment_set_newsegment
+	gst_segment_set_seek
+	gst_segment_to_running_time
+	gst_static_caps_get
+	gst_static_pad_template_get
+	gst_stream_error_quark
+	gst_structure_copy
+	gst_structure_fixate_field_boolean
+	gst_structure_fixate_field_nearest_double
+	gst_structure_fixate_field_nearest_fraction
+	gst_structure_fixate_field_nearest_int
+	gst_structure_foreach
+	gst_structure_get_boolean
+	gst_structure_get_double
+	gst_structure_get_fourcc
+	gst_structure_get_fraction
+	gst_structure_get_int
+	gst_structure_get_name
+	gst_structure_get_string
+	gst_structure_get_value
+	gst_structure_has_field
+	gst_structure_has_name
+	gst_structure_new
+	gst_structure_new_valist
+	gst_structure_remove_field
+	gst_structure_set
+	gst_structure_set_name
 	gst_structure_set_valist
-	
+	gst_structure_set_value
+	gst_structure_to_string
+	gst_system_clock_get_type
+	gst_tag_get_nick
+	gst_tag_get_type
+	gst_tag_list_add
+	gst_tag_list_add_values
+	gst_tag_list_copy
+	gst_tag_list_foreach
+	gst_tag_list_free
+	gst_tag_list_get_date_index
+	gst_tag_list_get_double_index
+	gst_tag_list_get_string
+	gst_tag_list_get_string_index
+	gst_tag_list_get_tag_size
+	gst_tag_list_get_uint_index
+	gst_tag_list_get_value_index
+	gst_tag_list_insert
+	gst_tag_list_merge
+	gst_tag_list_new
+	gst_tag_register
+	gst_tag_setter_get_tag_list
+	gst_tag_setter_get_tag_merge_mode
+	gst_tag_setter_get_type
+	gst_type_find_factory_call_function
+	gst_type_find_factory_get_list
+	gst_type_find_factory_get_type
+	gst_type_find_get_length
+	gst_type_find_peek
+	gst_type_find_register
+	gst_type_find_suggest
+	gst_uri_construct
+	gst_uri_get_location
+	gst_uri_get_protocol
+	gst_uri_handler_get_type
+	gst_uri_handler_get_type
+	gst_uri_handler_new_uri
+	gst_util_dump_mem
+	gst_util_gdouble_to_guint64
+	gst_util_guint64_to_gdouble
+	gst_util_set_object_arg
+	gst_util_uint64_scale
+	gst_util_uint64_scale_int
+	gst_value_array_append_value
+	gst_value_array_get_size
+	gst_value_array_get_type
+	gst_value_array_get_value
 	gst_value_compare
-
+	gst_value_get_caps
+	gst_value_get_fraction_denominator
+	gst_value_get_fraction_numerator
+	gst_value_get_int_range_max
+	gst_value_get_int_range_min
+	gst_value_get_mini_object
+	gst_value_init_and_copy
+	gst_value_list_append_value
+	gst_value_list_get_size
+	gst_value_list_get_type
+	gst_value_list_get_value
+	gst_value_serialize
+	gst_value_set_caps
+	gst_value_set_fraction
+	gst_value_set_mini_object
+	gst_version
+	gst_version_string
+	gst_xml_get_topelements
+	gst_xml_new
+	gst_xml_parse_file
+	gst_xml_write_file
diff --git a/win32/vs7/gst-inspect.vcproj b/win32/vs7/gst-inspect.vcproj
index 632f77c..0155051 100644
--- a/win32/vs7/gst-inspect.vcproj
+++ b/win32/vs7/gst-inspect.vcproj
@@ -22,12 +22,11 @@
 				AdditionalIncludeDirectories="../..,../../libs,../common"
 				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
 				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="0"
+				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
+				Detect64BitPortabilityProblems="TRUE"
 				DebugInformationFormat="4"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
@@ -74,10 +73,9 @@
 				AdditionalIncludeDirectories="../..,../../libs,../common"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_H"
 				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
+				Detect64BitPortabilityProblems="TRUE"
 				DebugInformationFormat="3"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
diff --git a/win32/vs7/gst-launch.vcproj b/win32/vs7/gst-launch.vcproj
index 89bd202..6797cf7 100644
--- a/win32/vs7/gst-launch.vcproj
+++ b/win32/vs7/gst-launch.vcproj
@@ -22,12 +22,11 @@
 				AdditionalIncludeDirectories="../..,../common"
 				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_H"
 				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="0"
+				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
+				Detect64BitPortabilityProblems="TRUE"
 				DebugInformationFormat="4"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
@@ -73,10 +72,9 @@
 				AdditionalIncludeDirectories="../..,../common"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;HAVE_CONFIG_H"
 				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
+				Detect64BitPortabilityProblems="TRUE"
 				DebugInformationFormat="3"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
diff --git a/win32/vs7/libgstbase.vcproj b/win32/vs7/libgstbase.vcproj
index 9fb6ccc..54787bd 100644
--- a/win32/vs7/libgstbase.vcproj
+++ b/win32/vs7/libgstbase.vcproj
@@ -22,12 +22,11 @@
 				AdditionalIncludeDirectories="../..,../../libs,../common"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGSTBASE_EXPORTS;HAVE_CONFIG_H"
 				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="0"
+				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
+				Detect64BitPortabilityProblems="TRUE"
 				DebugInformationFormat="4"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
@@ -75,10 +74,9 @@
 				AdditionalIncludeDirectories="../..,../../libs,../common"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGSTBASE_EXPORTS;HAVE_CONFIG_H"
 				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
+				Detect64BitPortabilityProblems="TRUE"
 				DebugInformationFormat="3"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
diff --git a/win32/vs7/libgstcontroller.vcproj b/win32/vs7/libgstcontroller.vcproj
index 827627e..e756be3 100644
--- a/win32/vs7/libgstcontroller.vcproj
+++ b/win32/vs7/libgstcontroller.vcproj
@@ -22,12 +22,11 @@
 				AdditionalIncludeDirectories="../..,../../libs,../common"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGSTCONTROLLER_EXPORTS;HAVE_CONFIG_H"
 				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="0"
+				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
+				Detect64BitPortabilityProblems="TRUE"
 				DebugInformationFormat="4"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
@@ -77,10 +76,9 @@
 				AdditionalIncludeDirectories="../..,../../libs,../common"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGSTCONTROLLER_EXPORTS;HAVE_CONFIG_H"
 				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
+				Detect64BitPortabilityProblems="TRUE"
 				DebugInformationFormat="3"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
diff --git a/win32/vs7/libgstcoreelements.vcproj b/win32/vs7/libgstcoreelements.vcproj
index 1d08abc..6dffc03 100644
--- a/win32/vs7/libgstcoreelements.vcproj
+++ b/win32/vs7/libgstcoreelements.vcproj
@@ -22,12 +22,11 @@
 				AdditionalIncludeDirectories="../..,../../libs,../common"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGSTELEMENTS_EXPORTS;HAVE_CONFIG_H"
 				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="0"
+				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
+				Detect64BitPortabilityProblems="TRUE"
 				DebugInformationFormat="4"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
@@ -76,10 +75,9 @@
 				AdditionalIncludeDirectories="../..,../../libs,../common"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGSTELEMENTS_EXPORTS;HAVE_CONFIG_H"
 				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
+				Detect64BitPortabilityProblems="TRUE"
 				DebugInformationFormat="3"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
diff --git a/win32/vs7/libgstreamer.vcproj b/win32/vs7/libgstreamer.vcproj
index 836b3a2..94fd81c 100644
--- a/win32/vs7/libgstreamer.vcproj
+++ b/win32/vs7/libgstreamer.vcproj
@@ -22,13 +22,12 @@
 				AdditionalIncludeDirectories="../..,../common"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGSTREAMER_EXPORTS;HAVE_CONFIG_H;HAVE_WIN32"
 				MinimalRebuild="TRUE"
-				BasicRuntimeChecks="0"
+				BasicRuntimeChecks="3"
 				RuntimeLibrary="3"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="4"
-				CompileAs="1"/>
+				Detect64BitPortabilityProblems="TRUE"
+				DebugInformationFormat="4"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
 			<Tool
@@ -78,12 +77,10 @@
 				AdditionalIncludeDirectories="../..,../common"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGSTREAMER_EXPORTS;HAVE_CONFIG_H;HAVE_WIN32"
 				RuntimeLibrary="2"
-				BufferSecurityCheck="FALSE"
 				UsePrecompiledHeader="0"
 				WarningLevel="3"
-				Detect64BitPortabilityProblems="FALSE"
-				DebugInformationFormat="3"
-				CompileAs="1"/>
+				Detect64BitPortabilityProblems="TRUE"
+				DebugInformationFormat="3"/>
 			<Tool
 				Name="VCCustomBuildTool"/>
 			<Tool
