summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2005-11-21 23:07:54 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2005-11-21 23:07:54 +0000
commit03fb6236ad71ea7bf1f7f5001d036eab80612dd3 (patch)
tree47a2f46ceca5c905d865e33adb94c4a008e1c53c
parentversion 2.1, revision 1.24 (diff)
downloadgentoo-03fb6236ad71ea7bf1f7f5001d036eab80612dd3.tar.gz
gentoo-03fb6236ad71ea7bf1f7f5001d036eab80612dd3.tar.bz2
gentoo-03fb6236ad71ea7bf1f7f5001d036eab80612dd3.zip
Added patches for xine-lib-1.1.1.
-rw-r--r--src/patchsets/xine-lib/1.1.1/010_all_pic.patch124
-rw-r--r--src/patchsets/xine-lib/1.1.1/020_all_fbsd-sdl.patch30
-rw-r--r--src/patchsets/xine-lib/1.1.1/030_all_vidix-gcc4.patch24
-rw-r--r--src/patchsets/xine-lib/1.1.1/040_all_format.patch283
-rw-r--r--src/patchsets/xine-lib/1.1.1/050_all_novell--alsa-resume-fix.patch50
-rw-r--r--src/patchsets/xine-lib/1.1.1/060_all_Os.patch14
-rw-r--r--src/patchsets/xine-lib/1.1.1/series6
7 files changed, 531 insertions, 0 deletions
diff --git a/src/patchsets/xine-lib/1.1.1/010_all_pic.patch b/src/patchsets/xine-lib/1.1.1/010_all_pic.patch
new file mode 100644
index 0000000000..e5c1d84068
--- /dev/null
+++ b/src/patchsets/xine-lib/1.1.1/010_all_pic.patch
@@ -0,0 +1,124 @@
+Index: xine-lib-1.1.1/src/libffmpeg/libavcodec/i386/dsputil_mmx_avg.h
+===================================================================
+--- xine-lib-1.1.1.orig/src/libffmpeg/libavcodec/i386/dsputil_mmx_avg.h
++++ xine-lib-1.1.1/src/libffmpeg/libavcodec/i386/dsputil_mmx_avg.h
+@@ -94,7 +94,7 @@ static void DEF(put_pixels4_l2)(uint8_t
+ "add $16, %2 \n\t"
+ "subl $4, %0 \n\t"
+ "jnz 1b \n\t"
+-#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
++#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
+ :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+ #else
+ :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+@@ -141,7 +141,7 @@ static void DEF(put_pixels8_l2)(uint8_t
+ "add $32, %2 \n\t"
+ "subl $4, %0 \n\t"
+ "jnz 1b \n\t"
+-#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
++#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
+ :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+ #else
+ :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+@@ -211,7 +211,7 @@ static void DEF(put_no_rnd_pixels8_l2)(u
+ "add $32, %2 \n\t"
+ "subl $4, %0 \n\t"
+ "jnz 1b \n\t"
+-#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
++#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
+ :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+ #else
+ :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+@@ -266,7 +266,7 @@ static void DEF(avg_pixels4_l2)(uint8_t
+ "add $16, %2 \n\t"
+ "subl $4, %0 \n\t"
+ "jnz 1b \n\t"
+-#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
++#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
+ :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+ #else
+ :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+@@ -318,7 +318,7 @@ static void DEF(avg_pixels8_l2)(uint8_t
+ "add $32, %2 \n\t"
+ "subl $4, %0 \n\t"
+ "jnz 1b \n\t"
+-#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
++#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
+ :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+ #else
+ :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+@@ -406,7 +406,7 @@ static void DEF(put_pixels16_l2)(uint8_t
+ "add $32, %2 \n\t"
+ "subl $2, %0 \n\t"
+ "jnz 1b \n\t"
+-#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
++#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
+ :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+ #else
+ :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+@@ -460,7 +460,7 @@ static void DEF(avg_pixels16_l2)(uint8_t
+ "add $32, %2 \n\t"
+ "subl $2, %0 \n\t"
+ "jnz 1b \n\t"
+-#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
++#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
+ :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+ #else
+ :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+@@ -533,7 +533,7 @@ static void DEF(put_no_rnd_pixels16_l2)(
+ "add $32, %2 \n\t"
+ "subl $2, %0 \n\t"
+ "jnz 1b \n\t"
+-#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
++#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
+ :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+ #else
+ :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+Index: xine-lib-1.1.1/src/libffmpeg/libavcodec/i386/dsputil_mmx.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/libffmpeg/libavcodec/i386/dsputil_mmx.c
++++ xine-lib-1.1.1/src/libffmpeg/libavcodec/i386/dsputil_mmx.c
+@@ -64,7 +64,7 @@ static const uint64_t ff_pb_FC attribute
+ "pcmpeqd %%" #regd ", %%" #regd " \n\t"\
+ "paddb %%" #regd ", %%" #regd " \n\t" ::)
+
+-#ifndef PIC
++#ifndef __PIC__
+ #define MOVQ_BONE(regd) __asm __volatile ("movq %0, %%" #regd " \n\t" ::"m"(mm_bone))
+ #define MOVQ_WTWO(regd) __asm __volatile ("movq %0, %%" #regd " \n\t" ::"m"(mm_wtwo))
+ #else
+Index: xine-lib-1.1.1/src/libffmpeg/libavcodec/i386/dsputil_mmx_rnd.h
+===================================================================
+--- xine-lib-1.1.1.orig/src/libffmpeg/libavcodec/i386/dsputil_mmx_rnd.h
++++ xine-lib-1.1.1/src/libffmpeg/libavcodec/i386/dsputil_mmx_rnd.h
+@@ -96,7 +96,7 @@ static void attribute_unused DEF(put, pi
+ "add %5, %3 \n\t"
+ "subl $4, %0 \n\t"
+ "jnz 1b \n\t"
+-#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
++#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
+ :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+ #else
+ :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+@@ -191,7 +191,7 @@ static void attribute_unused DEF(put, pi
+ "add $32, %2 \n\t"
+ "subl $2, %0 \n\t"
+ "jnz 1b \n\t"
+-#ifdef PIC //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
++#ifdef __PIC__ //Note "+bm" and "+mb" are buggy too (with gcc 3.2.2 at least) and cant be used
+ :"+m"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+ #else
+ :"+b"(h), "+a"(src1), "+c"(src2), "+d"(dst)
+Index: xine-lib-1.1.1/src/libffmpeg/libavcodec/msmpeg4.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/libffmpeg/libavcodec/msmpeg4.c
++++ xine-lib-1.1.1/src/libffmpeg/libavcodec/msmpeg4.c
+@@ -725,7 +725,7 @@ static inline int msmpeg4_pred_dc(MpegEn
+ necessitate to modify mpegvideo.c. The problem comes from the
+ fact they decided to store the quantized DC (which would lead
+ to problems if Q could vary !) */
+-#if (defined(ARCH_X86) || defined(ARCH_X86_64)) && !defined PIC
++#if (defined(ARCH_X86) || defined(ARCH_X86_64)) && !defined __PIC__
+ asm volatile(
+ "movl %3, %%eax \n\t"
+ "shrl $1, %%eax \n\t"
diff --git a/src/patchsets/xine-lib/1.1.1/020_all_fbsd-sdl.patch b/src/patchsets/xine-lib/1.1.1/020_all_fbsd-sdl.patch
new file mode 100644
index 0000000000..bd05392750
--- /dev/null
+++ b/src/patchsets/xine-lib/1.1.1/020_all_fbsd-sdl.patch
@@ -0,0 +1,30 @@
+Index: xine-lib-1.1.1/src/video_out/video_out_sdl.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/video_out/video_out_sdl.c
++++ xine-lib-1.1.1/src/video_out/video_out_sdl.c
+@@ -47,7 +47,8 @@
+ #include <string.h>
+ #include <inttypes.h>
+ #include <math.h>
+-#if defined (__FreeBSD__)
++
++#ifdef HAVE_SDL11_SDL_H
+ # include <SDL11/SDL.h>
+ #else
+ # include <SDL.h>
+Index: xine-lib-1.1.1/configure.ac
+===================================================================
+--- xine-lib-1.1.1.orig/configure.ac
++++ xine-lib-1.1.1/configure.ac
+@@ -915,7 +915,10 @@ AC_ARG_ENABLE([sdl],
+
+ if test "x$with_sdl" = "xyes"; then
+ AM_PATH_SDL(1.1.5,
+- AC_DEFINE(HAVE_SDL,1,[Define this if you have SDL library installed]),
++ [
++ AC_DEFINE(HAVE_SDL,1,[Define this if you have SDL library installed])
++ AC_CHECK_HEADERS([SDL11/SDL.h])
++ ],
+ [])
+ else
+ no_sdl=yes
diff --git a/src/patchsets/xine-lib/1.1.1/030_all_vidix-gcc4.patch b/src/patchsets/xine-lib/1.1.1/030_all_vidix-gcc4.patch
new file mode 100644
index 0000000000..bf4386f702
--- /dev/null
+++ b/src/patchsets/xine-lib/1.1.1/030_all_vidix-gcc4.patch
@@ -0,0 +1,24 @@
+diff -x '*~' -ur xine-lib-1.0.1/src/video_out/libdha/sysdep/AsmMacros_generic.h xine-lib-1.0.1-gcc4/src/video_out/libdha/sysdep/AsmMacros_generic.h
+--- xine-lib-1.0.1/src/video_out/libdha/sysdep/AsmMacros_generic.h 2005-04-26 10:09:11.000000000 +0200
++++ xine-lib-1.0.1-gcc4/src/video_out/libdha/sysdep/AsmMacros_generic.h 2005-05-01 17:38:54.524010720 +0200
+@@ -5,7 +5,7 @@
+ #ifndef __ASM_MACROS_GENERIC_H
+ #define __ASM_MACROS_GENERIC_H
+
+-#warn This stuff is not ported on yur system
++#warning This stuff is not ported on yur system
+
+ static __inline__ void outb(short port,char val)
+ {
+diff -x '*~' -ur xine-lib-1.0.1/src/video_out/libdha/sysdep/pci_generic_cpu.c xine-lib-1.0.1-gcc4/src/video_out/libdha/sysdep/pci_generic_cpu.c
+--- xine-lib-1.0.1/src/video_out/libdha/sysdep/pci_generic_cpu.c 2005-04-26 10:09:11.000000000 +0200
++++ xine-lib-1.0.1-gcc4/src/video_out/libdha/sysdep/pci_generic_cpu.c 2005-05-01 17:25:01.756610608 +0200
+@@ -1,7 +1,7 @@
+ /*
+ Generic stuff to compile VIDIX only on any system (SCRATCH)
+ */
+-#warn This stuff is not ported on yur system
++#warning This stuff is not ported on yur system
+
+ static int pci_config_type( void )
+ {
diff --git a/src/patchsets/xine-lib/1.1.1/040_all_format.patch b/src/patchsets/xine-lib/1.1.1/040_all_format.patch
new file mode 100644
index 0000000000..9c1cbb20d5
--- /dev/null
+++ b/src/patchsets/xine-lib/1.1.1/040_all_format.patch
@@ -0,0 +1,283 @@
+Index: xine-lib-1.1.1/src/dxr3/dxr3_decode_spu.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/dxr3/dxr3_decode_spu.c
++++ xine-lib-1.1.1/src/dxr3/dxr3_decode_spu.c
+@@ -519,7 +519,7 @@ static void dxr3_spudec_decode_data(spu_
+ uint32_t vpts32;
+
+ vpts = this->stream->metronom->got_spu_packet(this->stream->metronom, buf->pts);
+- llprintf(LOG_PTS, "pts = %lld vpts = %lld\n", buf->pts, vpts);
++ llprintf(LOG_PTS, "pts = %"PRId64" vpts = %"PRId64"\n", buf->pts, vpts);
+ vpts32 = vpts;
+ if (ioctl(this->fd_spu, EM8300_IOCTL_SPU_SETPTS, &vpts32))
+ xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG,
+Index: xine-lib-1.1.1/src/dxr3/dxr3_decode_video.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/dxr3/dxr3_decode_video.c
++++ xine-lib-1.1.1/src/dxr3/dxr3_decode_video.c
+@@ -583,7 +583,7 @@ static void dxr3_decode_data(video_decod
+
+ delay = vpts - this->class->clock->get_current_time(
+ this->class->clock);
+- llprintf(LOG_PTS, "SETPTS got %lld\n", vpts);
++ llprintf(LOG_PTS, "SETPTS got %"PRId64"\n", vpts);
+ /* SETPTS only if less then one second in the future and
+ * either buffer has pts or sync_every_frame is set */
+ if ((delay > 0) && (delay < 90000) &&
+@@ -597,13 +597,13 @@ static void dxr3_decode_data(video_decod
+
+ if (delay >= 90000) /* frame more than 1 sec ahead */
+ xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG,
+- "dxr3_decode_video: WARNING: vpts %lld is %.02f seconds ahead of time!\n",
++ "dxr3_decode_video: WARNING: vpts %"PRId64" is %.02f seconds ahead of time!\n",
+ vpts, delay/90000.0);
+ if (delay < 0)
+ xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, "dxr3_decode_video: WARNING: overdue frame.\n");
+ }
+ else if (buf->pts)
+- llprintf(LOG_PTS, "skip buf->pts = %lld (no vpts)\n", buf->pts);
++ llprintf(LOG_PTS, "skip buf->pts = %"PRId64" (no vpts)\n", buf->pts);
+
+ /* now write the content to the dxr3 mpeg device and, in a dramatic
+ * break with open source tradition, check the return value
+Index: xine-lib-1.1.1/src/xine-engine/load_plugins.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/xine-engine/load_plugins.c
++++ xine-lib-1.1.1/src/xine-engine/load_plugins.c
+@@ -794,8 +794,8 @@ static void save_plugin_list(FILE *fp, x
+
+ file = node->file;
+ fprintf(fp, "[%s]\n", file->filename );
+- fprintf(fp, "size=%llu\n", (uint64_t) file->filesize );
+- fprintf(fp, "mtime=%llu\n", (uint64_t) file->filemtime );
++ fprintf(fp, "size=%"PRIu64"\n", (uint64_t) file->filesize );
++ fprintf(fp, "mtime=%"PRIu64"\n", (uint64_t) file->filemtime );
+ fprintf(fp, "type=%d\n", node->info->type );
+ fprintf(fp, "api=%d\n", node->info->API );
+ fprintf(fp, "id=%s\n", node->info->id );
+@@ -913,10 +913,10 @@ static void load_plugin_list(FILE *fp, x
+ }
+ } else if (node) {
+ if( !strcmp("size",line) ) {
+- sscanf(value," %llu",&llu);
++ sscanf(value," %"PRIu64,&llu);
+ file->filesize = (off_t) llu;
+ } else if( !strcmp("mtime",line) ) {
+- sscanf(value," %llu",&llu);
++ sscanf(value," %"PRIu64,&llu);
+ file->filemtime = (time_t) llu;
+ } else if( !strcmp("type",line) ) {
+ sscanf(value," %d",&i);
+Index: xine-lib-1.1.1/src/xine-utils/memcpy.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/xine-utils/memcpy.c
++++ xine-lib-1.1.1/src/xine-utils/memcpy.c
+@@ -526,7 +526,7 @@ void xine_probe_fast_memcpy(xine_t *xine
+ t = rdtsc(config_flags) - t;
+ memcpy_method[i].time = t;
+
+- xprintf(xine, XINE_VERBOSITY_LOG, "\t%s : %lld\n", memcpy_method[i].name, t);
++ xprintf(xine, XINE_VERBOSITY_LOG, "\t%s : %"PRId64"\n", memcpy_method[i].name, t);
+
+ if( best == 0 || t < memcpy_method[best].time )
+ best = i;
+Index: xine-lib-1.1.1/src/demuxers/demux_avi.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/demuxers/demux_avi.c
++++ xine-lib-1.1.1/src/demuxers/demux_avi.c
+@@ -2145,7 +2145,7 @@ static int demux_avi_seek_internal (demu
+ * position we've already found, so we won't be seeking though the
+ * file much at this point. */
+
+- xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, "video_pts = %lld\n", video_pts);
++ xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, "video_pts = %"PRId64"\n", video_pts);
+
+ /* FIXME ? */
+ audio_pts = 77777777;
+Index: xine-lib-1.1.1/src/demuxers/demux_film.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/demuxers/demux_film.c
++++ xine-lib-1.1.1/src/demuxers/demux_film.c
+@@ -311,7 +311,7 @@ static int open_film_file(demux_film_t *
+ if (film->sample_table[j].pts > largest_pts)
+ largest_pts = film->sample_table[j].pts;
+
+- llprintf(DEBUG_FILM_LOAD, "sample %4d @ %8" PRIxMAX ", %8X bytes, %s, pts %lld, duration %lld%s\n",
++ llprintf(DEBUG_FILM_LOAD, "sample %4d @ %8" PRIxMAX ", %8X bytes, %s, pts %"PRId64", duration %"PRId64"%s\n",
+ j,
+ (intmax_t)film->sample_table[j].sample_offset,
+ film->sample_table[j].sample_size,
+@@ -473,7 +473,7 @@ static int demux_film_send_chunk(demux_p
+ if (!remaining_sample_bytes)
+ buf->decoder_flags |= BUF_FLAG_FRAME_END;
+
+- llprintf(DEBUG_FILM_DEMUX, "sending video buf with %d bytes, %lld pts, %d duration\n",
++ llprintf(DEBUG_FILM_DEMUX, "sending video buf with %d bytes, %"PRId64" pts, %d duration\n",
+ buf->size, buf->pts, buf->decoder_info[0]);
+ this->video_fifo->put(this->video_fifo, buf);
+ }
+@@ -517,7 +517,7 @@ static int demux_film_send_chunk(demux_p
+ if (!remaining_sample_bytes)
+ buf->decoder_flags |= BUF_FLAG_FRAME_END;
+
+- llprintf(DEBUG_FILM_DEMUX, "sending video buf with %d bytes, %lld pts, %d duration\n",
++ llprintf(DEBUG_FILM_DEMUX, "sending video buf with %d bytes, %"PRId64" pts, %d duration\n",
+ buf->size, buf->pts, buf->decoder_info[0]);
+ this->video_fifo->put(this->video_fifo, buf);
+ }
+@@ -577,7 +577,7 @@ static int demux_film_send_chunk(demux_p
+ if (!remaining_sample_bytes)
+ buf->decoder_flags |= BUF_FLAG_FRAME_END;
+
+- llprintf(DEBUG_FILM_DEMUX, "sending mono audio buf with %d bytes, %lld pts, %d duration\n",
++ llprintf(DEBUG_FILM_DEMUX, "sending mono audio buf with %d bytes, %"PRId64" pts, %d duration\n",
+ buf->size, buf->pts, buf->decoder_info[0]);
+ this->audio_fifo->put(this->audio_fifo, buf);
+
+@@ -648,7 +648,7 @@ static int demux_film_send_chunk(demux_p
+ if (!remaining_sample_bytes)
+ buf->decoder_flags |= BUF_FLAG_FRAME_END;
+
+- llprintf(DEBUG_FILM_DEMUX, "sending stereo audio buf with %d bytes, %lld pts, %d duration\n",
++ llprintf(DEBUG_FILM_DEMUX, "sending stereo audio buf with %d bytes, %"PRId64" pts, %d duration\n",
+ buf->size, buf->pts, buf->decoder_info[0]);
+ this->audio_fifo->put(this->audio_fifo, buf);
+ }
+Index: xine-lib-1.1.1/src/demuxers/demux_iff.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/demuxers/demux_iff.c
++++ xine-lib-1.1.1/src/demuxers/demux_iff.c
+@@ -927,7 +927,7 @@ static int demux_iff_send_chunk(demux_pl
+ buf->decoder_flags |= BUF_FLAG_FRAME_END;
+
+ xprintf (this->stream->xine, XINE_VERBOSITY_LOG,
+- "sending audio buf with %d bytes, %lld pts, %d duration\n",
++ "sending audio buf with %d bytes, %"PRId64" pts, %d duration\n",
+ buf->size, buf->pts, buf->decoder_info[0]);
+ this->audio_fifo->put(this->audio_fifo, buf);
+ }
+Index: xine-lib-1.1.1/src/demuxers/demux_matroska.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/demuxers/demux_matroska.c
++++ xine-lib-1.1.1/src/demuxers/demux_matroska.c
+@@ -1672,7 +1672,7 @@ static int parse_block (demux_matroska_t
+
+ if (!find_track_by_id(this, (int)track_num, &track)) {
+ xprintf(this->stream->xine, XINE_VERBOSITY_LOG,
+- "demux_matroska: invalid track id: %lld\n", track_num);
++ "demux_matroska: invalid track id: %"PRId64"\n", track_num);
+ return 0;
+ }
+
+Index: xine-lib-1.1.1/src/demuxers/demux_slave.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/demuxers/demux_slave.c
++++ xine-lib-1.1.1/src/demuxers/demux_slave.c
+@@ -123,7 +123,7 @@ static int demux_slave_next (demux_slave
+ int64_t disc_off; /* discontinuity offset */
+ uint32_t decoder_flags; /* stuff like keyframe, is_header ... see below */
+
+- if( sscanf(s,"fifo=%10s size=%d type=%u pts=%lld disc=%lld flags=%u",
++ if( sscanf(s,"fifo=%10s size=%d type=%u pts=%"PRId64" disc=%"PRId64" flags=%u",
+ fifo_name, &size, &type, &pts, &disc_off, &decoder_flags) != 6 ) {
+ lprintf("'buffer' command error\n");
+ this->status = DEMUX_FINISHED;
+Index: xine-lib-1.1.1/src/demuxers/ebml.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/demuxers/ebml.c
++++ xine-lib-1.1.1/src/demuxers/ebml.c
+@@ -231,7 +231,7 @@ int ebml_read_uint(ebml_parser_t *ebml,
+
+ if ((elem->len < 1) || (elem->len > 8)) {
+ xprintf(ebml->xine, XINE_VERBOSITY_LOG,
+- "ebml: Invalid integer element size %lld\n", size);
++ "ebml: Invalid integer element size %"PRId64"\n", size);
+ return 0;
+ }
+
+@@ -253,7 +253,7 @@ int ebml_read_sint (ebml_parser_t *ebml,
+
+ if ((elem->len < 1) || (elem->len > 8)) {
+ xprintf(ebml->xine, XINE_VERBOSITY_LOG,
+- "ebml: Invalid integer element size %lld\n", size);
++ "ebml: Invalid integer element size %"PRId64"\n", size);
+ return 0;
+ }
+
+@@ -281,7 +281,7 @@ int ebml_read_float (ebml_parser_t *ebml
+
+ if ((size != 4) && (size != 8) && (size != 10)) {
+ xprintf(ebml->xine, XINE_VERBOSITY_LOG,
+- "ebml: Invalid float element size %lld\n", size);
++ "ebml: Invalid float element size %"PRId64"\n", size);
+ return 0;
+ }
+
+Index: xine-lib-1.1.1/src/input/input_dvb.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/input/input_dvb.c
++++ xine-lib-1.1.1/src/input/input_dvb.c
+@@ -2406,7 +2406,7 @@ static off_t dvb_plugin_read (input_plug
+ return 0;
+ dvb_event_handler (this);
+ xprintf(this->class->xine,XINE_VERBOSITY_DEBUG,
+- "input_dvb: reading %lld bytes...\n", len);
++ "input_dvb: reading %"PRId64" bytes...\n", len);
+
+ #ifndef DVB_NO_BUFFERING
+ nbc_check_buffers (this->nbc);
+@@ -2459,7 +2459,7 @@ static off_t dvb_plugin_read (input_plug
+ }
+
+ xprintf(this->class->xine,XINE_VERBOSITY_DEBUG,
+- "input_dvb: got %lld bytes (%lld/%lld bytes read)\n",
++ "input_dvb: got %"PRId64" bytes (%"PRId64"/%"PRId64" bytes read)\n",
+ n, total,len);
+
+ if (n > 0){
+@@ -2517,7 +2517,7 @@ static off_t dvb_plugin_seek (input_plug
+
+ dvb_input_plugin_t *this = (dvb_input_plugin_t *) this_gen;
+
+- xprintf(this->class->xine,XINE_VERBOSITY_DEBUG,"seek %lld bytes, origin %d\n", offset, origin);
++ xprintf(this->class->xine,XINE_VERBOSITY_DEBUG,"seek %"PRId64" bytes, origin %d\n", offset, origin);
+
+ /* only relative forward-seeking is implemented */
+
+Index: xine-lib-1.1.1/src/input/input_pvr.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/input/input_pvr.c
++++ xine-lib-1.1.1/src/input/input_pvr.c
+@@ -646,7 +646,7 @@ static int pvr_rec_file(pvr_input_plugin
+ pos = (off_t)(this->rec_blk - this->page_block[this->rec_page]) * PVR_BLOCK_SIZE;
+ if( lseek (this->rec_fd, pos, SEEK_SET) != pos ) {
+ xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG,
+- "input_pvr: error setting position for writing %lld\n", pos);
++ "input_pvr: error setting position for writing %"PRId64"\n", pos);
+ return 0;
+ }
+ if( this->rec_fd != -1 ) {
+@@ -772,7 +772,7 @@ static int pvr_play_file(pvr_input_plugi
+ pos = (off_t)(this->play_blk - this->page_block[this->play_page]) * PVR_BLOCK_SIZE;
+ if( lseek (this->play_fd, pos, SEEK_SET) != pos ) {
+ xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG,
+- "input_pvr: error setting position for reading %lld\n", pos);
++ "input_pvr: error setting position for reading %"PRId64"\n", pos);
+ return 0;
+ }
+ if( read(this->play_fd, buffer, PVR_BLOCK_SIZE) < PVR_BLOCK_SIZE ) {
+Index: xine-lib-1.1.1/src/input/net_buf_ctrl.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/input/net_buf_ctrl.c
++++ xine-lib-1.1.1/src/input/net_buf_ctrl.c
+@@ -121,8 +121,8 @@ static void display_stats (nbc_t *this)
+ char *buffering[2] = {" ", "buf"};
+ char *enabled[2] = {"off", "on "};
+
+- printf("net_buf_ctrl: vid %3d%% %4.1fs %4lldkbps %1d, "\
+- "aud %3d%% %4.1fs %4lldkbps %1d, %s %s\r",
++ printf("net_buf_ctrl: vid %3d%% %4.1fs %4"PRId64"kbps %1d, "\
++ "aud %3d%% %4.1fs %4"PRId64"kbps %1d, %s %s\r",
+ this->video_fifo_fill,
+ (float)(this->video_fifo_length / 1000),
+ this->video_br / 1000,
diff --git a/src/patchsets/xine-lib/1.1.1/050_all_novell--alsa-resume-fix.patch b/src/patchsets/xine-lib/1.1.1/050_all_novell--alsa-resume-fix.patch
new file mode 100644
index 0000000000..f49da8defd
--- /dev/null
+++ b/src/patchsets/xine-lib/1.1.1/050_all_novell--alsa-resume-fix.patch
@@ -0,0 +1,50 @@
+Index: xine-lib-1.1.1/src/audio_out/audio_alsa_out.c
+===================================================================
+--- xine-lib-1.1.1.orig/src/audio_out/audio_alsa_out.c
++++ xine-lib-1.1.1/src/audio_out/audio_alsa_out.c
+@@ -719,6 +719,19 @@ static void xrun(alsa_driver_t *this)
+ #endif
+
+ /*
++ * resume from suspend
++ */
++static int resume(snd_pcm_t *pcm)
++{
++ int res;
++ while ((res = snd_pcm_resume(pcm)) == -EAGAIN)
++ sleep(1);
++ if (! res)
++ return 0;
++ return snd_pcm_prepare(pcm);
++}
++
++/*
+ * Write audio data to output buffer (blocking using snd_pcm_wait)
+ */
+ static int ao_alsa_write(ao_driver_t *this_gen, int16_t *data, uint32_t count) {
+@@ -742,6 +755,12 @@ static int ao_alsa_write(ao_driver_t *th
+ #endif
+ snd_pcm_status_alloca(&pcm_stat);
+ state = snd_pcm_state(this->audio_fd);
++ if (state == SND_PCM_STATE_SUSPENDED) {
++ res = resume(this->audio_fd);
++ if (res < 0)
++ return 0;
++ state = snd_pcm_state(this->audio_fd);
++ }
+ if (state == SND_PCM_STATE_XRUN) {
+ #ifdef LOG_DEBUG
+ printf("audio_alsa_out:write:XRUN before\n");
+@@ -791,6 +810,12 @@ static int ao_alsa_write(ao_driver_t *th
+ printf("audio_alsa_out:write:result=%ld:%s\n",result, snd_strerror(result));
+ #endif
+ state = snd_pcm_state(this->audio_fd);
++ if (state == SND_PCM_STATE_SUSPENDED) {
++ res = resume(this->audio_fd);
++ if (res < 0)
++ return 0;
++ continue;
++ }
+ if ( (state != SND_PCM_STATE_PREPARED) &&
+ (state != SND_PCM_STATE_RUNNING) &&
+ (state != SND_PCM_STATE_DRAINING) ) {
diff --git a/src/patchsets/xine-lib/1.1.1/060_all_Os.patch b/src/patchsets/xine-lib/1.1.1/060_all_Os.patch
new file mode 100644
index 0000000000..ff967da7fa
--- /dev/null
+++ b/src/patchsets/xine-lib/1.1.1/060_all_Os.patch
@@ -0,0 +1,14 @@
+Index: xine-lib-1.1.1/src/post/goom/Makefile.am
+===================================================================
+--- xine-lib-1.1.1.orig/src/post/goom/Makefile.am
++++ xine-lib-1.1.1/src/post/goom/Makefile.am
+@@ -5,7 +5,8 @@ libdir = $(XINE_PLUGINDIR)/post
+ EXTRA_DIST = mmx.c xmmx.c ppc_drawings.s ppc_zoom_ultimate.s diff_against_release.patch
+
+ ## -fomit-frame-pointer segfaults here
+-CFLAGS = `echo @CFLAGS@ | sed -e 's/-fomit-frame-pointer//g;s/-Os//g'`
++## Use -O2 if -Os is stripped or x86 does not build
++CFLAGS = `echo @CFLAGS@ | sed -e 's/-fomit-frame-pointer//g;s/-Os/-O2/g'`
+
+ lib_LTLIBRARIES = xineplug_post_goom.la
+
diff --git a/src/patchsets/xine-lib/1.1.1/series b/src/patchsets/xine-lib/1.1.1/series
new file mode 100644
index 0000000000..34a9bc0446
--- /dev/null
+++ b/src/patchsets/xine-lib/1.1.1/series
@@ -0,0 +1,6 @@
+010_all_pic.patch
+020_all_fbsd-sdl.patch
+030_all_vidix-gcc4.patch
+040_all_format.patch
+050_all_novell--alsa-resume-fix.patch
+060_all_Os.patch