libxine-x11: Add a patch tto fix gcc4 compilcation, fixes bug #694, thanks to Mikko...
authorJustin Patrin <papercrane@gmail.com>
Fri, 17 Feb 2006 19:07:52 +0000 (19:07 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Fri, 17 Feb 2006 19:07:52 +0000 (19:07 +0000)
packages/libxine/libxine-x11-1.0/libxine-gcc4.patch [new file with mode: 0644]
packages/libxine/libxine-x11_1.0.bb

diff --git a/packages/libxine/libxine-x11-1.0/libxine-gcc4.patch b/packages/libxine/libxine-x11-1.0/libxine-gcc4.patch
new file mode 100644 (file)
index 0000000..0a370b9
--- /dev/null
@@ -0,0 +1,138 @@
+--- xine-lib-1.0.orig/src/xine-engine/post.c   2004-10-17 22:14:30.000000000 +0300
++++ xine-lib-1.0/src/xine-engine/post.c        2006-02-09 22:15:08.000000000 +0200
+@@ -241,7 +241,7 @@
+     if (!*input) return port;
+     (*input)->xine_in.name = "video in";
+     (*input)->xine_in.type = XINE_POST_DATA_VIDEO;
+-    (xine_video_port_t *)(*input)->xine_in.data = &port->new_port;
++    (*input)->xine_in.data = &port->new_port;
+     (*input)->post = post;
+     xine_list_append_content(post->input, *input);
+   }
+@@ -251,7 +251,7 @@
+     if (!*output) return port;
+     (*output)->xine_out.name = "video out";
+     (*output)->xine_out.type = XINE_POST_DATA_VIDEO;
+-    (xine_video_port_t **)(*output)->xine_out.data = &port->original_port;
++    (*output)->xine_out.data = &port->original_port;
+     (*output)->xine_out.rewire = post_video_rewire;
+     (*output)->post = post;
+     (*output)->user_data = port;
+@@ -718,7 +718,7 @@
+     if (!*input) return port;
+     (*input)->xine_in.name = "audio in";
+     (*input)->xine_in.type = XINE_POST_DATA_AUDIO;
+-    (xine_audio_port_t *)(*input)->xine_in.data = &port->new_port;
++    (*input)->xine_in.data = &port->new_port;
+     (*input)->post = post;
+     xine_list_append_content(post->input, *input);
+   }
+@@ -728,7 +728,7 @@
+     if (!*output) return port;
+     (*output)->xine_out.name = "audio out";
+     (*output)->xine_out.type = XINE_POST_DATA_AUDIO;
+-    (xine_audio_port_t **)(*output)->xine_out.data = &port->original_port;
++    (*output)->xine_out.data = &port->original_port;
+     (*output)->xine_out.rewire = post_audio_rewire;
+     (*output)->post = post;
+     (*output)->user_data = port;
+--- xine-lib-1.0.orig/src/xine-utils/color.c   2003-12-09 02:02:38.000000000 +0200
++++ xine-lib-1.0/src/xine-utils/color.c        2006-02-09 22:13:36.000000000 +0200
+@@ -495,8 +495,10 @@
+   /* process blocks of 4 pixels */
+   for (x=0; x < (width / 4); x++) {
+-    n1  = *(((unsigned int *) src1)++);
+-    n2  = *(((unsigned int *) src2)++);
++    n1  = *((unsigned int *) src1);
++    src1+=sizeof(unsigned int);
++    n2  = *((unsigned int *) src2);
++    src2+=sizeof(unsigned int);
+     n3  = (n1 & 0xFF00FF00) >> 8;
+     n4  = (n2 & 0xFF00FF00) >> 8;
+     n1 &= 0x00FF00FF;
+--- xine-lib-1.0.orig/src/libffmpeg/libavcodec/avcodec.h       2004-05-30 22:24:19.000000000 +0300
++++ xine-lib-1.0/src/libffmpeg/libavcodec/avcodec.h    2006-02-09 22:33:27.000000000 +0200
+@@ -1639,6 +1639,13 @@
+ #define FF_OPT_MAX_DEPTH 10
+ } AVOption;
+
++#ifdef HAVE_MMX
++extern const struct AVOption avoptions_common[3 + 5];
++#else
++extern const struct AVOption avoptions_common[3];
++#endif
++extern const struct AVOption avoptions_workaround_bug[11];
++
+ /**
+  * Parse option(s) and sets fields in passed structure
+  * @param strct  structure where the parsed results will be written
+--- xine-lib-1.0.orig/src/libffmpeg/libavcodec/common.h        2004-05-30 22:24:19.000000000 +0300
++++ xine-lib-1.0/src/libffmpeg/libavcodec/common.h     2006-02-09 22:32:56.000000000 +0200
+@@ -66,13 +66,13 @@
+ #define AVOPTION_SUB(ptr) { .name = NULL, .help = (const char*)ptr }
+ #define AVOPTION_END() AVOPTION_SUB(NULL)
+-struct AVOption;
++/*struct AVOption;
+ #ifdef HAVE_MMX
+ extern const struct AVOption avoptions_common[3 + 5];
+ #else
+ extern const struct AVOption avoptions_common[3];
+ #endif
+-extern const struct AVOption avoptions_workaround_bug[11];
++extern const struct AVOption avoptions_workaround_bug[11];*/
+ #endif /* HAVE_AV_CONFIG_H */
+--- xine-lib-1.0.orig/src/libffmpeg/libavcodec/mpegvideo.h     2004-05-30 22:24:22.000000000 +0300
++++ xine-lib-1.0/src/libffmpeg/libavcodec/mpegvideo.h  2006-02-09 22:35:54.000000000 +0200
+@@ -904,7 +904,7 @@
+ int ff_h263_resync(MpegEncContext *s);
+ int ff_h263_get_gob_height(MpegEncContext *s);
+ int ff_mpeg4_set_direct_mv(MpegEncContext *s, int mx, int my);
+-int ff_h263_round_chroma(int x);
++/*int ff_h263_round_chroma(int x);*/
+ void ff_h263_encode_motion(MpegEncContext * s, int val, int f_code);
+ int ff_mpeg4_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size);
+--- xine-lib-1.0.orig/src/libxineadec/nosefart/nes_apu.c       2004-12-12 08:55:59.000000000 +0200
++++ xine-lib-1.0/src/libxineadec/nosefart/nes_apu.c    2006-02-11 22:42:29.000000000 +0200
+@@ -1012,9 +1012,15 @@
+       /* signed 16-bit output, unsigned 8-bit */
+       if (16 == apu->sample_bits)
+-         *((int16 *) buffer)++ = (int16) accum;
++      {
++         *((int16 *) buffer) = (int16) accum;
++         buffer=((int16 *)buffer)+1;
++      }
+       else
+-         *((uint8 *) buffer)++ = (accum >> 8) ^ 0x80;
++      {
++         *((uint8 *) buffer) = (accum >> 8) ^ 0x80;
++         buffer=((int8 *)buffer)+1;
++      }
+    }
+    /* resync cycle counter */
+--- xine-lib-1.0.orig/src/post/audio/stretch.c 2004-10-30 02:11:38.000000000 +0300
++++ xine-lib-1.0/src/post/audio/stretch.c      2006-02-11 22:45:14.000000000 +0200
+@@ -476,7 +476,7 @@
+     memcpy( outbuf->mem, data_out, 
+             outbuf->num_frames * this->bytes_per_frame );
+     num_frames_out -= outbuf->num_frames;
+-    (uint8_t *)data_out += outbuf->num_frames * this->bytes_per_frame;
++    data_out = (uint8_t *)data_out + outbuf->num_frames * this->bytes_per_frame;
+                 
+     outbuf->vpts        = this->pts;
+     this->pts           = 0;
+@@ -587,7 +587,7 @@
+     memcpy( (uint8_t *)this->audiofrag + this->num_frames * this->bytes_per_frame,
+             data_in, frames_to_copy * this->bytes_per_frame );
+     
+-    (uint8_t *)data_in += frames_to_copy * this->bytes_per_frame;
++    data_in = (uint8_t *)data_in + frames_to_copy * this->bytes_per_frame;
+     this->num_frames += frames_to_copy;
+     buf->num_frames -= frames_to_copy;
index fe809c1..b8f22e7 100644 (file)
@@ -21,7 +21,8 @@ SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/xine/xine-lib-${PV}.tar.
        file://fix-syntax-xine-vorbis-decoder.patch;patch=1 \
        file://libxine-cut-memusage.patch;patch=1 \
        file://mpegvideo-static-inlinine.patch;patch=1 \
-       file://libxine-libavcodec.patch;patch=1"
+       file://libxine-libavcodec.patch;patch=1 \
+    file://libxine-gcc4.patch;patch=1"
 S = "${WORKDIR}/xine-lib-${PV}"
 
 SOV = "1.0.7"