added libxine 1.1.0 - someone more familiar with assembly should check it
authorMarcin Juszkiewicz <hrw@openembedded.org>
Sat, 24 Sep 2005 22:08:31 +0000 (22:08 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Sat, 24 Sep 2005 22:08:31 +0000 (22:08 +0000)
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

13 files changed:
packages/libxine/libxine-1.1.0/.mtn2git_empty [new file with mode: 0644]
packages/libxine/libxine-1.1.0/configure.patch [new file with mode: 0644]
packages/libxine/libxine-1.1.0/cpuid.patch [new file with mode: 0644]
packages/libxine/libxine-1.1.0/dont-have-xv.patch [new file with mode: 0644]
packages/libxine/libxine-1.1.0/fix-syntax-xine-vorbis-decoder.patch [new file with mode: 0644]
packages/libxine/libxine-1.1.0/libxine-arm-configure.patch [new file with mode: 0644]
packages/libxine/libxine-1.1.0/libxine-cut-memusage.patch [new file with mode: 0644]
packages/libxine/libxine-1.1.0/libxine-ffmpeg-enable-arm.patch [new file with mode: 0644]
packages/libxine/libxine-1.1.0/libxine-tremor-autoconf.patch [new file with mode: 0644]
packages/libxine/libxine-1.1.0/mpegvideo-static-inlinine.patch [new file with mode: 0644]
packages/libxine/libxine-1.1.0/no-caca.patch [new file with mode: 0644]
packages/libxine/libxine-1.1.0/tremor.patch [new file with mode: 0644]
packages/libxine/libxine_1.1.0.bb [new file with mode: 0644]

diff --git a/packages/libxine/libxine-1.1.0/.mtn2git_empty b/packages/libxine/libxine-1.1.0/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/libxine/libxine-1.1.0/configure.patch b/packages/libxine/libxine-1.1.0/configure.patch
new file mode 100644 (file)
index 0000000..f8d0ea1
--- /dev/null
@@ -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 (file)
index 0000000..deea915
--- /dev/null
@@ -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 (file)
index 0000000..674e0e3
--- /dev/null
@@ -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 (file)
index 0000000..a191280
--- /dev/null
@@ -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 (file)
index 0000000..ab5efe9
--- /dev/null
@@ -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 (file)
index 0000000..3580a58
--- /dev/null
@@ -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 (file)
index 0000000..0a13e2f
--- /dev/null
@@ -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 (file)
index 0000000..097f72c
--- /dev/null
@@ -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 (file)
index 0000000..0f9b3c2
--- /dev/null
@@ -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 (file)
index 0000000..dc86169
--- /dev/null
@@ -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 (file)
index 0000000..8ea785d
--- /dev/null
@@ -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 (file)
index 0000000..908243f
--- /dev/null
@@ -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}"