Before you start
Consider the fact that this plugin collection is called "bad" for a reason. It contains a lot of plugins and most of them are rarely used, or broken, or inefficient, or undocumented, or all of these at the same time. If one or another -bad plugin is not mentioned here, you should imply that it just doesn't work or is disabled by default, which means that i did not bother to try to build it. By the way, you can always try it yourself and make some additions to this page.
Install optional packages
libass
Go to http://code.google.com/p/libass/downloads/list
Download the latest libass source package:
libass-0.9.11.tar.bz2
Unpack to c:\src
cd /c/src/libass-0.9.11 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install celt
Get celt-0.10.0 from http://www.celt-codec.org/downloads/ Unpack to c:/src
cd /c/src/celt-0.10.0 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure --prefix=/mingw make make install
Install Dirac
Go to http://sourceforge.net/projects/dirac/files/dirac-codec/
Download the latest dirac source package:
dirac-1.0.2.tar.gz
Unpack to c:\src
Modify c:\src\dirac-1.0.2\libdirac_encoder\quant_chooser.cpp:
Replace
if ( (std::abs(m_coeff_data[j][i])<<2) >= u_threshold )
with
if ( (static_cast<int>(std::abs(m_coeff_data[j][i]))<<2) >= u_threshold )
Replace
val = std::max( val , std::abs(m_coeff_data[j][i]) );
with
val = std::max( val , static_cast<int>(std::abs(m_coeff_data[j][i])) );
Modify c:\src\dirac-1.0.2\util\conversion\common\setstdiomode.cpp:
Replace
namespace dirac_vu { //dirac video utilities namespace
#ifdef _WIN32
#include <stdio.h> //Defines _fileno (needed to set standard i/o to binary mode)
#include <io.h> //Defines _setmode (needed to set standard input to binary mode)
#include <fcntl.h> //Contains definition of _O_BINARYwith
#ifdef _WIN32
#include <stdio.h> //Defines _fileno (needed to set standard i/o to binary mode)
#include <io.h> //Defines _setmode (needed to set standard input to binary mode)
#include <fcntl.h> //Contains definition of _O_BINARY
#endif
namespace dirac_vu { //dirac video utilities namespace
#ifdef _WIN32Do:
CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install libdca
cd /c/src svn co svn://svn.videolan.org/libdca/trunk libdca cd libdca
Edit /c/src/libdca/libdca/Makefile.am
Change
ln -sf "$(libdir)/libdca.a" "$(DESTDIR)$(libdir)/libdts.a"
to
ln -sf "$(DESTDIR)$(libdir)/libdca.a" "$(DESTDIR)$(libdir)/libdts.a"
Edit /c/src/libdca/src/Makefile.am
Change
ln -sf "$(man1dir)/$${name}.1" "$(DESTDIR)$(man1dir)/$${oldname}.1" ; \to
ln -sf "$(DESTDIR)$(man1dir)/$${name}.1" "$(DESTDIR)$(man1dir)/$${oldname}.1" ; \./bootstrap CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install faac
Go to http://sourceforge.net/projects/faac/files/faac-src/
Download the latest faac source package:
faac-1.28.tar.bz2
Unpack to c:\src
Modify c:\src\faac-1.28\common\mp4v2\mpeg4ip.h:
Replace
#ifndef _WIN32
with
#ifndef _MSC_VER
and
#ifdef _WIN32
with
#ifdef _MSC_VER
Replace
#include <unistd.h> #include <fcntl.h> #include <netinet/in.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <syslog.h> #include <string.h> #include <ctype.h> #include <netdb.h> #include <sys/stat.h>
with
#include <unistd.h> #include <fcntl.h> #ifndef _WIN32 #include <netinet/in.h> #else #include <winsock2.h> #include <ws2tcpip.h> #endif #include <sys/types.h> #ifndef _WIN32 #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <syslog.h> #endif #include <string.h> #include <ctype.h> #ifndef _WIN32 #include <netdb.h> #endif #include <sys/stat.h>
Replace
#ifndef HAVE_SOCKLEN_T typedef unsigned int socklen_t; #endif
with
#ifndef HAVE_SOCKLEN_T #ifndef _WIN32 typedef unsigned int socklen_t; #endif #endif
Replace
#ifdef sun #include <limits.h> #define u_int8_t uint8_t #define u_int16_t uint16_t #define u_int32_t uint32_t #define u_int64_t uint64_t #define __STRING(expr) #expr #endif
with
#if defined(sun) || defined(_WIN32) #include <limits.h> #define u_int8_t uint8_t #define u_int16_t uint16_t #define u_int32_t uint32_t #define u_int64_t uint64_t #define __STRING(expr) #expr #endif #if defined(_WIN32) typedef unsigned int uint; #define LOG_EMERG 0 #define LOG_ALERT 1 #define LOG_CRIT 2 #define LOG_ERR 3 #define LOG_WARNING 4 #define LOG_NOTICE 5 #define LOG_INFO 6 #define LOG_DEBUG 7 #define srandom srand #define random rand #endif
Modify c:\src\faac-1.28\common\mp4v2\mp4util.h:
Replace
#ifndef _WIN32
with
#ifndef _MSC_VER
cd /c/src/faac-1.28 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" LIBS="-lws2_32" ./configure --prefix=/mingw make make install
Install faad
Go to http://sourceforge.net/projects/faac/files/faad2-src/
Download the latest faad2 source package:
faad2-2.7.tar.bz2
Unpack to c:\src
Modify c:\src\faad2-2.7\Makefile.in:
Change
SUBDIRS = libfaad common frontend plugins
to
SUBDIRS = libfaad
Modify c:\src\faad2-2.7\include\neaacdec.h:
Change (twice!)
#ifdef _WIN32
to
#ifdef _MSC_VER
cd /c/src/faad2-2.7 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure --prefix=/mingw make make install
Install libgsm
Go to http://www.quut.com/gsm/
Download latest libgsm source package:
gsm-1.0.13.tar.gz
If that site is dead, get it from http://www.imagemagick.org/download/delegates/ffmpeg/gsm-1.0.13.tar.gz
Unpack to c:\src
Create a file c:\src\gsm-1.0.-pl13\Makefile.diff with following contents:
--- Makefile.org 2006-04-26 19:14:26 +0000
+++ Makefile 2009-06-15 14:39:09 +0000
@@ -71,7 +71,7 @@
# Leave INSTALL_ROOT empty (or just don't execute "make install") to
# not install gsm and toast outside of this directory.
-INSTALL_ROOT =
+INSTALL_ROOT = /mingw
# Where do you want to install the gsm library, header file, and manpages?
#
@@ -80,7 +80,7 @@
GSM_INSTALL_ROOT = $(INSTALL_ROOT)
GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib
-GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc
+GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/include
GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
@@ -140,10 +140,11 @@
# Targets
LIBGSM = $(LIB)/libgsm.a
+LIBGSM_DLL = $(BIN)/libgsm.dll
-TOAST = $(BIN)/toast
-UNTOAST = $(BIN)/untoast
-TCAT = $(BIN)/tcat
+TOAST = $(BIN)/toast.exe
+UNTOAST = $(BIN)/untoast.exe
+TCAT = $(BIN)/tcat.exe
# Headers
@@ -257,6 +258,7 @@
# Install targets
GSM_INSTALL_TARGETS = \
+ $(TOAST_INSTALL_BIN)/libgsm.dll \
$(GSM_INSTALL_LIB)/libgsm.a \
$(GSM_INSTALL_INC)/gsm.h \
$(GSM_INSTALL_MAN)/gsm.3 \
@@ -279,7 +281,7 @@
# Target rules
-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
+all: $(LIBGSM) $(LIBGSM_DLL) $(TOAST) $(TCAT) $(UNTOAST)
@-echo $(ROOT): Done.
tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
@@ -304,6 +306,9 @@
$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
$(RANLIB) $(LIBGSM)
+$(LIBGSM_DLL): $(LIBGSM)
+ $(LD) $(LDFLAGS) $(LIBS) $(GSM_OBJECTS) -shared -o $(LIBGSM_DLL)
+
# Toast, Untoast and Tcat -- the compress-like frontends to gsm.
@@ -399,6 +404,12 @@
chmod 444 $@
+$(TOAST_INSTALL_BIN)/libgsm.dll: $(LIBGSM_DLL)
+ -rm $@
+ cp $? $@
+ chmod 444 $@
+
+
# Distribution
dist: gsm-1.0.tar.ZModify c:\src\gsm-1.0-pl13\inc\config.h:
Remove lines
#define HAS_FCHMOD 1 /* fchmod syscall */
and
#define HAS_FCHOWN 1 /* fchown syscall */
and
#define HAS_CHOWN 1 /* chown syscall */
cd /c/src/gsm-1.0-pl13 patch -u Makefile Makefile.diff make make install
Install jasper
Go to http://www.ece.uvic.ca/~mdadams/jasper/#download
Download latest jasper source package:
jasper-1.900.1.zip
Unpack to c:\src
Modify c:\src\jasper-1.900.1\src\appl\tmrdemo.c:
Change
sleep(1);
to
usleep(1000);
Modify c:\src\jasper-1.900.1\src\libjasper\include\jasper\jas_config.h.in:
Remove lines
/* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION
Remove lines
/* Version number of package */ #undef VERSION
cd /c/src/jasper-1.900.1 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure --prefix=/mingw --enable-shared make make install
Install libkate
Go to http://code.google.com/p/libkate/downloads/list
Download the latest libkate source package:
libkate-0.3.8.tar.gz
Unpack to c:\src
cd /c/src/libkate-0.3.8 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure --prefix=/mingw make make install pyexecdir=/mingw/lib/site-packages
Install libexif
Go to http://sourceforge.net/projects/libexif/files/
Download the latest libexif source package:
libexif-0.6.20.tar.bz2
Unpack to c:\src
cd /c/src/libexif-0.6.20 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install libmimic
Go to https://sourceforge.net/projects/farsight/files/
Download the latest libmimic source package:
libmimic-1.0.4.tar.gz
Unpack to c:\src
cd /c/src/libmimic-1.0.4 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" LIBS="-lglib-2.0" ./configure --prefix=/mingw make make install
Install modplug
Go to http://sourceforge.net/projects/modplug-xmms/files/libmodplug/
Download latest libmodplug source package:
libmodplug-0.8.8.1.tar.gz
Unpack to c:\src
cd /c/src/libmodplug-0.8.8 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure --prefix=/mingw make make install
Install mjpegtools
Go to http://sourceforge.net/projects/mjpeg/files/mjpegtools
Download latest mjpegtools package:
mjpegtools-2.0.0rc1.tar.gz
Unpack to c:\src
Edit c:/src/mjpegtools-2.0.0/Makefile.in
Change
SUBDIRS = \
utils \
mpeg2enc \
lavtools \
aenc \
mplex \
scripts \
docs \
yuvcorrect \
yuvscaler \
yuvdenoise \
yuvfilters \
yuvdeinterlace \
y4mdenoise \
y4munsharp \
y4mutils \
debianto
SUBDIRS = \
utils \
mpeg2enc \
aenc \
mplexEdit c:/src/mjpegtools-2.0.0/configure
Remove the line
$as_echo "#define HAVE_X86CPU 1" >>confdefs.h
Edit c:/src/mjpegtools-2.0.0/mplex/stream_params.hpp
Remove line:
#include <config.h>
Do
cd /c/src/mjpegtools-2.0.0 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined,--enable-runtime-pseudo-reloc-v2" LIBS="-lpthread" ./configure --prefix=/mingw --host=i686-pc-mingw32 make make install
Install libmpc
Go to http://www.musepack.net/index.php?pg=src
Download latest libmpcdec source package:
musepack_src_r435.tar.gz
Unpack to c:\src
Modify c:\src\musepack_src_r435\libmpcdec\requant.h
Change
const mpc_uint8_t Res_bit [18]; ///< Bits per sample for chosen quantizer const MPC_SAMPLE_FORMAT __Cc [1 + 18]; ///< Requantization coefficients const mpc_int16_t __Dc [1 + 18]; ///< Requantization offset
to
extern const mpc_uint8_t Res_bit [18]; ///< Bits per sample for chosen quantizer extern const MPC_SAMPLE_FORMAT __Cc [1 + 18]; ///< Requantization coefficients extern const mpc_int16_t __Dc [1 + 18]; ///< Requantization offset
cd /c/src/musepack_src_r435 make -f Makefile.cvs CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw cd libmpcdec make make install cd ../include make make install
Install neon
Go to http://www.webdav.org/neon/
Download latest neon source package:
neon-0.29.5.tar.gz
Unpack to c:\src
cd /c/src/neon-0.29.5 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw --enable-shared make make install
ofa
Install curl
Go to http://curl.haxx.se/download.html
Download latest libcurl source package:
curl-7.21.3.tar.lzma
Unpack to c:\src
cd /c/src/curl-7.21.3 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install fftw
Go to http://www.fftw.org/download.html
Download latest fftw source package:
fftw-3.2.2.tar.gz
Unpack to c:\src
cd /c/src/fftw-3.2.2 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LIBS="-lpthread" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw --enable-shared --with-our-malloc16 --disable-static --with-windows-f77-mangling --enable-threads --with-combined-threads --enable-portable-binary --enable-sse2 --prefix=/mingw make make install
Install libofa
Go to http://code.google.com/p/musicip-libofa/downloads/list
Download latest libofa source package:
libofa-0.9.3.tar.gz
Unpack to c:\src
cd /c/src/libofa-0.9.3 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw
Modify c:\src\libofa-0.9.3\lib\JAMA\tnt_math_utils.h:
Move lines
/**
@returns the absolute value of a real (no-complex) scalar.
*/
template <class Real>
Real abs(const Real &a)
{
return (a > 0 ? a : -a);
}to the line 22, right after
namespace TNT
{Modify c:\src\libofa-0.9.3\lib\signal_op.cpp:
Replace all call to abs() with calls to TNT::abs()
Add line
#include "JAMA/tnt_math_utils.h"
at line 19, after
#include "error_op.h"
Modify c:\src\libofa-0.9.3\examples\example.cpp:
Add the line
#include <cstring>
at line 11, right after
#include "protocol.h"
Modify c:\src\libofa-0.9.3\examples\protocol.h:
Add the line
#include <stdio.h>
at line 14, right after
#include "ofa1/ofa.h"
Modify c:\src\libofa-0.9.3\lib\fftlibw3_op.cpp, fft_op.h:
Replace
#ifdef WIN32
with
#ifdef _MSC_VER
Do:
make make install
Install libdvdnav
Go to http://www1.mplayerhq.hu/MPlayer/releases/dvdnav/
Download latest libdvdnav source package:
libdvdnav-4.1.3.tar.bz2
Unpack to c:\src
CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" LIBS="-ldvdread" ./autogen.sh --prefix=/mingw make make install
Install SDL
Go to http://www.libsdl.org/download-1.2.php
Download latest SDL 1.2 package:
SDL-devel-1.2.14-mingw32.tar.gz
Unpack to c:\mingw32
Copy everything from c:\mingw32\SDL-1.2.14 to c:\mingw32 and delete c:\mingw32\SDL-1.2.14
Modify c:\mingw32\bin\sdl-config:
Change
--libs)
echo -L${exec_prefix}/lib -lmingw32 -lSDLmain -lSDL -mwindows
;;to
--libs)
echo -L${exec_prefix}/lib -lSDL -mwindows
;;and
prefix=/usr/local
to
prefix=/mingw
Modify c:\mingw32\include\SDL\SDL_config.h:
Change
/* #undef HAVE_ICONV_H */
to
#define HAVE_ICONV_H 1
and
/* #undef HAVE_ICONV */
to
#define HAVE_ICONV 1
Install libsndfile
Go to http://www.mega-nerd.com/libsndfile/#Download
Download latest sndfile source package:
libsndfile-1.0.23.tar.gz
Unpack to c:\src
cd /c/src/libsndfile-1.0.23 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --disable-shave --prefix=/mingw make make install
Install SoundTouch
cd /c/src svn co https://soundtouch.svn.sourceforge.net/svnroot/soundtouch/trunk soundtouch
Modify c:\src\soundtouch\include\soundtouch_config.h.in:
Remove lines
/* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION
Remove lines
/* Version number of package */ #undef VERSION
cd /c/src/soundtouch ./bootstrap CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure --prefix=/mingw --enable-shared make make install
Install timidity
Install libao
Go to http://www.xiph.org/downloads/
Download latest libao source package:
libao-1.0.0.tar.gz
Unpack to c:\src
cd /c/src/libao-1.0.0 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install libtimidity
Go to http://sourceforge.net/project/showfiles.php?group_id=124847&package_id=136481
Download latest libtimidity source package:
libtimidity-0.1.0.tar.bz2
Unpack to c:\src
cd /c/src/libtimidity-0.1.0 libtoolize -cif autoreconf -if CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure --prefix=/mingw make make install
Install wildmidi
Go to http://sourceforge.net/projects/wildmidi/files/wildmidi/
Download latest wildmidi source package:
wildmidi-0.2.2.tar.gz
Unpack to c:\src
Modify c:\src\wildmidi-0.2.2\src\wildmidi_lib.c:
Change line 660
return data;
to
return (unsigned char *) data;
Change line 802
strcpy(line_buffer, &config_buffer[line_start_ptr]);
to
strcpy(line_buffer, (char *) &config_buffer[line_start_ptr]);
Change line 3443
if (strncmp(mididata,"RIFF",4) == 0)
to
if (strncmp((char*) mididata,"RIFF",4) == 0)
Change line 3446
if (strncmp(&mididata[midiofs],"MThd",4) != 0) {to
if (strncmp((char*) &mididata[midiofs],"MThd",4) != 0) {Change line 3520
if (strncmp(&mididata[midiofs],"MTrk",4) != 0) {to
if (strncmp((char*) &mididata[midiofs],"MTrk",4) != 0) {cd /c/src/wildmidi-0.2.2 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install xvid
Go to http://www.xvid.org/Downloads.43.0.html
Download latest XviD source package:
xvidcore-1.3.0-rc1.tar.gz
Unpack to c:\src
Modify c:\src\xvidcore\build\generic\configure:
Replace
STATIC_LIB="xvidcore.\$(STATIC_EXTENSION)"
SHARED_LIB="xvidcore.\$(SHARED_EXTENSION)"with
STATIC_LIB="libxvidcore.\$(STATIC_EXTENSION)"
SHARED_LIB="libxvidcore.\$(SHARED_EXTENSION)"cd /c/src/xvidcore/build/generic CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install mv /mingw/lib/libxvidcore.dll /mingw/bin/ cp ./=build/libxvidcore.dll.a /mingw/lib/libxvidcore.dll.a
zbar
Get zbar-0.10.tar.bz2 from http://zbar.sourceforge.net/download.html
cd /c/src/zbar-0.10 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw --without-imagemagick --without-gtk --without-python --without-qt --with-jpeg=no --enable-video=no make make install
rsvg
Install croco
Get libcroco-0.6.2.tar.bz2 from ftp://ftp.gnome.org/pub/GNOME/sources/libcroco/
cd /c/src/libcroco-0.6.2 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install rsvg
Get librsvg-2.32.1.tar.bz2 from http://ftp.gnome.org/pub/GNOME/sources/librsvg
cd /c/src/librsvg-2.32.1 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
vp8
Install yasm
Install libvpx
cd /c/src/ git clone git://review.webmproject.org/libvpx.git mkdir _libvpx cd _libvpx ../libvpx/configure --disable-install-docs --enable-vp8 --enable-postproc --enable-runtime-cpu-detect make make install
Configure things for directdrawsink and directsoundsrc
See gst-plugins-good page for the instructions on downloading and installing DirectX SDK.
Use and fix MS SDK headers
Get Windows Platform SDK, find files msacm.h and mmreg.h in it and copy them into accessible location, such as /mingw/include/mssdk
Edit each of these files there, change
#if _MSC_VER > 1000
to
#if defined(_MSC_VER) && _MSC_VER > 1000
Build gst-plugins-bad
cd /c/src git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-bad cd gst-plugins-bad ACMMP3DEC_CFLAGS="-I/mingw/include/mssdk" ACMENC_CFLAGS="-I/mingw/include/mssdk" DIRECTX_CFLAGS="-I/mingw/include/direct-x" CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./autogen.sh --enable-experimental --disable-gtk-doc --disable-amrwb --disable-schemas-compile --disable-gsettings --with-libintl-prefix=/mingw --prefix=/mingw make make install
/mingw/include/mssdk is the place where you should put msacm.h and mmreg.h headers from your Windows Platform SDK (you can't include the whole SDK)
That's all for gst-plugins-bad. Plugins that were not built are:
- amrwb - for reasons stated above. If you want to build it, remove --disable-amrwb argument to -bad autoconf.
- apexsink – not ported to MinGW
- cdaudio – not ported to MinGW
- dc1394 – Linux-only
- dfbvideosink – Linux-only
- divx – Linux-only
- dshowvideosink - not enabled in Makefile.am; While it is buildable (with some effort), its value is doubtious.
- dvb - Linux-only
- fbdevsink - Linux-only
- gme - can't be built with autotools (so either write autotools/makefiles for it, or use cmake)
- gstalsa – Linux-only
- ivorbisdec – integer-only decoder for embedded devices (pointless to build on Windows)
- jack – i'm not sure it will be useful on Windows. And building Jack on Windows seems to be non-trivial.
- ladspa - Linux-only
- libmms – not ported to MinGW
- lv2 - i haven't yet figured out how to install lv2-core and slv2
- musicbrainz – based on deprecated libmusicbrainz 2.x that is not even ported to MinGW
mythtvsrc – building on Windows seems to be complicated ( http://www.mythtv.org/wiki/Windows_Port ).
- nassink – requires X11
- OSS - UNIX-only
- osxvideosrc - OSX only
- qtwrapper - for OSX
- spc - OpenSPC is not ported to MinGW
- swfdec - Linux-only
- vcdsrc - Linux-only
- vdpau - UNIX-only

