Changes of Revision 44
[-] [+] | Changed | xine-lib.spec |
[-] [+] | Changed | vdr-xine-0.8.2.diff.bz2 ^ |
@@ -1,7 +1,8 @@ -diff -uNr xine-lib.orig/configure.ac xine-lib/configure.ac ---- xine-lib.orig/configure.ac 2008-03-04 20:22:53.000000000 +0100 -+++ xine-lib/configure.ac 2008-03-11 19:40:02.000000000 +0100 -@@ -2749,6 +2749,7 @@ +Index: xine-lib-1.1.12/configure.ac +=================================================================== +--- xine-lib-1.1.12.orig/configure.ac ++++ xine-lib-1.1.12/configure.ac +@@ -2765,6 +2765,7 @@ src/video_out/vidix/Makefile src/video_out/vidix/drivers/Makefile src/xine-utils/Makefile src/xine-engine/Makefile @@ -9,7 +10,7 @@ win32/Makefile win32/include/Makefile]) AC_CONFIG_COMMANDS([default],[[chmod +x ./misc/SlackBuild ./misc/build_rpms.sh ./misc/relchk.sh]],[[]]) -@@ -2791,7 +2792,7 @@ +@@ -2807,7 +2808,7 @@ echo " - file - net" echo " - stdin_fifo - rtp" echo " - http - mms" echo " - pnm - rtsp" @@ -18,7 +19,7 @@ if test "x$external_dvdnav" = "xyes"; then echo " - dvd (external libs)" else -@@ -2996,6 +2997,7 @@ +@@ -3012,6 +3013,7 @@ echo " - invert - expand" echo " - eq - eq2" echo " - boxblur - denoise3d" echo " - unsharp - tvtime" @@ -26,19 +27,39 @@ echo " * SFX:" echo " - goom - oscope" echo " - fftscope - mosaico" -diff -uNr xine-lib.orig/src/Makefile.am xine-lib/src/Makefile.am ---- xine-lib.orig/src/Makefile.am 2007-04-17 20:46:41.000000000 +0200 -+++ xine-lib/src/Makefile.am 2008-03-11 19:40:02.000000000 +0100 -@@ -26,4 +26,5 @@ +Index: xine-lib-1.1.12/src/Makefile.am +=================================================================== +--- xine-lib-1.1.12.orig/src/Makefile.am ++++ xine-lib-1.1.12/src/Makefile.am +@@ -26,4 +26,5 @@ SUBDIRS = \ libfaad \ libmusepack \ post \ - combined + combined \ + vdr -diff -uNr xine-lib.orig/src/vdr/combined_vdr.c xine-lib/src/vdr/combined_vdr.c ---- xine-lib.orig/src/vdr/combined_vdr.c 1970-01-01 01:00:00.000000000 +0100 -+++ xine-lib/src/vdr/combined_vdr.c 2008-03-11 19:40:02.000000000 +0100 +Index: xine-lib-1.1.12/src/vdr/Makefile.am +=================================================================== +--- /dev/null ++++ xine-lib-1.1.12/src/vdr/Makefile.am +@@ -0,0 +1,13 @@ ++include $(top_srcdir)/misc/Makefile.common ++ ++AM_CFLAGS = -D_LARGEFILE64_SOURCE ++ ++xineplug_LTLIBRARIES = \ ++ xineplug_vdr.la ++ ++xineplug_vdr_la_SOURCES = combined_vdr.c input_vdr.c post_vdr_video.c post_vdr_audio.c ++xineplug_vdr_la_LIBADD = $(XINE_LIB) ++xineplug_vdr_la_LDFLAGS = -avoid-version -module @IMPURE_TEXT_LDFLAGS@ ++ ++xineinclude_HEADERS = vdr.h ++noinst_HEADERS = combined_vdr.h +Index: xine-lib-1.1.12/src/vdr/combined_vdr.c +=================================================================== +--- /dev/null ++++ xine-lib-1.1.12/src/vdr/combined_vdr.c @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2000-2004 the xine project @@ -84,9 +105,10 @@ + { PLUGIN_NONE , 0, "" , 0 , NULL , NULL } +}; + -diff -uNr xine-lib.orig/src/vdr/combined_vdr.h xine-lib/src/vdr/combined_vdr.h ---- xine-lib.orig/src/vdr/combined_vdr.h 1970-01-01 01:00:00.000000000 +0100 -+++ xine-lib/src/vdr/combined_vdr.h 2008-03-11 19:40:02.000000000 +0100 +Index: xine-lib-1.1.12/src/vdr/combined_vdr.h +=================================================================== +--- /dev/null ++++ xine-lib-1.1.12/src/vdr/combined_vdr.h @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2000-2004 the xine project @@ -180,9 +202,10 @@ + +#endif /* __COMBINED_VDR_H */ + -diff -uNr xine-lib.orig/src/vdr/input_vdr.c xine-lib/src/vdr/input_vdr.c ---- xine-lib.orig/src/vdr/input_vdr.c 1970-01-01 01:00:00.000000000 +0100 -+++ xine-lib/src/vdr/input_vdr.c 2008-03-11 19:41:31.000000000 +0100 +Index: xine-lib-1.1.12/src/vdr/input_vdr.c +=================================================================== +--- /dev/null ++++ xine-lib-1.1.12/src/vdr/input_vdr.c @@ -0,0 +1,2214 @@ +/* + * Copyright (C) 2003-2004 the xine project @@ -237,7 +260,7 @@ + + +#define VDR_MAX_NUM_WINDOWS 16 -+#define VDR_ABS_FIFO_DIR "/var/lib/vdr-xine" ++#define VDR_ABS_FIFO_DIR "/tmp/vdr-xine" + +#define BUF_SIZE 1024 + @@ -887,7 +910,7 @@ + + if (this->trick_speed_mode != data->on) + { -+fprintf(stderr, "���������������������������������\n"); ++fprintf(stderr, "ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß\n"); + this->trick_speed_mode = data->on; + + _x_demux_seek(this->stream, 0, 0, 0); @@ -2398,26 +2421,10 @@ + + return this; +} -diff -uNr xine-lib.orig/src/vdr/Makefile.am xine-lib/src/vdr/Makefile.am ---- xine-lib.orig/src/vdr/Makefile.am 1970-01-01 01:00:00.000000000 +0100 -+++ xine-lib/src/vdr/Makefile.am 2008-03-11 19:40:02.000000000 +0100 -@@ -0,0 +1,13 @@ -+include $(top_srcdir)/misc/Makefile.common -+ -+AM_CFLAGS = -D_LARGEFILE64_SOURCE -+ -+xineplug_LTLIBRARIES = \ -+ xineplug_vdr.la -+ -+xineplug_vdr_la_SOURCES = combined_vdr.c input_vdr.c post_vdr_video.c post_vdr_audio.c -+xineplug_vdr_la_LIBADD = $(XINE_LIB) -+xineplug_vdr_la_LDFLAGS = -avoid-version -module @IMPURE_TEXT_LDFLAGS@ -+ -+xineinclude_HEADERS = vdr.h -+noinst_HEADERS = combined_vdr.h -diff -uNr xine-lib.orig/src/vdr/post_vdr_audio.c xine-lib/src/vdr/post_vdr_audio.c ---- xine-lib.orig/src/vdr/post_vdr_audio.c 1970-01-01 01:00:00.000000000 +0100 -+++ xine-lib/src/vdr/post_vdr_audio.c 2008-03-11 19:40:02.000000000 +0100 +Index: xine-lib-1.1.12/src/vdr/post_vdr_audio.c +=================================================================== +--- /dev/null ++++ xine-lib-1.1.12/src/vdr/post_vdr_audio.c @@ -0,0 +1,285 @@ +/* + * Copyright (C) 2000-2004 the xine project @@ -2704,9 +2711,10 @@ + + return; +} -diff -uNr xine-lib.orig/src/vdr/post_vdr_video.c xine-lib/src/vdr/post_vdr_video.c ---- xine-lib.orig/src/vdr/post_vdr_video.c 1970-01-01 01:00:00.000000000 +0100 -+++ xine-lib/src/vdr/post_vdr_video.c 2008-03-11 19:40:02.000000000 +0100 +Index: xine-lib-1.1.12/src/vdr/post_vdr_video.c +=================================================================== +--- /dev/null ++++ xine-lib-1.1.12/src/vdr/post_vdr_video.c @@ -0,0 +1,502 @@ +/* + * Copyright (C) 2000-2004 the xine project @@ -3210,9 +3218,10 @@ + + return skip; +} -diff -uNr xine-lib.orig/src/vdr/vdr.h xine-lib/src/vdr/vdr.h ---- xine-lib.orig/src/vdr/vdr.h 1970-01-01 01:00:00.000000000 +0100 -+++ xine-lib/src/vdr/vdr.h 2008-03-11 19:40:02.000000000 +0100 +Index: xine-lib-1.1.12/src/vdr/vdr.h +=================================================================== +--- /dev/null ++++ xine-lib-1.1.12/src/vdr/vdr.h @@ -0,0 +1,617 @@ +/* + * Copyright (C) 2000-2004 the xine project @@ -3831,10 +3840,11 @@ + +#endif /* __VDR_H */ + -diff -uNr xine-lib.orig/src/video_out/video_out_xvmc.c xine-lib/src/video_out/video_out_xvmc.c ---- xine-lib.orig/src/video_out/video_out_xvmc.c 2008-01-02 20:19:39.000000000 +0100 -+++ xine-lib/src/video_out/video_out_xvmc.c 2008-03-11 19:40:02.000000000 +0100 -@@ -487,9 +487,9 @@ +Index: xine-lib-1.1.12/src/video_out/video_out_xvmc.c +=================================================================== +--- xine-lib-1.1.12.orig/src/video_out/video_out_xvmc.c ++++ xine-lib-1.1.12/src/video_out/video_out_xvmc.c +@@ -487,9 +487,9 @@ static void xvmc_render_macro_blocks(vo_ int second_field, xvmc_macroblocks_t *macroblocks) { xvmc_driver_t *this = (xvmc_driver_t *) current_image->driver; @@ -3847,7 +3857,7 @@ | ||
[-] [+] | Added | vdr-xine-SUSE.diff ^ |
@@ -0,0 +1,17 @@ +The vdr plugin is patched to use /var/lib/vdr-xine for fifos and so +needs the part here. Don't remove this patch. + +Signed-off-by: Ludwig Nussel <ludwig.nussel@suse.de> +Index: xine-lib-1.1.9/src/vdr/input_vdr.c +=================================================================== +--- xine-lib-1.1.9.orig/src/vdr/input_vdr.c ++++ xine-lib-1.1.9/src/vdr/input_vdr.c +@@ -51,7 +51,7 @@ + + + #define VDR_MAX_NUM_WINDOWS 16 +-#define VDR_ABS_FIFO_DIR "/tmp/vdr-xine" ++#define VDR_ABS_FIFO_DIR "/var/lib/vdr-xine" + + #define BUF_SIZE 1024 + | ||
[-] [+] | Added | xine-configure.diff ^ |
@@ -0,0 +1,10 @@ +--- xine-lib-1.1.12/configure.ac ++++ xine-lib-1.1.12/configure.ac +@@ -118,6 +118,7 @@ dnl Check for programs. + dnl --------------------------------------------- + + AC_PROG_CC ++AC_PROG_CXX + AM_PROG_AS + + case "$host_os" in | ||
[-] [+] | Added | xine-lib-1.1.14-asprintf-typo.diff ^ |
@@ -0,0 +1,25 @@ +From e92cdef028f622efab711ce6b00cbeb1ded3df3c Mon Sep 17 00:00:00 2001 +From: Ludwig Nussel <ludwig.nussel@suse.de> +Date: Fri, 25 Jul 2008 16:46:23 +0200 +Subject: [PATCH] asprintf typo + +--- + src/input/input_smb.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/input/input_smb.c b/src/input/input_smb.c +index dbab772..266cdc3 100644 +--- a/src/input/input_smb.c ++++ b/src/input/input_smb.c +@@ -280,7 +280,7 @@ static xine_mrl_t **smb_class_get_dir (input_class_t *this_gen, + dir_files[num_dir_files].link = NULL; + dir_files[num_dir_files].type = mrl_file | mrl_file_directory; + dir_files[num_dir_files].origin = strdup("smb:/"); +- asprintf(*(dir_files[num_dir_files].mrl), "%s/%s", "smb:/", pdirent->name); ++ asprintf(&(dir_files[num_dir_files].mrl), "%s/%s", "smb:/", pdirent->name); + dir_files[num_dir_files].size = pdirent->dirlen; + num_dir_files ++; + } else if (pdirent->smbc_type == SMBC_FILE_SHARE){ +-- +1.5.6 + | ||
[-] [+] | Added | xine-lib-1.1.14-ia64-is-not-alpha.diff ^ |
@@ -0,0 +1,31 @@ +From c781f4b2e726fa3fabf8cc0cdd592f617ae799e2 Mon Sep 17 00:00:00 2001 +From: Ludwig Nussel <ludwig.nussel@suse.de> +Date: Fri, 25 Jul 2008 16:58:56 +0200 +Subject: [PATCH] ia64 is not alpha + +--- + configure.ac | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +diff --git a/configure.ac b/configure.ac +index af881fc..93b2a95 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2332,10 +2332,13 @@ case "$host_or_hostalias" in + mips-*) + AC_DEFINE_UNQUOTED(FPM_MIPS,,[Define to select libmad fixed point arithmetic implementation]) + ;; +- alphaev56-* | alpha* | ia64-* | hppa*-linux-*) ++ alphaev56-* | alpha* | hppa*-linux-*) + AC_DEFINE_UNQUOTED(FPM_64BIT,,[Define to select libmad fixed point arithmetic implementation]) + AC_DEFINE_UNQUOTED(ARCH_ALPHA,,[Define this if you're running Alpha architecture]) + ;; ++ ia64-*) ++ AC_DEFINE_UNQUOTED(FPM_64BIT,,[Define to select libmad fixed point arithmetic implementation]) ++ ;; + armv4l-*-linux*) + AC_DEFINE_UNQUOTED(FPM_ARM,,[Define to select libmad fixed point arithmetic implementation]) + AC_DEFINE_UNQUOTED(ARCH_ARM,,[Define this if you're running ARM architecture]) +-- +1.5.6 + | ||
[-] [+] | Added | xine-lib-1.1.15-cpp-compilation.diff ^ |
@@ -0,0 +1,12 @@ +diff -ur xine-lib-1.1.15.orig/src/xine-engine/buffer.h xine-lib-1.1.15/src/xine-engine/buffer.h +--- xine-lib-1.1.15.orig/src/xine-engine/buffer.h 2008-07-16 23:01:56.000000000 +0200 ++++ xine-lib-1.1.15/src/xine-engine/buffer.h 2008-09-15 20:23:32.000000000 +0200 +@@ -676,7 +676,7 @@ + /* convert xine_waveformatex struct from little endian */ + void _x_waveformatex_le2me( xine_waveformatex *wavex ) XINE_PROTECTED; + +-static inline _x_is_fourcc(void *ptr, void *tag) { ++static __inline int _x_is_fourcc(void *ptr, void *tag) { + return memcmp(ptr, tag, 4) == 0; + } + | ||
[-] [+] | Added | xine-lib-1.1.15-demux_str.diff ^ |
@@ -0,0 +1,12 @@ +diff -r b3822572afa5 src/demuxers/demux_str.c +--- a/src/demuxers/demux_str.c Mon Aug 18 18:27:55 2008 +0100 ++++ b/src/demuxers/demux_str.c Fri Aug 22 14:49:47 2008 +0200 +@@ -139,7 +139,7 @@ + + #define CD_RAW_SECTOR_SIZE 2352 + +-static const uint8_t STR_MAGIC = ++static const uint8_t STR_MAGIC[4] = + { 0x60, 0x01, 0x01, 0x80 }; + #define STR_MAX_CHANNELS 32 + | ||
[-] [+] | Added | xine-lib-1.1.15-ffmpeg.diff ^ |
@@ -0,0 +1,26 @@ +diff -ur xine-lib-1.1.15.orig/src/combined/ffmpeg/ff_audio_decoder.c xine-lib-1.1.15/src/combined/ffmpeg/ff_audio_decoder.c +--- xine-lib-1.1.15.orig/src/combined/ffmpeg/ff_audio_decoder.c 2008-07-16 01:13:03.000000000 +0200 ++++ xine-lib-1.1.15/src/combined/ffmpeg/ff_audio_decoder.c 2008-09-14 13:28:20.000000000 +0200 +@@ -322,7 +322,7 @@ + + if (!this->output_open) { + if (!this->audio_bits || !this->audio_sample_rate || !this->audio_channels) { +- avcodec_decode_audio (this->context, ++ avcodec_decode_audio2 (this->context, + (int16_t *)this->decode_buffer, + &decode_buffer_size, + &this->buf[0], +diff -ur xine-lib-1.1.15.orig/src/combined/ffmpeg/ffmpeg_decoder.h xine-lib-1.1.15/src/combined/ffmpeg/ffmpeg_decoder.h +--- xine-lib-1.1.15.orig/src/combined/ffmpeg/ffmpeg_decoder.h 2008-05-19 16:15:42.000000000 +0200 ++++ xine-lib-1.1.15/src/combined/ffmpeg/ffmpeg_decoder.h 2008-09-14 13:28:20.000000000 +0200 +@@ -33,6 +33,10 @@ + # include "../../libffmpeg/libavcodec/avcodec.h" + #endif + ++#if LIBAVCODEC_VERSION_MAJOR > 51 ++#define bits_per_sample bits_per_coded_sample ++#endif ++ + typedef struct ff_codec_s { + uint32_t type; + enum CodecID id; | ||
[-] [+] | Added | xine-lib-1.1.7-install-plugins-helper.diff ^ |
@@ -0,0 +1,273 @@ +Index: xine-lib-1.1.12/configure.ac +=================================================================== +--- xine-lib-1.1.12.orig/configure.ac ++++ xine-lib-1.1.12/configure.ac +@@ -2560,6 +2560,28 @@ fi + + AM_CONDITIONAL(HAVE_W32DLL, test "x$enable_w32dll" != "xno") + ++dnl --------------------------------------------- ++dnl let distro override plugin install helper path ++dnl --------------------------------------------- ++AC_ARG_WITH(install-plugins-helper, ++ AC_HELP_STRING([--with-install-plugins-helper], ++ [specify path of helper script to call to install plugins]), ++ [ ++ case "${withval}" in ++ yes) AC_MSG_ERROR(bad value ${withval} for --with-install-plugins-helper) ;; ++ no) AC_MSG_ERROR(bad value ${withval} for --with-install-plugins-helper) ;; ++ *) XINE_INSTALL_PLUGINS_HELPER="${withval}" ;; ++ esac ++ ], ++ [ ++ dnl Default value ++ XINE_INSTALL_PLUGINS_HELPER="`makeexpand "${libexecdir}/xine-install-plugins-helper"`" ++ ] ++) ++AC_MSG_NOTICE(Using $XINE_INSTALL_PLUGINS_HELPER as plugin install helper) ++AC_DEFINE_UNQUOTED(XINE_INSTALL_PLUGINS_HELPER, "$XINE_INSTALL_PLUGINS_HELPER", ++ [plugin install helper script]) ++AC_SUBST(XINE_INSTALL_PLUGINS_HELPER) + + dnl --------------------------------------------- + dnl some include paths ( !!! DO NOT REMOVE !!! ) +Index: xine-lib-1.1.12/src/xine-engine/xine.c +=================================================================== +--- xine-lib-1.1.12.orig/src/xine-engine/xine.c ++++ xine-lib-1.1.12/src/xine-engine/xine.c +@@ -1780,6 +1780,15 @@ void xine_init (xine_t *this) { + 0, NULL, this); + + /* ++ * enable/disable option for the plugins helper ++ */ ++ this->config->register_bool(this->config, ++ "media.plugins_helper", 1, ++ _("Run plugins helper"), ++ _("Searches the internet for missing plugins"), ++ 0, NULL, this); ++ ++ /* + * keep track of all opened streams + */ + this->streams = xine_list_new(); +Index: xine-lib-1.1.12/src/xine-engine/video_decoder.c +=================================================================== +--- xine-lib-1.1.12.orig/src/xine-engine/video_decoder.c ++++ xine-lib-1.1.12/src/xine-engine/video_decoder.c +@@ -37,6 +37,7 @@ + + #include "xine_internal.h" + #include "xineutils.h" ++#include "install_plugins_helper.h" + #include <sched.h> + + #define SPU_SLEEP_INTERVAL (90000/2) +@@ -376,6 +377,10 @@ static void *video_decoder_loop (void *s + stream->video_decoder_plugin = _x_get_video_decoder (stream, streamtype); + + _x_stream_info_set(stream, XINE_STREAM_INFO_VIDEO_HANDLED, (stream->video_decoder_plugin != NULL)); ++ if(buf->type != buftype_unknown && !stream->video_decoder_plugin) ++ _x_install_plugins_helper(stream,"decoder-video", buf->type, _x_buf_video_name( buf->type )); ++ ++ + } + + if (stream->video_decoder_plugin) +Index: xine-lib-1.1.12/src/xine-engine/audio_decoder.c +=================================================================== +--- xine-lib-1.1.12.orig/src/xine-engine/audio_decoder.c ++++ xine-lib-1.1.12/src/xine-engine/audio_decoder.c +@@ -41,6 +41,7 @@ + + #include "xine_internal.h" + #include "xineutils.h" ++#include "install_plugins_helper.h" + + static void *audio_decoder_loop (void *stream_gen) { + +@@ -339,6 +340,10 @@ static void *audio_decoder_loop (void *s + + _x_stream_info_set(stream, XINE_STREAM_INFO_AUDIO_HANDLED, + (stream->audio_decoder_plugin != NULL)); ++ ++ if(buf->type != buftype_unknown && !stream->audio_decoder_plugin) ++ _x_install_plugins_helper(stream,"decoder-audio", buf->type, _x_buf_audio_name( buf->type )); ++ + } + + if (audio_type != stream->audio_type) { +Index: xine-lib-1.1.12/src/xine-engine/Makefile.am +=================================================================== +--- xine-lib-1.1.12.orig/src/xine-engine/Makefile.am ++++ xine-lib-1.1.12/src/xine-engine/Makefile.am +@@ -19,7 +19,7 @@ libxine_la_SOURCES = xine.c metronom.c c + video_overlay.c osd.c scratch.c demux.c vo_scale.c \ + xine_interface.c post.c tvmode.c broadcaster.c io_helper.c \ + input_rip.c input_cache.c info_helper.c refcounter.c \ +- alphablend.c ++ alphablend.c install_plugins_helper.c + + # FIXME: these are currently unused: + EXTRA_DIST = lrb.c lrb.h accel_xvmc.h +@@ -39,7 +39,8 @@ xineinclude_HEADERS = buffer.h metronom + audio_out.h resample.h video_out.h xine_internal.h spu_decoder.h \ + video_overlay.h osd.h scratch.h xine_plugin.h xineintl.h \ + plugin_catalog.h audio_decoder.h video_decoder.h post.h \ +- io_helper.h broadcaster.h info_helper.h refcounter.h alphablend.h ++ io_helper.h broadcaster.h info_helper.h refcounter.h alphablend.h \ ++ install_plugins_helper.h + + noinst_HEADERS = bswap.h ffmpeg_bswap.h + +Index: xine-lib-1.1.12/src/xine-engine/install_plugins_helper.h +=================================================================== +--- /dev/null ++++ xine-lib-1.1.12/src/xine-engine/install_plugins_helper.h +@@ -0,0 +1,35 @@ ++/* ++ * Copyright (C) 2007 Sascha Sommer ++ * ++ * This file is part of xine, a free video player. ++ * ++ * xine is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * xine is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA ++ * ++ * helper functions to query the internet for additional codecs ++ */ ++ ++#ifndef PLUGINS_HELPER_H ++#define PLUGINS_HELPER_H ++ ++#include <inttypes.h> ++#include "xine_internal.h" ++ ++/* ++ * execute install plugins helper ++ */ ++void _x_install_plugins_helper(xine_stream_t *stream, char* plugin_type, uint32_t type, char* plugin_desc) XINE_PROTECTED; ++ ++ ++#endif +Index: xine-lib-1.1.12/src/xine-engine/install_plugins_helper.c +=================================================================== +--- /dev/null ++++ xine-lib-1.1.12/src/xine-engine/install_plugins_helper.c +@@ -0,0 +1,106 @@ ++/* ++ * Copyright (C) 2007 Sascha Sommer ++ * ++ * This file is part of xine, a free video player. ++ * ++ * xine is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * xine is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA ++ * ++ * helper functions to query the internet for additional plugins ++ */ ++ ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++#include <stdio.h> ++#include <unistd.h> ++#include <sys/wait.h> ++ ++#include "install_plugins_helper.h" ++ ++#define PROCNAME_LEN 100 | ||
[-] [+] | Added | xine-lib-assert.patch ^ |
@@ -0,0 +1,12 @@ +Index: xine-lib-1.1.11/src/audio_out/audio_alsa_out.c +=================================================================== +--- xine-lib-1.1.11.orig/src/audio_out/audio_alsa_out.c ++++ xine-lib-1.1.11/src/audio_out/audio_alsa_out.c +@@ -41,6 +41,7 @@ + #ifdef HAVE_ALLOCA_H + #include <alloca.h> + #endif ++#include <assert.h> + + #define ALSA_PCM_NEW_HW_PARAMS_API + #define ALSA_PCM_NEW_SW_PARAMS_API | ||
[-] [+] | Added | xine-lib-crippled-LOCAL.diff ^ |
@@ -0,0 +1,87 @@ +Index: src/input/input_dvd.c +=================================================================== +--- src/input/input_dvd.c.orig ++++ src/input/input_dvd.c +@@ -1385,7 +1385,12 @@ check_solaris_vold_device(dvd_input_clas + + static int dvd_parse_try_open(dvd_input_plugin_t *this, const char *locator) + { +- const char *intended_dvd_device; ++ const char *intended_dvd_device; ++ dvd_input_class_t *class = (dvd_input_class_t *) ++ this->input_plugin.input_class; ++ xine_sarray_t **plgs = class->xine->plugin_catalog->plugin_lists; ++ plugin_node_t *node; ++ int i; + + /* FIXME: we temporarily special-case "dvd:/" for compatibility; + * actually "dvd:/" should play a DVD image stored in /, but for +@@ -1401,7 +1406,6 @@ static int dvd_parse_try_open(dvd_input_ + xine_setenv("DVDCSS_RAW_DEVICE", "", 1); + } else { + /* use default DVD device */ +- dvd_input_class_t *class = (dvd_input_class_t*)this->input_plugin.input_class; + xine_cfg_entry_t raw_device; + if (xine_config_lookup_entry(this->stream->xine, + "media.dvd.raw_device", &raw_device)) +@@ -1409,6 +1413,23 @@ static int dvd_parse_try_open(dvd_input_ + intended_dvd_device = class->dvd_device; + } + ++ for (i = 0; (node = xine_sarray_get (plgs[PLUGIN_VIDEO_DECODER-1], i)); i++) ++ if (strcmp (node->info->id, "mpeg2") == 0) ++ break; ++ if (node) ++ for (i = 0; (node = xine_sarray_get (plgs[PLUGIN_SPU_DECODER-1], i)); i++) ++ if (strcmp (node->info->id, "spudec") == 0) ++ break; ++ if (! node) { ++ _x_message (this->stream, XINE_MSG_GENERAL_WARNING, ++ "This version of Xine lacks support for playing DVD discs " ++ "for legal reasons.\n" ++ "Please go to http://www.opensuse.org/XINE#Legal_Matters " ++ "for further details.", ++ NULL); ++ return 0; ++ } ++ + /* attempt to open DVD */ + if (this->opened) { + if (intended_dvd_device == this->current_dvd_device) { +@@ -1471,8 +1492,11 @@ static int dvd_parse_mrl(dvd_input_plugi + } + + static int dvd_plugin_open (input_plugin_t *this_gen) { +- dvd_input_plugin_t *this = (dvd_input_plugin_t*)this_gen; ++ dvd_input_plugin_t *this = (dvd_input_plugin_t*)this_gen; + dvd_input_class_t *class = (dvd_input_class_t*)this_gen->input_class; ++ xine_sarray_t **plgs = class->xine->plugin_catalog->plugin_lists; ++ plugin_node_t *node; ++ int i; + + char *locator, *locator_orig; + char *title_part; +@@ -1481,6 +1505,23 @@ static int dvd_plugin_open (input_plugin + + trace_print("Called\n"); + ++ for (i = 0; (node = xine_sarray_get (plgs[PLUGIN_VIDEO_DECODER-1], i)); i++) ++ if (strcmp (node->info->id, "mpeg2") == 0) ++ break; ++ if (node) ++ for (i = 0; (node = xine_sarray_get (plgs[PLUGIN_SPU_DECODER-1], i)); i++) ++ if (strcmp (node->info->id, "spudec") == 0) ++ break; ++ if (! node) { ++ _x_message (this->stream, XINE_MSG_GENERAL_WARNING, ++ "This version of Xine lacks support for playing DVD discs " ++ "for legal reasons.\n" ++ "Please go to http://www.opensuse.org/XINE#Legal_Matters " ++ "for further details.", ++ NULL); ++ return 0; ++ } ++ + /* we already checked the "dvd:/" MRL before */ + locator_orig = locator = strdup (this->mrl + (sizeof("dvd:") - 1)); + | ||
[-] [+] | Added | xine-lib-demuxcheckfor_mad_ffmpeg-LOCAL.diff ^ |
@@ -0,0 +1,51 @@ +From 8861e0d755127fde4b57d32561491853e49a0edc Mon Sep 17 00:00:00 2001 +From: Ludwig Nussel <lnussel@suse.de> +Date: Fri, 25 Jul 2008 15:07:23 +0200 +Subject: [PATCH] xine-lib-demuxcheckfor_mad_ffmpeg-LOCAL.diff + +=================================================================== +--- + src/xine-engine/load_plugins.c | 17 ++++++++++++++++- + 1 files changed, 16 insertions(+), 1 deletions(-) + +diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c +index a710927..e507c07 100644 +--- a/src/xine-engine/load_plugins.c ++++ b/src/xine-engine/load_plugins.c +@@ -2481,9 +2481,18 @@ char *xine_get_file_extensions (xine_t *self) { + + plugin_catalog_t *catalog = self->plugin_catalog; + int list_id; ++ int havempgdecoder = 0; ++ const char * const * p; + + pthread_mutex_lock (&catalog->lock); + ++ _build_list_typed_plugins(&catalog, catalog->plugin_lists[PLUGIN_AUDIO_DECODER - 1]); ++ for (p = catalog->ids; p && *p; p++) { ++ if (strcmp (*p, "mad") == 0 || strcmp (*p, "ffmpegaudio") == 0) { ++ havempgdecoder = 1; ++ break; ++ } ++ } + /* calc length of output string and create an array of strings to + concatenate */ + size_t len = 0; +@@ -2495,7 +2504,13 @@ char *xine_get_file_extensions (xine_t *self) { + if (node->plugin_class || _load_plugin_class(self, node, NULL)) { + demux_class_t *const cls = (demux_class_t *)node->plugin_class; + if( (extensions[list_id] = cls->get_extensions(cls)) != NULL ) +- len += strlen(extensions[list_id]) +1; ++ { ++ if(havempgdecoder || !strstr(extensions[list_id], "mp3")) { ++ len += strlen(extensions[list_id]) +1; ++ } else { ++ extensions[list_id] = NULL; ++ } ++ } + } + } + +-- +1.5.6 + | ||
[-] [+] | Added | xine-lib-doc-fix-X11R6.diff ^ |
@@ -0,0 +1,32 @@ +diff -ur xine-lib-1.1.15.orig/doc/faq/faq.sgml xine-lib-1.1.15/doc/faq/faq.sgml +--- xine-lib-1.1.15.orig/doc/faq/faq.sgml 2008-05-19 16:15:42.000000000 +0200 ++++ xine-lib-1.1.15/doc/faq/faq.sgml 2008-09-15 20:17:48.000000000 +0200 +@@ -455,12 +455,12 @@ + <para> + If you want to have Xv support compiled in, make sure you either have + a shared Xv library on your system, e.g. +- <command>ls /usr/X11R6/lib/libXv*</command> ++ <command>ls /usr/lib/libXv*</command> + should give you some .so libs, like this: + <screen> +- /usr/X11R6/lib/libXv.a +- /usr/X11R6/lib/libXv.so +- /usr/X11R6/lib/libXv.so.1</screen> ++ /usr/lib/libXv.a ++ /usr/lib/libXv.so ++ /usr/lib/libXv.so.1</screen> + </para> + <para> + Alternatively you need to have libtool 1.4 or newer installed, then +diff -ur xine-lib-1.1.15.orig/doc/README_xxmc.html xine-lib-1.1.15/doc/README_xxmc.html +--- xine-lib-1.1.15.orig/doc/README_xxmc.html 2008-04-17 18:48:57.000000000 +0200 ++++ xine-lib-1.1.15/doc/README_xxmc.html 2008-09-15 20:17:36.000000000 +0200 +@@ -70,7 +70,7 @@ + Make sure you have the XvMC wrapper installed. The wrapper will try to + figure out at run-time what xvmc-hardware specific driver to load. If + it fails it will open the file <span style="font-family: monospace;">/etc/X11/XvMCConfig</span> +-or <span style="font-family: monospace;">/usr/X11R6/lib/X11/XvMCConfig</span> ++or <span style="font-family: monospace;">/usr/lib/X11/XvMCConfig</span> + and try to load the hardware-specific library mentioned in that file. + If you downloaded the XvMC wrapper from the unichrome site, the default + XvMCConfig will make the XvMC wrapper try to load the Nvidia XvMC | ||
[-] [+] | Added | xine-lib-mjpegplugin.diff ^ |
@@ -0,0 +1,1250 @@ +Index: configure.ac +=================================================================== +--- configure.ac.orig ++++ configure.ac +@@ -1075,6 +1075,28 @@ AC_SUBST([SDL_CFLAGS]) + AC_SUBST([SDL_LIBS]) + + dnl --------------------------------------------- ++dnl check for libjpeg ++dnl --------------------------------------------- ++ ++AC_ARG_ENABLE([jpeg], ++ AC_HELP_STRING([--disable-jpeg], [do not build JPEG support]), ++ [with_jpeg=$enableval], [with_jpeg=yes]) ++ ++if test "x$with_jpeg" = "xyes"; then ++ AC_CHECK_HEADERS(jpeglib.h, ++ [ ++ AC_CHECK_LIB(jpeg,jpeg_start_decompress, ++ [ ++ AC_DEFINE(HAVE_JPEG,1,[Define this if you have libjpeg library installed]) ++ ]) ++ ]) ++else ++ no_sdl=yes ++fi ++AM_CONDITIONAL(HAVE_JPEG, [test x"$with_jpeg" == x"yes"]) ++ ++ ++dnl --------------------------------------------- + dnl check for Libstk + dnl --------------------------------------------- + +@@ -2746,6 +2768,7 @@ src/libxineadec/Makefile + src/libxineadec/gsm610/Makefile + src/libxineadec/nosefart/Makefile + src/libreal/Makefile ++src/mjpeg/Makefile + src/post/Makefile + src/post/planar/Makefile + src/post/goom/Makefile +@@ -2933,6 +2956,9 @@ echo "" + dnl audio decoders + echo " * audio decoder plugins:" + echo " - GSM 06.10 - linear PCM" ++if test x"$with_jpeg" == x"yes"; then ++ echo " - Motion JPEG (libjpeg based)" ++fi + if test "x$with_external_ffmpeg" = "xyes"; then + echo " - ffmpeg (external library):" + else +Index: src/Makefile.am +=================================================================== +--- src/Makefile.am.orig ++++ src/Makefile.am +@@ -25,6 +25,7 @@ SUBDIRS = \ + libreal \ + libfaad \ + libmusepack \ ++ mjpeg \ + post \ + combined \ + vdr +Index: src/mjpeg/Makefile.am +=================================================================== +--- /dev/null ++++ src/mjpeg/Makefile.am +@@ -0,0 +1,9 @@ ++include $(top_srcdir)/misc/Makefile.common ++ ++if HAVE_JPEG ++xineplug_LTLIBRARIES = xineplug_decode_mjpeg.la ++xineplug_decode_mjpeg_la_SOURCES = xine_mjpeg_decoder.c ++xineplug_decode_mjpeg_la_LIBADD = $(XINE_LIB) -ljpeg ++xineplug_decode_mjpeg_la_CFLAGS = $(VISIBILITY_FLAG) ++xineplug_decode_mjpeg_la_LDFLAGS = $(xineplug_ldflags) ++endif +Index: src/mjpeg/xine_mjpeg_decoder.c +=================================================================== +--- /dev/null ++++ src/mjpeg/xine_mjpeg_decoder.c +@@ -0,0 +1,388 @@ ++/* ++ * Copyright (C) 2007 Marcus Meissner ++ * ++ * This file is part of xine, a free video player. ++ * ++ * xine is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * xine is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA ++ * ++ * $Id: xine_decoder.c,v 1.57 2006/07/10 22:08:29 dgp85 Exp $ ++ * ++ * stuff needed to turn libjpeg into a xine video decoder. ++ */ ++ ++#include <stdlib.h> ++#include <unistd.h> ++#include <stdio.h> ++#include <string.h> ++ ++#include <jpeglib.h> ++ ++#define LOG_MODULE "mjpeg_decoder" ++#define LOG_VERBOSE ++ ++#include "config.h" ++#include "xine_internal.h" ++#include "video_out.h" ++#include "buffer.h" ++#include "xineutils.h" ++ ++static const uint8_t default_dht[420] = { ++ /* DHT(Define Huffman Table) */ ++ 0xFF,0xC4, ++ 0x01,0xA2, ++ 0x00,0x00,0x01,0x05,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, ++ 0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x01,0x00,0x03, ++ 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01, ++ 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x10,0x00,0x02,0x01,0x03,0x03, ++ 0x02,0x04,0x03,0x05,0x05,0x04,0x04,0x00,0x00,0x01,0x7D,0x01,0x02,0x03,0x00,0x04, ++ 0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71,0x14,0x32,0x81, ++ 0x91,0xA1,0x08,0x23,0x42,0xB1,0xC1,0x15,0x52,0xD1,0xF0,0x24,0x33,0x62,0x72,0x82, ++ 0x09,0x0A,0x16,0x17,0x18,0x19,0x1A,0x25,0x26,0x27,0x28,0x29,0x2A,0x34,0x35,0x36, ++ 0x37,0x38,0x39,0x3A,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x53,0x54,0x55,0x56, ++ 0x57,0x58,0x59,0x5A,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x73,0x74,0x75,0x76, ++ 0x77,0x78,0x79,0x7A,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x92,0x93,0x94,0x95, ++ 0x96,0x97,0x98,0x99,0x9A,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xB2,0xB3, ++ 0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA, ++ 0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7, ++ 0xE8,0xE9,0xEA,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0x11,0x00,0x02, ++ 0x01,0x02,0x04,0x04,0x03,0x04,0x07,0x05,0x04,0x04,0x00,0x01,0x02,0x77,0x00,0x01, ++ 0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,0x13,0x22, ++ 0x32,0x81,0x08,0x14,0x42,0x91,0xA1,0xB1,0xC1,0x09,0x23,0x33,0x52,0xF0,0x15,0x62, ++ 0x72,0xD1,0x0A,0x16,0x24,0x34,0xE1,0x25,0xF1,0x17,0x18,0x19,0x1A,0x26,0x27,0x28, ++ 0x29,0x2A,0x35,0x36,0x37,0x38,0x39,0x3A,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A, ++ 0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5A,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A, ++ 0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7A,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89, ++ 0x8A,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9A,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7, ++ 0xA8,0xA9,0xAA,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,0xBA,0xC2,0xC3,0xC4,0xC5, ++ 0xC6,0xC7,0xC8,0xC9,0xCA,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,0xDA,0xE2,0xE3, ++ 0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA ++}; ++ ++ ++typedef struct { ++ video_decoder_class_t decoder_class; ++} mjpeg_class_t; ++ ++typedef struct mjpeg_decoder_s { ++ video_decoder_t video_decoder; ++ ++ xine_stream_t *xstream; ++ ++ int64_t pts; ++ ++ xine_bmiheader bih; ++ ++ int output_sampling_rate; ++ int output_open; ++ int output_mode; ++ ++ uint8_t *buffer; ++ int bytes_in_buffer; ++ int maxbytes_in_buffer; ++ int skip_frames; ++ ++ ++ struct jpeg_decompress_struct jd; ++ struct jpeg_error_mgr jerr; ++ struct jpeg_source_mgr jsm; ++} mjpeg_decoder_t; ++ ++/* For the JPEG decompressor source manager. */ ++static void _jpeg_init_source(j_decompress_ptr cinfo) { } ++ ++static boolean _jpeg_fill_input_buffer(j_decompress_ptr cinfo) { ++ fprintf(stderr, "_jpeg_fill_input_buffer(): should not get here.\n"); ++ return FALSE; ++} ++ ++static void _jpeg_skip_input_data(j_decompress_ptr cinfo,long num_bytes) { ++ fprintf(stderr, "_jpeg_skip_input_data(): Skipping %ld bytes...\n", num_bytes); ++ cinfo->src->next_input_byte += num_bytes; ++ cinfo->src->bytes_in_buffer -= num_bytes; ++} ++ ++static boolean _jpeg_resync_to_restart(j_decompress_ptr cinfo, int desired) { ++ fprintf(stderr, "_jpeg_resync_to_restart(desired=%d), should not get here.\n",desired); | ||
[-] [+] | Deleted | xine-lib-pc.diff ^ |
@@ -1,13 +0,0 @@ -diff -ur xine-lib-1.1.10.orig/misc/libxine.pc.in xine-lib-1.1.10/misc/libxine.pc.in ---- xine-lib-1.1.10.orig/misc/libxine.pc.in 2008-01-23 06:11:50.000000000 +0100 -+++ xine-lib-1.1.10/misc/libxine.pc.in 2008-02-02 18:22:03.000000000 +0100 -@@ -3,8 +3,8 @@ - libdir=@libdir@ - includedir=@includedir@ - --datarootdir=@datarootdir@ - datadir=@datadir@ -+datarootdir=@datarootdir@ - - xinelibdir=@xinelibdir@ - xinedatadir=@xinedatadir@ | ||
[-] [+] | Added | xine-lib-various-noncrippled.diff ^ |
@@ -0,0 +1,15 @@ +Index: src/libw32dll/wine/ldt_keeper.c +=================================================================== +--- src/libw32dll/wine/ldt_keeper.c.orig ++++ src/libw32dll/wine/ldt_keeper.c +@@ -77,6 +77,10 @@ int modify_ldt(int func, void *ptr, unsi + #ifdef __cplusplus + } + #endif ++#include <linux/version.h> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) ++#define modify_ldt_ldt_s user_desc ++#endif + #else + #if defined(__NetBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) + #include <machine/segments.h> | ||
[-] [+] | Added | README.SuSE ^ |
@@ -0,0 +1,26 @@ +For legal reasons this version of xine has limited functionality. Here is +a list of what has been disabled: + +AC3 and AC4.1 sound decoding. Probably patented. Maybe legal if it is not labeled as XX-Y. +ASF parsing. Patented. +Closed Captioning Decoder (EIA-608). Probably patented. +GSM 610 decoding. Patented. +MPEG-4 (FFMPEG) codecs. Patented. +MS Video-1. Used in AVI and ASF. AVI is okay, ASF is not. +Sorenson video codec. Reverse engineering, no legal expertise. +Direct Hardware Access. Uncertain legal status. + +Freeware Advanced Audio Decoder. No legal expertise. +Interplay DPCM Audio Decoder. No legal expertise. +Interplay MVE File Video Decoder. No legal expertise. +NES Music File Format. No legal expertise. +Origin's Wing Commander III MVE format. No legal expertise. +SPU DVD subtitles. No legal expertise. + +CSS decoding needs extra library (libdvdcss), which is not part of SuSE Linux + +Advanced users can build an RPM package and install also the additional +"xine-internal" rpm, which contains all protected codecs. + +See also +http://www.opensuse.org/XINE#Legal_Matters |