# HG changeset patch # User Mark Brand # Date 1321182674 -3600 # Node ID a5ea5f98cbe3cd246f645f9869f1ea5ca6b9e8c5 # Parent dbc7168d790c87a1249675f58fb53dd4b072b8fa update package xine-lib diff -r dbc7168d790c -r a5ea5f98cbe3 src/xine-lib-1-fix-install-def-file.patch --- a/src/xine-lib-1-fix-install-def-file.patch Sat Nov 12 22:50:10 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -This file is part of mingw-cross-env. -See doc/index.html for further information. - -diff -r 42ff50f9d875 src/xine-engine/Makefile.am ---- a/src/xine-engine/Makefile.am Mon Apr 26 17:53:49 2010 +0200 -+++ b/src/xine-engine/Makefile.am Tue Apr 27 11:57:54 2010 +0200 -@@ -45,10 +45,10 @@ - - if WIN32 - install-exec-local: -- cp -p $(DEF_FILE) $(DESTDIR)$(libdir) -+ -cp -p $(DEF_FILE) $(DESTDIR)$(libdir) - - uninstall-local: -- rm -f $(DEF_FILE) -+ -rm -f $(DESTDIR)$(libdir)/$(DEF_FILE) - endif - - $(XINEUTILS_LIB): -diff -r 42ff50f9d875 src/xine-engine/Makefile.in ---- a/src/xine-engine/Makefile.in Mon Apr 26 17:53:49 2010 +0200 -+++ b/src/xine-engine/Makefile.in Tue Apr 27 11:57:54 2010 +0200 -@@ -898,10 +898,10 @@ - $(MAKE) -C $(top_builddir)/lib libxineposix.la - - @WIN32_TRUE@install-exec-local: --@WIN32_TRUE@ cp -p $(DEF_FILE) $(DESTDIR)$(libdir) -+@WIN32_TRUE@ -cp -p $(DEF_FILE) $(DESTDIR)$(libdir) - - @WIN32_TRUE@uninstall-local: --@WIN32_TRUE@ rm -f $(DEF_FILE) -+@WIN32_TRUE@ -rm -f $(DESTDIR)$(libdir)/$(DEF_FILE) - - $(XINEUTILS_LIB): - $(MAKE) -C $(top_builddir)/src/xine-utils libxineutils.la diff -r dbc7168d790c -r a5ea5f98cbe3 src/xine-lib-1-fixes.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/xine-lib-1-fixes.patch Sun Nov 13 12:11:14 2011 +0100 @@ -0,0 +1,92 @@ +This file is part of mingw-cross-env. +See doc/index.html for further information. + +Contains ad hoc patches for cross building. + +From 10c6f4cb18b2b8e710a89ac36e360f3bb414a81c Mon Sep 17 00:00:00 2001 +From: mingw-cross-env +Date: Sun, 13 Nov 2011 11:48:07 +0100 +Subject: [PATCH 1/3] fix-install-def-file + + +diff --git a/src/xine-engine/Makefile.am b/src/xine-engine/Makefile.am +index 67ae63f..0f94abf 100644 +--- a/src/xine-engine/Makefile.am ++++ b/src/xine-engine/Makefile.am +@@ -45,10 +45,10 @@ noinst_HEADERS = bswap.h ffmpeg_bswap.h xine_private.h + + if WIN32 + install-exec-local: +- cp -p $(DEF_FILE) $(DESTDIR)$(libdir) ++ -cp -p $(DEF_FILE) $(DESTDIR)$(libdir) + + uninstall-local: +- rm -f $(DEF_FILE) ++ -rm -f $(DESTDIR)$(libdir)/$(DEF_FILE) + endif + + $(XINEUTILS_LIB): +diff --git a/src/xine-engine/Makefile.in b/src/xine-engine/Makefile.in +index 167a32b..0664e1f 100644 +--- a/src/xine-engine/Makefile.in ++++ b/src/xine-engine/Makefile.in +@@ -905,10 +905,10 @@ $(LIBXINEPOSIX): + $(MAKE) -C $(top_builddir)/lib libxineposix.la + + @WIN32_TRUE@install-exec-local: +-@WIN32_TRUE@ cp -p $(DEF_FILE) $(DESTDIR)$(libdir) ++@WIN32_TRUE@ -cp -p $(DEF_FILE) $(DESTDIR)$(libdir) + + @WIN32_TRUE@uninstall-local: +-@WIN32_TRUE@ rm -f $(DEF_FILE) ++@WIN32_TRUE@ -rm -f $(DESTDIR)$(libdir)/$(DEF_FILE) + + $(XINEUTILS_LIB): + $(MAKE) -C $(top_builddir)/src/xine-utils libxineutils.la +-- +1.7.7 + + +From 536bda7f4b05f9a70bfbeca9578565a03b54c94e Mon Sep 17 00:00:00 2001 +From: mingw-cross-env +Date: Sun, 13 Nov 2011 12:05:22 +0100 +Subject: [PATCH 2/3] fake missing definitions for WIN32 + +Taken from: +https://bugs.xine-project.org/show_bug.cgi?id=433 + +diff --git a/src/audio_out/audio_file_out.c b/src/audio_out/audio_file_out.c +index 0895a2e..51f8855 100644 +--- a/src/audio_out/audio_file_out.c ++++ b/src/audio_out/audio_file_out.c +@@ -40,6 +40,18 @@ + + #define GAP_TOLERANCE INT_MAX + ++#ifdef WIN32 ++#ifndef S_IWUSR ++#define S_IWUSR 0x0000 ++#endif ++#ifndef S_IRGRP ++#define S_IRGRP 0x0000 ++#endif ++#ifndef S_IROTH ++#define S_IROTH 0x0000 ++#endif ++#endif ++ + /* Taken (hStudlyCapsAndAll) from sox's wavwritehdr */ + + struct wavhdr { +@@ -116,7 +128,6 @@ static int ao_file_open(ao_driver_t *this_gen, uint32_t bits, uint32_t rate, int + this->fname = "xine-out.wav"; + + this->fd = xine_create_cloexec(this->fname, O_WRONLY|O_TRUNC, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); +- + if (this->fd == -1) { + xprintf (this->xine, XINE_VERBOSITY_LOG, "audio_file_out: Failed to open file '%s': %s\n", + this->fname, strerror(errno)); +-- +1.7.7 + + diff -r dbc7168d790c -r a5ea5f98cbe3 src/xine-lib-2-fix-no-undefined.patch --- a/src/xine-lib-2-fix-no-undefined.patch Sat Nov 12 22:50:10 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -# This file is part of mingw-cross-env. -# See doc/index.html for further information. - -This patch has been taken from: -https://bugs.xine-project.org/show_bug.cgi?id=411 - -diff --git a/configure.ac b/configure.ac -index dc53a73..90f23a8 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -281,7 +281,6 @@ case "$host_os" in - GOOM_LIBS="-liberty" - LDFLAGS="-Wl,--enable-stdcall-fixup $LDFLAGS" - fi -- LDFLAGS="-no-undefined $LDFLAGS" - ;; - esac - AC_SUBST(GOOM_LIBS) -@@ -2877,6 +2876,19 @@ mv -f libtool.tmp libtool - chmod +x libtool - - dnl --------------------------------------------- -+dnl Libtool flag for Windows: -+dnl -+dnl The "-no-undefined" flag must be added after all other -+dnl configure checks, because it is only for libtool and -+dnl must not be passed to GCC by accident. -+dnl --------------------------------------------- -+case "$host_os" in -+ mingw* | cygwin*) -+ LDFLAGS="-no-undefined $LDFLAGS" -+ ;; -+esac -+ -+dnl --------------------------------------------- - dnl Some infos: - dnl --------------------------------------------- - diff -r dbc7168d790c -r a5ea5f98cbe3 src/xine-lib-3-ffmpeg-0.8.patch --- a/src/xine-lib-3-ffmpeg-0.8.patch Sat Nov 12 22:50:10 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,109 +0,0 @@ -This file is part of mingw-cross-env. -See doc/index.html for further information. - -This patch taken from: -http://www.nntpnews.info/threads/20303026-packages-xine-lib-xine-lib.spec-xine-lib-xine-lib-ffmpeg-0.8.patch-%28NEW%29-UTF-8-Q-20-... - -diff -urN a/src/combined/ffmpeg/ff_audio_decoder.c b/src/combined/ffmpeg/ff_audio_decoder.c ---- a/src/combined/ffmpeg/ff_audio_decoder.c 2010-03-23 16:41:49.000000000 +0100 -+++ b/src/combined/ffmpeg/ff_audio_decoder.c 2011-07-11 10:48:48.967401526 +0200 -@@ -255,6 +255,7 @@ - buf->decoder_info[2]); - - } else if (!(buf->decoder_flags & BUF_FLAG_SPECIAL)) { -+ AVPacket avpkt; - - if( !this->decoder_ok ) { - if ( ! this->context || ! this->codec ) { -@@ -286,11 +287,13 @@ - if (!this->output_open) { - if (!this->audio_bits || !this->audio_sample_rate || !this->audio_channels) { - decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE; -- avcodec_decode_audio2 (this->context, -- (int16_t *)this->decode_buffer, -- &decode_buffer_size, -- &this->buf[0], -- this->size); -+ av_init_packet(&avpkt); -+ avpkt.data = (uint8_t *)&this->buf[0]; -+ avpkt.size = this->size; -+ avpkt.flags = AV_PKT_FLAG_KEY; -+ avcodec_decode_audio3 (this->context, -+ (int16_t *)this->decode_buffer, -+ &decode_buffer_size, &avpkt); - this->audio_bits = this->context->bits_per_sample; - this->audio_sample_rate = this->context->sample_rate; - this->audio_channels = this->context->channels; -@@ -311,11 +314,13 @@ - offset = 0; - while (this->size>0) { - decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE; -- bytes_consumed = avcodec_decode_audio2 (this->context, -- (int16_t *)this->decode_buffer, -- &decode_buffer_size, -- &this->buf[offset], -- this->size); -+ av_init_packet(&avpkt); -+ avpkt.data = (uint8_t *)&this->buf[offset]; -+ avpkt.size = this->size; -+ avpkt.flags = AV_PKT_FLAG_KEY; -+ bytes_consumed = avcodec_decode_audio3 (this->context, -+ (int16_t *)this->decode_buffer, -+ &decode_buffer_size, &avpkt); - - if (bytes_consumed<0) { - xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, -diff -urN a/src/combined/ffmpeg/ff_video_decoder.c b/src/combined/ffmpeg/ff_video_decoder.c ---- a/src/combined/ffmpeg/ff_video_decoder.c 2010-03-10 20:07:15.000000000 +0100 -+++ b/src/combined/ffmpeg/ff_video_decoder.c 2011-07-11 10:48:48.967401526 +0200 -@@ -1055,12 +1055,16 @@ - } - - /* skip decoding b frames if too late */ -- this->context->hurry_up = (this->skipframes > 0); -+ this->context->skip_frame = (this->skipframes > 0) ? AVDISCARD_NONREF : AVDISCARD_DEFAULT; - - lprintf("avcodec_decode_video: size=%d\n", this->mpeg_parser->buffer_size); -- len = avcodec_decode_video (this->context, this->av_frame, -- &got_picture, this->mpeg_parser->chunk_buffer, -- this->mpeg_parser->buffer_size); -+ AVPacket avpkt; -+ av_init_packet(&avpkt); -+ avpkt.data = (uint8_t *)this->mpeg_parser->chunk_buffer; -+ avpkt.size = this->mpeg_parser->buffer_size; -+ avpkt.flags = AV_PKT_FLAG_KEY; -+ len = avcodec_decode_video2 (this->context, this->av_frame, -+ &got_picture, &avpkt); - lprintf("avcodec_decode_video: decoded_size=%d, got_picture=%d\n", - len, got_picture); - len = current - buf->content - offset; -@@ -1112,7 +1116,7 @@ - - } else { - -- if (this->context->hurry_up) { -+ if (this->context->skip_frame != AVDISCARD_DEFAULT) { - /* skipped frame, output a bad frame */ - img = this->stream->video_out->get_frame (this->stream->video_out, - this->bih.biWidth, -@@ -1304,12 +1308,16 @@ - got_picture = 0; - } else { - /* skip decoding b frames if too late */ -- this->context->hurry_up = (this->skipframes > 0); -+ this->context->skip_frame = (this->skipframes > 0) ? AVDISCARD_NONREF : AVDISCARD_DEFAULT; - - lprintf("buffer size: %d\n", this->size); -- len = avcodec_decode_video (this->context, this->av_frame, -- &got_picture, &chunk_buf[offset], -- this->size); -+ AVPacket avpkt; -+ av_init_packet(&avpkt); -+ avpkt.data = (uint8_t *)&chunk_buf[offset]; -+ avpkt.size = this->size; -+ avpkt.flags = AV_PKT_FLAG_KEY; -+ len = avcodec_decode_video2 (this->context, this->av_frame, -+ &got_picture, &avpkt); - - #ifdef AVCODEC_HAS_REORDERED_OPAQUE - /* reset consumed pts value */ diff -r dbc7168d790c -r a5ea5f98cbe3 src/xine-lib-4-mng.patch --- a/src/xine-lib-4-mng.patch Sat Nov 12 22:50:10 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -This file is part of mingw-cross-env. -See doc/index.html for further information. - -This patch taken from: -https://bugs.xine-project.org/show_bug.cgi?id=430 - -From 937ff31c13b06d22a094d6a91d2ae33471f2bc58 Mon Sep 17 00:00:00 2001 -From: Mark Brand -Date: Thu, 3 Nov 2011 23:48:50 +0100 -Subject: [PATCH] fix include order to avoid conflicting INT32 - -basetsd.h and jmorecfg.h both define INT32, but jmorecfg.h checks. -libmng.h introduces jmorecfg.h and so it must follow xine_internal.h -which introduces basetsd.h. ---- - src/demuxers/demux_mng.c | 4 ++-- - 1 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/demuxers/demux_mng.c b/src/demuxers/demux_mng.c -index 2fccd0b..bf4dfec 100644 ---- a/src/demuxers/demux_mng.c -+++ b/src/demuxers/demux_mng.c -@@ -38,8 +38,6 @@ - #undef HAVE_STDLIB_H - #endif - --#include -- - #define LOG_MODULE "demux_mng" - #define LOG_VERBOSE - /* -@@ -50,6 +48,8 @@ - #include "xineutils.h" - #include "demux.h" - -+#include -+ - typedef struct { - demux_plugin_t demux_plugin; - --- -1.7.7 - diff -r dbc7168d790c -r a5ea5f98cbe3 src/xine-lib.mk --- a/src/xine-lib.mk Sat Nov 12 22:50:10 2011 +0100 +++ b/src/xine-lib.mk Sun Nov 13 12:11:14 2011 +0100 @@ -4,8 +4,8 @@ # xine-lib PKG := xine-lib $(PKG)_IGNORE := -$(PKG)_VERSION := 1.1.19 -$(PKG)_CHECKSUM := 5afcc28c5cf2bdaab99d951960f6587797e1e5a0 +$(PKG)_VERSION := 1.1.20 +$(PKG)_CHECKSUM := 60ce1cea9bf7a6b7d8c60141593a8ed0c54f9445 $(PKG)_SUBDIR := $(PKG)-$($(PKG)_VERSION) $(PKG)_FILE := $(PKG)-$($(PKG)_VERSION).tar.bz2 $(PKG)_WEBSITE := http://www.xine-project.org/