aboutsummaryrefslogtreecommitdiffstats
path: root/packages/libxine
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openembedded.org>2005-09-24 22:08:31 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-09-24 22:08:31 +0000
commit6fdac80bba1c2ccc0e675e2428f830a127fb3fb5 (patch)
treed29d1acd7dbaa9cb96915a7eca494e221e1317bc /packages/libxine
parentd8df64e4c235c772337205bbb1fd0524646eef15 (diff)
downloadopenembedded-6fdac80bba1c2ccc0e675e2428f830a127fb3fb5.tar.gz
added libxine 1.1.0 - someone more familiar with assembly should check it
DEFAULT_PREFERENCE = "-1" as it is not tested on device patches status: - cpu-1.0.patch renamed to cpuid.patch - configure-1.0.patch renamed to configure.patch - fix-syntax.patch dropped as fix-syntax-xine-vorbis-decoder.patch do the same - demuxogg.patch and libxine-libvorbis.patch joined into tremor.patch - libxine-arm-configure.patch should be sent upstream - libxine-ffmpeg-enable-arm.patch probably too - libxine-libavcodec.patch was broken for 1.1.0 - we should update libffmpeg/ dir to current CVS
Diffstat (limited to 'packages/libxine')
-rw-r--r--packages/libxine/libxine-1.1.0/.mtn2git_empty0
-rw-r--r--packages/libxine/libxine-1.1.0/configure.patch232
-rw-r--r--packages/libxine/libxine-1.1.0/cpuid.patch16
-rw-r--r--packages/libxine/libxine-1.1.0/dont-have-xv.patch16
-rw-r--r--packages/libxine/libxine-1.1.0/fix-syntax-xine-vorbis-decoder.patch11
-rw-r--r--packages/libxine/libxine-1.1.0/libxine-arm-configure.patch18
-rw-r--r--packages/libxine/libxine-1.1.0/libxine-cut-memusage.patch63
-rw-r--r--packages/libxine/libxine-1.1.0/libxine-ffmpeg-enable-arm.patch20
-rw-r--r--packages/libxine/libxine-1.1.0/libxine-tremor-autoconf.patch16
-rw-r--r--packages/libxine/libxine-1.1.0/mpegvideo-static-inlinine.patch16
-rw-r--r--packages/libxine/libxine-1.1.0/no-caca.patch19
-rw-r--r--packages/libxine/libxine-1.1.0/tremor.patch63
-rw-r--r--packages/libxine/libxine_1.1.0.bb100
13 files changed, 590 insertions, 0 deletions
diff --git a/packages/libxine/libxine-1.1.0/.mtn2git_empty b/packages/libxine/libxine-1.1.0/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/.mtn2git_empty
diff --git a/packages/libxine/libxine-1.1.0/configure.patch b/packages/libxine/libxine-1.1.0/configure.patch
new file mode 100644
index 0000000000..f8d0ea1029
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/configure.patch
@@ -0,0 +1,232 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xine-lib-1.1.0/configure.ac~configure-1.0
++++ xine-lib-1.1.0/configure.ac
+@@ -715,6 +715,7 @@
+ LIBS="$saved_libs"
+ fi
+ AM_CONDITIONAL(HAVE_XVMC, test x$ac_have_xvmc = "xyes")
++AM_CONDITIONAL(HAVE_XV, test x$ac_have_xvfoo = "xyes")
+ AC_SUBST(XVMC_LIB)
+
+
+@@ -743,7 +744,7 @@
+ AM_PATH_AALIB(1.4,, AC_MSG_RESULT([*** All of AALIB dependent parts will be disabled ***]))
+ fi
+
+-AM_CONDITIONAL(HAVE_AA, test x$no_aalib != "xyes")
++AM_CONDITIONAL(HAVE_AA, [test x"$enable_aalib" = "xyes" && test x$no_aalib != "xyes"])
+
+ dnl ---------------------------------------------
+ dnl Checks for Color AsCii Art library
+@@ -855,10 +856,7 @@
+ dnl check for SDL
+ dnl ---------------------------------------------
+
+-AM_PATH_SDL(1.1.5,
+- AC_DEFINE(HAVE_SDL,1,[Define this if you have SDL library installed]),
+- [])
+-AM_CONDITIONAL(HAVE_SDL, [test x"$no_sdl" != x"yes"])
++AM_CONDITIONAL(HAVE_SDL, 0)
+
+
+ dnl ---------------------------------------------
+@@ -1013,48 +1011,22 @@
+ dnl Ogg/Theora libs.
+ dnl ---------------------------------------------
+
+-AM_PATH_OGG(
+- [ AM_PATH_THEORA(AC_DEFINE(HAVE_THEORA,1,[Define this if you have theora]),
+- AC_MSG_RESULT([*** All OGG/THEORA dependent parts will be disabled ***]))
+- ],
+- AC_MSG_RESULT([*** All of OGG/Theora dependent parts will be disabled ***]))
+-AM_CONDITIONAL(HAVE_THEORA, [test x"$no_ogg" != "xyes" -a x"$no_theora" != "xyes"])
++AM_CONDITIONAL(HAVE_THEORA, 0)
+
+
+ dnl ---------------------------------------------
+ dnl Ogg/Speex libs.
+ dnl ---------------------------------------------
+
+-PKG_CHECK_MODULES(SPEEX, speex, no_speex="no", no_speex="yes")
+-
+-if test "x$no_speex" = "xyes" ; then
+- AM_PATH_OGG([ AM_PATH_SPEEX(no_speex="no")])
+-fi
+-
+-if test "x$no_speex" = "xyes" ; then
+- AC_MSG_RESULT([*** All OGG/SPEEX dependent parts will be disabled ***])
+-else
+- AC_DEFINE(HAVE_SPEEX,1,[Define this if you have speex])
+-
+- dnl Test whether Speex headers are eg. <speex.h> or <speex/speex.h>
+- dnl Speex headers were moved in mid-2004; 1.0.x has backwards compatible headers, 1.1.x does not
+- AC_CHECK_HEADER([speex/speex.h],
+- AC_DEFINE(HAVE_SPEEX_SUBDIR, [1], [Define to 1 if speex headers are eg. <speex/speex.h>])
+- )
+-
+- AC_SUBST(SPEEX_CFLAGS)
+- AC_SUBST(SPEEX_LIBS)
+-fi
+-AM_CONDITIONAL(HAVE_SPEEX, [test x"$no_ogg" != "xyes" -a x"$no_speex" != "xyes"])
++AM_CONDITIONAL(HAVE_SPEEX, 0)
+
+
+ dnl ---------------------------------------------
+ dnl check for libFLAC
+ dnl ---------------------------------------------
+
+-AM_PATH_LIBFLAC([],
+- AC_MSG_RESULT([*** All FLAC dependent parts will be disabled ***]))
+-AM_CONDITIONAL(HAVE_FLAC, [test x"$no_libFLAC" != "xyes"])
++AM_CONDITIONAL(HAVE_FLAC, 0)
++
+
+ dnl ---------------------------------------------
+ dnl External version of a52dec
+@@ -1120,13 +1092,8 @@
+ dnl MNG libs.
+ dnl ---------------------------------------------
+
+-AC_CHECK_LIB(mng, mng_initialize,
+- [ AC_CHECK_HEADER(libmng.h,
+- [ have_libmng=yes
+- MNG_LIBS="-lmng" ],
+- AC_MSG_RESULT([*** All libmng dependent parts will be disabled ***]))],
+- AC_MSG_RESULT([*** All libmng dependent parts will be disabled ***]))
+-AM_CONDITIONAL(HAVE_LIBMNG, test x"$have_libmng" = "xyes")
++MNG_LIBS=""
++AM_CONDITIONAL(HAVE_LIBMNG, 0)
+ AC_SUBST(MNG_LIBS)
+
+ dnl ---------------------------------------------
+@@ -1153,7 +1120,7 @@
+ dnl freetype2 lib.
+ dnl ---------------------------------------------
+
+-AM_PATH_FREETYPE2()
++AM_CONDITIONAL(HAVE_FT2, 0)
+
+
+ dnl ---------------------------------------------
+@@ -1196,37 +1163,21 @@
+ dnl ESD support
+ dnl ---------------------------------------------
+
+-AM_PATH_ESD(0.2.8,
+- AC_DEFINE(HAVE_ESD,1,[Define this if you have ESD (libesd) installed]),
+- AC_MSG_RESULT(*** All of ESD dependent parts will be disabled ***))
+-AM_CONDITIONAL(HAVE_ESD, test x"$no_esd" != "xyes")
++AM_CONDITIONAL(HAVE_ESD, 0)
+
+
+ dnl ---------------------------------------------
+ dnl ARTS support
+ dnl ---------------------------------------------
+
+-AM_PATH_ARTS(0.9.5,
+- AC_DEFINE(HAVE_ARTS,1,[Define this if you have ARTS (libartsc) installed]),
+- AC_MSG_RESULT(*** All of ARTS dependent parts will be disabled ***))
+-AM_CONDITIONAL(HAVE_ARTS, test x"$no_arts" != "xyes")
++AM_CONDITIONAL(HAVE_ARTS, 0)
+
+
+ dnl ---------------------------------------------
+ dnl gnome-vfs support
+ dnl ---------------------------------------------
+
+-PKG_CHECK_MODULES(GNOME_VFS, gnome-vfs-2.0,
+- no_gnome_vfs=no,
+- no_gnome_vfs=yes)
+-AC_SUBST(GNOME_VFS_CFLAGS)
+-AC_SUBST(GNOME_VFS_LIBS)
+-if test x"$no_gnome_vfs" != "xyes"; then
+-AC_DEFINE(HAVE_GNOME_VFS,1,[Define this if you have gnome-vfs installed])
+-else
+-AC_MSG_RESULT(*** All of the gnome-vfs dependent parts will be disabled ***)
+-fi
+-AM_CONDITIONAL(HAVE_GNOME_VFS, test x"$no_gnome_vfs" != "xyes")
++AM_CONDITIONAL(HAVE_GNOME_VFS, 0)
+
+
+ dnl ---------------------------------------------
+@@ -1403,75 +1354,7 @@
+ ],ISOC99_PRAGMA=no)
+ AC_MSG_RESULT($ISOC99_PRAGMA)
+
+- dnl
+- dnl bitfield order
+- dnl
+- AC_MSG_CHECKING([bitfield ordering in structs])
+-
+- dnl basic compile test for all platforms
+- AC_COMPILE_IFELSE([
+-int main() {
+- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+- __attribute__((packed))
+-#endif
+- bf = { 1,1,1,1 };
+- switch (0) case 0: case sizeof(bf) == 1:;
+- return 0;
+-}
+-], [], AC_MSG_ERROR([compiler doesn't support bitfield structs]))
+-
+-
+- dnl run test
+- AC_RUN_IFELSE([
+-int main() {
+- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+- __attribute__((packed))
+-#endif
+- bf = { 1,1,1,1 };
+- if (sizeof (bf) != 1) return 1;
+- return *((unsigned char*) &bf) != 0x4b; }
+-], bf_lsbf=1, [
+- AC_RUN_IFELSE([
+-int main() {
+- struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+- __attribute__((packed))
+-#endif
+- bf = { 1,1,1,1 };
+- if (sizeof (bf) != 1) return 1;
+- return *((unsigned char*) &bf) != 0xa5; }
+-], bf_lsbf=0, AC_MSG_ERROR([unsupported bitfield ordering]))
+- ],
+- [case "$host" in
+- *-*-mingw32* | *-*-cygwin*)
+- bf_lsbf=1
+- ;;
+- *)
+- AC_MSG_RESULT([unknown])
+- AC_MSG_ERROR([value of bitfield test isn't known for $host
+-*********************************************************************
+-Value of bitfield test can't be found out for cross-compiling and we
+-don't know its value for host "$host".
+-
+-Because it's needed for VCD plugin, disable VCD by configure option
+---disable-vcd or use external VCD library.
+-*********************************************************************])
+- esac]
+-)
+-
+- if test "x$cross_compiling" = "xyes"; then
+- TEXT=" (guessed)"
+- else
+- TEXT=""
+- fi
+- if test "x$bf_lsbf" = "x1"; then
+- AC_MSG_RESULT(LSBF${TEXT})
+- AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields])
+- else
+- AC_MSG_RESULT(MSBF${TEXT})
+- fi
++ AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields])
+
+ AC_HAVE_HEADERS( errno.h fcntl.h \
+ stdbool.h stdlib.h stdint.h stdio.h string.h \
diff --git a/packages/libxine/libxine-1.1.0/cpuid.patch b/packages/libxine/libxine-1.1.0/cpuid.patch
new file mode 100644
index 0000000000..deea9159cb
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/cpuid.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xine-lib-1.1.0/src/post/goom/mmx.h~cpu-1.0
++++ xine-lib-1.1.0/src/post/goom/mmx.h
+@@ -98,6 +98,8 @@
+ /* Get standard CPUID information, and
+ go to a specific vendor section */
+ "movl $0, %%eax\n\t"
++
++ "pushl %%ebx\n\t"
+ "cpuid\n\t"
+
+ /* Check for Intel */
diff --git a/packages/libxine/libxine-1.1.0/dont-have-xv.patch b/packages/libxine/libxine-1.1.0/dont-have-xv.patch
new file mode 100644
index 0000000000..674e0e3852
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/dont-have-xv.patch
@@ -0,0 +1,16 @@
+diff -urNd ../libxine-1.0-r1/xine-lib-1.0/configure.ac xine-lib-1.0/configure.ac
+--- ../libxine-1.0-r1/xine-lib-1.0/configure.ac 2005-04-09 02:35:05 +01:00
++++ xine-lib-1.0/configure.ac 2005-04-09 02:48:17 +01:00
+@@ -693,6 +693,12 @@
+ AM_CONDITIONAL(HAVE_XVMC, test x$ac_have_xvmc = "xyes")
+ AC_SUBST(XVMC_LIB)
+
++dnl --------------------------------------------
++dnl Declare Xv as missing
++dnl --------------------------------------------
++
++AM_CONDITIONAL(HAVE_XV, 0)
++
+
+ dnl ---------------------------------------------
+ dnl Checks for Xinerama extension
diff --git a/packages/libxine/libxine-1.1.0/fix-syntax-xine-vorbis-decoder.patch b/packages/libxine/libxine-1.1.0/fix-syntax-xine-vorbis-decoder.patch
new file mode 100644
index 0000000000..a191280e2b
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/fix-syntax-xine-vorbis-decoder.patch
@@ -0,0 +1,11 @@
+--- xine-lib-1.0/src/libvorbis/xine_decoder.c.old 2005-04-14 11:25:18 +01:00
++++ xine-lib-1.0/src/libvorbis/xine_decoder.c 2005-04-14 11:26:14 +01:00
+@@ -219,7 +219,7 @@
+ int **pcm;
+ int samples;
+
+- if(vorbis_synthesis(&this->vb,&this->op)==0)
++ if(vorbis_synthesis(&this->vb,&this->op,1)==0)
+ vorbis_synthesis_blockin(&this->vd,&this->vb);
+
+ if (buf->pts!=0)
diff --git a/packages/libxine/libxine-1.1.0/libxine-arm-configure.patch b/packages/libxine/libxine-1.1.0/libxine-arm-configure.patch
new file mode 100644
index 0000000000..ab5efe9ce1
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/libxine-arm-configure.patch
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xine-lib-1.1.0/configure.ac~libxine-arm-configure
++++ xine-lib-1.1.0/configure.ac
+@@ -2052,8 +2052,8 @@
+ AC_DEFINE_UNQUOTED(FPM_DEFAULT,,[Define to select libmad fixed point arithmetic implementation])
+ ;;
+
+- armv4l-*-linux*)
+- CFLAGS="-O2 -fsigned-char -ffast-math -mcpu=strongarm1100 -fomit-frame-pointer -fthread-jumps -fregmove $CFLAGS"
++ arm-*-linux*)
++ CFLAGS="-O2 -fsigned-char -ffast-math -march=armv4 -mtune=xscale -fomit-frame-pointer -fthread-jumps -fregmove $CFLAGS"
+ dnl CFLAGS="-O1 -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fregmove -fschedule-insns2 $INLINE_FUNCTIONS -fsigned-char -fomit-frame-pointer -march=armv4 -mtune=strongarm $CFLAGS"
+ DEBUG_CFLAGS="-O2 $DEBUG_CFLAGS"
+ AC_DEFINE_UNQUOTED(FPM_ARM,,[Define to select libmad fixed point arithmetic implementation])
diff --git a/packages/libxine/libxine-1.1.0/libxine-cut-memusage.patch b/packages/libxine/libxine-1.1.0/libxine-cut-memusage.patch
new file mode 100644
index 0000000000..3580a58ac8
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/libxine-cut-memusage.patch
@@ -0,0 +1,63 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xine-lib-1.1.0/src/xine-engine/audio_out.c~libxine-cut-memusage
++++ xine-lib-1.1.0/src/xine-engine/audio_out.c
+@@ -95,10 +95,10 @@
+ #include "metronom.h"
+
+
+-#define NUM_AUDIO_BUFFERS 32
+-#define AUDIO_BUF_SIZE 32768
++#define NUM_AUDIO_BUFFERS 16
++#define AUDIO_BUF_SIZE 8192
+
+-#define ZERO_BUF_SIZE 5000
++#define ZERO_BUF_SIZE 2048
+
+ /* By adding gap errors (difference between reported and expected
+ * sound card clock) into metronom's vpts_offset we can use its
+--- xine-lib-1.1.0/src/xine-engine/video_decoder.c~libxine-cut-memusage
++++ xine-lib-1.1.0/src/xine-engine/video_decoder.c
+@@ -484,7 +484,7 @@
+
+ num_buffers = stream->xine->config->register_num (stream->xine->config,
+ "engine.buffers.video_num_buffers",
+- 500,
++ 250,
+ _("number of video buffers"),
+ _("The number of video buffers (each is 8k in size) "
+ "xine uses in its internal queue. Higher values "
+@@ -492,7 +492,7 @@
+ "also increased latency and memory consumption."),
+ 20, NULL, NULL);
+
+- stream->video_fifo = _x_fifo_buffer_new (num_buffers, 8192);
++ stream->video_fifo = _x_fifo_buffer_new (num_buffers, 4096);
+ stream->spu_track_map_entries = 0;
+
+ pthread_attr_init(&pth_attrs);
+--- xine-lib-1.1.0/src/xine-engine/video_overlay.h~libxine-cut-memusage
++++ xine-lib-1.1.0/src/xine-engine/video_overlay.h
+@@ -36,7 +36,7 @@
+ #define CLUT_Y_CR_CB_INIT(_y,_cr,_cb) { (_cb), (_cr), (_y) }
+ #endif
+
+-#define MAX_OBJECTS 50
++#define MAX_OBJECTS 5
+ #define MAX_EVENTS 50
+ #define MAX_SHOWING 16
+
+--- xine-lib-1.1.0/src/xine-engine/audio_decoder.c~libxine-cut-memusage
++++ xine-lib-1.1.0/src/xine-engine/audio_decoder.c
+@@ -467,7 +467,7 @@
+
+ num_buffers = stream->xine->config->register_num (stream->xine->config,
+ "engine.buffers.audio_num_buffers",
+- 230,
++ 100,
+ _("number of audio buffers"),
+ _("The number of audio buffers (each is 8k in size) "
+ "xine uses in its internal queue. Higher values "
diff --git a/packages/libxine/libxine-1.1.0/libxine-ffmpeg-enable-arm.patch b/packages/libxine/libxine-1.1.0/libxine-ffmpeg-enable-arm.patch
new file mode 100644
index 0000000000..0a13e2f8e1
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/libxine-ffmpeg-enable-arm.patch
@@ -0,0 +1,20 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xine-lib-1.1.0/src/libffmpeg/libavcodec/armv4l/Makefile.am~libxine-ffmpeg-enable-arm
++++ xine-lib-1.1.0/src/libffmpeg/libavcodec/armv4l/Makefile.am
+@@ -9,9 +9,8 @@
+ libavcodec_armv4l_dummy = libavcodec_armv4l_dummy.c
+ EXTRA_DIST = $(libavcodec_armv4l_src) $(libavcodec_armv4l_dummy)
+
+-#if HAVE_ARMV4L
+-#armv4l_modules = $(libavcodec_armv4l_src)
+-#endif
+-armv4l_modules =
++if HAVE_ARMV4L
++armv4l_modules = $(libavcodec_armv4l_src)
++endif
+
+ libavcodec_armv4l_la_SOURCES = $(armv4l_modules) $(libavcodec_armv4l_dummy)
diff --git a/packages/libxine/libxine-1.1.0/libxine-tremor-autoconf.patch b/packages/libxine/libxine-1.1.0/libxine-tremor-autoconf.patch
new file mode 100644
index 0000000000..097f72cb1b
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/libxine-tremor-autoconf.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xine-lib-1.1.0/m4/vorbis.m4~libxine-tremor-autoconf
++++ xine-lib-1.1.0/m4/vorbis.m4
+@@ -18,7 +18,7 @@
+ VORBIS_LIBDIR="-L$vorbis_prefix/$XINE_LIBNAME"
+ fi
+
+- VORBIS_LIBS="$VORBIS_LIBDIR -lvorbis -lm"
++ VORBIS_LIBS="$VORBIS_LIBDIR -lvorbisidec -lm"
+ VORBISFILE_LIBS="-lvorbisfile"
+ VORBISENC_LIBS="-lvorbisenc"
+
diff --git a/packages/libxine/libxine-1.1.0/mpegvideo-static-inlinine.patch b/packages/libxine/libxine-1.1.0/mpegvideo-static-inlinine.patch
new file mode 100644
index 0000000000..0f9b3c23f1
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/mpegvideo-static-inlinine.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xine-lib-1.1.0/src/libffmpeg/libavcodec/mpegvideo.c~mpegvideo-static-inlinine
++++ xine-lib-1.1.0/src/libffmpeg/libavcodec/mpegvideo.c
+@@ -3122,7 +3122,7 @@
+ }
+ }
+
+-inline int ff_h263_round_chroma(int x){
++static inline int ff_h263_round_chroma(int x){
+ if (x >= 0)
+ return (h263_chroma_roundtab[x & 0xf] + ((x >> 3) & ~1));
+ else {
diff --git a/packages/libxine/libxine-1.1.0/no-caca.patch b/packages/libxine/libxine-1.1.0/no-caca.patch
new file mode 100644
index 0000000000..dc861693e9
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/no-caca.patch
@@ -0,0 +1,19 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xine-lib-1.1.0/configure.ac~no-caca
++++ xine-lib-1.1.0/configure.ac
+@@ -749,8 +749,9 @@
+ dnl Checks for Color AsCii Art library
+ dnl ---------------------------------------------
+
+-AM_PATH_CACA(0.3,, AC_MSG_RESULT([*** All CACA-dependent parts will be disabled ***]))
+-AM_CONDITIONAL(HAVE_CACA, test x$no_caca != "xyes")
++dnl AM_PATH_CACA(0.3,, AC_MSG_RESULT([*** All CACA-dependent parts will be disabled ***]))
++AM_CONDITIONAL(HAVE_CACA, 0)
++
+
+
+ dnl ---------------------------------------------
diff --git a/packages/libxine/libxine-1.1.0/tremor.patch b/packages/libxine/libxine-1.1.0/tremor.patch
new file mode 100644
index 0000000000..8ea785d5ef
--- /dev/null
+++ b/packages/libxine/libxine-1.1.0/tremor.patch
@@ -0,0 +1,63 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xine-lib-1.1.0/src/demuxers/demux_ogg.c~demuxogg
++++ xine-lib-1.1.0/src/demuxers/demux_ogg.c
+@@ -40,7 +40,7 @@
+ #include <inttypes.h>
+
+ #include <ogg/ogg.h>
+-#include <vorbis/codec.h>
++#include <tremor/ivorbiscodec.h>
+
+ #ifdef HAVE_SPEEX
+ #ifdef HAVE_SPEEX_SUBDIR
+--- xine-lib-1.1.0/src/demuxers/Makefile.am~demuxogg
++++ xine-lib-1.1.0/src/demuxers/Makefile.am
+@@ -1,6 +1,6 @@
+ include $(top_srcdir)/misc/Makefile.common
+
+-AM_CFLAGS = $(THEORA_CFLAGS) $(OGG_CFLAGS) $(SPEEX_CFLAGS) $(LIBMODPLUG_CFLAGS)
++AM_CFLAGS = $(THEORA_CFLAGS) $(OGG_CFLAGS) $(VORBIS_CFLAGS) $(SPEEX_CFLAGS) $(LIBMODPLUG_CFLAGS)
+
+ libdir = $(XINE_PLUGINDIR)
+
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- xine-lib-1.1.0/src/libvorbis/xine_decoder.c~libxine-libvorbis
++++ xine-lib-1.1.0/src/libvorbis/xine_decoder.c
+@@ -40,7 +40,7 @@
+ #include "buffer.h"
+
+ #include <ogg/ogg.h>
+-#include <vorbis/codec.h>
++#include <tremor/ivorbiscodec.h>
+
+ #define MAX_NUM_SAMPLES 4096
+
+@@ -217,7 +217,7 @@
+
+ } else if (this->output_open) {
+
+- float **pcm;
++ int **pcm;
+ int samples;
+
+ if(vorbis_synthesis(&this->vb,&this->op)==0)
+@@ -246,9 +246,9 @@
+ interleave */
+ for(i=0;i<this->vi.channels;i++){
+ ogg_int16_t *ptr=audio_buffer->mem+i;
+- float *mono=pcm[i];
++ int *mono=pcm[i];
+ for(j=0;j<bout;j++){
+- int val=mono[j]*32767.f;
++ int val=mono[j]>>9;
+ /* might as well guard against clipping */
+ if(val>32767){
+ val=32767;
diff --git a/packages/libxine/libxine_1.1.0.bb b/packages/libxine/libxine_1.1.0.bb
new file mode 100644
index 0000000000..908243f354
--- /dev/null
+++ b/packages/libxine/libxine_1.1.0.bb
@@ -0,0 +1,100 @@
+DESCRIPTION = "libxine is a versatile multimedia library decoding a lot of common audio and video formats. \
+This version is configued for the usage with X11"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "zlib libogg libvorbis tremor libmad libmodplug esound-gpe x11 xext"
+PROVIDES = "virtual/libxine"
+PR = "r0"
+
+inherit autotools pkgconfig gettext binconfig
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/xine/xine-lib-${PV}.tar.gz \
+ file://configure.patch;patch=1 \
+ file://cpuid.patch;patch=1 \
+ file://fix-syntax-xine-vorbis-decoder.patch;patch=1 \
+ file://libxine-arm-configure.patch;patch=1 \
+ file://libxine-cut-memusage.patch;patch=1 \
+ file://libxine-ffmpeg-enable-arm.patch;patch=1 \
+# file://libxine-libavcodec.patch;patch=1 \
+ file://tremor.patch;patch=1 \
+ file://libxine-tremor-autoconf.patch;patch=1 \
+ file://mpegvideo-static-inlinine.patch;patch=1 \
+ file://no-caca.patch;patch=1 \
+ file://dont-have-xv.patch;patch=1 \
+"
+
+DEFAULT_PREFERENCE = "-1"
+
+S = "${WORKDIR}/xine-lib-${PV}"
+
+SOV = "1.0.7"
+
+EXTRA_OECONF="-with-zlib-path=${STAGING_DIR}/${HOST_SYS} \
+ --with-vorbis-prefix=${STAGING_DIR}/${HOST_SYS} \
+ --disable-oggtest \
+ --with-ogg-prefix=${STAGING_DIR}/${HOST_SYS} \
+ --disable-altivec --disable-vis --disable-mlib \
+ --disable-fb --disable-alsa --disable-vcd \
+ --disable-asf --disable-faad --disable-iconv \
+ --without-v4l --without-arts --without-sdl \
+ --without-xv --without-xxmc --without-xvmc \
+ --with-x --x-includes=${STAGING_INCDIR}/X11 --x-libraries=${STAGING_LIBDIR}"
+
+do_compile() {
+ oe_runmake LIBTOOL=${S}/${TARGET_SYS}-libtool
+}
+
+do_install() {
+ oe_runmake DESTDIR=${D} LIBTOOL=${S}/${TARGET_SYS}-libtool install
+}
+
+HEADERS="src/xine-engine/xineintl.h src/xine-utils/xineutils.h \
+ src/xine-engine/xine_internal.h src/xine-engine/xine_plugin.h \
+ src/xine-utils/xine_buffer.h src/xine-engine/video_out.h \
+ src/xine-engine/buffer.h src/xine-engine/vo_scale.h \
+ src/xine-engine/configfile.h src/xine-utils/attributes.h \
+ src/xine-engine/info_helper.h src/xine-engine/scratch.h \
+ src/xine-engine/audio_decoder.h src/input/input_plugin.h \
+ src/xine-engine/spu_decoder.h src/xine-engine/audio_out.h \
+ src/xine-engine/io_helper.h src/xine-engine/video_decoder.h \
+ src/xine-engine/broadcaster.h src/xine-engine/metronom.h \
+ src/xine-utils/xmllexer.h src/xine-engine/osd.h \
+ src/xine-engine/video_overlay.h src/xine-utils/xmlparser.h \
+ src/xine-utils/compat.h src/xine-engine/plugin_catalog.h \
+ src/xine-engine/post.h src/demuxers/demux.h \
+ src/xine-engine/resample.h lib/os_types.h \
+ src/xine-engine/refcounter.h"
+
+do_stage() {
+ install -d ${STAGING_INCDIR}/xine
+
+ install -m 0644 ${S}/include/xine.h ${STAGING_INCDIR}
+
+ for file in ${HEADERS}; do
+ cp ${S}/$file ${STAGING_INCDIR}/xine/`basename $file`
+ done
+
+ install -m 0644 ${S}/m4/xine.m4 ${STAGING_DATADIR}/aclocal/
+
+ oe_libinstall -so -C src/xine-engine libxine ${STAGING_LIBDIR}
+}
+
+python populate_packages_prepend () {
+ bb.data.setVar('PKG_libxine', 'libxine', d)
+
+ plugindir = bb.data.expand('${libdir}/xine/plugins/1.1.0', d)
+ do_split_packages(d, plugindir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
+
+ postdir = bb.data.expand('${libdir}/xine/plugins/1.1.0/post', d)
+ do_split_packages(d, postdir, '^xineplug_(.*)\.so$', 'libxine-plugin-%s', 'Xine plugin for %s', extra_depends='' )
+
+ fontdir = bb.data.expand('${datadir}/xine/libxine1/fonts', d)
+ do_split_packages(d, fontdir, '^(.*).xinefont.gz$', 'libxine-font-%s', 'Xine font %s', extra_depends='' )
+}
+
+# Omit the annoying xine-config in ${bindir}
+FILES_${PN}="${libdir}/*.so*"
+
+# And include it in the dev package
+FILES_${PN}-dev += " ${bindir}"