From 917c32e14a416be6bf78d69554c21901a0cde732 Mon Sep 17 00:00:00 2001 From: Justin Patrin Date: Fri, 17 Feb 2006 19:07:52 +0000 Subject: libxine-x11: Add a patch tto fix gcc4 compilcation, fixes bug #694, thanks to Mikko Rasa --- .../libxine/libxine-x11-1.0/libxine-gcc4.patch | 138 +++++++++++++++++++++ packages/libxine/libxine-x11_1.0.bb | 3 +- 2 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 packages/libxine/libxine-x11-1.0/libxine-gcc4.patch (limited to 'packages/libxine') 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 index 0000000000..0a370b9579 --- /dev/null +++ b/packages/libxine/libxine-x11-1.0/libxine-gcc4.patch @@ -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; + diff --git a/packages/libxine/libxine-x11_1.0.bb b/packages/libxine/libxine-x11_1.0.bb index fe809c1248..b8f22e7dc4 100644 --- a/packages/libxine/libxine-x11_1.0.bb +++ b/packages/libxine/libxine-x11_1.0.bb @@ -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" -- cgit v1.2.3