Main.XineWin32 History
Hide minor edits - Show changes to markup
Deprecated: Function create_function() is deprecated in /home/bluekitc/public_html/ringwald.ch/libxine-java/pmwiki.php on line 456
hg clone http://hg.debian.org/hg/xine-lib/xine-lib
hg clone http://hg.debian.org/hg/xine-lib/xine-lib
- @@ ./autogen.sh
- All fixes have been integrated in xine-lib-1.1.16
- Video output broken if desktop is not set to 16-bit color depth
- Video output broken if desktop is not set to 16-bit color depth and not hardware-accelerated
- Video output broken if secondary buffer supports YV12 color mode
Patches submitted and pending
- Video output broken if secondary buffer supports YV12 color mode
- This is bug #72 reported by Carlo
- patch for this.
- Support XINE_GUI_SEND_DRAWABLE_CHANGED for DirectX video
- Required for libxine-java implementation
- cp ptheadGC2.dll /usr/local/lib/libpthreadGC2.dll
- cp pthreadGC2.dll /usr/local/lib/libpthreadGC2.dll
- In
/usr/local
:tar xvfz dx7headers.tar.gz
- DONE: Create muxine-sdl.c on win32
- use XINE_VISUAL_TYPE_X11, and vo_driver="sdl"
- if all X11 calls are removed from muxine.c, it works!
- However, window events are not handled.
- DONE: Test support for embedding SDL video output in existing win32 window
- setenv("SDL_WINDOWID={HWND}") is enough
- DONE: Provide xine-win32 sneak-preview
- Fix xine-win32 UI to use DirectX videout
- Zip /bin /lib /include /src folder
- @@./configure \ \\
Get latest xine-lib
xine-lib
Configure xine-lib
Finally compile xine-lib
Install pkg-config
pkg-config
Compile and install zlib
zlib
Download and unpack libraries:
- pthreads-win32
- zlib
- libdl
- libdvdread
- run installer
- run zlib installer
hg clone http://hg.debian.org/hg/xine-lib/xine-lib
- pkg-config
- dx7headers
Unpack DirectX headers
DirectX 7.0 headers
- wget http://www.mplayerhq.hu/MPlayer/contrib/win32/dx7headers.tgz
- mkdir -p dx7headers
cd dx7headers ; tar xvfz ../dx7headers.tgz
Compile and install pthread lib
cd pthreads-win32
make clean
make GC
cp ptheadGC2.dll /usr/local/lib/libpthreadGC2.dll
cp pthread.h sched.h semaphore.h /usr/local/include
pthread library
- wget ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-2-8-0-release.tar.gz
- tar xvfz pthreads-w32-2-8-0-release.tar.gz
- cd pthreads-w32-2-8-0-release
- make clean
- make GC
- cp ptheadGC2.dll /usr/local/lib/libpthreadGC2.dll
- cp pthread.h sched.h semaphore.h /usr/local/include
Get latest xine-lib
hg clone http://hg.debian.org/hg/xine-lib/xine-lib
- libdl
- libdvdread
libdl
- wget http://dlfcn-win32.googlecode.com/files/dlfcn-win32-shared-r8.tar.bz2
- tar xvfj dlfcn-win32-shared-r8.tar.bz2
libdvdread
- wget http://www.dtek.chalmers.se/groups/dvd/dist/libdvdread-0.9.7.tar.gz
- tar xvfz libdvdread-0.9.7.tar.gz
- cd libdvdread
- ./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
- make install
- cd ..
- [[http://gnuwin32.sourceforge.net/packages/zlib.htm |zlib]
- zlib
- pthreads-win32
- zlib
- pthreads-win32
- [[http://gnuwin32.sourceforge.net/packages/zlib.htm |zlib]
- TODO
- run installer
- copy bin/* lib/* include/* into /usr/local
- Document installation and use of pkg-config on win32
- see pkg-config/README.win32
- see http://www.go-evolution.org/Building_Evolution_on_Windows
- see pkg-config/README.win32
- see http://www.go-evolution.org/Building_Evolution_on_Windows
- Download wget to C:/usr-local/bin/wget.exe
- Download wget to C:/usr-local/bin/wget.exe
- Fix handling of failed directx sound initialization
- Something crashes, if directx sound fails to init, e.g., if using a Remote Desktop Connection without sound.
- I've prepared a binary version of the xine-win32 UI inclusive all required xine libraries for a quick test-drive.
- I've prepared a binary version of the xine-win32 UI inclusive all required xine libraries for a quick test-drive.
- This is bug #72 reported by Carlo
- patch for this.
- This is bug #72 reported by Carlo
- patch for this.
- No patches pending.
- Video output broken if secondary buffer supports YV12 color mode
- This is bug #72 reported by Carlo
- patch for this.
- Fix directx video output
- Video output broken if secondary buffer supports YV12 color mode
- Probably this is bug #72 reported by Carlo
./configure
--with-dxheaders=/usr/local/win32-dx7headers
--with-zlib-prefix=/usr/local
PTHREAD_CFLAGS=-I/usr/local/include
PTHREAD_LIBS="-L/usr/local/lib -lpthreadGC2"
--disable-iconvtest iconv not installed
./configure \
--with-dxheaders=/usr/local/dx7headers \
--with-zlib-prefix=/usr/local \
PTHREAD_CFLAGS=-I/usr/local/include \
PTHREAD_LIBS="-L/usr/local/lib -lpthreadGC2 \
--disable-iconvtest # iconv not installed
- Install mingw32
- Install msys
- Install mingw32 in C:\mingw
- Install msys in C:\msys\1.0
- Install msysDTK in C:\msys\1.0
- Download wget to C:/usr-local
- Download wget to C:/usr-local/bin/wget.exe
- e.g. available from [[http://gnuwin32.sourceforge.net
- e.g. available from http://gnuwin32.sourceforge.net/packages.html with other packages
/packages.html]] with other packages
- Replace windows backslash by unix slash in configure
- Fix PulseAudio autoconf
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11:
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am
- Replace windows backslash by unix slash in configure:patch
- Fix PulseAudio autoconf
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11: patch
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am:
patch
- No patches pending.
- Fix audio output
- Carlo Bramix found the bug in xine_util/utils.c
- Fix audio output
- Carlo Bramix found the bug in xine_util/utils.c : patch
Patches submitted and pending
- Replace windows backslash by unix slash in configure:patch
- Fix audio output
- Carlo Bramix found the bug in xine_util/utils.c : patch
- Fix PulseAudio autoconf
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11: patch
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am:
patch
- patch
- Updated audio_directx2_out.c with simpler ring buffer handling
- Simpler ring buffer handling
Patches submitted and pending
- Replace windows backslash by unix slash in configure:patch
- Fix audio output
- Carlo Bramix found the bug in xine_util/utils.c : patch
- Fix PulseAudio autoconf
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11: patch
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am:
patch
- e.g. available from [[http://gnuwin32.sourceforge.net** Decide on optional libraries for xine-lib win32 builds
- e.g. available from [[http://gnuwin32.sourceforge.net
- Decide on optional libraries for xine-lib win32 builds
- Updated audio_directx2_out.c with simpler ring buffer handling
- Updated audio_directx2_out.c with simpler ring buffer handling
- Speed up compilation
- Try libtool-cache
- Re-compile mingw32 on Ubuntu/OS X and cross compile xine
- Cross compile xine on Ubuntu or OS X
- Decide on optional libraries for xine-lib win32 builds
- e.g. available from http://gnuwin32.sourceforge.net/packages.html with other packages
- e.g. available from [[http://gnuwin32.sourceforge.net** Decide on optional libraries for xine-lib win32 builds
/packages.html]] with other packages
- Fix directx video output
- Video output broken if secondary buffer supports YV12 color mode
- Probably this is bug #72 reported by Carlo
- see pkg-config/README.win32 of
- see pkg-config/README.win32
- Update configure call to specify pkg-config lib path
- The win32 binary release of PulseAudio does not provide pulseaudio.pc. Provide/generate pulseaudio.pc.
- The win32 binary release of SDL provides an incorrect sdl.pc. Provide correct sdl.pc
- Video output is broken if Desktop is not set to 16-bit
- Video output broken if desktop is not set to 16-bit color depth
- Provide xine-win32 sneak-preview
- DONE: Provide xine-win32 sneak-preview
- Install and use pkg-config on win32
- Document installation and use of pkg-config on win32
- PulseAudio 0.9.6 pre-compiled
- SDL pre-compiled
(Optional) Download and configure pre-compiled PulseAudio binaries
- TODO
(Optional) Download and install SDL
- TODO
Download
- I've prepared a binary version of the xine-win32 UI inclusive all required xine libraries for a quick test-drive.
Download and configure pre-compiled PulseAudio binaries
(Optional) Download and configure pre-compiled PulseAudio binaries
Download and install SDL
(Optional) Download and install SDL
- Provide xine-win32 sneak-preview
- Fix xine-win32 UI to use DirectX videout
- Zip /bin /lib /include /src folder
- directx2: correct playback with the updated version
(good)
- directx2: correct playback with the updated version (good)
- Updated : version with simpler ring buffer handling
- Updated audio_directx2_out.c with simpler ring buffer handling
- directx: constant glitches (worst)
- directx2: periodic gaps in playback (bad)
- pulseaudio correct playback (good)
- directx: constant glitches
- directx2: correct playback with the updated version
(good)
- pulseaudio correct playback using PulseAudio server
- Fix xine DirectX(2) audio output
- Updated : version with simpler ring buffer handling
- fix xine DirectX(2) audio output
- Get one working and drop the other
- xine_ao_directx2 has gaps, xine_ao_directx is worse
- Fix gaps when playing mp3 file with xine_vo_directx2
- video playback works with the SDL video output, SDL output can be embedded in existing win32 window.
- video playback works with both: the directx output and the SDL output. SDL output can be embedded in existing win32 window.
- Fix directx video output
- Video output is broken if Desktop is not set to 16-bit
- patch
- test/fix xine DirectX video output
- Use stripped down xine-win32 UI
- [[http://libxine-java.ringwald.ch/files/ass_hwnd_for_sdl.patch | patch]
- patch
- Install and use pkg-config
- Install and use pkg-config on win32
- See extras/contrib of the VideoLan Client
- Decide on optional libraries for xine-lib builds
- Decide on optional libraries for xine-lib win32 builds
- Fix compile of xine-engine/osd.c: MIN macro not defined
- xine-engine/osd.c: MIN macro not defined
- Finish fix for broken xine_get_pluginroot()
- broken xine_get_pluginroot()
- Create muxine-sdl.c on win32
- use XINE_VISUAL_TYPE_X11, and vo_driver="sdl"
- if all X11 calls are removed from muxine.c, it works!
- However, window events are not handled.
- Test support for embedding SDL video output in existing win32 window
- setenv("SDL_WINDOWID={HWND}") is enough
- DONE: Create muxine-sdl.c on win32
- use XINE_VISUAL_TYPE_X11, and vo_driver="sdl"
- if all X11 calls are removed from muxine.c, it works!
- However, window events are not handled.
- DONE: Test support for embedding SDL video output in existing win32 window
- setenv("SDL_WINDOWID={HWND}") is enough
Library files on win32
bin/libxine-1.dll
: MS-DOS executable PE for MS Windows (DLL)lib/libxine-1.def
: human readable symbol tablelib/libxine.dll.a
: static lib (current ar archive)lib/libxine.la
: libtool file for libxinejawt.lib
: stub library to link against stripped DLLs (jawt.dll is only present in the JRE/bin, but stripped)
ToDos - DONE
Fixes since xine-lib 1.1.15
- Figure out what the different lib file are good for:
bin/libxine-1.dll
: MS-DOS executable PE for MS Windows (DLL)lib/libxine-1.def
: human readable symbol tablelib/libxine.dll.a
: static lib (current ar archive)lib/libxine.la
: libtool file for libxinejawt.lib
: stub library to link against stripped DLLs (jawt.dll is only present in the JRE/bin, but stripped)
ToDos - Patch submitted and pending
Patches submitted and pending
- Get muxine-audio.c to work.
- Fix audio output
- figure out, how to install on win32
- see pkg-config/README.win32 of
- xine DirectX video output
- Create muxine-directx on win32 using code from xine-win32 UI
- Test/Debug/Fix xine_vo_directx
- xine DirectX audio output
- Get one working and drop other
- xine_ao_directx2 only has gaps, xine_ao_directx is worse
- test/fix xine DirectX video output
- Use stripped down xine-win32 UI
- fix xine DirectX(2) audio output
- Get one working and drop the other
- xine_ao_directx2 has gaps, xine_ao_directx is worse
Other
- e.g. available from http://gnuwin32.sourceforge.net/packages.html with other packages
- xine DirectX video output
- Create muxine-directx on win32 using code from xine-win32 UI
- Test/Debug/Fix xine_vo_directx
- xine DirectX video output
- Create muxine-directx on win32 using code from xine-win32 UI
- Test/Debug/Fix xine_vo_directx
On this page, I'll document my steps trying to compile and run xine on windows using the Minimalist GNU Window (minGW) tools. It's nowhere near perfect, yet. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
On this page, I'll document my steps in trying to compile and run xine on windows with the Minimalist GNU Window (minGW) tools. It's nowhere near perfect, yet. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
- audio playback working. xine-lib provides 3 audio output plug-ins for win32:
- audio playback works. xine-lib provides 3 audio output plug-ins for win32:
- video playback working with the SDL video output, SDL output can be embedded in existing win32 window.
- Ready for first tests with Java!
- video playback works with the SDL video output, SDL output can be embedded in existing win32 window.
- Ready for the first tests with Java!
- Two different DirectX audio outputs in xine-lib
- xine DirectX audio output
- directx2 only has gaps, directx is worse
- Fix gaps when playing mp3 file with directx2
- Update PulseAudio instructions above
- Create muxine-directx on win32
- use code from xine-win32 UI
- Debug/test native directx output
- xine_ao_directx2 only has gaps, xine_ao_directx is worse
- Fix gaps when playing mp3 file with xine_vo_directx2
- xine DirectX video output
- Create muxine-directx on win32 using code from xine-win32 UI
- Test/Debug/Fix xine_vo_directx
- Can be used to debug/test native directx output
- Decide on optional libraries for xine-lib builds
- Debug/test native directx output
- Speed up compilation
- Try libtool-cache
- Re-compile mingw32 on Ubuntu/OS X and cross compile xine
- xine-lib-win32 packaging
- See extras/contrib of the VideoLan Client
- Decide on optional libraries for xine-lib builds
- Figure out, how to package xine-lib-win32
- See extras/contrib of the VideoLan Client
- Try libtool-cache to speed up compilation
- Create script which creates binaries for win32
- Re-compile mingw32 on Ubuntu/OS X and speed up xine-lib compilation
- Support win64, too
- Figure out what's necessary for that
- Support for MS Visual Studio
- Help Carlo to commit fixed into xine-lib-hg
- Create script which creates binaries for win32
- Other platforms
- Support win64: figure out what's necessary for that
- Support for MS Visual Studio: help pushing fixes into xine-lib-hg
- Install iconv instead of disabling it
- Install iconv (instead of disabling it)
jawt.lib
: stub library to link against for stripped DLL
jawt.lib
: stub library to link against stripped DLLs (jawt.dll is only present in the JRE/bin, but stripped)
Configure
Configure xine-lib
jawt.lib
: stub library to link against for stripped DLL
- setenv("SDL_WINDOWID=0xx = handle) is enough
- setenv("SDL_WINDOWID={HWND}") is enough
ToDos
- In video_out_sdl: set SDL_WINDOWID if drawabale!=0
- In video_out_sdl: set SDL_WINDOWID if drawable!=0
- [[http://libxine-java.ringwald.ch/files/ass_hwnd_for_sdl.patch | patch]
ToDos
- Carlo Bramix found the bug in xine_util/utils.c
- patch
- Carlo Bramix found the bug in xine_util/utils.c : patch
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11 : patch to xine-devel
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am :
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11: patch
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am:
- Install iconv instead of disabling it
- Decide on optional libraries for xine-lib builds
- Decide on minimal set of addition libraries upon xine-lib builds
- Install iconv instead of disabling it
- Try libtool-cache to speed up compilation
- Create script which creates binaries for win32
- Re-compile mingw32 on Ubuntu/OS X and speed up xine-lib compilation
- Support win64, too
- Figure out what's necessary for that
- Use libtool-cache to speed up compilation
- Re-compile mingw32 on Ubuntu and speed up xine-lib compilation
- Create script which creates binaries for win32 and win64
ToDos - Patch submitted
- Replace windows backslash by unix slash in configure
- Submitted patch to xine-devel
ToDos - Patch submitted and pending
- Replace windows backslash by unix slash in configure:patch
- Submitted patch to xine-devel
- patch
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11
- Submitted patch to xine-devel
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am
- Submitted patch to xine-devel
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11 : patch to xine-devel
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am :
patch
ToDos
- DONE: Fix compile of xine-engine/osd.c: MIN macro not defined
ToDos - DONE
- Fix compile of xine-engine/osd.c: MIN macro not defined
- Fix posted
- DONE: Figure out what the different lib file are good for:
- Figure out what the different lib file are good for:
- DONE: xine pluging loader tries to dlopen static libs which creates a Windows error dialog
- xine pluging loader tries to dlopen static libs which creates a Windows error dialog
- DONE: linking of src/post/xineplug_post_tvtime fails due to missing PHTREAD_LIBS flags
- DONE: Finish fix for broken xine_get_pluginroot()
- linking of src/post/xineplug_post_tvtime fails due to missing PHTREAD_LIBS flags
- Finish fix for broken xine_get_pluginroot()
- Create muxine-sdl.c on win32
- use XINE_VISUAL_TYPE_X11, and vo_driver="sdl"
- if all X11 calls are removed from muxine.c, it works!
- However, window events are not handled.
- Test support for embedding SDL video output in existing win32 window
- setenv("SDL_WINDOWID=0xx = handle) is enough
ToDos - Patch submitted
ToDos
- Pass native HWND through xine to SDL
- use x11_visual.drawable for HWND
- In video_out_sdl: set SDL_WINDOWID if drawabale!=0
- Embedding of SDL video output in existing win32 window
- setenv("SDL_WINDOWID=0xx = handle) is enough
- Add support for passing native HWND through xine to SDL
- Create muxine-sdl on win32
- use XINE_VISUAL_TYPE_X11, and vo_driver="sdl"
- if all X11 calls are removed from muxine.c, it works!
- figure out how to be a proper win32 GUI app
- video playback working with the SDL video output.
- video playback working with the SDL video output, SDL output can be embedded in existing win32 window.
- Ready for first tests with Java!
- Add support for passing native HWND though xine to SDL
- Test with existing win32 GUI
- setenv("SDL_WINDOWID=0xx = handle) is enough
- Add support for passing native HWND through xine to SDL
- No way on OS X (at least it looks like
- put SDL output inside win32 window
- if all X11 calls are removed from muxine.c, it works!
- figure out how to be a proper win32 GUI app
- pkg-config
Install pkg-config
- TODO
- Create muxine-sdl
- use XINE_VISUAL_TYPE_X11, and ao_driver="sdl"
- does not show window on mac os x, video_out cannot be initialized on windows
- Create muxine-sdl on win32
- No way on OS X (at least it looks like
- use XINE_VISUAL_TYPE_X11, and vo_driver="sdl"
- put SDL output inside win32 window
- Update PortAudio instructions above
- Update PulseAudio instructions above
- Create muxine-directx on win32
- Can be used to debug/test native directx output
- use code from xine-win32 UI
- see http://www.go-evolution.org/Building_Evolution_on_Windows
- Fix PulseAudio autoconf
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11
- Submitted patch to xine-devel
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am
- Submitted patch to xine-devel
- Fix PulseAudio support
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11
- Submitted patch to xine-devel
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am
- Submitted patch to xine-devel
- Compile with support for SDL for video output
- Update instructions above
- Submitted patch to xine-devel
- Submitted patch to xine-devel
- Submitted patch to xine-devel
- Install and use pkg-config
- figure out, how to install on win32
- Update configure call to specify pkg-config lib path
- The win32 binary release of PulseAudio does not provide pulseaudio.pc. Provide/generate pulseaudio.pc.
- The win32 binary release of SDL provides an incorrect sdl.pc. Provide correct sdl.pc
- configure.ac relies on pkg-config
- The win32 binary release of PulseAudio does not provide pulseaudio.pc
- I don't have pkg-config
- Implement smart handling: use pkg-config to autodetect PulseAudio. Trust user, if --with-pulseaudio is given that it can be used with the PULSEAUDIO_{CFLAGS|LIBS} env variables.
- configure.ac also has a test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11
- configure.ac has test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11
- Fix SDL detection in configure.ac
- configure.ac relies on pkg-config
- The win32 binary release of SDL does not provide sdl.pc
- I don't have pkg-config
- Implement smart handling: use pkg-config to autodetect SDL. Trust user, if --with-sdl is given that it can be used with the SDL_{CFLAGS|LIBS} env variables.
Get prerequisites
- Install mingw32
- Install mingw32
- SDL pre-compiled
Download and install SDL
- TODO
xine-lib on Windows using mingw32
On this page, I'll document my steps trying to compile and run xine on windows using the Minimalist GNU Window tools. It's nowhere near perfect, yet. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
xine-lib on Windows using minGW
On this page, I'll document my steps trying to compile and run xine on windows using the Minimalist GNU Window (minGW) tools. It's nowhere near perfect, yet. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
Compiling xine-lib on Windows using mingw32
xine-lib on Windows using mingw32
- Embedding of SDL video output in existing win32 window
- Add support for passing native HWND though xine to SDL
- Two different DirectX audio outputs in xine-lib
- Get one working and drop other
- directx2 only has gaps, directx is worse
- Fix gaps when playing mp3 file with directx2
- Update PortAudio instructions above
- Two different DirectX audio outputs in xine-lib
- Get one working and drop other
- directx2 only has gaps, directx is worse
- Fix gaps when playing mp3 file with directx2
- Update PortAudio instructions above
- Submitted patch to xine-devel
- Submitted patch to xine-devel
- Submitted patch to xine-devel
- Submitted patch to xine-devel
- configure.ac also has a pulseaudio version >= 0.9.7, binary is 0.9.6: add --with-pulseaudio-0.9.7
- configure.ac also has a test for pulseaudio version >= 0.9.7. Replace with test for PA_PROTOCOL_VERSION >= 11
- Submitted patch to xine-devel
- video playback working with the SDL video output.
- configure.ac relies on configure.ac
- configure.ac relies on pkg-config
- pulseaudio correct playback
- pulseaudio correct playback (good)
- audio playback working. xine-lib provides 3 audio output plug-ins for win32
- audio playback working. xine-lib provides 3 audio output plug-ins for win32:
On this page, I'll document my steps trying to compile xine on windows using the Minimalist GNU Window tools. It's nowhere near perfect, yet. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
On this page, I'll document my steps trying to compile and run xine on windows using the Minimalist GNU Window tools. It's nowhere near perfect, yet. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
Current Status
- xine-lib compiles on mingw32
- audio playback working. xine-lib provides 3 audio output plug-ins for win32
- directx: constant glitches (worst)
- directx2: periodic gaps in playback (bad)
- pulseaudio correct playback
Download and configure pre-compiled PulseAudio binaries
- TODO
gcc -g -I/usr/local/include muxine-audio.c -L/usr/local/lib -L/usr/xine/pthreads/lib -lxine -lz -lpthreadGC2 -o muxine-audio.exe
gcc -g -I/usr/local/include muxine-audio.c -L/usr/local/lib -L/usr/xine/pthreads/lib -lxine -o muxine-audio.exe
- Fix PulseAudio support
- configure.ac relies on configure.ac
- The win32 binary release of PulseAudio does not provide pulseaudio.pc
- I don't have pkg-config
- Implement smart handling: use pkg-config to autodetect PulseAudio. Trust user, if --with-pulseaudio is given that it can be used with the PULSEAUDIO_{CFLAGS|LIBS} env variables.
- configure.ac also has a pulseaudio version >= 0.9.7, binary is 0.9.6: add --with-pulseaudio-0.9.7
- PULSEAUDIO_{CFLAGS|LIBS} is not passed to gcc by src/audio_out/Makefile.am
- Try to drop bad one
- Fix drop-outs when playing mp3 file
- Get one working and drop other
- directx2 only has gaps, directx is worse
- Fix gaps when playing mp3 file with directx2
- Update PortAudio instructions above
- Luckily, SDL already provides functions to create a window
- use XINE_VISUAL_TYPE_X11, and ao_driver="sdl"
- does not show window on mac os x, video_out cannot be initialized on windows
Compile muxine-audio.exe
Test muxine-audio.exe
mv muxine-audio.exe /usr/local/bin
export PATH=$PATH:/usr/local/bin
muxine-audio.exe song.mp3
- Two different DirectX audio outputs in xine-lib
- Try to drop bad one
- Fix drop-outs when playing mp3 file
- Luckily, SLD already provides functions to create a window
- Luckily, SDL already provides functions to create a window
- See extras/contrib of the VideoLan Client
- Two different DirectX audio outputs in xine-lib
- Try to drop bad one
- I dont have pkg-config
- I don't have pkg-config
- Create muxine-sdl
- Luckily, SLD already provides functions to create a window
- Figure out, how to package xine-lib-win32
- Try to compile with support for SDL for video output
- Try to compile with support for PulseAudio audio output
- Compile with support for SDL for video output
- Update instructions above
- Decide on minimal set of addition libraries upon xine-lib builds
- Two different DirectX audio outputs in xine-lib
- Try to drop bad one
- Support for MS Visual Studio
- Help Carlo to commit fixed into xine-lib-hg
- Create folder
C:/mingw-local
with Windows Explorer
- Create folder
C:/usr-local
with the Windows Explorer
- In /etc/fstab add "c:/mingw-local /usr/local"
C:/usr is now available as /usr/local, check using mount
- In /etc/fstab add "c:/usr-local /usr/local"
C:/usr-local is now available as /usr/local, check with the mount command
- Fix SDL detection in configure.ac
- configure.ac relies on pkg-config
- The win32 binary release of SDL does not provide sdl.pc
- I dont have pkg-config
- Implement smart handling: use pkg-config to autodetect SDL. Trust user, if --with-sdl is given that it can be used with the SDL_{CFLAGS|LIBS} env variables.
- Try to compile with support for SDL for video output
- Try to compile with support for SDL for video output
- Some .wav files, e.g., c:\WINDOWS\Media\chimes.wav play
- Others (e.g. .. start.wav) don't play
- An MP3 don't play either
- Carlo Bramix found the bug in xine_util/utils.c
- Submitted patch to xine-devel
- Re-compile mingw32 on ubuntu and speed up xine lib compilation
- Re-compile mingw32 on Ubuntu and speed up xine-lib compilation
- Create script which creates binaries for win32 and win64
- Submitted to xine-devel
- Submitted patch to xine-devel
- Submitted to xine-devel
- Try to compile with support for SDL
- Try to compile with support for PulseAudio audio output
- Try to compile with support for SDL for video output
- Replace windows backslash by unix slash in configure
--disable-oss
ioctl test fails--disable-vcd
Set ENV flags to make configure find phtread support
export CPPFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib -lpthreadGC2"
Patch for PTHREAD_CFLAGS and PTHREAD_LIBS use posted
make
... and hope :)
make install
Compile muxine-audio.exe
- Get muxine-audio.c
gcc -g -I/usr/local/include muxine-audio.c -L/usr/local/lib -L/usr/xine/pthreads/lib -lxine -lz -lpthreadGC2 -o muxine-audio.exe
- Try to compile with support for SDL
- win32-dx7headers
- dx7headers
- In
/usr/local
:tar xvfz win32-dx7headers.tar.gz
- In
/usr/local
:tar xvfz dx7headers.tar.gz
- Get muxine-audio.c to work.
- Some .wav files, e.g., c:\WINDOWS\Media\chimes.wav play
- Others (e.g. .. start.wav) don't play
- An MP3 don't play either
Hack
Some files fail to compilesrc/input/input_cdda.c
src/demux/demux_ac3.c
src/demux/demux_dts.c
remove them from the Makefileremove both audio demuxer fromsrc/demux/group_audio
, too.
Fixed in hg
Make
make
:)- Hope !
Finally compile xine-lib
make
... and hope :)
- Finish fix for broken xine_get_pluginroot()
- DONE: Finish fix for broken xine_get_pluginroot()
- In
/usr/local
:tar xvfz win32-dx7headers
- In
/usr/local
:tar xvfz win32-dx7headers.tar.gz
mkdir /usr/local/bin
mkdir /usr/local/include
mkdir /usr/local/lib
mkdir /usr/local/bin /usr/local/include /usr/local/lib
- In @/usr/local@ do
tar xvfz win32-dx7headers
- In
/usr/local
:tar xvfz win32-dx7headers
Unpack DirectX headers
- In @/usr/local@ do
tar xvfz win32-dx7headers
- Create folder
C:/usr
with Windows Explorer
- Create folder
C:/mingw-local
with Windows Explorer
- In /etc/fstab add "c:/usr /usr/local" \\
- In /etc/fstab add "c:/mingw-local /usr/local" \\
- linking of src/post/xineplug_post_tvtime fails due to missing PHTREAD_LIBS flags
- DONE: linking of src/post/xineplug_post_tvtime fails due to missing PHTREAD_LIBS flags
On this page, I'll document my steps trying to compile xine on windows using the Minimalist GNU Window tools. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
On this page, I'll document my steps trying to compile xine on windows using the Minimalist GNU Window tools. It's nowhere near perfect, yet. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
- DONE: xine pluging loader tries to dlopen static libs which creates a Windows error dialog
- Just skip them in the xine loader:
load_plugins.c
- Just skip them in the xine loader:
- xine pluging loader tries to dlopen static libs which creates a Windows error dialog
- Just skip them in the xine loader:
load_plugins.c
- Just skip them in the xine loader:
- linking of src/post/xineplug_post_tvtime fails due to missing PHTREAD_LIBS flags
- Re-compile mingw32 on ubuntu and speed up xine lib compilation
- Finish fix for broken xine_get_pluginroot()
- Add
XINE_REL_PLUGINDIR
to configure.ac and configure.h.in - Implement xine_get_pluginroot() similar to xine_get_plugindir()
- Add
- Figure out what the different lib file are good for:
- DONE: Figure out what the different lib file are good for:
- xine pluging loader tries to dlopen
plugins/1.24/*.dll.a
file which creates a Windows error dialog- Of what type are those files?
- Are they needed ?
- Either skip creation or installation, or delete them automatically after install
- xine pluging loader tries to dlopen static libs which creates a Windows error dialog
- Just skip them in the xine loader:
load_plugins.c
- Just skip them in the xine loader:
- Finish fix for broken xine_get_pluginroot()
- Add
XINE_REL_PLUGINDIR
to configure.ac and configure.h.in - Implement xine_get_pluginroot() similar to xine_get_plugindir()
- Add
- Fix compile of xine-engine/osd.c: MIN macro not defined
- DONE: Fix compile of xine-engine/osd.c: MIN macro not defined
- Fix
- Fix posted
- Either skip creation or installation, or delete them automatically after install
- Either skip creation or installation, or delete them automatically after install
- Install iconv instead of disabling it
bin/libxine-1.dll
lib/libxine-1.def
lib/libxine.dll.a
lib/libxine.la
bin/libxine-1.dll
: MS-DOS executable PE for MS Windows (DLL)lib/libxine-1.def
: human readable symbol tablelib/libxine.dll.a
: static lib (current ar archive)lib/libxine.la
: libtool file for libxine
- <sys/param.h> normally.
- in <sys/param.h> normally.
- define HAVE_MIN, HAVE_MAX if available in sys/param.h
- e.g. in xine_internals or so, just define if missing
- define
HAVE_MIN_MACRO
,HAVE_MAX_MACRO
if available in <sys/param.h> - in
lib/os_internals.h
define if missing
- define
- Why is it missing?
- Fix
- define HAVE_MIN, HAVE_MAX if available in sys/param.h
- e.g. in xine_internals or so, just define if missing
- Fix
- <sys/param.h> normally.
- <sys/param.h> exists on mingw but does not contain MIN
- xine checks for them in m4/misc.m4 and tries to define them otherwise, but this does not work
- Fix compile of xine-engine/osd.c: MIN macro not defined
- where should MIN be defined?
- Why is it missing?
- Hope !
- Hope !
ToDos
- Finish fix for broken xine_get_pluginroot()
- Add
XINE_REL_PLUGINDIR
to configure.ac and configure.h.in - Implement xine_get_pluginroot() similar to xine_get_plugindir()
- Add
- Figure out what the different lib file are good for:
bin/libxine-1.dll
lib/libxine-1.def
lib/libxine.dll.a
lib/libxine.la
- xine pluging loader tries to dlopen
plugins/1.24/*.dll.a
file which creates a Windows error dialog- Of what type are those files?
- Are they needed ?
- Either skip creation or installation, or delete them automatically after install
--disable-vcd
--disable-vcd
Patch posted
Fixed in hg
Set ENV flags to make configure find phtread support
export CPPFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib -lpthreadGC2"
Set ENV flags to make configure find phtread support
export CPPFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib -lpthreadGC2"
Patch for PTHREAD_CFLAGS and PTHREAD_LIBS use posted
- ./configure
- --with-dxheaders=/usr/local/win32-dx7headers
- --disable-iconvtest iconv not installed
--disable-oss ioctl test failsfixed in hg--disable-vcdautomatically disabled now
./configure
--with-dxheaders=/usr/local/win32-dx7headers
PTHREAD_CFLAGS=-I/usr/local/include
PTHREAD_LIBS="-L/usr/local/lib -lpthreadGC2"
--disable-iconvtest iconv not installed
--disable-oss
ioctl test fails--disable-vcd
- Some files fail to compile
src/input/input_cdda.c
src/demux/demux_ac3.c
src/demux/demux_dts.c
Some files fail to compilesrc/input/input_cdda.c
src/demux/demux_ac3.c
src/demux/demux_dts.c
remove both audio demuxer fromsrc/demux/group_audio
, too.
remove both audio demuxer fromsrc/demux/group_audio
, too.
Patch posted
- Create folder
C:/usr
with Explore
- Create folder
C:/usr
with Windows Explorer
- In /etc/fstab add "c:/usr /usr/local"
- close msys console
- C:/usr is now available as /usr/local, check using mount
- In /etc/fstab add "c:/usr /usr/local"
C:/usr is now available as /usr/local, check using mount
Set ENV flags to allow configure to succeed
Set ENV flags to make configure find phtread support
On this page, I'll document my steps trying to compile xine on windows using the Minimalist GNU Window tools. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
On this page, I'll document my steps trying to compile xine on windows using the Minimalist GNU Window tools. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
- --disable-vcd
--disable-vcdautomatically disabled now
- --disable-freetype
- --disable-vcd
- --disable-vcd
- --disable-real-codecs weak linking not supported
remove them from the Makefilefixed in hgremove both audio demuxer fromfixed in hg/group_audio, too. -} fixed in hgsrc/demux
remove them from the Makefileremove both audio demuxer fromsrc/demux/group_audio
, too.
On this page, I'll document my steps trying to compile xine on windows using the Minimalist GNU Window tools.
On this page, I'll document my steps trying to compile xine on windows using the Minimalist GNU Window tools. Fixes to xine lib are reported to xine-devel mailing list and applied to current xine lib 1.1.x mercurial repository
- xine-lib-1.1.13.tar.bz2
hg clone http://hg.debian.org/hg/xine-lib/xine-lib
- --disable-oss ioctl test fails
--disable-oss ioctl test failsfixed in hg
src/input/input_cdda.c
src/demux/demux_ac3.c
src/demux/demux_dts.c
- remove them from the Makefile
- remove both audio demuxer from
src/demux/group_audio
, too.
src/input/input_cdda.c
src/demux/demux_ac3.c
src/demux/demux_dts.c
remove them from the Makefilefixed in hgremove both audio demuxer fromfixed in hg/group_audio, too. -} fixed in hgsrc/demux
Get Prerequisites
Get prerequisites
Setup System - /usr/local
Setup system - /usr/local
Set ENV Flags to allow configure to succeed
Set ENV flags to allow configure to succeed
- remote both audio demuxer from
src/demux/group_audio
, too.
- remove both audio demuxer from
src/demux/group_audio
, too.
- Hope !
- --disable-iconvtest : iconv not installed
- --disable-oss : ioctl test fails
- --disable-real-codecs : weak linking not supported
- --disable-iconvtest iconv not installed
- --disable-oss ioctl test fails
- --disable-real-codecs weak linking not supported
Hack
- Some files fail to compile
src/input/input_cdda.c
src/demux/demux_ac3.c
src/demux/demux_dts.c
- remove them from the Makefile
- remote both audio demuxer from
src/demux/group_audio
, too.
* mkdir /usr/local/lib
mkdir /usr/local/lib
Compiling xine-lib on Windows using mingw32
On this page, I'll document my steps trying to compile xine on windows using the Minimalist GNU Window tools.
Get Prerequisites
- Install mingw32
Setup System - /usr/local
I prefer to have the new stuff separated from the mingw installation.
- Create folder
C:/usr
with Explore mkdir /usr/local
- In /etc/fstab add "c:/usr /usr/local"
- close msys console
- C:/usr is now available as /usr/local, check using mount
mkdir /usr/local/bin
mkdir /usr/local/include
* mkdir /usr/local/lib
Download and unpack libraries:
- xine-lib-1.1.13.tar.bz2
- win32-dx7headers
- pthreads-win32
- zlib
Compile and install pthread lib
cd pthreads-win32
make clean
make GC
cp ptheadGC2.dll /usr/local/lib/libpthreadGC2.dll
cp pthread.h sched.h semaphore.h /usr/local/include
Compile and install zlib
- TODO
Set ENV Flags to allow configure to succeed
export CPPFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib -lpthreadGC2"
Configure
- ./configure
- --with-dxheaders=/usr/local/win32-dx7headers
- --disable-freetype
- --disable-vcd
- --disable-iconvtest : iconv not installed
- --disable-oss : ioctl test fails
- --disable-real-codecs : weak linking not supported
Make
make
:)