Install optional packages
Install liba52
It might not be necessary to build this plugin, because FFmpeg (available via gst-ffmpeg) comes with built-in ac3 codec. However, you WILL need it, if you want to build resindvd from gst-plugins-bad.
Do
cd /c/src/ svn co svn://svn.videolan.org/liba52/trunk liba52 cd liba52 ./bootstrap CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --enable-shared --prefix=/mingw
Modify c:/src/liba52/liba52/parse.c and c:/src/liba52/include/a52.h, Change:
a52_state_t * a52_init (void)
to
a52_state_t * a52_init (uint32_t mm_accel)
Modify c:/src/liba52/src/a52dec.c, change:
state = a52_init ();
to
state = a52_init (0);
make make install
Create /mingw/include/a52dec/mm_accel.h with the following contents:
#ifndef MM_ACCEL_H #define MM_ACCEL_H /* generic accelerations */ #define MM_ACCEL_DJBFFT 0x00000001 /* x86 accelerations */ #define MM_ACCEL_X86_MMX 0x80000000 #define MM_ACCEL_X86_3DNOW 0x40000000 #define MM_ACCEL_X86_MMXEXT 0x20000000 uint32_t mm_accel (void); #endif /* MM_ACCEL_H */
amrwb and amrnb
cd /c/src git clone git://opencore-amr.git.sourceforge.net/gitroot/opencore-amr/opencore-amr cd opencore-amr CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
cdio
Build libgnurx
Go to https://sourceforge.net/projects/mingw/files/UserContributed/regex/mingw-regex-2.5.1/
Download latest libgnurx:
mingw-libgnurx-2.5.1-src.tar.gz
Unpack to c:\src\
cd mingw-libgnurx-2.5.1 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install libcddb
Go to http://libcddb.sourceforge.net/download.html
Download latest libcddb source package:
libcddb-1.3.2.tar.bz2
Unpack to c:\src
cd /c/src/libcddb-1.3.2 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install libcdio
Go to ftp://mirrors.kernel.org/gnu/libcdio/ (or any other GNU mirror)
Download latest libcdio source package:
libcdio-0.82.tar.gz
Unpack to c:\src
cd /c/src cd libcdio-0.82 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw --disable-cxx
Modify /c/src/libcdio-0.82/config.h and /c/src/libcdio-0.82/include/cdio/cdio_config.h:
Replace
#define HAVE_S_ISLNK 1
with
/* #undef HAVE_S_ISLNK */
Replace
#define HAVE_S_ISSOCK 1
with
/* #undef HAVE_S_ISSOCK */
make make install
dvdread
Go to http://www1.mplayerhq.hu/MPlayer/releases/dvdnav/
Download latest libdvdread source package:
libdvdread-4.1.3.tar.bz2
Unpack to c:\src
Install dlfcn
Go to http://code.google.com/p/dlfcn-win32/downloads/list
Download latest dlfcn-win32 package:
dlfcn-win32-shared-r19.tar.bz2
dlfcn-win32-static-r19.tar.bz2
Unpack to c:\mingw32
Install libdvdread
cd /c/src/libdvdread-4.1.3 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" LIBS="-ldl" ./autogen.sh --prefix=/mingw make make install
Install id3tag
Go to http://sourceforge.net/project/showfiles.php?group_id=12349&package_id=87002
Download latest id3tag source package:
libid3tag-0.15.1b.tar.gz
Unpack to c:\src
cd /c/src/libid3tag-0.15.1b CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install libmad
Go to http://sourceforge.net/project/showfiles.php?group_id=12349&package_id=86999
Download latest mad source package:
libmad-0.15.1b.tar.gz
Unpack to c:\src
Modify c:\src\libmad-0.15.1b\configure: Remove line
optimize="$optimize -fforce-mem"
(-force-mem option is not supported in newer version of gcc you're using)
cd /c/src/libmad-0.15.1b CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure --prefix=/mingw make make install
Install LAME
Go to http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
Download latest lame source package:
lame-3.98.4.tar.gz
Unpack to c:\src
cd /c/src/lame-3.98.4 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
It will complain about gtk-config, ignore that.
Install twolame
Go to http://sourceforge.net/project/showfiles.php?group_id=136040&package_id=150051
Download latest twolame source package:
twolame-0.3.12.tar.gz
Unpack to c:\src
Modify c:\src\twolame-0.3.12\libtwolame\common.h:
Change
#ifdef _WIN32
to
#ifdef _MSC_VER
Modify c:\src\twolame-0.3.12\libtwolame\twolame.h:
Change
#ifdef WIN32
to
#ifdef _MSC_VER
Change
#else #define DLL_EXPORT #endif
to
#else #ifdef DLL_EXPORT #undef DLL_EXPORT #endif #define DLL_EXPORT #endif
cd /c/src/twolame-0.3.12 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure --prefix=/mingw make make install
Install mpeg2dec
Go to http://libmpeg2.sourceforge.net/downloads.html
Download latest libmpeg2 source package:
libmpeg2-0.5.1
Unpack to c:\src
cd /c/src/libmpeg2-0.5.1 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
x264
Install yasm
Go to http://www.tortall.net/projects/yasm/wiki/Download
Download latest yasm source package:
yasm-1.0.0.tar.gz
Unpack to c:\src
cd /c/src/yasm-1.0.0 CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./configure --prefix=/mingw make make install
Install x264
cd /c/src git clone git://git.videolan.org/x264.git cd x264
Modify ./configure, change
prefix='/usr/local'
to
prefix='/mingw'
./configure --extra-cflags="-fno-common" --extra-ldflags="-Wl,-no-undefined" --enable-shared make make install
Build gst-plugins-ugly
cd /c/src git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-ugly cd gst-plugins-ugly CFLAGS="-fno-common" CXXFLAGS="-fno-common" LDFLAGS="-Wl,-no-undefined" ./autogen.sh --enable-experimental --disable-gtk-doc --with-libintl-prefix=/mingw --prefix=/mingw make make install
That's all for Gst-Plugins-Ugly. We didn't build:
- sid – can't build sidplay 1.36.x on Windows (and can't port gstsid to sidplay2)

