r3857 - in general/xine-lib-vdr/trunk/debian: . patches
Thomas Schmidt
tschmidt at alioth.debian.org
Sat Jan 13 15:13:14 CET 2007
Author: tschmidt
Date: 2007-01-13 15:13:14 +0100 (Sat, 13 Jan 2007)
New Revision: 3857
Removed:
general/xine-lib-vdr/trunk/debian/patches/01_am_maintainer_mode.dpatch
general/xine-lib-vdr/trunk/debian/patches/02_CVS.dpatch
general/xine-lib-vdr/trunk/debian/patches/06_vdr-xine_extra.dpatch
general/xine-lib-vdr/trunk/debian/patches/07_debian-1.1.2-4-1.1.2-6.dpatch
general/xine-lib-vdr/trunk/debian/patches/99_autoconf.dpatch
Modified:
general/xine-lib-vdr/trunk/debian/changelog
general/xine-lib-vdr/trunk/debian/patches/00list
general/xine-lib-vdr/trunk/debian/rules
Log:
* Rebase on 1.1.2+dfsg-2
- removed 01_am_maintainer_mode.dpatch
- removed 02_CVS.dpatch
- removed 06_vdr-xine_extra.dpatch
- removed 07_debian-1.1.2-4-1.1.2-6.dpatch
- removed 99_autoconf.dpatch
Modified: general/xine-lib-vdr/trunk/debian/changelog
===================================================================
--- general/xine-lib-vdr/trunk/debian/changelog 2007-01-13 14:06:18 UTC (rev 3856)
+++ general/xine-lib-vdr/trunk/debian/changelog 2007-01-13 14:13:14 UTC (rev 3857)
@@ -1,11 +1,32 @@
-xine-lib-vdr (1.1.2-6vdr1) unstable; urgency=low
+xine-lib-vdr (1.1.2+dfsg-2vdr1) unstable; urgency=low
- * Rebase on 1.1.2-6.
- - Added 07_debian-1.1.2-4-1.1.2-6.dpatch - includes upstream changes,
- made between 1.1.2-4 and 1.1.2-6
+ * Rebase on 1.1.2+dfsg-2
+ - removed 01_am_maintainer_mode.dpatch
+ - removed 02_CVS.dpatch
+ - removed 06_vdr-xine_extra.dpatch
+ - removed 07_debian-1.1.2-4-1.1.2-6.dpatch
+ - removed 99_autoconf.dpatch
- -- Thomas Schmidt <tschmidt at debian.org> Sun, 22 Oct 2006 11:37:53 +0200
+ -- Thomas Schmidt <tschmidt at debian.org> Sat, 13 Jan 2007 15:09:20 +0100
+xine-lib (1.1.2+dfsg-2) unstable; urgency=medium
+
+ * Bug fix: "CVE-2006-6172: xine-lib libreal Buffer Overflow
+ Vulnerabilities", thanks to Stefan Fritsch (Closes: #401740).
+
+ -- Reinhard Tartler <siretart at tauware.de> Wed, 6 Dec 2006 22:15:11 +0100
+
+xine-lib (1.1.2+dfsg-1) unstable; urgency=medium
+
+ * Urgency medium for fixing release critical bug
+ * replace cetus.ttf with a new one based on FreeSans.ttf. Many thanks go
+ to Sune Vuorela for creating this! (Closes: #393677)
+ * apply patch from http://bugzilla.gnome.org/show_bug.cgi?id=344592 to
+ fix title menu if there is no DVD menu. (Closes: #369319)
+ * rename to XS-X-Vcs-Bzr field
+
+ -- Reinhard Tartler <siretart at tauware.de> Thu, 26 Oct 2006 23:16:12 +0200
+
xine-lib (1.1.2-6) unstable; urgency=low
* change override for -dbg package to extra
Modified: general/xine-lib-vdr/trunk/debian/patches/00list
===================================================================
--- general/xine-lib-vdr/trunk/debian/patches/00list 2007-01-13 14:06:18 UTC (rev 3856)
+++ general/xine-lib-vdr/trunk/debian/patches/00list 2007-01-13 14:13:14 UTC (rev 3857)
@@ -1,9 +1,4 @@
-01_am_maintainer_mode
-02_CVS
03_vdr-xine
04_log_timestamp
05_old_cdio_compat
-#06_vdr-xine_extra
-07_debian-1.1.2-4-1.1.2-6
24_constness
-99_autoconf
Deleted: general/xine-lib-vdr/trunk/debian/patches/01_am_maintainer_mode.dpatch
===================================================================
--- general/xine-lib-vdr/trunk/debian/patches/01_am_maintainer_mode.dpatch 2007-01-13 14:06:18 UTC (rev 3856)
+++ general/xine-lib-vdr/trunk/debian/patches/01_am_maintainer_mode.dpatch 2007-01-13 14:13:14 UTC (rev 3857)
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 01_am_maintainer_mode.dpatch by <ds at flibble.youmustbejoking.demon.co.uk>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad xine-lib-vdr-1-rc7/configure.ac /tmp/dpep.XGGKrs/xine-lib-vdr-1-rc7/configure.ac
---- xine-lib-vdr-1-rc7/configure.ac 2004-11-21 21:48:22.000000000 +0000
-+++ /tmp/dpep.XGGKrs/xine-lib-vdr-1-rc7/configure.ac 2004-11-21 21:49:03.000000000 +0000
-@@ -6,6 +6,8 @@
- AC_CONFIG_SRCDIR([src/xine-engine/xine.c])
- AC_CONFIG_LIBOBJ_DIR([lib])
-
-+AM_MAINTAINER_MODE
-+
- dnl
- dnl Require autoconf version 2.53
- dnl
Deleted: general/xine-lib-vdr/trunk/debian/patches/02_CVS.dpatch
===================================================================
--- general/xine-lib-vdr/trunk/debian/patches/02_CVS.dpatch 2007-01-13 14:06:18 UTC (rev 3856)
+++ general/xine-lib-vdr/trunk/debian/patches/02_CVS.dpatch 2007-01-13 14:13:14 UTC (rev 3857)
@@ -1,653 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 02_CVS.dpatch by <ds at flibble.youmustbejoking.demon.co.uk>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: From CVS.
-
- at DPATCH@
-diff -urNad xine-lib-vdr-1.1.2~/configure.ac xine-lib-vdr-1.1.2/configure.ac
---- xine-lib-vdr-1.1.2~/configure.ac 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/configure.ac 2006-09-02 14:28:13.675609760 +0100
-@@ -8,6 +8,8 @@
-
- AM_MAINTAINER_MODE
-
-+AM_MAINTAINER_MODE
-+
- dnl
- dnl Require autoconf version 2.53
- dnl
-@@ -175,7 +177,7 @@
- dnl AC_C_BIGENDIAN triggers an AC_TRY_RUN warning; we can't cross compile
- dnl xine (oh, well)
- AC_C_CONST
--AC_C_ALWAYS_INLINE
-+dnl AC_C_ALWAYS_INLINE removal allows ffmpeg to be more widely buildable
- AC_TYPE_OFF_T
- AC_TYPE_SIZE_T
- AC_CHECK_SIZEOF(long)
-diff -urNad xine-lib-vdr-1.1.2~/doc/Makefile.am xine-lib-vdr-1.1.2/doc/Makefile.am
---- xine-lib-vdr-1.1.2~/doc/Makefile.am 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/doc/Makefile.am 2006-09-02 14:28:13.675609760 +0100
-@@ -3,9 +3,7 @@
- SUBDIRS = man hackersguide faq
-
- docs_DATA = README README.dvb README.dxr3 \
-- README.freebsd README.irix README.network_dvd README.opengl \
-- README.solaris README.syncfb README_xxmc.html README.MINGWCROSS \
-- README.WIN32
-+ README.opengl README_xxmc.html
-
- EXTRA_DIST = $(docs_DATA)
-
-diff -urNad xine-lib-vdr-1.1.2~/doc/man/en/xine.5 xine-lib-vdr-1.1.2/doc/man/en/xine.5
---- xine-lib-vdr-1.1.2~/doc/man/en/xine.5 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/doc/man/en/xine.5 2006-09-02 14:28:13.675609760 +0100
-@@ -37,7 +37,7 @@
- .br
- .BI vcdo://...
- .br
--.BI cdda://<track-number>
-+.BI cdda:/[<device>][/<track-number>]
- .LP
- .TP
- \(bu Video devices:
-@@ -74,6 +74,10 @@
- .BR rtsp://<host>... " (requires Real codecs)"
- .br
- .LP
-+\fBNOTE:\fP where a file name is required, the \fIfull path must be
-+provided\fP - from a shell, you can use \fB$PWD/file\fP if the file
-+is in the current directory.
-+
- Several MRLs may be specified in order to play a number of consecutive
- streams. Additional input plugins will provide additional MRL types. The ones
- listed above are available with stock libxine...
-diff -urNad xine-lib-vdr-1.1.2~/src/demuxers/demux_qt.c xine-lib-vdr-1.1.2/src/demuxers/demux_qt.c
---- xine-lib-vdr-1.1.2~/src/demuxers/demux_qt.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/demuxers/demux_qt.c 2006-09-02 14:28:13.679609817 +0100
-@@ -3054,13 +3054,13 @@
- }
-
- static char *get_extensions (demux_class_t *this_gen) {
-- return "mov qt mp4 m4a";
-+ return "mov qt mp4 m4a m4b";
- }
-
- static char *get_mimetypes (demux_class_t *this_gen) {
- return "video/quicktime: mov,qt: Quicktime animation;"
- "video/x-quicktime: mov,qt: Quicktime animation;"
-- "audio/x-m4a: m4a: MPEG-4 audio;"
-+ "audio/x-m4a: m4a,m4b: MPEG-4 audio;"
- "application/x-quicktimeplayer: qtl: Quicktime list;";
- }
-
-diff -urNad xine-lib-vdr-1.1.2~/src/input/input_cdda.c xine-lib-vdr-1.1.2/src/input/input_cdda.c
---- xine-lib-vdr-1.1.2~/src/input/input_cdda.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/input_cdda.c 2006-09-02 14:28:13.679609817 +0100
-@@ -2537,28 +2537,33 @@
- /* fetch the CD track to play */
- if (!strncasecmp (mrl, "cdda:/", 6)) {
-
-- if ( strlen(mrl) > 8 && strchr(&mrl[8],'/') ) {
-- int i;
--
-- cdda_device = strdup(&mrl[6]);
--
-- i = strlen(cdda_device)-1;
-- while( i && cdda_device[i] != '/' )
-- i--;
--
-- if( i ) {
-- cdda_device[i] = '\0';
-- track = atoi(&cdda_device[i+1]);
-- } else
-- track = -1;
--
-+ const char *p, *slash = mrl + 6;
-+ while (*slash == '/')
-+ ++slash;
-+ p = --slash; /* point at a slash */
-+ while (*p >= '0' && *p <= '9')
-+ ++p;
-+ if (*p) {
-+ char *lastslash;
-+ cdda_device = strdup (slash);
-+ p = lastslash = strrchr (cdda_device, '/'); /* guaranteed to return non-NULL */
-+ while (*++p >= '0' && *p <= '9')
-+ /**/;
-+ if (!*p) {
-+ track = atoi (lastslash + 1);
-+ *lastslash = 0;
-+ if (lastslash == cdda_device) {
-+ free (cdda_device);
-+ cdda_device = NULL;
-+ }
-+ } else {
-+ track = -1;
-+ }
- } else {
-- track = atoi(&mrl[6]);
-+ track = atoi (slash + 1);
- }
--
-- /* CD tracks start at 1, reject illegal tracks */
-- if (track <= 0)
-- return NULL;
-+ if (track < 1)
-+ track = 1;
- } else
- return NULL;
-
-diff -urNad xine-lib-vdr-1.1.2~/src/input/input_dvb.c xine-lib-vdr-1.1.2/src/input/input_dvb.c
---- xine-lib-vdr-1.1.2~/src/input/input_dvb.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/input_dvb.c 2006-09-02 14:28:13.667609648 +0100
-@@ -2512,7 +2512,7 @@
-
- /* no data for several seconds - tell the user a possible reason */
- if(this->read_failcount==5){
-- _x_message(this->stream,1,"DVB Signal Lost. Please check connections.");
-+ _x_message(this->stream,1,"DVB Signal Lost. Please check connections.", NULL);
- }
- #ifdef DVB_NO_BUFFERING
- if(this->newchannel){
-diff -urNad xine-lib-vdr-1.1.2~/src/input/mms.c xine-lib-vdr-1.1.2/src/input/mms.c
---- xine-lib-vdr-1.1.2~/src/input/mms.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/mms.c 2006-09-02 14:28:13.671609704 +0100
-@@ -138,7 +138,7 @@
- int num_stream_ids;
- int stream_ids[ASF_MAX_NUM_STREAMS];
- int stream_types[ASF_MAX_NUM_STREAMS];
-- int asf_packet_len;
-+ uint32_t asf_packet_len;
- uint64_t file_len;
- char guid[37];
- uint32_t bitrates[ASF_MAX_NUM_STREAMS];
-@@ -371,13 +371,17 @@
- goto error;
-
- header->packet_len = LE_32(this->buf + 8) + 4;
-+ if (header->packet_len > BUF_SIZE - 12) {
-+ header->packet_len = 0;
-+ goto error;
-+ }
- lprintf("mms command\n");
- packet_type = MMS_PACKET_COMMAND;
- } else {
- header->packet_seq = LE_32(this->buf);
- header->packet_id_type = this->buf[4];
- header->flags = this->buf[5];
-- header->packet_len = LE_16(this->buf + 6) - 8;
-+ header->packet_len = (LE_16(this->buf + 6) - 8) & 0xffff;
- if (header->packet_id_type == ASF_HEADER_PACKET_ID_TYPE) {
- lprintf("asf header\n");
- packet_type = MMS_PACKET_ASF_HEADER;
-@@ -497,6 +501,11 @@
- break;
- case MMS_PACKET_ASF_HEADER:
- case MMS_PACKET_ASF_PACKET:
-+ if (header.packet_len + this->asf_header_len > ASF_HEADER_LEN) {
-+ xprintf (this->stream->xine, XINE_VERBOSITY_LOG,
-+ "libmms: asf packet too large\n");
-+ return 0;
-+ }
- len = _x_io_tcp_read (this->stream, this->s,
- (char*)(this->asf_header + this->asf_header_len), header.packet_len);
- if (len != header.packet_len) {
-@@ -542,6 +551,12 @@
- case GUID_ASF_FILE_PROPERTIES:
-
- this->asf_packet_len = LE_32(this->asf_header + i + 92 - 24);
-+ if (this->asf_packet_len > BUF_SIZE) {
-+ this->asf_packet_len = 0;
-+ xprintf (this->stream->xine, XINE_VERBOSITY_LOG,
-+ "libmms: asf packet len too large\n");
-+ break;
-+ }
- this->file_len = LE_64(this->asf_header + i + 40 - 24);
- lprintf ("file object, file_length = %lld, packet length = %d",
- this->file_len, this->asf_packet_len);
-diff -urNad xine-lib-vdr-1.1.2~/src/input/mmsh.c xine-lib-vdr-1.1.2/src/input/mmsh.c
---- xine-lib-vdr-1.1.2~/src/input/mmsh.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/mmsh.c 2006-09-02 14:28:13.671609704 +0100
-@@ -182,7 +182,7 @@
- int num_stream_ids;
- int stream_ids[ASF_MAX_NUM_STREAMS];
- int stream_types[ASF_MAX_NUM_STREAMS];
-- int packet_length;
-+ uint32_t packet_length;
- int64_t file_length;
- char guid[37];
- uint32_t bitrates[ASF_MAX_NUM_STREAMS];
-@@ -491,6 +491,10 @@
- case GUID_ASF_FILE_PROPERTIES:
-
- this->packet_length = LE_32(this->asf_header + i + 92 - 24);
-+ if (this->packet_length > CHUNK_SIZE) {
-+ this->packet_length = 0;
-+ break;
-+ }
- this->file_length = LE_64(this->asf_header + i + 40 - 24);
- /*lprintf ("file object, file_length = %lld, packet length = %d",
- this->file_length, this->packet_count);*/
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/i386/Makefile.am xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/i386/Makefile.am
---- xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/i386/Makefile.am 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/i386/Makefile.am 2006-09-02 14:28:13.671609704 +0100
-@@ -11,6 +11,9 @@
- # Avoid "can't find register" failures with -O1 and higher
- dsputil_mmx.o dsputil_mmx.lo: CFLAGS=`echo @CFLAGS@ | sed -e 's/-funroll-loops//g; s/-O[0-9]/-Os/g'`
-
-+# Avoid errors on (at least) amd64 with -O0
-+fdct_mmx.o fdct_mmx.lo: CFLAGS=`echo @CFLAGS@ | sed -e 's/^/-Os /; s/-O0\?\s/-Os /g'`
-+
- ASFLAGS =
-
- noinst_LTLIBRARIES = libavcodec_mmx.la
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/deinterlace.h xine-lib-vdr-1.1.2/src/post/deinterlace/deinterlace.h
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/deinterlace.h 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/deinterlace.h 2006-09-02 14:28:13.671609704 +0100
-@@ -130,7 +130,7 @@
- deinterlace_copy_scanline_t copy_scanline;
- deinterlace_frame_t deinterlace_frame;
- int delaysfield; /* xine: this method delays output by one field relative to input */
-- const char *description[ 10 ];
-+ const char *description;
- };
-
- /**
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/double.c xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/double.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/double.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/double.c 2006-09-02 14:28:13.671609704 +0100
-@@ -61,16 +61,7 @@
- copy_scanline,
- 0,
- 0,
-- { "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "" }
-+ NULL
- };
-
- deinterlace_method_t *double_get_method( void )
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/greedy.c xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/greedy.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/greedy.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/greedy.c 2006-09-02 14:28:13.671609704 +0100
-@@ -188,16 +188,13 @@
- deinterlace_greedy_packed422_scanline_mmxext,
- 0,
- 1,
-- { "Uses heuristics to detect motion in the input",
-- "frames and reconstruct image detail where",
-- "possible. Use this for high quality output",
-- "even on monitors set to an arbitrary refresh",
-- "rate.",
-- "",
-- "Simple detection uses linear interpolation",
-- "where motion is detected, using a two-field",
-- "buffer. This is the Greedy: Low Motion",
-- "deinterlacer from DScaler." }
-+ "Uses heuristics to detect motion in the input frames and reconstruct "
-+ "image detail where possible. Use this for high quality output even "
-+ "on monitors set to an arbitrary refresh rate.\n"
-+ "\n"
-+ "Simple detection uses linear interpolation where motion is detected, "
-+ "using a two-field buffer. This is the Greedy: Low Motion deinterlacer "
-+ "from DScaler."
- };
-
- deinterlace_method_t *greedy_get_method( void )
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/greedy2frame.c xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/greedy2frame.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/greedy2frame.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/greedy2frame.c 2006-09-02 14:28:13.671609704 +0100
-@@ -63,16 +63,7 @@
- 0,
- DeinterlaceGreedy2Frame_SSE,
- 1,
-- { "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "" }
-+ NULL
- };
-
- deinterlace_method_t *greedy2frame_get_method( void )
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/kdetv_greedyh.c xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/kdetv_greedyh.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/kdetv_greedyh.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/kdetv_greedyh.c 2006-09-02 14:28:13.671609704 +0100
-@@ -116,16 +116,13 @@
- 0,
- deinterlace_frame_di_greedyh,
- 0,
-- { "Uses heuristics to detect motion in the input",
-- "frames and reconstruct image detail where",
-- "possible. Use this for high quality output",
-- "even on monitors set to an arbitrary refresh",
-- "rate.",
-- "",
-- "Advanced detection uses linear interpolation",
-- "where motion is detected, using a four-field",
-- "buffer. This is the Greedy: High Motion",
-- "deinterlacer from DScaler." }
-+ "Uses heuristics to detect motion in the input frames and reconstruct "
-+ "image detail where possible. Use this for high quality output even "
-+ "on monitors set to an arbitrary refresh rate.\n"
-+ "\n"
-+ "Advanced detection uses linear interpolation where motion is "
-+ "detected, using a four-field buffer. This is the Greedy: High Motion "
-+ "deinterlacer from DScaler."
- };
-
- deinterlace_method_t *dscaler_greedyh_get_method( void )
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/kdetv_tomsmocomp.c xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/kdetv_tomsmocomp.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/kdetv_tomsmocomp.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/kdetv_tomsmocomp.c 2006-09-02 14:28:13.671609704 +0100
-@@ -132,16 +132,12 @@
- 0,
- deinterlace_frame_di_tomsmocomp,
- 0,
-- { "Uses heuristics to detect motion in the input",
-- "frames and reconstruct image detail where",
-- "possible. Use this for high quality output",
-- "even on monitors set to an arbitrary refresh",
-- "rate.",
-- "",
-- "Motion search mode finds and follows motion",
-- "vectors for accurate interpolation. This is",
-- "the TomsMoComp deinterlacer from DScaler.",
-- "" }
-+ "Uses heuristics to detect motion in the input frames and reconstruct "
-+ "image detail where possible. Use this for high quality output even "
-+ "on monitors set to an arbitrary refresh rate.\n"
-+ "\n"
-+ "Motion search mode finds and follows motion vectors for accurate "
-+ "interpolation. This is the TomsMoComp deinterlacer from DScaler."
- };
-
- deinterlace_method_t *dscaler_tomsmocomp_get_method( void )
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/linear.c xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/linear.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/linear.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/linear.c 2006-09-02 14:28:13.671609704 +0100
-@@ -64,16 +64,12 @@
- copy_scanline,
- 0,
- 0,
-- { "Expands each field independently without",
-- "blurring or copying in time. Use this if you",
-- "want TV-quality with low CPU, and you have",
-- "configured your monitor to run at the refresh",
-- "rate of the video signal.",
-- "",
-- "Full resolution mode expands each field",
-- "to full size for high quality fullscreen use.",
-- "",
-- "" }
-+ "Expands each field independently without blurring or copying in time. "
-+ "Use this if you want TV-quality with low CPU, and you have configured "
-+ "your monitor to run at the refresh rate of the video signal.\n"
-+ "\n"
-+ "Full resolution mode expands each field to full size for high quality "
-+ "fullscreen use."
- };
-
- deinterlace_method_t *linear_get_method( void )
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/linearblend.c xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/linearblend.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/linearblend.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/linearblend.c 2006-09-02 14:28:13.671609704 +0100
-@@ -302,6 +302,14 @@
- emms();
- }
-
-+static const char linearblendmethod_help[] =
-+ "Avoids flicker by blurring consecutive frames of input. Use this if "
-+ "you want to run your monitor at an arbitrary refresh rate and not use "
-+ "much CPU, and are willing to sacrifice detail.\n"
-+ "\n"
-+ "Temporal mode evenly blurs content for least flicker, but with visible "
-+ "trails on fast motion. From the linear blend deinterlacer in mplayer.";
-+
- static deinterlace_method_t linearblendmethod_mmxext =
- {
- "Linear Blend (mplayer)",
-@@ -314,16 +322,7 @@
- deinterlace_scanline_linear_blend2_mmxext,
- 0,
- 0,
-- { "Avoids flicker by blurring consecutive frames",
-- "of input. Use this if you want to run your",
-- "monitor at an arbitrary refresh rate and not",
-- "use much CPU, and are willing to sacrifice",
-- "detail.",
-- "",
-- "Temporal mode evenly blurs content for least",
-- "flicker, but with visible trails on fast motion.",
-- "From the linear blend deinterlacer in mplayer.",
-- "" }
-+ linearblendmethod_help
- };
-
- #endif
-@@ -348,16 +347,7 @@
- deinterlace_scanline_linear_blend2,
- 0,
- 0,
-- { "Avoids flicker by blurring consecutive frames",
-- "of input. Use this if you want to run your",
-- "monitor at an arbitrary refresh rate and not",
-- "use much CPU, and are willing to sacrifice",
-- "detail.",
-- "",
-- "Temporal mode evenly blurs content for least",
-- "flicker, but with visible trails on fast motion.",
-- "From the linear blend deinterlacer in mplayer.",
-- "" }
-+ linearblendmethod_help
- };
-
- deinterlace_method_t *linearblend_get_method( void )
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/scalerbob.c xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/scalerbob.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/scalerbob.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/scalerbob.c 2006-09-02 14:28:13.675609760 +0100
-@@ -52,16 +52,12 @@
- 0,
- 0,
- 0,
-- { "Expands each field independently without",
-- "blurring or copying in time. Use this if you",
-- "want TV-quality with low CPU, and you have",
-- "configured your monitor to run at the refresh",
-- "rate of the video signal.",
-- "",
-- "Half resolution is poor quality but low CPU",
-- "requirements for watching in a small window.",
-- "",
-- "" }
-+ "Expands each field independently without blurring or copying in time. "
-+ "Use this if you want TV-quality with low CPU, and you have configured "
-+ "your monitor to run at the refresh rate of the video signal.\n"
-+ "\n"
-+ "Half resolution is poor quality but low CPU requirements for watching "
-+ "in a small window."
- };
-
- deinterlace_method_t *scalerbob_get_method( void )
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/vfir.c xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/vfir.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/vfir.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/vfir.c 2006-09-02 14:28:13.675609760 +0100
-@@ -148,16 +148,12 @@
- copy_scanline,
- 0,
- 0,
-- { "Avoids flicker by blurring consecutive frames",
-- "of input. Use this if you want to run your",
-- "monitor at an arbitrary refresh rate and not",
-- "use much CPU, and are willing to sacrifice",
-- "detail.",
-- "",
-- "Vertical mode blurs favouring the most recent",
-- "field for less visible trails. From the",
-- "deinterlacer filter in ffmpeg.",
-- "" }
-+ "Avoids flicker by blurring consecutive frames of input. Use this if you "
-+ "want to run your monitor at an arbitrary refresh rate and not use much "
-+ "CPU, and are willing to sacrifice detail.\n"
-+ "\n"
-+ "Vertical mode blurs favouring the most recent field for less visible "
-+ "trails. From the deinterlacer filter in ffmpeg."
- };
-
- deinterlace_method_t *vfir_get_method( void )
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/weave.c xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/weave.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/weave.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/weave.c 2006-09-02 14:28:13.675609760 +0100
-@@ -62,16 +62,7 @@
- copy_scanline,
- 0,
- 0,
-- { "Only updates the most recent field",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "",
-- "" }
-+ "Only updates the most recent field."
- };
-
- deinterlace_method_t *weave_get_method( void )
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/xine_plugin.c xine-lib-vdr-1.1.2/src/post/deinterlace/xine_plugin.c
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/xine_plugin.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/xine_plugin.c 2006-09-02 14:28:13.675609760 +0100
-@@ -57,7 +57,7 @@
- typedef struct post_plugin_deinterlace_s post_plugin_deinterlace_t;
-
- #define MAX_NUM_METHODS 30
--static char *enum_methods[MAX_NUM_METHODS];
-+static const char *enum_methods[MAX_NUM_METHODS];
- static char *enum_pulldown[] = { "none", "vektor", NULL };
- static char *enum_framerate[] = { "full", "half_top", "half_bottom", NULL };
-
-@@ -331,29 +331,19 @@
-
- enum_methods[0] = "use_vo_driver";
- for(i = 0; i < get_num_deinterlace_methods(); i++ ) {
-- int j, desc_len;
- deinterlace_method_t *method;
-
- method = get_deinterlace_method(i);
-
-- enum_methods[i+1] = (char *)method->short_name;
-+ enum_methods[i+1] = method->short_name;
- xine_buffer_strcat( help_string, "[" );
-- xine_buffer_strcat( help_string, (char *)method->short_name );
-+ xine_buffer_strcat( help_string, method->short_name );
- xine_buffer_strcat( help_string, "] " );
-- xine_buffer_strcat( help_string, (char *)method->name );
-+ xine_buffer_strcat( help_string, method->name );
- xine_buffer_strcat( help_string, ":\n" );
--
-- desc_len = 0;
-- for(j = 0; j < sizeof(method->description)/sizeof(method->description[0]); j++ ) {
-- if( strlen(method->description[j]) )
-- desc_len = j+1;
-- }
--
-- for(j = 0; j < desc_len; j++ ) {
-- xine_buffer_strcat( help_string, (char *)method->description[j] );
-- xine_buffer_strcat( help_string, "\n" );
-- }
-- xine_buffer_strcat( help_string, "---\n" );
-+ if (method->description)
-+ xine_buffer_strcat( help_string, method->description );
-+ xine_buffer_strcat( help_string, "\n---\n" );
- }
- enum_methods[i+1] = NULL;
-
-diff -urNad xine-lib-vdr-1.1.2~/src/post/planar/expand.c xine-lib-vdr-1.1.2/src/post/planar/expand.c
---- xine-lib-vdr-1.1.2~/src/post/planar/expand.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/planar/expand.c 2006-09-02 14:28:13.679609817 +0100
-@@ -106,6 +106,7 @@
- static vo_frame_t *expand_get_frame(xine_video_port_t *port_gen, uint32_t width,
- uint32_t height, double ratio,
- int format, int flags);
-+static int expand_draw(vo_frame_t *frame, xine_stream_t *stream);
-
- /* overlay manager intercept check */
- static int expand_intercept_ovl(post_video_port_t *port);
-@@ -155,6 +156,7 @@
-
- port = _x_post_intercept_video_port(&this->post, video_target[0], &input, &output);
- port->new_port.get_frame = expand_get_frame;
-+ port->new_frame->draw = expand_draw;
- port->intercept_ovl = expand_intercept_ovl;
- port->new_manager->add_event = expand_overlay_add_event;
-
-@@ -241,6 +243,20 @@
- }
-
-
-+static int expand_draw(vo_frame_t *frame, xine_stream_t *stream)
-+{
-+ post_video_port_t *port = (post_video_port_t *)frame->port;
-+ post_expand_t *this = (post_expand_t *)port->post;
-+ int skip;
-+
-+ frame->ratio = this->aspect;
-+ _x_post_frame_copy_down(frame, frame->next);
-+ skip = frame->next->draw(frame->next, stream);
-+ _x_post_frame_copy_up(frame, frame->next);
-+ return skip;
-+}
-+
-+
- static vo_frame_t *expand_get_frame(xine_video_port_t *port_gen, uint32_t width,
- uint32_t height, double ratio,
- int format, int flags)
-@@ -275,7 +291,7 @@
- * from the decoders by modifying the pointers to and
- * the size of the drawing area */
- frame->height = height;
-- frame->ratio = this->aspect;
-+ frame->ratio = ratio;
- switch (format) {
- case XINE_IMGFMT_YV12:
- /* paint top bar */
-diff -urNad xine-lib-vdr-1.1.2~/src/xine-utils/color.c xine-lib-vdr-1.1.2/src/xine-utils/color.c
---- xine-lib-vdr-1.1.2~/src/xine-utils/color.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/xine-utils/color.c 2006-09-02 14:28:13.679609817 +0100
-@@ -164,6 +164,8 @@
-
- int plane_size;
-
-+ memset (yuv_planes, 0, sizeof (yuv_planes));
-+
- yuv_planes->row_width = width;
- yuv_planes->row_count = height;
- plane_size = yuv_planes->row_width * yuv_planes->row_count;
-diff -urNad xine-lib-vdr-1.1.2~/src/xine-utils/xine_mutex.c xine-lib-vdr-1.1.2/src/xine-utils/xine_mutex.c
---- xine-lib-vdr-1.1.2~/src/xine-utils/xine_mutex.c 2006-09-02 14:28:11.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/xine-utils/xine_mutex.c 2006-09-02 14:28:13.671609704 +0100
-@@ -35,7 +35,7 @@
- const char *id) {
-
- #ifdef DBG_MUTEX
-- strncpy (mutex->id, sizeof (mutex->id), id);
-+ strncpy (mutex->id, id, sizeof (mutex->id));
- mutex->id[sizeof (mutex->id) - 1] = 0;
- #endif
-
Deleted: general/xine-lib-vdr/trunk/debian/patches/06_vdr-xine_extra.dpatch
===================================================================
--- general/xine-lib-vdr/trunk/debian/patches/06_vdr-xine_extra.dpatch 2007-01-13 14:06:18 UTC (rev 3856)
+++ general/xine-lib-vdr/trunk/debian/patches/06_vdr-xine_extra.dpatch 2007-01-13 14:13:14 UTC (rev 3857)
@@ -1,46 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 06_vdr-xine_extra.dpatch by <ds at flibble.youmustbejoking.demon.co.uk>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad xine-lib-vdr-1.1.1~/include/xine.h.in xine-lib-vdr-1.1.1/include/xine.h.in
---- xine-lib-vdr-1.1.1~/include/xine.h.in 2006-03-21 01:26:15.000000000 +0000
-+++ xine-lib-vdr-1.1.1/include/xine.h.in 2006-03-21 01:26:17.655892481 +0000
-@@ -1526,6 +1526,9 @@
- #define XINE_EVENT_VDR_MUTE 331
- #define XINE_EVENT_VDR_AUDIO 332
- #define XINE_EVENT_VDR_INFO 333
-+#define XINE_EVENT_VDR_NEXT 334
-+#define XINE_EVENT_VDR_PREVIOUS 335
-+#define XINE_EVENT_VDR_CHANNELPREVIOUS 336
- /* some space for further keys */
- #define XINE_EVENT_VDR_SETVIDEOWINDOW 350
- #define XINE_EVENT_VDR_FRAMESIZECHANGED 351
-diff -urNad xine-lib-vdr-1.1.1~/src/vdr/input_vdr.c xine-lib-vdr-1.1.1/src/vdr/input_vdr.c
---- xine-lib-vdr-1.1.1~/src/vdr/input_vdr.c 2006-03-21 01:26:15.000000000 +0000
-+++ xine-lib-vdr-1.1.1/src/vdr/input_vdr.c 2006-03-21 01:26:17.655892481 +0000
-@@ -1698,6 +1698,9 @@
- case XINE_EVENT_VDR_MUTE: key = key_mute; break;
- case XINE_EVENT_VDR_AUDIO: key = key_audio; break;
- case XINE_EVENT_VDR_INFO: key = key_info; break;
-+ case XINE_EVENT_VDR_NEXT: key = key_next; break;
-+ case XINE_EVENT_VDR_PREVIOUS: key = key_previous; break;
-+ case XINE_EVENT_VDR_CHANNELPREVIOUS: key = key_channel_previous; break;
- default:
- return;
- }
-diff -urNad xine-lib-vdr-1.1.1~/src/vdr/input_vdr.h xine-lib-vdr-1.1.1/src/vdr/input_vdr.h
---- xine-lib-vdr-1.1.1~/src/vdr/input_vdr.h 2006-03-21 01:26:15.000000000 +0000
-+++ xine-lib-vdr-1.1.1/src/vdr/input_vdr.h 2006-03-21 01:26:17.655892481 +0000
-@@ -93,6 +93,9 @@
- key_user9,
- key_audio,
- key_info,
-+ key_next,
-+ key_previous,
-+ key_channel_previous,
- };
-
-
Deleted: general/xine-lib-vdr/trunk/debian/patches/07_debian-1.1.2-4-1.1.2-6.dpatch
===================================================================
--- general/xine-lib-vdr/trunk/debian/patches/07_debian-1.1.2-4-1.1.2-6.dpatch 2007-01-13 14:06:18 UTC (rev 3856)
+++ general/xine-lib-vdr/trunk/debian/patches/07_debian-1.1.2-4-1.1.2-6.dpatch 2007-01-13 14:13:14 UTC (rev 3857)
@@ -1,13445 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 07_debian-1.1.2-4-1.1.2-6.dpatch by Thomas Schmidt <tschmidt at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Adds the changes to the upstream sources which were made between
-## DP: xine-lib 1.1.2-4 and 1.1.2-6
-
- at DPATCH@
-diff -urNad xine-lib-vdr-1.1.2~/configure.ac xine-lib-vdr-1.1.2/configure.ac
---- xine-lib-vdr-1.1.2~/configure.ac 2006-07-09 16:36:29.000000000 +0200
-+++ xine-lib-vdr-1.1.2/configure.ac 2006-10-22 12:29:31.000000000 +0200
-@@ -812,16 +812,17 @@
- dnl Checks for Color AsCii Art library
- dnl ---------------------------------------------
-
--AC_ARG_ENABLE([caca],
-- AC_HELP_STRING([--disable-caca], [do not build CACA support]),
-- [with_caca=$enableval], [with_caca=yes])
-+AC_ARG_WITH([caca],
-+ AS_HELP_STRING([--without-caca], [Do not build CACA support]))
-
--if test "x$with_caca" = "xyes"; then
-- AM_PATH_CACA(0.3,, AC_MSG_RESULT([*** All CACA-dependent parts will be disabled ***]))
--else
-- no_caca=yes
-+if test "x$with_caca" != "xno"; then
-+ PKG_CHECK_MODULES([CACA], [caca cucul], [have_caca="yes"], [have_caca="no"])
-+ if test "x$with_caca" = "xyes" && test "x$have_caca" = "xno"; then
-+ AC_MSG_ERROR([CACA support requested, but libcaca 0.99 not found])
-+ fi
- fi
--AM_CONDITIONAL(HAVE_CACA, test x$no_caca != "xyes")
-+
-+AM_CONDITIONAL([HAVE_CACA], [test "x$have_caca" = "xyes"])
-
- dnl ---------------------------------------------
- dnl Check solaris framebuffer device support
-@@ -2705,7 +2706,7 @@
- if test x$no_aalib != "xyes"; then
- echo " - aa (Ascii ART)"
- fi
--if test x$no_caca != "xyes"; then
-+if test "x$have_caca" = "xyes"; then
- echo " - caca (Color AsCii Art)"
- fi
- if test x$have_fb = "xyes"; then
-diff -urNad xine-lib-vdr-1.1.2~/doc/faq/faq.html xine-lib-vdr-1.1.2/doc/faq/faq.html
---- xine-lib-vdr-1.1.2~/doc/faq/faq.html 2006-07-09 16:44:45.000000000 +0200
-+++ xine-lib-vdr-1.1.2/doc/faq/faq.html 1970-01-01 01:00:00.000000000 +0100
-@@ -1,4801 +0,0 @@
--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
--<HTML
--><HEAD
--><TITLE
-->The xine engine FAQ</TITLE
--><META
--NAME="GENERATOR"
--CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
--><BODY
--CLASS="BOOK"
--><DIV
--CLASS="BOOK"
--><A
--NAME="AEN1"
--></A
--><DIV
--CLASS="TITLEPAGE"
--><H1
--CLASS="TITLE"
--><A
--NAME="AEN2"
-->The xine engine FAQ</A
--></H1
--><P
--CLASS="COPYRIGHT"
-->Copyright © 2001-2003 the xine project team</P
--><HR></DIV
--><DIV
--CLASS="TOC"
--><DL
--><DT
--><B
-->Table of Contents</B
--></DT
--><DT
--><A
--HREF="#AEN8"
--></A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#GENERAL"
-->General questions about xine and this document</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#ABOUT"
-->What is the xine engine?</A
--></DT
--><DT
--><A
--HREF="#SCOPE"
-->What's the aim and scope of this text?</A
--></DT
--><DT
--><A
--HREF="#WHERETOGETHELP"
-->My question is not yet covered here - where can I ask for help?</A
--></DT
--><DT
--><A
--HREF="#PRONOUNCE"
-->How do I pronounce "xine"?</A
--></DT
--><DT
--><A
--HREF="#MODULES"
-->What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for?</A
--></DT
--><DT
--><A
--HREF="#CVS"
-->Where and how do I get the latest development version?</A
--></DT
--><DT
--><A
--HREF="#GNOME-XINE"
-->Why is gxine's CVS module named "gnome-xine"?</A
--></DT
--><DT
--><A
--HREF="#BINARIES"
-->Where can I find pre-compiled binaries, e.g. RPMs?</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#BUILDING"
-->Building and installing xine from source</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#BUILDREQUIREMENTS"
-->What do I need to compile everything properly?</A
--></DT
--><DT
--><A
--HREF="#AEN69"
-->How do I compile xine?</A
--></DT
--><DT
--><A
--HREF="#RPMBUILD"
-->Making your own RPM packages (xine-lib, xine-ui, gxine)</A
--></DT
--><DT
--><A
--HREF="#DEBBUILD"
-->Making your own .deb packages (xine-lib, xine-ui; gxine CVS)</A
--></DT
--><DT
--><A
--HREF="#CFLAGS"
-->Can I provide additional CFLAGS for compilation?</A
--></DT
--><DT
--><A
--HREF="#ATHLONFLAGS"
-->Are there binaries for my AMD K7 (Athlon™) available? Can I build them?</A
--></DT
--><DT
--><A
--HREF="#AEN173"
-->Build problems: xine engine (xine-lib)</A
--></DT
--><DT
--><A
--HREF="#AEN191"
-->Build problems in frontends (gxine/xine-ui/...)</A
--></DT
--><DT
--><A
--HREF="#NONROOTBUILD"
-->Can I install xine in my home directory (without being root)?</A
--></DT
--><DT
--><A
--HREF="#WIN32BUILD"
-->How to compile xine for Windows?</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#PLAYBACK"
-->Playback of various stream types</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN229"
-->DVD Playback with xine</A
--></DT
--><DT
--><A
--HREF="#VCDSUPPORT"
-->Can I watch Video CDs (VCDs)? SVCDS ? CD-i?</A
--></DT
--><DT
--><A
--HREF="#QUICKTIME"
-->Can I watch Quicktime (.mov, .mp4) files using xine?</A
--></DT
--><DT
--><A
--HREF="#AEN347"
-->Real Network files/streams</A
--></DT
--><DT
--><A
--HREF="#WMV"
-->Can I watch Windows Media (.asf/.wmv/.wma) files using xine?</A
--></DT
--><DT
--><A
--HREF="#DVB"
-->Can I watch Digital TV (Digital Video Broadcast) using xine?</A
--></DT
--><DT
--><A
--HREF="#STDIN"
-->How do I play streams from STDIN?</A
--></DT
--><DT
--><A
--HREF="#AVISUBTITLES"
-->How can I watch files with external AVI subtitles?</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#RUNNING"
-->Running xine</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#SPEEDUP"
-->I have a lot of dropped frames - what can I do?</A
--></DT
--><DT
--><A
--HREF="#SMOOTHNESS"
-->Oki, xine doesn't drop frames now but video output still is not really smooth!</A
--></DT
--><DT
--><A
--HREF="#PORTS"
-->I have problems when using xine on FreeBSD, Solaris, ... !</A
--></DT
--><DT
--><A
--HREF="#AAXINE"
-->What is aalib? How do I use it in xine?</A
--></DT
--><DT
--><A
--HREF="#DXR3"
-->Does xine support my dxr3 / hollywood+ card?</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#AUDIO"
-->Audio related questions</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AUDIODRIVERS"
-->What audio drivers does xine support? OSS? Alsa? Arts? Esd?</A
--></DT
--><DT
--><A
--HREF="#COMPRESSOR"
-->When I'm watching a movie, the sound effects are much higher in volume than the voices!</A
--></DT
--><DT
--><A
--HREF="#NOAUDIO"
-->When I play this stream, xine shows video but there's no audio!</A
--></DT
--><DT
--><A
--HREF="#SURROUNDSOUND"
-->Can xine produce 4-/5-channel surround audio output?</A
--></DT
--><DT
--><A
--HREF="#SPDIF"
-->What about ac3 output via spdif to an external ac3 decoder?</A
--></DT
--><DT
--><A
--HREF="#SBLIVESPDIF"
-->Getting SPDIF output from a SBLive 5.1 using OSS drivers</A
--></DT
--><DT
--><A
--HREF="#VOLUMECONTROL"
-->Changing the volume with the GUI control has no effect! What's up!?</A
--></DT
--><DT
--><A
--HREF="#STUTTERING"
-->Audio is stuttering and i see a lot of "metronom: fixing sound card drift by -2115 pts" on the console output</A
--></DT
--><DT
--><A
--HREF="#SOUNDLOSS"
-->xine seems to lose sound arbitrarily during playback, especially with DVDs</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#VIDEO"
-->Video related questions</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#NOVIDEO"
-->I can hear the audio - but I don't see a picture!</A
--></DT
--><DT
--><A
--HREF="#BLUESCREEN"
-->I only see a blue (or green or black) video image most of the time.</A
--></DT
--><DT
--><A
--HREF="#BUGGYXV"
-->The image looks strange, it is shifted, cropped or shows weird lines!</A
--></DT
--><DT
--><A
--HREF="#XVEXTENSION"
-->How can I make xine use the Xv extension and what drivers do I need?</A
--></DT
--><DT
--><A
--HREF="#COLORKEY"
-->Some parts of my X Desktop get transparent when xine plays the video!</A
--></DT
--><DT
--><A
--HREF="#ASPECTRATIO"
-->The aspect ratio of the video is wrong!</A
--></DT
--><DT
--><A
--HREF="#DISCARDEDSKIPPED"
-->What is the difference between discarded and skipped frames?</A
--></DT
--><DT
--><A
--HREF="#CONTRASTBRIGHTNESSSATURATION"
-->My xine is runing in black and white! / I only get a gray video output!</A
--></DT
--><DT
--><A
--HREF="#VIDEODRIVER"
-->Which is the best video driver to use?</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#OVERLAY"
-->OSD and overlay related questions</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#UNSCALEDOSD"
-->What is this "unscaled" OSD about?</A
--></DT
--><DT
--><A
--HREF="#NOOSD"
-->I can't see the OSD or it leaves a black box over the image!</A
--></DT
--><DT
--><A
--HREF="#OVERLAYCOLORLEAK"
-->Why colors of overlays/subtitles seem to be "leaking"?</A
--></DT
--><DT
--><A
--HREF="#UGLYSUBTITLES"
-->Why external subtitles look so ugly?</A
--></DT
--><DT
--><A
--HREF="#SUBTITLESOUTSIDEVIDEO"
-->Why subtitles can't be displayed outside the video?</A
--></DT
--><DT
--><A
--HREF="#SUPPORTEDFONTS"
-->What kinds of subtitle fonts does xine use?</A
--></DT
--><DT
--><A
--HREF="#GENERATEFONTS"
-->How to create own xine subtitle fonts?</A
--></DT
--><DT
--><A
--HREF="#SUBENCODING"
-->Encoding of external subtitles is bad. What is wrong?</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#ERRORS"
-->Error Messages: What they mean and what you can do</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#XFREECRASH"
-->Starting xine crashes XFree, I am logged out of my desktop!</A
--></DT
--><DT
--><A
--HREF="#AUDIODRIVERERR"
-->Starting xine fails with complains about audio drivers/devices!</A
--></DT
--><DT
--><A
--HREF="#NOVIDEOPORTFOUND"
-->"no video port found"</A
--></DT
--><DT
--><A
--HREF="#UNABLETOOPENDVDDRIVE"
-->"Unable to open dvd drive (/dev/dvd)"</A
--></DT
--><DT
--><A
--HREF="#STATUS0X51"
-->My drive doesn't work and the kernel says "status=0x51 { DriveReady SeekComplete Error }"</A
--></DT
--><DT
--><A
--HREF="#DEMUXERROR0000"
-->"demux error! 00 00 00 (should be 0x000001)"</A
--></DT
--><DT
--><A
--HREF="#OSSFAILED"
-->"audio driver 'oss' failed, using null driver instead"</A
--></DT
--><DT
--><A
--HREF="#THROWINGAWAYIMAGE"
-->"video_out: throwing away image with pts xxx because it's too old"</A
--></DT
--><DT
--><A
--HREF="#NOVIDEOPLUGINAVAILABLE"
-->"No video plugin available to decode 'xxxxxx'."</A
--></DT
--><DT
--><A
--HREF="#DECODERFAILEDTOSTART"
-->"w32codec: decoder failed to start. Is 'xxxxxx' installed?"</A
--></DT
--><DT
--><A
--HREF="#XINECRASHED"
-->xine just crashed on me - i didn't get any error message</A
--></DT
--></DL
--></DD
--></DL
--></DD
--></DL
--></DIV
--><DIV
--CLASS="ARTICLE"
--><DIV
--CLASS="SECT1"
--><H2
--CLASS="SECT1"
--><A
--NAME="GENERAL"
-->General questions about xine and this document</A
--></H2
--><DIV
--CLASS="SECT2"
--><H3
--CLASS="SECT2"
--><A
--NAME="ABOUT"
-->What is the xine engine?</A
--></H3
--><P
-->
-- The xine engine is a free media player engine. It comes in the form of
-- a shared libarary and is typically used by media player frontends
-- and other multimedia applications for playback of multimedia streams
-- such as movies, radio/tv network streams, DVDs, VCDs.
-- </P
--><P
--> Since there are several frontends for the xine library available,
-- this document has a problem when it comes to examples.
-- The two most common frontends xine-ui and gxine are mixed in command
-- line examples throughout this FAQ. When you use a different
-- frontend, some of these will not work for you. The filename of
-- the config file also varies amongst frontends. If you get confused,
-- I recommend you try with one of xine-ui or gxine.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="SCOPE"
-->What's the aim and scope of this text?</A
--></H3
--><P
--> The primary goal of this FAQ is to cover all recurring questions related
-- to the xine engine. Frontend specific questions are usually not covered here.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="WHERETOGETHELP"
-->My question is not yet covered here - where can I ask for help?</A
--></H3
--><P
--> First of all be sure that your question is really not covered here and
-- that you haven't just been a bit too lazy to read through all of this
-- text. ;-). Also check out the documentation specific to
-- the frontend (e.g. <B
--CLASS="COMMAND"
-->xine-ui</B
--> or <B
--CLASS="COMMAND"
-->gxine</B
--> or
-- <B
--CLASS="COMMAND"
-->totem</B
-->).
-- </P
--><P
--> That said - you are welcome to mail to our user mailing list:
-- <CODE
--CLASS="EMAIL"
--><<A
--HREF="mailto:xine-user at lists.sourceforge.net"
-->xine-user at lists.sourceforge.net</A
-->></CODE
-->
-- Please provide some info about your setup so people have a chance to
-- help you, e.g. include information about your audio/video hardware
-- and drivers you use, operating system, cpu type and some console
-- output/any error messages. Also include command line parameters you
-- have specified and information about the type of stream you're
-- trying to play back. Also very important is the version of xine
-- you're using and information about any additional plugins you
-- may have installed on your system.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="PRONOUNCE"
-->How do I pronounce "xine"?</A
--></H3
--><P
--> As long as people know what you are talking about, you are free to
-- pronounce it the way you like, but the official pronounciation is
-- [ksi:n], like the name "Maxine" with the "Ma" removed.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="MODULES"
-->What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for?</A
--></H3
--><P
--> Some time ago xine just became too complex to be just one big program.
-- Therefore it was split into two major parts.
-- </P
--><P
--> xine-lib is simply speaking the engine of xine. It contains all basic plugins
-- and is necessary to run anything that relies on xine. (This is the part that
-- is covered in this FAQ.)
-- </P
--><P
--> Then there are frontends - applications that use xine. The most
-- common frontend is that of a media player. There are currently
-- two frontends being developed in the xine project, xine-ui (skinned
-- dvd-player style frontend directly based on xlib) and gxine,
-- a desktop media-player style frontend using the standard gtk widget set
-- and comes with a mozilla browser plugin.
-- External projects like kaffeine, sinek and totem develop additional frontends.
-- In the future you will likely see more and different types of applications
-- being developed which will use the xine engine for video processing
-- and other multimedia purposes.
-- </P
--><P
--> If you simply want a media/dvd player, you'll need to install xine-lib
-- first and then choose and install a player frontend like xine-ui or gxine.
-- </P
--><P
--> Other modules in CVS are: <TT
--CLASS="FILENAME"
-->xine-plugin</TT
--> a mozilla browser plugin
-- for streaming media playback using xine,
-- <TT
--CLASS="FILENAME"
-->xine-www</TT
--> the
-- xine project website sources.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="CVS"
-->Where and how do I get the latest development version?</A
--></H3
--><P
--> Be advised that end-users should stick to the official xine releases.
-- CVS is only intended for developers and for others who know why they use it.
-- </P
--><P
--> To check out xine-modules from CVS, first do this:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->cvs -d :pserver:anonymous at xine.cvs.sourceforge.net:/cvsroot/xine login</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- The password is empty, just press Enter.
-- </P
--><P
--> Then, to check out individual modules (e.g. <TT
--CLASS="FILENAME"
-->xine-lib</TT
-->,
-- <TT
--CLASS="FILENAME"
-->gnome-xine</TT
--> or <TT
--CLASS="FILENAME"
-->xine-ui</TT
-->):
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->cvs -d :pserver:anonymous at xine.cvs.sourceforge.net:/cvsroot/xine co <modulename></B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="GNOME-XINE"
-->Why is gxine's CVS module named "gnome-xine"?</A
--></H3
--><P
--> Historical reasons: gxine was originally named gnome-xine.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="BINARIES"
-->Where can I find pre-compiled binaries, e.g. RPMs?</A
--></H3
--><P
--> The xine project does not provide pre-compiled binaries for legal
-- reasons (some parts of xine may be covered by patents in some countries).
-- Some OS projects/vendors (e.g. debian, freebsd, ...) offer binaries
-- for their distributions - please contact them or use their package search
-- tools for further info.
-- You can also find links to third parties providing xine RPMs on
-- the xine homepage at
-- <A
--HREF="http://xinehq.de/index.php/releases"
--TARGET="_top"
-->http://xinehq.de/index.php/releases</A
-->.
-- </P
--><P
--> See the next section of this FAQ for instructions on how to build xine
-- from source.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="BUILDING"
-->Building and installing xine from source</A
--></H2
--><DIV
--CLASS="SECT2"
--><H3
--CLASS="SECT2"
--><A
--NAME="BUILDREQUIREMENTS"
-->What do I need to compile everything properly?</A
--></H3
--><P
--> First of all an official and stable release of gcc. Also be aware
-- that patched gcc versions may break parts of xine and are therefore
-- not supported by the xine project.
-- </P
--><P
--> Furthermore you'll have to use GNU make to compile xine. On most GNU/Linux
-- systems "make" is GNU make - on other platforms use "gmake" instead.
-- Also, zlib is required (including the appropriate header files, which are
-- often found in a package called zlib-devel or similar.)
-- </P
--><P
--> If you want to compile xine from CVS, you'll need to have the autobuild tools
-- installed (automake, autoconf and libtool - in recent versions).
-- </P
--><P
--> Frontends might need additional libraries, e.g. for gxine you'll need to have
-- GTK2 installed. Make sure you have not only the shared libraries themselves
-- but also the header files (often packaged seperately as so-called -dev packages)
-- on your system.
-- </P
--><P
--> Some plugins that come with the xine engine need additional libraries (otherwise
-- they will not be built). For example, libogg and libvorbis (plus their include files)
-- are needed for ogg/vorbis support. Most notably, if you want to see any video
-- on your X11 desktop (and that's what you're here for, isn't it?), you need the
-- XFree developer packages as well.
-- </P
--><P
--> Don't worry about this too much right now, xine's <B
--CLASS="COMMAND"
-->configure</B
-->
-- (see below) will check for all the stuff needed and will tell you what's missing
-- (which means that you should check the output it produces carefully ;) ).
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN69"
-->How do I compile xine?</A
--></H3
--><DIV
--CLASS="SECT3"
--><H4
--CLASS="SECT3"
--><A
--NAME="SIMPLEBUILDINSTR"
-->Simple build instructions for beginners</A
--></H4
--><P
--> Download the latest xine-lib and gxine/xine-ui tarballs, then follow
-- these instruction. To unpack a tarball, use:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->tar xfvz tarballname.tar.gz</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> The following instructions will install xine in <TT
--CLASS="FILENAME"
-->/usr/local</TT
-->
-- where it will be visible for all users. You need root privileges to do this on most systems.
-- </P
--><P
--> After unpacking xine-lib, issue:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./configure</B
-->
-- <B
--CLASS="COMMAND"
-->make install</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Make sure your <TT
--CLASS="FILENAME"
-->/etc/ld.so.conf</TT
--> contains
-- <TT
--CLASS="FILENAME"
-->/usr/local/lib</TT
--> and continue with:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->ldconfig</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Now unpack your frontend (gxine or xine-ui or ...), then:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./configure</B
-->
-- <B
--CLASS="COMMAND"
-->make install</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="COMPLETEBUILDINSTR"
-->Complete build instructions</A
--></H4
--><P
--> The build process is the same for all of the xine modules.
-- </P
--><P
--> You have to start with xine-lib. If built and installed successfully, you
-- can continue with the frontend(s).
-- </P
--><P
--> If you have installed xine-lib to a non-standard prefix, make sure
-- that you have <TT
--CLASS="FILENAME"
-->$prefix/bin</TT
--> in your PATH and that your linker finds
-- libs in <TT
--CLASS="FILENAME"
-->$prefix/lib</TT
--> - otherwise trying to build modules that
-- rely on xine-lib will fail with configure complaining about not
-- finding certain parts of libxine. Using bash you can do something like:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->export PATH="$prefix/bin:$PATH"</B
-->
-- <B
--CLASS="COMMAND"
-->export LD_LIBRARY_PATH="$prefix/lib:$LD_LIBRARY_PATH"</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- to make sure libxine can be found by the frontend(s).
-- </P
--><P
--> Last but not least. Here the build instructions. As stated earlier,
-- those are the same for every xine module.
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./autogen.sh</B
--> [-> *only* if you checked your sources out of CVS]
-- <B
--CLASS="COMMAND"
-->./configure</B
-->
-- <B
--CLASS="COMMAND"
-->make</B
-->
-- <B
--CLASS="COMMAND"
-->make install</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="RPMBUILD"
-->Making your own RPM packages (xine-lib, xine-ui, gxine)</A
--></H3
--><P
--> Basically you will only have to issue one command, if you have just
-- downloaded a source tarball from our web site:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->rpmbuild -ta <THE_NAME_OF_YOUR_SOURCE_TAR_BALL></B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- (Older versions of RPM use <B
--CLASS="COMMAND"
-->rpm</B
--> instead of <B
--CLASS="COMMAND"
-->rpmbuild</B
-->.)
-- </P
--><P
--> This will start the binary and source RPM building. After compiling is
-- finished, a binary rpm is placed in your rpm binary directory which is
-- something like <TT
--CLASS="FILENAME"
-->/usr/src/RPM/RPMS/<YOUR_ARCHITECTURE></TT
-->
-- and a source RPM is written to your rpm source dir
-- (e.g. <TT
--CLASS="FILENAME"
-->/usr/src/RPM/SRPMS</TT
-->).
-- </P
--><P
--> In case that you have a fresh CVS checkout, you will need to do the
-- following first in order to get a tarball release out of it which you
-- can later use with the <B
--CLASS="COMMAND"
-->rpmbuild -ta</B
--> command above:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./autogen.sh && make clean && make dist</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> In any case, please keep in mind that you have to build and install
-- xine-lib first before you can proceed with xine-ui.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="DEBBUILD"
-->Making your own .deb packages (xine-lib, xine-ui; gxine CVS)</A
--></H3
--><P
--> First, make sure that the "devscripts" package is installed. You'll
-- then need the following commands:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->tar xzf <PACKAGE-VER.tar.gz></B
-->
-- <B
--CLASS="COMMAND"
-->cd <PACKAGE-VER></B
-->
-- <B
--CLASS="COMMAND"
-->./autogen.sh noconfig</B
-->
-- <B
--CLASS="COMMAND"
-->debuild binary</B
-->
-- </PRE
--></TD
--></TR
--></TABLE
-->
-- (If <B
--CLASS="COMMAND"
-->debuild</B
--> complains about unmet dependencies, then
-- - as root - install them using
-- <B
--CLASS="COMMAND"
-->aptitude install <PACKAGES></B
--> then re-run
-- <B
--CLASS="COMMAND"
-->debuild binary</B
-->.
-- </P
--><P
--> Once the build has been successfully completed, you'll have some new .debs.
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->cd ..</B
-->
-- <B
--CLASS="COMMAND"
-->ls *.deb</B
-->
-- <B
--CLASS="COMMAND"
-->su - -c 'cd '"`pwd`"' && dpkg -i <DEB_PACKAGES>'</B
-->
-- </PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> In any case, please keep in mind that you have to build and install
-- xine-lib first before you can proceed with xine-ui or gxine.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="CFLAGS"
-->Can I provide additional CFLAGS for compilation?</A
--></H3
--><P
--> Yes, you can do so by setting the CFLAGS variable and then running
-- <B
--CLASS="COMMAND"
-->configure</B
--> again. You can even pass them to
-- <B
--CLASS="COMMAND"
-->configure</B
--> directly. Example:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./configure CFLAGS="-march=i686"</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Other user variables <B
--CLASS="COMMAND"
-->configure</B
--> respects are:
-- <P
--></P
--><UL
--><LI
--><P
--> <B
--CLASS="COMMAND"
-->CC</B
--> to specify the compiler executable
-- </P
--></LI
--><LI
--><P
--> <B
--CLASS="COMMAND"
-->CPP</B
--> to specify the C preprocessor executable
-- </P
--></LI
--><LI
--><P
--> <B
--CLASS="COMMAND"
-->LD</B
--> to specify the linker executable
-- </P
--></LI
--><LI
--><P
--> <B
--CLASS="COMMAND"
-->CPPFLAGS</B
--> to pass additional include paths or other
-- preprocessor options
-- </P
--></LI
--><LI
--><P
--> <B
--CLASS="COMMAND"
-->LDFLAGS</B
--> to pass additional library paths or other
-- linker options
-- </P
--></LI
--></UL
-->
-- </P
--><P
--> An example combining some of these would look like:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./configure CC="/opt/intel/bin/icc" LD="/opt/intel/bin/xild" \
-- CPPFLAGS="-I/usr/local/include/dvdnav" LDFLAGS="-L/home/guenter/xine_libs"</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="ATHLONFLAGS"
-->Are there binaries for my AMD K7 (Athlon™) available? Can I build them?</A
--></H3
--><P
--> If you have a recent gcc you can try to compile "more" k7 support in (esp.
-- better instruction scheduling). If the configure script should fail to
-- detect your processor/gcc correctly, try passing the canonical system name for
-- your machine to configure with the <B
--CLASS="COMMAND"
-->--host</B
--> option, e.g.
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./configure --host=k7-pc-linux-gnu</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN173"
-->Build problems: xine engine (xine-lib)</A
--></H3
--><DIV
--CLASS="SECT3"
--><H4
--CLASS="SECT3"
--><A
--NAME="DOESNTCOMPILE"
-->The package doesn't compile at all!</A
--></H4
--><P
--> In order to be able to compile xine-lib, you need (amongst other things)
-- the zlib compression library plus the appropriate headers, which are
-- often found in a package called zlib-devel or similar.
-- </P
--><P
--> Read again carefully the output <B
--CLASS="COMMAND"
-->./configure</B
-->
-- produced and/or compiler warnings and error reports, they often contain
-- helpful information to find out what's going on. If you're stuck here
-- and decide to post your problem on the xine-user mailing list,
-- make sure you include these outputs.
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="XVPLUGINFAILSTOBUILD"
-->The Xv video-out plugin fails to compile!</A
--></H4
--><P
--> If you want to have Xv support compiled in, make sure you either have
-- a shared Xv library on your system, e.g.
-- <B
--CLASS="COMMAND"
-->ls /usr/X11R6/lib/libXv*</B
-->
-- should give you some .so libs, like this:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> /usr/X11R6/lib/libXv.a
-- /usr/X11R6/lib/libXv.so
-- /usr/X11R6/lib/libXv.so.1</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Alternatively you need to have libtool 1.4 or newer installed, then
-- libXv.a is sufficient. Otherwise you can create the shared versions yourself:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->ld --whole-archive -shared -o libXv.so.1 libXv.a</B
-->
-- <B
--CLASS="COMMAND"
-->ln -s libXv.so.1 libXv.so</B
-->
-- <B
--CLASS="COMMAND"
-->ldconfig</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Now you should be ready to build the Xv video-out plugin on your system.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN191"
-->Build problems in frontends (gxine/xine-ui/...)</A
--></H3
--><DIV
--CLASS="SECT3"
--><H4
--CLASS="SECT3"
--><A
--NAME="XINELIBNOTFOUND"
-->I have installed xine-lib but the frontend complains about not finding it!</A
--></H4
--><P
--> First of all take a closer look at the compilation instructions above again.
-- You will probably find your answer there right away.
-- </P
--><P
--> As stated there (there again that hint *grin*), make sure that you
-- have <TT
--CLASS="FILENAME"
-->$prefix/bin</TT
--> in your path and that your
-- linker is able to find libraries installed in <TT
--CLASS="FILENAME"
-->$prefix/lib</TT
-->
-- By the way, $prefix is where you installed your xine-lib to earlier
-- (yes, installing xine-lib with <B
--CLASS="COMMAND"
-->make install</B
--> or
-- installing the corresponding distribution-provided -dev or -devel
-- package would be a good idea before trying to compile the frontend ;)
-- ).
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="NONROOTBUILD"
-->Can I install xine in my home directory (without being root)?</A
--></H3
--><P
--> Sure. First set up a subdir where you install your private software, eg.
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->mkdir ~/xine</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Then you have to set a few environment variables - it's probably a good
-- idea to add this to your <TT
--CLASS="FILENAME"
-->~/.bashrc</TT
--> (or somewhere similar):
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->export PATH="$HOME/xine/bin:$PATH"</B
-->
-- <B
--CLASS="COMMAND"
-->export LD_LIBRARY_PATH="$HOME/xine/lib:$LD_LIBRARY_PATH"</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Now you can unpack tarballs e.g. in <TT
--CLASS="FILENAME"
-->~/xine/src</TT
-->
-- (<B
--CLASS="COMMAND"
-->mkdir ~/xine/src</B
--> if necessary) and do a
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./configure --prefix=$HOME/xine</B
-->
-- <B
--CLASS="COMMAND"
-->make install</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> You also need to tell frontends using xine-lib, where to find it:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./configure --prefix=$HOME/xine --with-xine-prefix=$HOME/xine</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="WIN32BUILD"
-->How to compile xine for Windows?</A
--></H3
--><P
--> For compiling xine under Windows with MinGW, CygWin or MS Visual C see <A
--HREF="http://xine.cvs.sourceforge.net/*checkout*/xine/xine-lib/doc/README.WIN32"
--TARGET="_top"
--><TT
--CLASS="FILENAME"
-->README.WIN32</TT
--></A
-->.
-- </P
--><P
--> For cross-compiling xine under comfortable unix-like environment with MinGW see <A
--HREF="http://xine.cvs.sourceforge.net/*checkout*/xine/xine-lib/doc/README.MINGWCROSS"
--TARGET="_top"
--><TT
--CLASS="FILENAME"
-->README.MINGWCROSS</TT
--></A
-->.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="PLAYBACK"
-->Playback of various stream types</A
--></H2
--><DIV
--CLASS="SECT2"
--><H3
--CLASS="SECT2"
--><A
--NAME="AEN229"
-->DVD Playback with xine</A
--></H3
--><DIV
--CLASS="SECT3"
--><H4
--CLASS="SECT3"
--><A
--NAME="DVDPLAYBACK"
-->How do I play back DVDs with xine?</A
--></H4
--><P
--> Newer xine (1.0.x) releases come with a full-featured
-- DVD plugin that should be able to handle any unencrypted,
-- non-locked DVD with full menu navigation support. No external
-- plugins are required anymore here.
-- </P
--><P
--> To get DVD playback working, first make sure you have
-- a symlink <TT
--CLASS="FILENAME"
-->/dev/dvd</TT
--> pointing to your
-- DVD device on your system. For example, if your DVD drive
-- is the master ide drive on the second IDE channel,
-- <TT
--CLASS="FILENAME"
-->/dev/dvd</TT
--> should point to
-- <TT
--CLASS="FILENAME"
-->/dev/hdc</TT
-->. Please note that if you
-- are using the ide-scsi emulation on your system, it is
-- likely that your DVD drive got mapped to a scsi device
-- node even though it is an ide drive. In that case first
-- check out you boot/kernel logs (or run <B
--CLASS="COMMAND"
-->cdrecord -scanbus</B
-->)
-- to find out which device it got mapped to and set the
-- symlink accordingly (should be something like <TT
--CLASS="FILENAME"
-->/dev/scd0</TT
-->,
-- <TT
--CLASS="FILENAME"
-->/dev/scd1</TT
-->, ... in that case).
-- Also make sure you (as a user) have sufficient (read and write) permissions
-- on your DVD drive. This could mean you either have to change the device
-- permissions or add your user to a special group
-- (e.g. <B
--CLASS="COMMAND"
-->addgroup cdrom username</B
-->),
-- depending on your setup and/or distribution.
-- </P
--><P
--> It is highly recommended to switch DMA mode on for your DVD drive
-- (without it even very recent machines will have trouble producing
-- smooth video output). Use a command like
-- <B
--CLASS="COMMAND"
-->hdparm -d 1 <device></B
-->
-- on your DVD device. Please note that even if you're using ide-scsi
-- you will have to set the dma flag on the ide device node (e.g.
-- <TT
--CLASS="FILENAME"
-->/dev/hdc</TT
-->), not the mapped <TT
--CLASS="FILENAME"
-->/dev/scd</TT
-->
-- scsi device.
-- </P
--><P
--> To be able to play back encrypted DVDs you need to have
-- libdvdcss installed on your system (please check if this is legal where
-- you live). If you do not understand what the term "encrypted DVD" means
-- here: As a rule of thumb, every DVD you have to pay money for is most
-- likely encrypted.
-- </P
--><P
--> To make matters worse, apart from encryption, there is another obstacle
-- to take: the region code. The DVD authorities decided to divide the world
-- into eight geographical regions. Have a look at
-- <A
--HREF="http://www.dvdforum.gr.jp/RegionMap.pdf"
--TARGET="_top"
-->http://www.dvdforum.gr.jp/RegionMap.pdf</A
-->
-- if you want to know which number has been assigned to your country. It is
-- now their idea, that you shall only play DVDs, which have been produced
-- for your region. If you take a DVD off the shelf in your local store,
-- you should find a little globe-like icon which shows the region code the
-- disc is for.
-- </P
--><P
--> Newer (post-2000) DVD drives (so-called RPC-2 drives) check the DVD
-- region, which means they'll prevent you from playing back DVDs that have
-- a different region code from what the drive is set up for. Some drives
-- come with a factory setting of region 0 so they can play back
-- any DVD until a region code is set. Others refuse to play any DVD at all
-- until they are told a region. The easiest way to handle this is to use
-- the regionset utility from
-- <A
--HREF="http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415"
--TARGET="_top"
--> http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415
-- </A
-->.
-- </P
--><P
--> Once you have everything set up, try something like
-- <B
--CLASS="COMMAND"
-->gxine dvd:/</B
--> or <B
--CLASS="COMMAND"
-->xine -p dvd:/</B
-->
-- to start dvd playback. Some frontend also offer so-called autoplay
-- buttons or menu entries that start dvd playback immediately.
-- </P
--><P
--> Important: do not try to mount the DVD. Just insert it and hit the DVD autoplay
-- button or start xine from the command line.
-- </P
--><P
--> If things do not work as expected, try running the <B
--CLASS="COMMAND"
-->xine-check</B
-->
-- shellscript that comes with xine to see if this gives you further hints on
-- what could be wrong.
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="DVDLONGWAIT"
-->DVD playback works, but it takes a long time until playback starts</A
--></H4
--><P
--> This points to a region code problem. Some versions of libdvdcss can play
-- back DVDs from other regions than the RPC-2 DVD drive is set up for,
-- but this usually means a cryptographic attack (which takes time) has
-- to be used to access the DVD.
-- </P
--><P
--> You can download a tool to set the region code of RPC-Drives here:
-- <A
--HREF="http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415"
--TARGET="_top"
--> http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415
-- </A
-->.
-- </P
--><P
--> Warning: Please be aware that the number of region code changes in RPC-2
-- drives is limited (usually about 5 times), after that your drive will
-- stay locked to the region you last set it up for.
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="REGIONSET"
-->I have problems setting up my RPC-2 drive for the right region!</A
--></H4
--><P
--> You can download a tool to set the region code of RPC-Drives here:
-- <A
--HREF="http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415"
--TARGET="_top"
--> http://sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415
-- </A
-->.
-- </P
--><P
--> Warning: Please be aware that the number of region code changes in RPC-2
-- drives is limited (usually about 5 times), after that your drive will
-- stay locked to the region you last set it up for.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="VCDSUPPORT"
-->Can I watch Video CDs (VCDs)? SVCDS ? CD-i?</A
--></H3
--><P
--> xine supports VCD and SVCD playback out-of-the box. Similar to DVDs,
-- make sure you have a <TT
--CLASS="FILENAME"
-->/dev/cdrom</TT
--> alias pointing
-- to your CDROM drive which you will use to play back the (S)VCD.
-- </P
--><P
--> At the moment, CD-i formats are not supported by xine.
-- </P
--><P
--> Do not try to mount the (S)VCD. Simply insert it into your CDROM drive
-- and hit the VCD autoplay button or start something like
-- <B
--CLASS="COMMAND"
-->gxine vcd:/</B
--> or <B
--CLASS="COMMAND"
-->xine vcd:/</B
-->
-- from the command line.
-- </P
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="VCDTROUBLESHOOTING"
-->VideoCD troubleshooting guide</A
--></H4
--><P
--> This gives higher-level troubleshooting. More lower-level information is
-- given in <A
--HREF="#VCDDEBUG"
-->the next section</A
-->.
-- </P
--><P
--></P
--><UL
--><LI
--><P
--> When you open the configuration dialog of your frontend, you should
-- see a <CODE
--CLASS="PARAMETER"
-->vcd</CODE
--> config section. An important setting is
-- <CODE
--CLASS="PARAMETER"
-->default_device</CODE
-->. If this is set to the empty string,
-- the VCD plugin will try to scan your drives for a suitable device if the
-- driver has the capability to scan for drives. However you can set
-- the device to something of your choosing. On GNU/Linux, this may be
-- <TT
--CLASS="FILENAME"
-->/dev/cdrom</TT
--> and on Solaris it may be
-- <TT
--CLASS="FILENAME"
-->/vol/dev/aliases/cdrom0</TT
-->.
-- </P
--><P
--> If you set this field, make sure these are correct for your
-- particular setup. For example, I generally play out of the DVD
-- device and this is called <TT
--CLASS="FILENAME"
-->/dev/dvd</TT
--> rather than <TT
--CLASS="FILENAME"
-->/dev/cdrom</TT
-->.
-- </P
--><P
--></P
--></LI
--><LI
--><P
--> Your frontend should offer a VCD autoscan button or menu item.
-- If you select this, you should see your CD disk light go on if you have one.
-- And the CD should be read. You should get a playlist of what's on the VideoCD.
-- </P
--><P
--> If not something's wrong, possibly you configured the wrong drive.
-- You might try to read a disk image of a VideoCD and thus elimate any problems
-- with hardware. You can get a test VideoCD disk image to test here:
-- <A
--HREF="http://www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip"
--TARGET="_top"
--> http://www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip
-- </A
-->.
-- After unzipping this there should be files <TT
--CLASS="FILENAME"
-->test_svcd_pal.cue</TT
--> and
-- <TT
--CLASS="FILENAME"
-->test_svcd_pal.bin</TT
-->. Run xine with the MRL
-- <TT
--CLASS="FILENAME"
-->vcd:/test_svcd_pal.cue:E0</TT
-->.
-- If you see something playing then this is a hardware problem.
-- You might also want to try starting playback-control with
-- <TT
--CLASS="FILENAME"
-->vcd:/test_svcd_pal.cue:P1</TT
-->.
-- </P
--><P
--></P
--></LI
--><LI
--><P
--> There should be at least one "track", and one "entry" listed for
-- the VideoCD and the names of these in the MRL list will end with
-- "T1" and "E0" respectively. Often there are other playlist items,
-- and if you have menus or still frames there will be
-- "segments" as well. The simplest things to check are probably
-- "entries" and "tracks". If there are no entries listed or none of
-- the tracks or entries play, then there may be a problem with
-- that particular medium. So as in the step above, you can try a known good
-- sample and perhaps burn a CD from that. More likely if you get this
-- far, some of the items listed work and some do not. There are a
-- number of debugging switches that you can dynamically turn on and
-- off that may be able to help in isolating more specific problems.
-- See the <A
--HREF="#VCDDEBUG"
-->section below</A
-->.
-- </P
--><P
--></P
--></LI
--><LI
--><P
--> Something plays now, but you do not get any menus? Well, first is there
-- supposed to be a menu? In the last step you should have seen what is on
-- the VideoCD. Still frames are always "segments" so see if you can find one in the MRL
-- list and select that.
-- </P
--><P
--> If there are no segments listed, there aren't any still-frame
-- menus. It's also possible to have menus in looping MPEG's. Use the
-- <B
--CLASS="COMMAND"
-->vcddump</B
--> tool to find loops. <B
--CLASS="COMMAND"
-->vcddump</B
--> is
-- also part of VCDImager. Another program that can help you examine the contents
-- of a VideoCD is <B
--CLASS="COMMAND"
-->vcdxrip</B
-->.
-- </P
--><P
--> To troubleshoot, start out with the known SVCD example that has a
-- still-frame menu at the beginning:
-- <A
--HREF="http://www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip"
--TARGET="_top"
--> http://www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip
-- </A
-->
-- Inside this is a largish file called <TT
--CLASS="FILENAME"
-->test_svcd_pal.bin</TT
--> and another
-- short text file called <TT
--CLASS="FILENAME"
-->test_svcd_ntsc.cue</TT
-->. These are CD disk
-- images; that is, something that could be burned to a CD drive such
-- as with <B
--CLASS="COMMAND"
-->cdrdao</B
-->. However you don't have to create a CD to view these
-- with the xine VCD plugin. You should be able to play the VideoCD by running the MRL
-- <TT
--CLASS="FILENAME"
-->vcd:/test_svcd_pal.cue</TT
-->.
-- If you see a still frame on startup. Great! If instead you see what
-- looks like the beginning of a movie (Blue Streak with Martin Lawrence)
-- then go to the next step.
-- </P
--><P
--></P
--></LI
--><LI
--><P
--> You have a VideoCD with menu and can see it, but there is no menu on startup?
-- If you have the VideoCD from the last step, then run the MRL
-- <TT
--CLASS="FILENAME"
-->vcd:/test_svcd_pal.cue:P1</TT
-->
-- If this shows a still frame, but it just does not show when you
-- hit either the "VCD" autoscan button or give a MRL without the P1 at
-- the end then go to the next step.
-- </P
--><P
--> If you have another VideoCD, from the MRL list, you should also see "playlist"
-- entries. Try selecting the one that ends "P1". If you don't see an entry with P1,
-- then your VideoCD does not have playback control (PBC) and although there may
-- be a still frame on the VideoCD it may have been authored so it is not easily
-- accessed. Again <B
--CLASS="COMMAND"
-->vcddump</B
--> or <B
--CLASS="COMMAND"
-->vcdxrip</B
--> can help here.
-- </P
--><P
--></P
--></LI
--><LI
--><P
--> You have a VideoCD with menu at beginning and can see it using an MRL
-- with P1 at the end, but you want to see it by hitting the "VCD" autoscan button
-- as well? Check to see that you have the configuration entry
-- <CODE
--CLASS="PARAMETER"
-->media.vcd.autoplay</CODE
--> set to <CODE
--CLASS="PARAMETER"
-->playlist</CODE
-->.
-- </P
--></LI
--></UL
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="VCDDEBUG"
-->VideoCD debugging</A
--></H4
--><P
--> To facilitate tracking down problems we let you see what's going on dynamically.
-- Various debugging settings will cause output to appear on xine's plugin log
-- and/or on standard error output. See the config entry <CODE
--CLASS="PARAMETER"
-->media.vcd.debug</CODE
-->
-- for details.
-- </P
--><P
--> The tool <B
--CLASS="COMMAND"
-->vcd-info</B
--> from the cdio branch of vcdimager can be used to
-- show the entire contents of a VideoCD or selected portions of that. Until the cdio
-- branch of vcdimager is completely merged with vcdimager, the cd-info branch version
-- has a few more features. (However consult vcdimager for complete version of the program.)
-- </P
--><P
--> <B
--CLASS="COMMAND"
-->vcdxrip</B
--> can be used to extract portions of a VideoCD and or create an
-- XML description file of the VideoCD. This XML file and the extracted
-- files can be used by <B
--CLASS="COMMAND"
-->vcdxbuild</B
--> to recreate another VideoCD.
-- </P
--><P
--> And finally see also tools <B
--CLASS="COMMAND"
-->cd-info</B
--> and <B
--CLASS="COMMAND"
-->cd-read</B
--> from libcdio.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="QUICKTIME"
-->Can I watch Quicktime (.mov, .mp4) files using xine?</A
--></H3
--><P
--> Quicktime is just a system layer (container format) which can contain various
-- different audio and video formats. The system layer itself is fully supported
-- in xine. However, some quicktime audio/video codecs are not natively supported yet.
-- Luckily, if you are using a x86 compatible machine (any recent PC hardware should do)
-- you can install and use the original Quicktime DLLs and watch most streams
-- (trailers) that can be downloaded from the net.
-- </P
--><P
--> Possibly the most convenient way to get the Quicktime DLLs is to download
-- them from the MPlayer website
-- <A
--HREF="http://www.mplayerhq.hu/homepage/dload.html"
--TARGET="_top"
--> http://www.mplayerhq.hu/homepage/dload.html
-- </A
-->.
-- The package is called "essential". Unpack it and move everything you find
-- inside to <TT
--CLASS="FILENAME"
-->/usr/lib/codecs</TT
--> (actually you can place them
-- anywhere you want, e.g. someplace in your home directory, but then you'll
-- have to set <CODE
--CLASS="PARAMETER"
-->decoder.external.win32_codecs_path</CODE
--> in your
-- xine config file accordingly). Restart xine then and you should be
-- able to watch Quicktime trailers.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN347"
-->Real Network files/streams</A
--></H3
--><DIV
--CLASS="SECT3"
--><H4
--CLASS="SECT3"
--><A
--NAME="REALFILEPLAYBACK"
-->Can I watch Real (.rm, .ram) files using xine?</A
--></H4
--><P
--> The situation with real files and streams is pretty similar to the situation
-- with Quicktime Streams (see above). The newer real audio and video formats
-- are only supported by using binary-only codecs which are not included in
-- xine.
-- </P
--><P
--> Possibly the most convenient way to get the Real codecs is to download
-- them from the MPlayer website
-- <A
--HREF="http://www.mplayerhq.hu/homepage/dload.html"
--TARGET="_top"
--> http://www.mplayerhq.hu/homepage/dload.html
-- </A
-->.
-- The package is called "essential". Unpack it and move everything you
-- find inside to <TT
--CLASS="FILENAME"
-->/usr/lib/codecs</TT
--> and set the
-- <CODE
--CLASS="PARAMETER"
-->decoder.external.real_codecs_path</CODE
--> in your xine config file
-- to <TT
--CLASS="FILENAME"
-->/usr/lib/codecs</TT
--> (actually you can place them
-- anywhere you want, e.g. someplace in your home directory, but then you'll
-- have to set <CODE
--CLASS="PARAMETER"
-->decoder.external.real_codecs_path</CODE
--> accordingly).
-- Restart xine then and you should be able to watch Real files/streams.
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="REALNETWORKSTREAMS"
-->What about (live) network streams (pnm://, rtsp:// style urls)?</A
--></H4
--><P
--> xine supports both pnm and rtsp streaming. However, digging out the actual
-- pnm/rtsp url can be tricky as they're often packed into heavy JavaScript and
-- HTML code on most websites. You can either use a combination of your
-- browser's "save source" function and wget or use a xine browser plugin
-- (currently the gxine frontend comes with a simple mozilla plugin,
-- for example). When you decided to dig out the url by hand don't get fooled
-- by the many redirectors that are often placed around the actual url.
-- Use wget to download any http://-style urls and use less to look inside
-- the downloaded .ra/.ram files where you will find the actual pnm/rtsp
-- url which can be opened using xine.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="WMV"
-->Can I watch Windows Media (.asf/.wmv/.wma) files using xine?</A
--></H3
--><P
--> While the container format (system layer) ASF (wmv is just an alias)
-- is fully supported in xine, for newer windows media 9 based streams
-- you'll need to install windows binary codecs (.DLLs).
-- </P
--><P
--> Possibly the most convenient way to get the Windows DLLs is to download
-- them from the MPlayer website
-- <A
--HREF="http://www.mplayerhq.hu/homepage/dload.html"
--TARGET="_top"
--> http://www.mplayerhq.hu/homepage/dload.html
-- </A
-->.
-- The package is called "essential". Unpack it and move everything you find
-- inside to <TT
--CLASS="FILENAME"
-->/usr/lib/codecs</TT
--> (actually you can place them
-- anywhere you want, e.g. someplace in your home directory, but then you'll
-- have to set <CODE
--CLASS="PARAMETER"
-->decoder.external.win32_codecs_path</CODE
--> in your
-- xine config file accordingly). Restart xine then and you should be
-- able to watch windows media streams.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="DVB"
-->Can I watch Digital TV (Digital Video Broadcast) using xine?</A
--></H3
--><P
--> At the time of this writing DVB support is a very new and experimental
-- feature in xine. The number of supported cards is pretty limited at the moment.
-- See <TT
--CLASS="FILENAME"
-->doc/README.dvb</TT
--> (in the xine-lib tarball) for details.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="STDIN"
-->How do I play streams from STDIN?</A
--></H3
--><P
--> Use something like:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->cat stream.mpg | gxine stdin:/</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AVISUBTITLES"
-->How can I watch files with external AVI subtitles?</A
--></H3
--><P
--> In xine 0.9.13 this used to be:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine foo.avi%bar.sub</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Latest xine-lib modules (1-beta3 or newer) support external subtitles
-- for any media file, not only AVI. In order to use it you can pass a
-- special MRL construction like:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine test.mpg#subtitle:file.sub</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- The external subtitles support can also be used by any xine frontend.
-- Currently xine-ui and kaffeine implement this feature with a subtitle
-- selection dialog.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="RUNNING"
-->Running xine</A
--></H2
--><DIV
--CLASS="SECT2"
--><H3
--CLASS="SECT2"
--><A
--NAME="SPEEDUP"
-->I have a lot of dropped frames - what can I do?</A
--></H3
--><P
--> Your hardware might be too slow for xine. Make sure you turn on all
-- speed optimizing options. A few things you should check (in order of
-- importance):
-- <P
--></P
--><UL
--><LI
--><P
--> First of all, run the <B
--CLASS="COMMAND"
-->xine-check</B
--> script included in xine
-- package (probably already installed in your system).
-- <B
--CLASS="COMMAND"
-->xine-check</B
--> will report several of the most common problems
-- listed here. Sample output from xine-check:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine-check</B
-->
-- Please be patient, this script may take a while to run...
-- [ good ] you're using Linux, doing specific tests
-- [ good ] looks like you have a /proc filesystem mounted.
-- [ good ] You seem to have a reasonable kernel version (2.4.18)
-- [ good ] intel compatible processor, checking MTRR support
-- [ good ] you have MTRR support and there are some ranges set.
-- [ good ] found the player at /usr/local/bin/xine
-- [ good ] /usr/local/bin/xine is in your PATH
-- [ good ] found /usr/local/bin/xine-config in your PATH
-- [ good ] plugin directory /usr/local/lib/xine/plugins exists.
-- [ good ] found input plugins
-- [ good ] found demux plugins
-- [ good ] found decoder plugins
-- [ good ] found video_out plugins
-- [ good ] found audio_out plugins
-- [ good ] skin directory /usr/local/share/xine/skins exists.
-- [ good ] found logo in /usr/local/share/xine/skins
-- [ good ] I even found some skins.
-- [ good ] /dev/cdrom points to /dev/hdc
-- [ good ] /dev/dvd points to /dev/hdc
-- [ good ] DMA is enabled for your DVD drive
-- [ good ] found xvinfo: X-Video Extension version 2.2
-- [ good ] your Xv extension supports YUV overlays (improves MPEG performance)
-- [ good ] your Xv extension supports packed YUV overlays
-- [ good ] Xv ports: YUY2 YV12 I420 UYVY</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></LI
--><LI
--><P
--> Try to use the Xv driver, it greatly improves performance and quality
-- because your graphics card does image scaling and colorspace conversion. The
-- <A
--HREF="#VIDEO"
-->video section</A
--> contains important information
-- about several Xv drivers.
-- </P
--><P
--> If Xv cannot be used for some reason, make sure your display is set up
-- to 16bpp, not 24 or higher (reduces memory bandwith). Some Xv drivers
-- may also have better performance with 16bpp.
-- </P
--></LI
--><LI
--><P
--> Make sure the hard drive (or cdrom/dvd drive) which supplies the
-- video data is in DMA mode (if supported).
-- </P
--><P
--> On most linux-based systems, you can use hdparm to check this:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->hdparm /dev/hda</B
-->
-- [...]
-- using_dma = 1 (on)
-- [...]</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> You can enable DMA mode with the following command:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->hdparm -d1 device_of_your_drive_that_supplies_video_data</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- In some cases where this fails it helps to specify the dma mode
-- to use, for example:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->hdparm -d1 -X 66 device_of_your_drive_that_supplies_video_data</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- In RedHat 8.0 an additional entry in /etc/modules.conf
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> options ide-cd dma=1</PRE
--></TD
--></TR
--></TABLE
-->
-- should help (reboot for this change to take effect).
-- </P
--><P
--> More information about this may be found here:
-- <A
--HREF="http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html"
--TARGET="_top"
--> http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html
-- </A
-->.
-- </P
--></LI
--><LI
--><P
--> Use a recent kernel which is optimized for your hardware. Old kernels
-- may lack support for accelerated instructions like SSE, for example.
-- </P
--></LI
--><LI
--><P
--> Close other applications (use a tool like "top" to find out
-- what applications are using up CPU power). Programs that update the
-- system clock like ntp should also be disabled.
-- </P
--></LI
--><LI
--><P
--> Enable MTRR support in your kernel. If you are still using XFree 3.x,
-- you'll have to tell the kernel yourself where the graphics memory is.
-- You'll find details about that in the linux dvd howto.
-- </P
--><P
--> If you're using XFree 4.x, enabling MTRR support in your kernel should
-- be enough (use a recent kernel!).
-- </P
--><P
--> Try a <B
--CLASS="COMMAND"
-->cat /proc/mtrr</B
--> - if the file exists and you find an entry
-- corresponding to the amount of graphics memory you have, everything
-- should be fine.
-- </P
--></LI
--><LI
--><P
--> Have your X-server (usually XFree86) running with higher priority.
-- Most recent linux distributions (like RedHat 8.0 or Mandrake 9.0) should
-- do that for you, improving not only xine but desktop responsiveness
-- in general.
-- </P
--><P
--> Use the "top" utility and verify under the "NI" column if
-- the X process has a negative value, this indicates a higher priority.
-- See "The X Window User HOWTO - Performance considerations" for
-- further instructions
-- <A
--HREF="http://www.tldp.org/HOWTO/XWindow-User-HOWTO/performance.html"
--TARGET="_top"
--> http://www.tldp.org/HOWTO/XWindow-User-HOWTO/performance.html
-- </A
-->.
-- </P
--></LI
--><LI
--><P
--> Use the latest or a known-good gcc version and build an optimized xine-lib for
-- your architecture.
-- </P
--></LI
--><LI
--><P
--> Besides boosting X-server priority, sometimes it's possible to avoid
-- discarding frames by making xine itself higher priority. This is not
-- a recommended pratice since it will require to run xine as root,
-- but you may give it a try if you want:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->nice --5 xine</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></LI
--><LI
--><P
--> xine needs high speed memory access which depends on your chip set.
-- Make sure you enable all speed-improving options.
-- </P
--><P
--> Especially the via apollo pro chipset is known to be quite weird,
-- (most of all on my gigabyte board). If you can't configure the ram
-- access thoroughly using the bios you might want to try some really
-- nasty tricks, as explained on (for example):
-- <A
--HREF="http://www.overclockers.com/tips105/index03.asp"
--TARGET="_top"
--> http://www.overclockers.com/tips105/index03.asp
-- </A
-->
-- </P
--><P
--> This website centers around a windows-tool to tweak the chipset, you
-- can do the same on FreeBSD with <B
--CLASS="COMMAND"
-->pciconf</B
-->.
-- On some linux distributions there are similar tools.
-- </P
--></LI
--><LI
--><P
--> a nice performance tuning tool can be found here:
-- <A
--HREF="http://powertweak.sourceforge.net"
--TARGET="_top"
-->http://powertweak.sourceforge.net</A
-->
-- </P
--></LI
--><LI
--><P
--> Set up and use raw devices for DVD access. Please note that the
-- actual performance gain during playback is very small if any, but
-- since raw devices are bypassing the kernel's buffer cache, Linux
-- will not try to cache the DVDs you play. This would not be useful,
-- because xine does its own caching and you usually play DVDs
-- sequentially, which means you won't reuse anything from the cache.
-- But the problem would be that Linux throws everything out of the
-- cache that might be in there.
-- </P
--><P
--> Raw devices should be available in linux kernel 2.4.x and there are
-- patches for older kernels available from:
-- <A
--HREF="ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/"
--TARGET="_top"
--> ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/
-- </A
-->
-- </P
--><P
--> To use raw devices, first connect a free raw device to your dvd
-- device, use something like:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->raw /dev/raw1 /dev/dvd</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Then create a link named "rdvd" pointing to that raw device:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->ln -s raw1 /dev/rdvd</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></LI
--><LI
--><P
--> For slow / high-latency dvd drives it might help to increase
-- the number of video buffers xine allocates. Try setting
-- <CODE
--CLASS="PARAMETER"
-->engine.buffers.video_num_buffers:500</CODE
-->
-- to a higher value (e.g. 1000 or 2500).
-- </P
--></LI
--></UL
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="SMOOTHNESS"
-->Oki, xine doesn't drop frames now but video output still is not really smooth!</A
--></H3
--><P
--> Video output can be further improved by tuning your linux kernel:
-- <P
--></P
--><UL
--><LI
--><P
--> Set HZ to 1000 in
-- <TT
--CLASS="FILENAME"
-->/usr/src/linux/include/asm-i386/param.h</TT
-->
-- </P
--></LI
--><LI
--><P
--> Try applying scheduler patches, especially the O(1) and the preemptive
-- patches have proven useful at the time of this writing (spring 2003).
-- </P
--></LI
--></UL
-->
-- Linux 2.5/2.6 will probably have these improvements out of the box.
-- </P
--><P
--> Miguel Freitas has written a nice
-- <A
--HREF="http://cambuca.ldhs.cetuc.puc-rio.br/~miguel/multimedia_sim/"
--TARGET="_top"
--> article about his kernel multimedia experiments
-- </A
-->.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="PORTS"
-->I have problems when using xine on FreeBSD, Solaris, ... !</A
--></H3
--><P
--> Check out the the corresponding README files in the directory <TT
--CLASS="FILENAME"
-->xine-lib/doc</TT
-->.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AAXINE"
-->What is aalib? How do I use it in xine?</A
--></H3
--><P
--> aalib is an ascii art library. xine comes with an aalib video output
-- plugin so you can watch movies in your xterm, on the console or on your
-- old vt100 - very cool ;> ... another nice option is to preview movies
-- on a remote server in your shell over ssh.
-- </P
--><P
--> To use it make sure you have aalib installed correctly before you
-- configure/build xine-lib and xine-ui. In addition to the <B
--CLASS="COMMAND"
-->xine</B
--> binary a
-- binary named <B
--CLASS="COMMAND"
-->aaxine</B
--> should get built and installed. You can then use
-- something like:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->aaxine foo.mpg</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- to use aalib video output.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="DXR3"
-->Does xine support my dxr3 / hollywood+ card?</A
--></H3
--><P
--> While xine's focus is clearly on software decoding, the dxr3 is supported.
-- </P
--><P
--> You can find more information about using xine with the dxr3
-- <A
--HREF="http://www.amalthea.de/xine/"
--TARGET="_top"
-->here</A
-->
-- (also covers how to do tv output using the dxr3).
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AUDIO"
-->Audio related questions</A
--></H2
--><DIV
--CLASS="SECT2"
--><H3
--CLASS="SECT2"
--><A
--NAME="AUDIODRIVERS"
-->What audio drivers does xine support? OSS? Alsa? Arts? Esd?</A
--></H3
--><P
--> Currently xine support audio output via OSS (kernel audio drivers),
-- ALSA 0.9.x (ALSA 0.5.x is no longer supported), arts (KDE's sound daemon)
-- and esound (esd, gnome's sound daemon - not recommended because it has
-- serious issues with a/v sync).
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="COMPRESSOR"
-->When I'm watching a movie, the sound effects are much higher in volume than the voices!</A
--></H3
--><P
--> Congratulations, you seem to have an original movie audio track there.
-- </P
--><P
--> Uhm. So you don't like it. Well, there are two things you can do:
-- <P
--></P
--><UL
--><LI
--><P
--> You can enable xine's audio compressor. Most frontends have
-- a settings window and in that you'll find a slider for the
-- compressor setting. The values are percent values, so a
-- slider setting of 200 means that xine will double the volume
-- of silent parts of the movie (loud parts stay the same).
-- </P
--><P
--> If your frontend does not have such a compression slider,
-- you can pass the value with the MRL:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine dvd:/#compression:150</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></LI
--><LI
--><P
--> If you have a dolby digital (AC3) soundtrack, you can try
-- to enable liba52's dynamic range compression setting
-- <CODE
--CLASS="PARAMETER"
-->audio.a52.dynamic_range:1</CODE
-->
-- in your xine config file (or use some gui config dialog).
-- </P
--></LI
--></UL
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="NOAUDIO"
-->When I play this stream, xine shows video but there's no audio!</A
--></H3
--><P
--> If this happens with any video, first try a different audio driver
-- (<B
--CLASS="COMMAND"
-->gxine -A oss</B
-->, <B
--CLASS="COMMAND"
-->gxine -A arts</B
-->,
-- <B
--CLASS="COMMAND"
-->xine -A alsa</B
--> ...).
-- </P
--><P
--> If this problem only occurs with one specific stream, maybe switching to
-- a different audio channel (using the gui) helps. Some DVD streams have
-- audio on strange channels.
-- </P
--><P
--> If all this doesn't help, maybe you're missing an audio codec or you found
-- a bug. If you decide to post your problem on the xine-user mailing list,
-- make sure to include all console output xine produced and also clearly
-- state what type of stream you tried to play back or, even better, make
-- a test stream available somewhere for developers to download and try.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="SURROUNDSOUND"
-->Can xine produce 4-/5-channel surround audio output?</A
--></H3
--><P
--> Yep, it can do that using OSS or ALSA drivers, provided that the driver
-- supports it. However, since xine cannot detect if there are actually speakers
-- connected to the additional channels, you'll have to activate that feature manually.
-- </P
--><P
--> You can do this either in the config dialog while xine is running (press
-- the config button on the xine panel and go to the AUDIO tab) or have it
-- the complicated way by editing the config file yourself which is located
-- in your home directory in <TT
--CLASS="FILENAME"
-->.gxine</TT
--> or <TT
--CLASS="FILENAME"
-->.xine</TT
-->:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> audio.output.speaker_arrangement:Surround 4.0
-- audio.output.speaker_arrangement:Surround 4.1
-- audio.output.speaker_arrangement:Surround 5.1</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="SPDIF"
-->What about ac3 output via spdif to an external ac3 decoder?</A
--></H3
--><P
--> xine can do that too. Pretty much the same story as for 4-/5-channel
-- surround (see above). You can either use the config dialog or edit
-- the config file (<TT
--CLASS="FILENAME"
-->~/.xine/config</TT
--> or <TT
--CLASS="FILENAME"
-->~/.gxine/config</TT
-->)
-- yourself:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> audio.output.speaker_arrangement:Pass Through</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="SBLIVESPDIF"
-->Getting SPDIF output from a SBLive 5.1 using OSS drivers</A
--></H3
--><P
--> The following explains how to get the above configuration
-- going with xine. Some parts of it may applicable to other
-- configurations (cards that use the EMU10k1 chip) as well.
-- </P
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN525"
-->Requirements</A
--></H4
--><P
--></P
--><OL
--TYPE="1"
--><LI
--><P
-->xine-lib >= 1.x.x</P
--></LI
--><LI
--><P
-->OSS driver</P
--></LI
--><LI
--><P
-->an external decoder</P
--></LI
--><LI
--><P
-->a cable to connect the SBLive to the external decoder</P
--></LI
--></OL
--><P
--> The configuration described was tested using a Soundblaster live 5.1 (rev 7)
-- with a Yamaha DSP-AX620 external decoder.
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN537"
-->Retrieving the driver</A
--></H4
--><P
--> The OSS driver is maintained by creative and can be downloaded at
-- <A
--HREF="http://opensource.creative.com/"
--TARGET="_top"
-->http://opensource.creative.com/</A
-->.
-- The driver package contains documentation on how to install it.
-- Besides that I'd like to add the following notes.
-- </P
--><P
--> In order to compile and install these drivers, you need a valid kernel
-- configuration file. For RedHat Linux's pre-compiled kernels these
-- configuration files can be found in
-- <TT
--CLASS="FILENAME"
-->/usr/src/linux/configs</TT
-->.
-- After you've located the correct config file for your kernel,
-- you need to copy it to <TT
--CLASS="FILENAME"
-->/usr/src/linux/.config</TT
-->
-- For example, when you run the 2.4.18-i686 kernel do :
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->cp /usr/src/linux/configs/kernel-2.4.18-i686.config /usr/src/linux/.config</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- Make sure that the emu10k1 module that is currently installed is
-- not loaded. To unload the modules:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->/sbin/modprobe -rv emu10k1.o ac97_codec.o</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- If this mentions that the device is busy, some program is
-- using the driver. Some example could be a mixer application
-- or sound daemon like artsd. You'll need to close down the
-- applications before continuing.
-- At success it should print something like:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> # delete emu10k1
-- # delete ac97_codec
-- # delete soundcore</PRE
--></TD
--></TR
--></TABLE
-->
-- Run make in the directory where you unpacked the driver and follow the
-- instructions printed at the end of each step.
-- The last step should be:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->make install-tools</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- As the README of the driver package mentions the SPDIF AC3
-- output doesn't work by default. In the directory
-- <TT
--CLASS="FILENAME"
-->utils/scripts</TT
--> an <TT
--CLASS="FILENAME"
-->emu10k1.conf</TT
-->
-- file can be found which need to be placed in the default
-- installation directory (<TT
--CLASS="FILENAME"
-->/usr/local/etc</TT
-->).
-- After this the <TT
--CLASS="FILENAME"
-->emu10k1.conf</TT
--> needs to be modified.
-- The following settings worked fine for me (I don't use the analog
-- outputs of the card):
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> CARD_IS_5_1=yes
-- USE_DIGITAL_OUTPUT=yes
-- ENABLE_TONE_CONTROL=yes
-- AC3PASSTHROUGH=yes
-- ENABLE_LIVEDRIVE_IR=no
-- INVERT_REAR=no
-- MULTICHANNEL=yes
-- ROUTE_ALL_TO_SUB=no
-- ANALOG_FRONT_BOOST=no
-- SURROUND=no
-- PROLOGIC=no
-- ENABLE_CD_Spdif=yes
-- ENABLE_OPTICAL_SPDIF=no
-- ENABLE_LINE2_MIC2=no
-- ENABLE_RCA_SPDIF=no
-- ENABLE_RCA_AUX=no</PRE
--></TD
--></TR
--></TABLE
-->
-- After modifying the <TT
--CLASS="FILENAME"
-->emu10k1.conf</TT
-->,
-- you need to modify your <TT
--CLASS="FILENAME"
-->/etc/modules.conf</TT
--> and
-- make sure the following lines are in there.
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> alias sound-slot-0 emu10k1
-- post-install emu10k1 /usr/local/etc/emu-script</PRE
--></TD
--></TR
--></TABLE
-->
-- After saving the changes to <TT
--CLASS="FILENAME"
-->modules.conf</TT
-->, run
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->/sbin/depmod -a</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- Now, you're ready to load the new modules and set the correct
-- options for it. To load the modules run:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->/sbin/modprobe emu10k1</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN564"
-->Setting up xine for SPDIF (AC3 passthrough) output</A
--></H4
--><P
--> You can either use the config dialog of your frontend or edit
-- the config file (<TT
--CLASS="FILENAME"
-->~/.xine/config</TT
-->) yourself:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> audio.output.speaker_arrangement:Pass Through</PRE
--></TD
--></TR
--></TABLE
-->
-- In case the setting is not in the file you can add it.
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN569"
-->The cable used for the SBLive can easily be self-made
-- or buy a stereo 3.5mm jack to dual RCA cable.</A
--></H4
--><P
--> What you need to make the cable yourself:
-- <P
--></P
--><UL
--><LI
--><P
-->stereo 3.5mm jack plug</P
--></LI
--><LI
--><P
-->RCA plug</P
--></LI
--><LI
--><P
-->shielded cable (video coax 75 Ohm will do)</P
--></LI
--></UL
-->
-- Connect them as follows :
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> center pin jackplug ------|----- center pin RCA plug
-- GND __|__ GND</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> In order to test it use a DVD with AC3 or DTS track
-- start xine and select the right audio track
-- from user interface or start xine as:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine dvd:/1 -a 0</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- The external decoder should display something like
-- "Dolby Digital" in case the selected audio track contains
-- AC3 data or "DTS" in case the selected audio track
-- contains DTS data. Of course stereo audio also goes
-- through the SPDIF output, so the analog outputs of the
-- SBLive 5.1 are not needed anymore.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="VOLUMECONTROL"
-->Changing the volume with the GUI control has no effect! What's up!?</A
--></H3
--><P
--> Some xine drivers do not support volume changing although the GUI
-- will show the volume bar. Usually this is not xine's fault: aRts C
-- API, for example, doesn't offer any volume property to applications.
-- Similarly, with ac3 pass through it is not possible to set the volume.
-- </P
--><P
--> Note that recently we added support to "simulate" volume in aRts by
-- changing sample values on-the-fly before delivering them to the driver.
-- Not as good as having access to sound card's mixer but at least users
-- will not complain about lacking of volume bar anymore! :)
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="STUTTERING"
-->Audio is stuttering and i see a lot of "metronom: fixing sound card drift by -2115 pts" on the console output</A
--></H3
--><P
--> Might be a soundcard problem, if it only comes in longer intervals.
-- Your soundcard does not keep it's sampling frequency accurately
-- enough, which results in audio and video
-- getting out of sync and xine has to compensate. If you see the message
-- only from time to time, you might remedy it by using the resampling sync
-- method. You can do this by setting the configuration entry
-- <CODE
--CLASS="PARAMETER"
-->audio.synchronization.av_sync_method</CODE
--> to <CODE
--CLASS="PARAMETER"
-->resample</CODE
-->.
-- </P
--><P
--> If you receive the metronom message more often,
-- maybe switching to different drivers (alsa to oss or vise-versa)
-- can help here. It has also been reported that setting the configuration
-- entry <CODE
--CLASS="PARAMETER"
-->audio.synchronization.force_rate</CODE
--> to the native sampling
-- rate of your soundcard (try 44100 and 48000) helps sometimes.
-- </P
--><P
--> Another, whole different possibility is that you have some background
-- process running which is messing with the clock (like some ntp client -
-- chronny, ntpd, ...).
-- </P
--><P
--> Occasional messages of "fixing sound card drift" may happen on start and
-- when playing a long stream (like a movie). This is normal behaviour,
-- nothing to worry about.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="SOUNDLOSS"
-->xine seems to lose sound arbitrarily during playback, especially with DVDs</A
--></H3
--><P
--> You are using the OSS audio output plugin, right? In order to keep video and audio
-- in sync, xine regularly queries the audio driver for the amount of delay induced by
-- the current length of the driver's audio buffer. Unfortunately some OSS drivers seem
-- to be broken because the can return strange values here. This confuses the xine audio
-- subsystem and makes it drop audio.
-- </P
--><P
--> You should try the various settings of the
-- configuration entry <CODE
--CLASS="PARAMETER"
-->audio.oss_sync_method</CODE
-->. The options
-- <CODE
--CLASS="PARAMETER"
-->getodelay</CODE
--> and <CODE
--CLASS="PARAMETER"
-->getoptr</CODE
--> ask the driver and
-- might therefore show the problem. But chances are that only one is broken and the other
-- works, so you should try them both first, since they are the most accurate.
-- The option <CODE
--CLASS="PARAMETER"
-->probebuffer</CODE
--> does not ask the driver directly but
-- tries to determine the buffer length from outside. This should work with any driver
-- and is the way to go, of the driver dependent methods fail.
-- <CODE
--CLASS="PARAMETER"
-->softsync</CODE
--> is the least accurate and should be used only in
-- emergency situations.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="VIDEO"
-->Video related questions</A
--></H2
--><DIV
--CLASS="SECT2"
--><H3
--CLASS="SECT2"
--><A
--NAME="NOVIDEO"
-->I can hear the audio - but I don't see a picture!</A
--></H3
--><P
--> Probably your hardware is simply too slow - see above for some
-- hints on how to speed things up.
-- </P
--><P
--> Another possibility is that you using a buggy Xv driver, see the next
-- questions.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="BLUESCREEN"
-->I only see a blue (or green or black) video image most of the time.</A
--></H3
--><P
--> You are either watching a very boring video (just kidding) or you are
-- suffering from a bug in the Xorg 6.7 implementation of X11.
-- </P
--><P
--> The workaround is to add the line
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> Option "XaaNoOffscreenPixmaps"</PRE
--></TD
--></TR
--></TABLE
-->
-- in the <CODE
--CLASS="VARNAME"
-->Device</CODE
--> section of your X server configuration (usually
-- <TT
--CLASS="FILENAME"
-->/etc/X11/xorg.conf</TT
--> or <TT
--CLASS="FILENAME"
-->/etc/X11/XF86Config</TT
-->).
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="BUGGYXV"
-->The image looks strange, it is shifted, cropped or shows weird lines!</A
--></H3
--><P
--> This points to a problem with the Xv extension, which is used by xine
-- to display the video image. To verify this, try running xine with the XShm
-- video output plugin:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine -V XShm</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> If that works fine, you just proved, that the Xv extension is buggy. xine will
-- remember the last used video output plugin, so the setting will stay at XShm.
-- You could simply continue using this, but XShm is a lot slower than Xv, so
-- read on and see if you can get it working. Usually you should look for
-- updated versions of the XFree driver module that belongs to your graphics card.
-- </P
--><P
--> Other possibilites are limitations in either your XFree driver module or your
-- graphics hardware. If your card could somehow be running out of ressources (graphics
-- RAM perhaps) and displays an incorrect Xv overlay because of that, try reducing
-- the display resolution and/or colour depth.
-- </P
--><P
--> Consult the next question for more details on Xv.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="XVEXTENSION"
-->How can I make xine use the Xv extension and what drivers do I need?</A
--></H3
--><P
--> xine will normally use Xv by default if it is available. In some cases
-- you might need to choose Xv playback manually (when the <TT
--CLASS="FILENAME"
-->~/.xine/config</TT
-->
-- file for some reason says that you want to use XShm):
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine -V Xv</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> If this doesn't work for you, it may be possible that Xv is not present
-- on your system.
-- </P
--><P
--> First you need to install/use XFree 4.x. Once you got that you have to
-- make sure the XFree drivers you're using are supporting Xv on your
-- hardware. Here are some hints for individual gfx chips:
-- <P
--></P
--><UL
--><LI
--><P
-->
-- 3Dfx: if all you get is a solid black window, upgrade at least to XFree 4.1.0
-- </P
--></LI
--><LI
--><P
-->
-- ATI: if you only get "half a picture", try lowering your resolution
-- or bit depth, disable DRI (looks like you ran out of video RAM)
-- </P
--></LI
--><LI
--><P
-->
-- Trident card: If you see vertical bands jumbled, upgrade to the latest
-- xfree/experimental trident drivers (for the CyberBlade XP
-- a driver exists here:
-- <A
--HREF="http://www.xfree86.org/~alanh/"
--TARGET="_top"
-->http://www.xfree86.org/~alanh/ </A
-->)
-- </P
--></LI
--><LI
--><P
-->
-- nVidia: With newer GeForce cards, Xv should work with XFree 4.2.0 or
-- newer, for older RivaTNT cards use the binary drivers from nvidia
-- (of course the binary drivers work as well for GeForce cards)
-- </P
--></LI
--><LI
--><P
-->
-- Mach64/Rage3D (not Rage128/Radeon) cards/chips get no XVideo with
-- standard drivers, try
-- <A
--HREF="http://gatos.sourceforge.net/"
--TARGET="_top"
-->GATOS drivers
-- </A
--> instead
-- </P
--></LI
--><LI
--><P
-->
-- intel: i815 has Xv support in XFree 4.x, others unknown
-- </P
--></LI
--><LI
--><P
-->
-- Permedia 2/3 has Xv support in XFree 4.x
-- </P
--></LI
--><LI
--><P
-->
-- Savage: at least some older drivers tend to lock up the whole machine,
-- try the drivers available from
-- <A
--HREF="http://www.probo.com/timr/savage40.html"
--TARGET="_top"
--> http://www.probo.com/timr/savage40.html
-- </A
-->.
-- </P
--></LI
--><LI
--><P
-->
-- SIS: certain controllers (more info needed!) have Xv support in XFree 4.x
-- </P
--></LI
--><LI
--><P
-->
-- Chips and Tech 6555x, 68554, 69000, 69030 have Xv support in XFree 4.x
-- </P
--></LI
--><LI
--><P
-->
-- NeoMagic: certain controllers (more info needed!) have Xv support in Xfree 4.x
-- </P
--></LI
--><LI
--><P
-->
-- SiliconMotion: certain controllers (more info needed!) have Xv support in Xfree 4.x
-- </P
--></LI
--><LI
--><P
-->
-- Matrox: G200 or newer (but not Parhelia) have Xv support in XFree 4.x.
-- For Parhelia, use the binary only drivers available from matrox' website.
-- </P
--></LI
--></UL
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="COLORKEY"
-->Some parts of my X Desktop get transparent when xine plays the video!</A
--></H3
--><P
--> Looks like some colors on your GUI match the colorkey Xv uses. You can
-- change the colorkey value to avoid this. There should be a line like:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> video.XV_COLORKEY:2110</PRE
--></TD
--></TR
--></TABLE
-->
-- in your <TT
--CLASS="FILENAME"
-->~/.xine/config</TT
--> file where you can change the color that's used
-- by xine for the video overlay.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="ASPECTRATIO"
-->The aspect ratio of the video is wrong!</A
--></H3
--><P
--> Usually xine discovers the screen aspect ratio by
-- querying the X-server and then adjusts the video automatically
-- to make it look right. However, if that doesn't work try
-- pressing "a" to manually change the aspect ratio.
-- </P
--><P
--> If you have a wide screen monitor, make sure the X-server
-- is correctly configured. The X-server must know the physical
-- size of the screen, which is independent of the resolution
-- being used.
-- </P
--><P
--> For XFree86 the screen size should be set with the file
-- <TT
--CLASS="FILENAME"
-->/etc/X11/XF86Config</TT
-->, under the section
-- <CODE
--CLASS="PARAMETER"
-->"Monitor"</CODE
--> as in the example below:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> Section "Monitor"
-- Identifier "Monitor0"
-- VendorName "Monitor Vendor"
-- ModelName "DDC Probed Monitor - ViewSonic G773-2"
-- DisplaySize 320 240
-- HorizSync 30.0 - 70.0
-- VertRefresh 50.0 - 180.0
-- EndSection</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Where <CODE
--CLASS="PARAMETER"
-->DisplaySize</CODE
--> specifies,
-- in millimeters, the physical size of the monitor's picture area.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="DISCARDEDSKIPPED"
-->What is the difference between discarded and skipped frames?</A
--></H3
--><P
--> Sometimes xine will output a message like that:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> 200 frames delivered, XX frames skipped, YY frames discarded</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> The difference between these counters is a little subtle for the non
-- developer. There are two threads running in order to display video:
-- the decoder thread will deliver frames to the video output thread.
-- The latter is responsible for scheduling the frames to be displayed at
-- the right time.
-- </P
--><P
--> If your system can't keep up with decoding requirements, decoder will
-- deliver overdue frames. Imagine if it finished decoding the frame
-- tagged for displaying at 11:30 but xine clock marks 11:31. When this
-- situation is detected, xine will try to skip decoding a few frames
-- to recover. Not every decoder may support this feature.
-- </P
--><P
--> When the frame is decoded to be shown somewhere in future but the
-- output thread doesn't get scheduled in time by the operating system
-- to complete the operation, the frame is discarded. One cause might
-- be the disk access operation, which may halt the system for a few
-- miliseconds without DMA. See performance section tips above.
-- </P
--><P
--> Note that if a decoder can't skip frames for some reason, you would
-- never see frames skipped (they would be all discarded).
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="CONTRASTBRIGHTNESSSATURATION"
-->My xine is runing in black and white! / I only get a gray video output!</A
--></H3
--><P
--> This frequently happens with new Xv drivers or when switching to a
-- different video card. Background is that different Xv drivers often
-- use different ranges for the contrast/brightness/saturation settings.
-- </P
--><P
--> To fix this, try opening the xine settings window and try adjusting
-- the sliders for contrast, brightness and saturation.
-- </P
--><P
--> Please note that some frontends save these settings in their config file
-- so when you have found a working combination, make sure you exit
-- xine cleanly so the values are saved.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="VIDEODRIVER"
-->Which is the best video driver to use?</A
--></H3
--><P
--> xine support several video drivers for outputing the image. These will
-- differ on how the frames are copied to the video card memory, whether
-- colorspace conversion and scaling is done in software or hardware, among
-- other things. They may also differ on ease of use and stability.
-- </P
--><P
--> Most of the time, Xv should give the users a good trade-off between
-- quality, compatibility and ease of use. This is why xine tries to use
-- Xv by default.
-- </P
--><P
--> However some users may want to explore better the available hardware
-- capabilities (eg. syncing frame drawing with monitor refresh).
-- Also some Xv drivers contain slow copies and accessing the video card
-- directly may yield performance gains.
-- </P
--><P
--> Drivers that access hardware directly includes VIDIX (warning: requires
-- root priviledges or kernel helper) and SyncFB (requires kernel helper - Matrox only).
-- User may try one of those, but should be warned that with root access
-- they can cause the system to crash hard. The support is also limited to
-- a couple of graphics cards only.
-- </P
--><P
--> Graphic workstations like SGI have usually a good support for OpenGL.
-- In that case, using OpenGL may be a better choice than XShm. However for
-- most desktop systems the performance of OpenGL will be quite bad.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="OVERLAY"
-->OSD and overlay related questions</A
--></H2
--><DIV
--CLASS="SECT2"
--><H3
--CLASS="SECT2"
--><A
--NAME="UNSCALEDOSD"
-->What is this "unscaled" OSD about?</A
--></H3
--><P
--> Since version 1-rc3 of xine-lib supports a new method for rendering OSD
-- (On Screen Display) and subtitles. This method uses a X11 extension
-- called XShape that allows using screen resolution instead of
-- stream resolution. It is called "unscaled" OSD because it does not
-- scales with the video being played.
-- </P
--><P
--> Suppose you are watching a 320x200 video in full screen. Normal OSD
-- would be blended at 320x200 and then scaled to full screen (lets say,
-- 1024x768), resulting in big and ugly fonts. The unscaled overlay is
-- drawn directly to screen, creating a sharper and better looking OSD.
-- </P
--><P
--> There are side effects too. Sometimes the unscaled overlay show some
-- glitch just before disappearing. Some people may be annoyed enough
-- by that and might want to disable the usage of unscaled overlay
-- altogether.
-- </P
--><P
--> Unscaled OSD usage by subtitles and xine-ui is controlled by
-- the following settings
-- (<TT
--CLASS="FILENAME"
-->~/.xine/config</TT
--> or <TT
--CLASS="FILENAME"
-->~/.gxine/config</TT
-->):
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> gui.osd_use_unscaled:0</PRE
--></TD
--></TR
--></TABLE
-->
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> subtitles.separate.use_unscaled_osd:0</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="NOOSD"
-->I can't see the OSD or it leaves a black box over the image!</A
--></H3
--><P
--> If you are using xine-lib version 1-rc3 or newer, this is probably
-- due buggy XV drivers that do not support
-- <A
--HREF="#UNSCALEDOSD"
-->unscaled OSD</A
--> (the XShape
-- extension) properly.
-- </P
--><P
--> There have being reports of some ATI drivers that don't allow
-- displaying anything over the video. The VIA Epia binary drivers
-- is reported to leave a black box where the OSD was displayed.
-- </P
--><P
--> The problem may be fixed by either updating the video driver,
-- or disabling xine unscaled OSD support.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="OVERLAYCOLORLEAK"
-->Why colors of overlays/subtitles seem to be "leaking"?</A
--></H3
--><P
--> xine blends most overlays, specially the ones from DVD discs,
-- directly over the image (scaled OSD). Unfortunately most codecs
-- (like MPEG2) use a subsampled image format (YV12) that makes
-- properly blending an interesting challenge.
-- </P
--><P
--> In short, this is a known xine bug. There have being discussions
-- on improving the blending quality but, so far, nobody implemented
-- a better (scaled) overlay renderer. Contact developers if you want
-- to try doing something about it.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="UGLYSUBTITLES"
-->Why external subtitles look so ugly?</A
--></H3
--><P
--> You are probably using a xine-lib version older than 1-rc3.
-- Try upgrading your copy and read the
-- <A
--HREF="#UNSCALEDOSD"
-->section about unscaled osd</A
-->.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="SUBTITLESOUTSIDEVIDEO"
-->Why subtitles can't be displayed outside the video?</A
--></H3
--><P
--> It is possible, but older xine versions may not support it. There are two
-- alternatives for rendering the subtitles outside the video image:
-- </P
--><P
--> <P
--></P
--><UL
--><LI
--><P
--> Use the "expand" post plugin to increase frame height adding
-- black bars to it. This will allow blending the subtitles
-- over the black bars, since they will be part of the video now.
-- </P
--></LI
--><LI
--><P
--> Use <A
--HREF="#UNSCALEDOSD"
-->unscaled OSD</A
-->, as it
-- does not requires any video to render the subtitles on.
-- </P
--></LI
--></UL
-->
-- </P
--><P
--> Also notice that DVD overlays (including subtitles) are meant to
-- be displayed in a fixed position, this is how the DVD menu
-- highlighting works. xine does not support moving them.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="SUPPORTEDFONTS"
-->What kinds of subtitle fonts does xine use?</A
--></H3
--><P
--> xine can use two kinds of fonts:
-- <P
--></P
--><UL
--><LI
--><P
--> TTF fonts
-- </P
--><P
--> If xine is compiled with freetype library xine recognizes and uses TTF
-- fonts directly.
-- </P
--></LI
--><LI
--><P
--> xine fonts
-- </P
--><P
--> This is xine's native format. It's better because the font
-- generator utility implements more features than the "on the fly" TTF renderer.
-- </P
--></LI
--></UL
-->
-- </P
--><P
--> The font for text subtitles is selected via config option
-- <CODE
--CLASS="PARAMETER"
-->subtitles.separate.font</CODE
-->. You can specify xine font name
-- (<CODE
--CLASS="PARAMETER"
-->sans</CODE
-->, <CODE
--CLASS="PARAMETER"
-->serif</CODE
-->, ...)
-- or file name of the TTF font. The directories
-- <TT
--CLASS="FILENAME"
-->$prefix/share/xine/libxine1/fonts</TT
--> and
-- <TT
--CLASS="FILENAME"
-->~/.xine/fonts</TT
--> are searched for the fonts, with
-- <TT
--CLASS="FILENAME"
-->$prefix</TT
--> being the place xine-lib was installed to.
-- Usually this is <TT
--CLASS="FILENAME"
-->/usr/local</TT
--> or <TT
--CLASS="FILENAME"
-->/usr</TT
-->.
-- TTF fonts are also searched for in the current directory.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="GENERATEFONTS"
-->How to create own xine subtitle fonts?</A
--></H3
--><P
--> xine's native subtitle fonts can be generated from TTF fonts with the
-- utility <B
--CLASS="COMMAND"
-->xine-fontconv</B
-->. It isn't compiled and installed by default but
-- you can make it manually. You'll need freetype and zlib packages together with
-- their versions for development plus a compiler, of course ;)
-- Here's how you build <B
--CLASS="COMMAND"
-->xine-fontconv</B
-->:
-- <P
--></P
--><UL
--><LI
--><P
--> Get the source of xine-fontconv utility from the <TT
--CLASS="FILENAME"
-->misc</TT
-->
-- directory within the xine-lib sources.
-- </P
--></LI
--><LI
--><P
--> Compile it:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->gcc xine-fontconv.c -o xine-fontconv `freetype-config --cflags --libs` -lz</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></LI
--></UL
-->
-- You'll need some TTF font for generating. Characters in this font should
-- cover all codepages you want supported, otherwise you'll have missing characters.
-- </P
--><P
--> Syntax is:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./xine-fontconf font.ttf font_name [encoding1 [encoding2 [...]]]</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> For example default font <TT
--CLASS="FILENAME"
-->sans</TT
--> was generated with
-- following command:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->./xine-fontconv Aril_Bold.ttf sans iso-8859-1 iso-8859-2 iso-8859-5 \
-- iso-8859-9 iso-8859-15 cp1250 cp1251</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> There are displayed messages about missing characters on the screen
-- during generating. It's OK if the missing characters are U+007f..U+009F.
-- These characters come from iso-8859-1 and they aren't displayable.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="SUBENCODING"
-->Encoding of external subtitles is bad. What is wrong?</A
--></H3
--><P
--> The encoding of the external subtitles is expected to be iso-8859-1 by
-- default. You need to set an appropriate encoding in the config option
-- <CODE
--CLASS="PARAMETER"
-->subtitles.separate.src_encoding</CODE
-->. Note that you also need
-- a font which contains all characters from the given encoding.
-- </P
--><P
--> The default font <TT
--CLASS="FILENAME"
-->sans</TT
--> and fonts
-- <TT
--CLASS="FILENAME"
-->serif</TT
--> and <TT
--CLASS="FILENAME"
-->mono</TT
--> cover these
-- encodings:
-- <P
--></P
--><UL
--><LI
--><P
-->iso-8859-1</P
--></LI
--><LI
--><P
-->iso-8859-2</P
--></LI
--><LI
--><P
-->iso-8859-5</P
--></LI
--><LI
--><P
-->iso-8859-9</P
--></LI
--><LI
--><P
-->iso-8859-15</P
--></LI
--><LI
--><P
-->windows-1250</P
--></LI
--><LI
--><P
-->windows-1251</P
--></LI
--></UL
-->
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="ERRORS"
-->Error Messages: What they mean and what you can do</A
--></H2
--><DIV
--CLASS="SECT2"
--><H3
--CLASS="SECT2"
--><A
--NAME="XFREECRASH"
-->Starting xine crashes XFree, I am logged out of my desktop!</A
--></H3
--><P
--> xine itself is unable to crash XFree, so when your X server just shuts down or
-- restarts with the login screen, there is something wrong with your X setup.
-- Most common are problems with the Xv extension. Try running xine with the XShm
-- video output plugin:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine -V XShm</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> If that works fine, you just proved, that the Xv extension is buggy. xine will
-- remember the last used video output plugin, so the setting will stay at XShm.
-- You could simply continue using this, but XShm is a lot slower than Xv, so
-- consult the <A
--HREF="#XVEXTENSION"
-->section on Xv</A
--> and see if you can
-- get it working. Usually you should look for updated versions of the XFree driver
-- module that belongs to your graphics card.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AUDIODRIVERERR"
-->Starting xine fails with complains about audio drivers/devices!</A
--></H3
--><P
--> You can select the audio driver using the -A option. So try:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine -A null</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- If you have ALSA drivers installed, try:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine -A alsa</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- If you run ESD (not recommended), try:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine -A esd</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- If you run artsd, try:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->xine -A arts</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="NOVIDEOPORTFOUND"
-->"no video port found"</A
--></H3
--><P
--> You got the Xv extension, but your video card driver doesn't support it.
-- First try to find a driver that does support Xv on your hardware (check
-- your graphics card vendor). If your driver has Xv support but you can't
-- get it working, try at a lower resolution (1024x768 is enough even for
-- anamorphic DVDs).
-- </P
--><P
--> If all that fails, you can still use plain X11/XShm:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->gxine -V XShm foo.vob</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="UNABLETOOPENDVDDRIVE"
-->"Unable to open dvd drive (/dev/dvd)"</A
--></H3
--><P
--> You probably don't have /dev/dvd (check that). If so, simply create a
-- link /dev/dvd that points to your DVD device. Something like...
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->ln -s hdc /dev/dvd</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- ...should do the job. Also make sure you have read and write access on
-- the device the symlink points to.
-- See the <A
--HREF="#DVDPLAYBACK"
-->dvd playback section</A
-->
-- for more information.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="STATUS0X51"
-->My drive doesn't work and the kernel says "status=0x51 { DriveReady SeekComplete Error }"</A
--></H3
--><P
--> This error can be fixed by recompiling your kernel with the option
-- "Use multi-mode by default" enabled in the IDE settings.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="DEMUXERROR0000"
-->"demux error! 00 00 00 (should be 0x000001)"</A
--></H3
--><P
--> Probably xine can't access your input source. Most commonly this happens
-- when you're trying to play locked/encrypted DVDs. Remember that xine
-- can't play such DVDs out-of-the box for legal reasons (see above).
-- </P
--><P
--> If it is legal where you live, you can try to install libdvdcss. Once
-- you have done that and re-start xine, it should automatically detect
-- and use it to play back encrypted DVDs.
-- </P
--><P
--> Another reason could be that your (RPC-2) DVD drive isn't set up
-- for the right region (see above).
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="OSSFAILED"
-->"audio driver 'oss' failed, using null driver instead"</A
--></H3
--><P
--> First of all, make sure that your OSS Audio drivers are working (i.e.
-- you can play music with other software). Maybe you're using alsa?
-- If so, try <B
--CLASS="COMMAND"
-->gxine -A alsa</B
--> to see if this helps.
-- </P
--><P
--> The most common reason for oss not working is that some other program is accesing
-- your audio device. If you're using linux, the command <B
--CLASS="COMMAND"
-->fuser /dev/dsp</B
-->
-- should give you the PID of the process.
-- </P
--><P
--> If you are using GNOME, chances are that this is caused by ESD. Now you
-- have two possibilities. Either deactivate ESD (temporarily) by right
-- clicking on the sound monitor applet and selecting "Place Esound in
-- standby" or just kill it. Then xine will use OSS audio output. The other
-- method is to make xine use ESD for audio output with:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->gxine -A esd</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- This may result in worse playback - exact syncronization is not possible
-- with esd, so using oss should be preferred.
-- </P
--><P
--> If you are using KDE, there is the possibility that the aRts sound
-- daemon is currently running and thus blocking your sound device. You
-- can check that by starting the aRts control (in your KDE menu it should
-- be under Multimedia). If it is running, you can either use the aRts
-- audio output plugin:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> <B
--CLASS="COMMAND"
-->gxine -A arts</B
--></PRE
--></TD
--></TR
--></TABLE
-->
-- Or you suspend the aRts daemon by checking the appropriate option in
-- your aRts control. (recommended)
-- </P
--><P
--> Newer versions of arts have an auto-suspend mode - this can lead to
-- some nondeterministic behaviour of xine if it is set up to use
-- the audio device directly. Using arts is recommended in that case,
-- however you will loose the ability to do four/five channel audio output.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="THROWINGAWAYIMAGE"
-->"video_out: throwing away image with pts xxx because it's too old"</A
--></H3
--><P
--> This is a performance related problem.
-- If you have a fast computer and this message shows from time to
-- time playing dvd/cdrom, it's very likely that your drive is not
-- DMA enabled.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="NOVIDEOPLUGINAVAILABLE"
-->"No video plugin available to decode 'xxxxxx'."</A
--></H3
--><P
--> You have tried to play a stream using a unknown or unhandled codec.
-- Possibly the file uses some obscure proprietary format and no
-- information is available on how to decode it.
-- </P
--><P
--> If you're on an x86 platform (e.g. PC hardware) you might want to
-- try installing binary-only windows medial, real networks and
-- quicktime codecs (see above).
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="DECODERFAILEDTOSTART"
-->"w32codec: decoder failed to start. Is 'xxxxxx' installed?"</A
--></H3
--><P
--> You probably don't have the win32 dll needed to decode this file.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="XINECRASHED"
-->xine just crashed on me - i didn't get any error message</A
--></H3
--><P
--> OK, yes, that shouldn't happen and you're upset. We can understand that.
-- But, to help you and of course to fix this, we need some information.
-- So, let's go through the checklist and maybe prepare a nice bug report
-- for the xine-user mailing list:
-- <P
--></P
--><UL
--><LI
--><P
--> Did xine really crash (segfault) or did it hang (deadlock)?
-- </P
--></LI
--><LI
--><P
--> Can you reproduce the bug? (e.g. do you remember what you
-- did and when you do it again it crashes again?)
-- </P
--></LI
--><LI
--><P
--> Is that a specific media file or format which crashes xine? (Have you
-- tried other files types?)
-- </P
--></LI
--><LI
--><P
--> Check the console output (and include it in a bug report), maybe earlier
-- there is some output that points to the problem.
-- </P
--></LI
--><LI
--><P
--> Your X server just froze on you? unfortunately that's a known problem
-- with some chipsets and drivers (most commonly Savage chipsets) when
-- using Xv. You might want to try running <B
--CLASS="COMMAND"
-->gxine -V XShm</B
-->
-- to see if the problem is related to the Xv driver. This will unfortunately
-- be much slower, as lots of things are now done in software instead of
-- hardware scaling/colour space conversion.
-- </P
--><P
--> Maybe at the time you read this, there's an XFree upgrade which fixes
-- this for the Savage driver. If that works for you, please notify the xine crew at
-- <CODE
--CLASS="EMAIL"
--><<A
--HREF="mailto:xine-user at lists.sourceforge.net"
-->xine-user at lists.sourceforge.net</A
-->></CODE
-->, so they can update this FAQ!
-- </P
--></LI
--><LI
--><P
--> Even though we try to make each release as bug free as possible, xine is
-- still under heavy development (nice excuse, isn't it? *grin*).
-- </P
--><P
--> If you write to the xine user mailing list
-- <CODE
--CLASS="EMAIL"
--><<A
--HREF="mailto:xine-user at lists.sourceforge.net"
-->xine-user at lists.sourceforge.net</A
-->></CODE
-->
-- make sure you include a the above information (when applicable)
-- and also some information about your machine (operating system, cpu type and
-- speed, gfx card, sound card, ...) and please use a meaningfull subject
-- line ("xine bug" is bad, "xine fails to play this quicktime trailer in fullscreen mode"
-- ist much better).
-- </P
--><P
--> Thanks for taking the time to help improve xine.
-- </P
--></LI
--></UL
-->
-- </P
--></DIV
--></DIV
--></DIV
--></DIV
--></BODY
--></HTML
-->
-\ No newline at end of file
-diff -urNad xine-lib-vdr-1.1.2~/doc/faq/faq.txt xine-lib-vdr-1.1.2/doc/faq/faq.txt
---- xine-lib-vdr-1.1.2~/doc/faq/faq.txt 2006-07-09 16:44:52.000000000 +0200
-+++ xine-lib-vdr-1.1.2/doc/faq/faq.txt 1970-01-01 01:00:00.000000000 +0100
-@@ -1,1830 +0,0 @@
--The xine engine FAQ
--
--Copyright © 2001-2003 the xine project team
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Table of Contents
--
--
-- General questions about xine and this document
--
-- What is the xine engine?
-- What's the aim and scope of this text?
-- My question is not yet covered here - where can I ask for help?
-- How do I pronounce "xine"?
-- What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for?
-- Where and how do I get the latest development version?
-- Why is gxine's CVS module named "gnome-xine"?
-- Where can I find pre-compiled binaries, e.g. RPMs?
--
-- Building and installing xine from source
--
-- What do I need to compile everything properly?
-- How do I compile xine?
-- Making your own RPM packages (xine-lib, xine-ui, gxine)
-- Making your own .deb packages (xine-lib, xine-ui; gxine CVS)
-- Can I provide additional CFLAGS for compilation?
-- Are there binaries for my AMD K7 (Athlonâ¢) available? Can I build them?
-- Build problems: xine engine (xine-lib)
-- Build problems in frontends (gxine/xine-ui/...)
-- Can I install xine in my home directory (without being root)?
-- How to compile xine for Windows?
--
-- Playback of various stream types
--
-- DVD Playback with xine
-- Can I watch Video CDs (VCDs)? SVCDS ? CD-i?
-- Can I watch Quicktime (.mov, .mp4) files using xine?
-- Real Network files/streams
-- Can I watch Windows Media (.asf/.wmv/.wma) files using xine?
-- Can I watch Digital TV (Digital Video Broadcast) using xine?
-- How do I play streams from STDIN?
-- How can I watch files with external AVI subtitles?
--
-- Running xine
--
-- I have a lot of dropped frames - what can I do?
-- Oki, xine doesn't drop frames now but video output still is not really
-- smooth!
-- I have problems when using xine on FreeBSD, Solaris, ... !
-- What is aalib? How do I use it in xine?
-- Does xine support my dxr3 / hollywood+ card?
--
-- Audio related questions
--
-- What audio drivers does xine support? OSS? Alsa? Arts? Esd?
-- When I'm watching a movie, the sound effects are much higher in volume
-- than the voices!
-- When I play this stream, xine shows video but there's no audio!
-- Can xine produce 4-/5-channel surround audio output?
-- What about ac3 output via spdif to an external ac3 decoder?
-- Getting SPDIF output from a SBLive 5.1 using OSS drivers
-- Changing the volume with the GUI control has no effect! What's up!?
-- Audio is stuttering and i see a lot of "metronom: fixing sound card
-- drift by -2115 pts" on the console output
-- xine seems to lose sound arbitrarily during playback, especially with
-- DVDs
--
-- Video related questions
--
-- I can hear the audio - but I don't see a picture!
-- I only see a blue (or green or black) video image most of the time.
-- The image looks strange, it is shifted, cropped or shows weird lines!
-- How can I make xine use the Xv extension and what drivers do I need?
-- Some parts of my X Desktop get transparent when xine plays the video!
-- The aspect ratio of the video is wrong!
-- What is the difference between discarded and skipped frames?
-- My xine is runing in black and white! / I only get a gray video output!
-- Which is the best video driver to use?
--
-- OSD and overlay related questions
--
-- What is this "unscaled" OSD about?
-- I can't see the OSD or it leaves a black box over the image!
-- Why colors of overlays/subtitles seem to be "leaking"?
-- Why external subtitles look so ugly?
-- Why subtitles can't be displayed outside the video?
-- What kinds of subtitle fonts does xine use?
-- How to create own xine subtitle fonts?
-- Encoding of external subtitles is bad. What is wrong?
--
-- Error Messages: What they mean and what you can do
--
-- Starting xine crashes XFree, I am logged out of my desktop!
-- Starting xine fails with complains about audio drivers/devices!
-- "no video port found"
-- "Unable to open dvd drive (/dev/dvd)"
-- My drive doesn't work and the kernel says "status=0x51 { DriveReady
-- SeekComplete Error }"
-- "demux error! 00 00 00 (should be 0x000001)"
-- "audio driver 'oss' failed, using null driver instead"
-- "video_out: throwing away image with pts xxx because it's too old"
-- "No video plugin available to decode 'xxxxxx'."
-- "w32codec: decoder failed to start. Is 'xxxxxx' installed?"
-- xine just crashed on me - i didn't get any error message
--
--General questions about xine and this document
--
--What is the xine engine?
--
--The xine engine is a free media player engine. It comes in the form of a shared
--libarary and is typically used by media player frontends and other multimedia
--applications for playback of multimedia streams such as movies, radio/tv
--network streams, DVDs, VCDs.
--
--Since there are several frontends for the xine library available, this document
--has a problem when it comes to examples. The two most common frontends xine-ui
--and gxine are mixed in command line examples throughout this FAQ. When you use
--a different frontend, some of these will not work for you. The filename of the
--config file also varies amongst frontends. If you get confused, I recommend you
--try with one of xine-ui or gxine.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--What's the aim and scope of this text?
--
--The primary goal of this FAQ is to cover all recurring questions related to the
--xine engine. Frontend specific questions are usually not covered here.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--My question is not yet covered here - where can I ask for help?
--
--First of all be sure that your question is really not covered here and that you
--haven't just been a bit too lazy to read through all of this text. ;-). Also
--check out the documentation specific to the frontend (e.g. xine-ui or gxine or
--totem).
--
--That said - you are welcome to mail to our user mailing list: <
--xine-user at lists.sourceforge.net> Please provide some info about your setup so
--people have a chance to help you, e.g. include information about your audio/
--video hardware and drivers you use, operating system, cpu type and some console
--output/any error messages. Also include command line parameters you have
--specified and information about the type of stream you're trying to play back.
--Also very important is the version of xine you're using and information about
--any additional plugins you may have installed on your system.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--How do I pronounce "xine"?
--
--As long as people know what you are talking about, you are free to pronounce it
--the way you like, but the official pronounciation is [ksi:n], like the name
--"Maxine" with the "Ma" removed.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for?
--
--Some time ago xine just became too complex to be just one big program.
--Therefore it was split into two major parts.
--
--xine-lib is simply speaking the engine of xine. It contains all basic plugins
--and is necessary to run anything that relies on xine. (This is the part that is
--covered in this FAQ.)
--
--Then there are frontends - applications that use xine. The most common frontend
--is that of a media player. There are currently two frontends being developed in
--the xine project, xine-ui (skinned dvd-player style frontend directly based on
--xlib) and gxine, a desktop media-player style frontend using the standard gtk
--widget set and comes with a mozilla browser plugin. External projects like
--kaffeine, sinek and totem develop additional frontends. In the future you will
--likely see more and different types of applications being developed which will
--use the xine engine for video processing and other multimedia purposes.
--
--If you simply want a media/dvd player, you'll need to install xine-lib first
--and then choose and install a player frontend like xine-ui or gxine.
--
--Other modules in CVS are: xine-plugin a mozilla browser plugin for streaming
--media playback using xine, xine-www the xine project website sources.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Where and how do I get the latest development version?
--
--Be advised that end-users should stick to the official xine releases. CVS is
--only intended for developers and for others who know why they use it.
--
--To check out xine-modules from CVS, first do this:
--
-- cvs -d :pserver:anonymous at xine.cvs.sourceforge.net:/cvsroot/xine login
--
--The password is empty, just press Enter.
--
--Then, to check out individual modules (e.g. xine-lib, gnome-xine or xine-ui):
--
-- cvs -d :pserver:anonymous at xine.cvs.sourceforge.net:/cvsroot/xine co <modulename>
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Why is gxine's CVS module named "gnome-xine"?
--
--Historical reasons: gxine was originally named gnome-xine.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Where can I find pre-compiled binaries, e.g. RPMs?
--
--The xine project does not provide pre-compiled binaries for legal reasons (some
--parts of xine may be covered by patents in some countries). Some OS projects/
--vendors (e.g. debian, freebsd, ...) offer binaries for their distributions -
--please contact them or use their package search tools for further info. You can
--also find links to third parties providing xine RPMs on the xine homepage at
--http://xinehq.de/index.php/releases.
--
--See the next section of this FAQ for instructions on how to build xine from
--source.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Building and installing xine from source
--
--What do I need to compile everything properly?
--
--First of all an official and stable release of gcc. Also be aware that patched
--gcc versions may break parts of xine and are therefore not supported by the
--xine project.
--
--Furthermore you'll have to use GNU make to compile xine. On most GNU/Linux
--systems "make" is GNU make - on other platforms use "gmake" instead. Also, zlib
--is required (including the appropriate header files, which are often found in a
--package called zlib-devel or similar.)
--
--If you want to compile xine from CVS, you'll need to have the autobuild tools
--installed (automake, autoconf and libtool - in recent versions).
--
--Frontends might need additional libraries, e.g. for gxine you'll need to have
--GTK2 installed. Make sure you have not only the shared libraries themselves but
--also the header files (often packaged seperately as so-called -dev packages) on
--your system.
--
--Some plugins that come with the xine engine need additional libraries
--(otherwise they will not be built). For example, libogg and libvorbis (plus
--their include files) are needed for ogg/vorbis support. Most notably, if you
--want to see any video on your X11 desktop (and that's what you're here for,
--isn't it?), you need the XFree developer packages as well.
--
--Don't worry about this too much right now, xine's configure (see below) will
--check for all the stuff needed and will tell you what's missing (which means
--that you should check the output it produces carefully ;) ).
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--How do I compile xine?
--
--Simple build instructions for beginners
--
--Download the latest xine-lib and gxine/xine-ui tarballs, then follow these
--instruction. To unpack a tarball, use:
--
-- tar xfvz tarballname.tar.gz
--
--The following instructions will install xine in /usr/local where it will be
--visible for all users. You need root privileges to do this on most systems.
--
--After unpacking xine-lib, issue:
--
-- ./configure
-- make install
--
--Make sure your /etc/ld.so.conf contains /usr/local/lib and continue with:
--
-- ldconfig
--
--Now unpack your frontend (gxine or xine-ui or ...), then:
--
-- ./configure
-- make install
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Complete build instructions
--
--The build process is the same for all of the xine modules.
--
--You have to start with xine-lib. If built and installed successfully, you can
--continue with the frontend(s).
--
--If you have installed xine-lib to a non-standard prefix, make sure that you
--have $prefix/bin in your PATH and that your linker finds libs in $prefix/lib -
--otherwise trying to build modules that rely on xine-lib will fail with
--configure complaining about not finding certain parts of libxine. Using bash
--you can do something like:
--
-- export PATH="$prefix/bin:$PATH"
-- export LD_LIBRARY_PATH="$prefix/lib:$LD_LIBRARY_PATH"
--
--to make sure libxine can be found by the frontend(s).
--
--Last but not least. Here the build instructions. As stated earlier, those are
--the same for every xine module.
--
-- ./autogen.sh [-> *only* if you checked your sources out of CVS]
-- ./configure
-- make
-- make install
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Making your own RPM packages (xine-lib, xine-ui, gxine)
--
--Basically you will only have to issue one command, if you have just downloaded
--a source tarball from our web site:
--
-- rpmbuild -ta <THE_NAME_OF_YOUR_SOURCE_TAR_BALL>
--
--(Older versions of RPM use rpm instead of rpmbuild.)
--
--This will start the binary and source RPM building. After compiling is
--finished, a binary rpm is placed in your rpm binary directory which is
--something like /usr/src/RPM/RPMS/<YOUR_ARCHITECTURE> and a source RPM is
--written to your rpm source dir (e.g. /usr/src/RPM/SRPMS).
--
--In case that you have a fresh CVS checkout, you will need to do the following
--first in order to get a tarball release out of it which you can later use with
--the rpmbuild -ta command above:
--
-- ./autogen.sh && make clean && make dist
--
--In any case, please keep in mind that you have to build and install xine-lib
--first before you can proceed with xine-ui.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Making your own .deb packages (xine-lib, xine-ui; gxine CVS)
--
--First, make sure that the "devscripts" package is installed. You'll then need
--the following commands:
--
-- tar xzf <PACKAGE-VER.tar.gz>
-- cd <PACKAGE-VER>
-- ./autogen.sh noconfig
-- debuild binary
--
--
--(If debuild complains about unmet dependencies, then - as root - install them
--using aptitude install <PACKAGES> then re-run debuild binary.
--
--Once the build has been successfully completed, you'll have some new .debs.
--
-- cd ..
-- ls *.deb
-- su - -c 'cd '"`pwd`"' && dpkg -i <DEB_PACKAGES>'
--
--
--In any case, please keep in mind that you have to build and install xine-lib
--first before you can proceed with xine-ui or gxine.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Can I provide additional CFLAGS for compilation?
--
--Yes, you can do so by setting the CFLAGS variable and then running configure
--again. You can even pass them to configure directly. Example:
--
-- ./configure CFLAGS="-march=i686"
--
--Other user variables configure respects are:
--
-- ⢠CC to specify the compiler executable
--
-- ⢠CPP to specify the C preprocessor executable
--
-- ⢠LD to specify the linker executable
--
-- ⢠CPPFLAGS to pass additional include paths or other preprocessor options
--
-- ⢠LDFLAGS to pass additional library paths or other linker options
--
--An example combining some of these would look like:
--
-- ./configure CC="/opt/intel/bin/icc" LD="/opt/intel/bin/xild" \
-- CPPFLAGS="-I/usr/local/include/dvdnav" LDFLAGS="-L/home/guenter/xine_libs"
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Are there binaries for my AMD K7 (Athlonâ¢) available? Can I build them?
--
--If you have a recent gcc you can try to compile "more" k7 support in (esp.
--better instruction scheduling). If the configure script should fail to detect
--your processor/gcc correctly, try passing the canonical system name for your
--machine to configure with the --host option, e.g.
--
-- ./configure --host=k7-pc-linux-gnu
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Build problems: xine engine (xine-lib)
--
--The package doesn't compile at all!
--
--In order to be able to compile xine-lib, you need (amongst other things) the
--zlib compression library plus the appropriate headers, which are often found in
--a package called zlib-devel or similar.
--
--Read again carefully the output ./configure produced and/or compiler warnings
--and error reports, they often contain helpful information to find out what's
--going on. If you're stuck here and decide to post your problem on the xine-user
--mailing list, make sure you include these outputs.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--The Xv video-out plugin fails to compile!
--
--If you want to have Xv support compiled in, make sure you either have a shared
--Xv library on your system, e.g. ls /usr/X11R6/lib/libXv* should give you some
--.so libs, like this:
--
-- /usr/X11R6/lib/libXv.a
-- /usr/X11R6/lib/libXv.so
-- /usr/X11R6/lib/libXv.so.1
--
--Alternatively you need to have libtool 1.4 or newer installed, then libXv.a is
--sufficient. Otherwise you can create the shared versions yourself:
--
-- ld --whole-archive -shared -o libXv.so.1 libXv.a
-- ln -s libXv.so.1 libXv.so
-- ldconfig
--
--Now you should be ready to build the Xv video-out plugin on your system.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Build problems in frontends (gxine/xine-ui/...)
--
--I have installed xine-lib but the frontend complains about not finding it!
--
--First of all take a closer look at the compilation instructions above again.
--You will probably find your answer there right away.
--
--As stated there (there again that hint *grin*), make sure that you have $prefix
--/bin in your path and that your linker is able to find libraries installed in
--$prefix/lib By the way, $prefix is where you installed your xine-lib to earlier
--(yes, installing xine-lib with make install or installing the corresponding
--distribution-provided -dev or -devel package would be a good idea before trying
--to compile the frontend ;) ).
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Can I install xine in my home directory (without being root)?
--
--Sure. First set up a subdir where you install your private software, eg.
--
-- mkdir ~/xine
--
--Then you have to set a few environment variables - it's probably a good idea to
--add this to your ~/.bashrc (or somewhere similar):
--
-- export PATH="$HOME/xine/bin:$PATH"
-- export LD_LIBRARY_PATH="$HOME/xine/lib:$LD_LIBRARY_PATH"
--
--Now you can unpack tarballs e.g. in ~/xine/src (mkdir ~/xine/src if necessary)
--and do a
--
-- ./configure --prefix=$HOME/xine
-- make install
--
--You also need to tell frontends using xine-lib, where to find it:
--
-- ./configure --prefix=$HOME/xine --with-xine-prefix=$HOME/xine
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--How to compile xine for Windows?
--
--For compiling xine under Windows with MinGW, CygWin or MS Visual C see
--README.WIN32.
--
--For cross-compiling xine under comfortable unix-like environment with MinGW see
--README.MINGWCROSS.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Playback of various stream types
--
--DVD Playback with xine
--
--How do I play back DVDs with xine?
--
--Newer xine (1.0.x) releases come with a full-featured DVD plugin that should be
--able to handle any unencrypted, non-locked DVD with full menu navigation
--support. No external plugins are required anymore here.
--
--To get DVD playback working, first make sure you have a symlink /dev/dvd
--pointing to your DVD device on your system. For example, if your DVD drive is
--the master ide drive on the second IDE channel, /dev/dvd should point to /dev/
--hdc. Please note that if you are using the ide-scsi emulation on your system,
--it is likely that your DVD drive got mapped to a scsi device node even though
--it is an ide drive. In that case first check out you boot/kernel logs (or run
--cdrecord -scanbus) to find out which device it got mapped to and set the
--symlink accordingly (should be something like /dev/scd0, /dev/scd1, ... in that
--case). Also make sure you (as a user) have sufficient (read and write)
--permissions on your DVD drive. This could mean you either have to change the
--device permissions or add your user to a special group (e.g. addgroup cdrom
--username), depending on your setup and/or distribution.
--
--It is highly recommended to switch DMA mode on for your DVD drive (without it
--even very recent machines will have trouble producing smooth video output). Use
--a command like hdparm -d 1 <device> on your DVD device. Please note that even
--if you're using ide-scsi you will have to set the dma flag on the ide device
--node (e.g. /dev/hdc), not the mapped /dev/scd scsi device.
--
--To be able to play back encrypted DVDs you need to have libdvdcss installed on
--your system (please check if this is legal where you live). If you do not
--understand what the term "encrypted DVD" means here: As a rule of thumb, every
--DVD you have to pay money for is most likely encrypted.
--
--To make matters worse, apart from encryption, there is another obstacle to
--take: the region code. The DVD authorities decided to divide the world into
--eight geographical regions. Have a look at http://www.dvdforum.gr.jp/
--RegionMap.pdf if you want to know which number has been assigned to your
--country. It is now their idea, that you shall only play DVDs, which have been
--produced for your region. If you take a DVD off the shelf in your local store,
--you should find a little globe-like icon which shows the region code the disc
--is for.
--
--Newer (post-2000) DVD drives (so-called RPC-2 drives) check the DVD region,
--which means they'll prevent you from playing back DVDs that have a different
--region code from what the drive is set up for. Some drives come with a factory
--setting of region 0 so they can play back any DVD until a region code is set.
--Others refuse to play any DVD at all until they are told a region. The easiest
--way to handle this is to use the regionset utility from http://sourceforge.net/
--project/showfiles.php?group_id=31346&release_id=168415 .
--
--Once you have everything set up, try something like gxine dvd:/ or xine -p dvd:
--/ to start dvd playback. Some frontend also offer so-called autoplay buttons or
--menu entries that start dvd playback immediately.
--
--Important: do not try to mount the DVD. Just insert it and hit the DVD autoplay
--button or start xine from the command line.
--
--If things do not work as expected, try running the xine-check shellscript that
--comes with xine to see if this gives you further hints on what could be wrong.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--DVD playback works, but it takes a long time until playback starts
--
--This points to a region code problem. Some versions of libdvdcss can play back
--DVDs from other regions than the RPC-2 DVD drive is set up for, but this
--usually means a cryptographic attack (which takes time) has to be used to
--access the DVD.
--
--You can download a tool to set the region code of RPC-Drives here: http://
--sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415 .
--
--Warning: Please be aware that the number of region code changes in RPC-2 drives
--is limited (usually about 5 times), after that your drive will stay locked to
--the region you last set it up for.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--I have problems setting up my RPC-2 drive for the right region!
--
--You can download a tool to set the region code of RPC-Drives here: http://
--sourceforge.net/project/showfiles.php?group_id=31346&release_id=168415 .
--
--Warning: Please be aware that the number of region code changes in RPC-2 drives
--is limited (usually about 5 times), after that your drive will stay locked to
--the region you last set it up for.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Can I watch Video CDs (VCDs)? SVCDS ? CD-i?
--
--xine supports VCD and SVCD playback out-of-the box. Similar to DVDs, make sure
--you have a /dev/cdrom alias pointing to your CDROM drive which you will use to
--play back the (S)VCD.
--
--At the moment, CD-i formats are not supported by xine.
--
--Do not try to mount the (S)VCD. Simply insert it into your CDROM drive and hit
--the VCD autoplay button or start something like gxine vcd:/ or xine vcd:/ from
--the command line.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--VideoCD troubleshooting guide
--
--This gives higher-level troubleshooting. More lower-level information is given
--in the next section.
--
-- ⢠When you open the configuration dialog of your frontend, you should see a
-- vcd config section. An important setting is default_device. If this is set
-- to the empty string, the VCD plugin will try to scan your drives for a
-- suitable device if the driver has the capability to scan for drives.
-- However you can set the device to something of your choosing. On GNU/Linux,
-- this may be /dev/cdrom and on Solaris it may be /vol/dev/aliases/cdrom0.
--
-- If you set this field, make sure these are correct for your particular
-- setup. For example, I generally play out of the DVD device and this is
-- called /dev/dvd rather than /dev/cdrom.
--
-- ⢠Your frontend should offer a VCD autoscan button or menu item. If you
-- select this, you should see your CD disk light go on if you have one. And
-- the CD should be read. You should get a playlist of what's on the VideoCD.
--
-- If not something's wrong, possibly you configured the wrong drive. You
-- might try to read a disk image of a VideoCD and thus elimate any problems
-- with hardware. You can get a test VideoCD disk image to test here: http://
-- www.vcdimager.org/pub/vcdimager/examples/test_svcd/test_svcd_pal.zip .
-- After unzipping this there should be files test_svcd_pal.cue and
-- test_svcd_pal.bin. Run xine with the MRL vcd:/test_svcd_pal.cue:E0. If you
-- see something playing then this is a hardware problem. You might also want
-- to try starting playback-control with vcd:/test_svcd_pal.cue:P1.
--
-- ⢠There should be at least one "track", and one "entry" listed for the
-- VideoCD and the names of these in the MRL list will end with "T1" and "E0"
-- respectively. Often there are other playlist items, and if you have menus
-- or still frames there will be "segments" as well. The simplest things to
-- check are probably "entries" and "tracks". If there are no entries listed
-- or none of the tracks or entries play, then there may be a problem with
-- that particular medium. So as in the step above, you can try a known good
-- sample and perhaps burn a CD from that. More likely if you get this far,
-- some of the items listed work and some do not. There are a number of
-- debugging switches that you can dynamically turn on and off that may be
-- able to help in isolating more specific problems. See the section below.
--
-- ⢠Something plays now, but you do not get any menus? Well, first is there
-- supposed to be a menu? In the last step you should have seen what is on the
-- VideoCD. Still frames are always "segments" so see if you can find one in
-- the MRL list and select that.
--
-- If there are no segments listed, there aren't any still-frame menus. It's
-- also possible to have menus in looping MPEG's. Use the vcddump tool to find
-- loops. vcddump is also part of VCDImager. Another program that can help you
-- examine the contents of a VideoCD is vcdxrip.
--
-- To troubleshoot, start out with the known SVCD example that has a
-- still-frame menu at the beginning: http://www.vcdimager.org/pub/vcdimager/
-- examples/test_svcd/test_svcd_pal.zip Inside this is a largish file called
-- test_svcd_pal.bin and another short text file called test_svcd_ntsc.cue.
-- These are CD disk images; that is, something that could be burned to a CD
-- drive such as with cdrdao. However you don't have to create a CD to view
-- these with the xine VCD plugin. You should be able to play the VideoCD by
-- running the MRL vcd:/test_svcd_pal.cue. If you see a still frame on
-- startup. Great! If instead you see what looks like the beginning of a movie
-- (Blue Streak with Martin Lawrence) then go to the next step.
--
-- ⢠You have a VideoCD with menu and can see it, but there is no menu on
-- startup? If you have the VideoCD from the last step, then run the MRL vcd:/
-- test_svcd_pal.cue:P1 If this shows a still frame, but it just does not show
-- when you hit either the "VCD" autoscan button or give a MRL without the P1
-- at the end then go to the next step.
--
-- If you have another VideoCD, from the MRL list, you should also see
-- "playlist" entries. Try selecting the one that ends "P1". If you don't see
-- an entry with P1, then your VideoCD does not have playback control (PBC)
-- and although there may be a still frame on the VideoCD it may have been
-- authored so it is not easily accessed. Again vcddump or vcdxrip can help
-- here.
--
-- ⢠You have a VideoCD with menu at beginning and can see it using an MRL with
-- P1 at the end, but you want to see it by hitting the "VCD" autoscan button
-- as well? Check to see that you have the configuration entry
-- media.vcd.autoplay set to playlist.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--VideoCD debugging
--
--To facilitate tracking down problems we let you see what's going on
--dynamically. Various debugging settings will cause output to appear on xine's
--plugin log and/or on standard error output. See the config entry
--media.vcd.debug for details.
--
--The tool vcd-info from the cdio branch of vcdimager can be used to show the
--entire contents of a VideoCD or selected portions of that. Until the cdio
--branch of vcdimager is completely merged with vcdimager, the cd-info branch
--version has a few more features. (However consult vcdimager for complete
--version of the program.)
--
--vcdxrip can be used to extract portions of a VideoCD and or create an XML
--description file of the VideoCD. This XML file and the extracted files can be
--used by vcdxbuild to recreate another VideoCD.
--
--And finally see also tools cd-info and cd-read from libcdio.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Can I watch Quicktime (.mov, .mp4) files using xine?
--
--Quicktime is just a system layer (container format) which can contain various
--different audio and video formats. The system layer itself is fully supported
--in xine. However, some quicktime audio/video codecs are not natively supported
--yet. Luckily, if you are using a x86 compatible machine (any recent PC hardware
--should do) you can install and use the original Quicktime DLLs and watch most
--streams (trailers) that can be downloaded from the net.
--
--Possibly the most convenient way to get the Quicktime DLLs is to download them
--from the MPlayer website http://www.mplayerhq.hu/homepage/dload.html . The
--package is called "essential". Unpack it and move everything you find inside to
--/usr/lib/codecs (actually you can place them anywhere you want, e.g. someplace
--in your home directory, but then you'll have to set
--decoder.external.win32_codecs_path in your xine config file accordingly).
--Restart xine then and you should be able to watch Quicktime trailers.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Real Network files/streams
--
--Can I watch Real (.rm, .ram) files using xine?
--
--The situation with real files and streams is pretty similar to the situation
--with Quicktime Streams (see above). The newer real audio and video formats are
--only supported by using binary-only codecs which are not included in xine.
--
--Possibly the most convenient way to get the Real codecs is to download them
--from the MPlayer website http://www.mplayerhq.hu/homepage/dload.html . The
--package is called "essential". Unpack it and move everything you find inside to
--/usr/lib/codecs and set the decoder.external.real_codecs_path in your xine
--config file to /usr/lib/codecs (actually you can place them anywhere you want,
--e.g. someplace in your home directory, but then you'll have to set
--decoder.external.real_codecs_path accordingly). Restart xine then and you
--should be able to watch Real files/streams.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--What about (live) network streams (pnm://, rtsp:// style urls)?
--
--xine supports both pnm and rtsp streaming. However, digging out the actual pnm/
--rtsp url can be tricky as they're often packed into heavy JavaScript and HTML
--code on most websites. You can either use a combination of your browser's "save
--source" function and wget or use a xine browser plugin (currently the gxine
--frontend comes with a simple mozilla plugin, for example). When you decided to
--dig out the url by hand don't get fooled by the many redirectors that are often
--placed around the actual url. Use wget to download any http://-style urls and
--use less to look inside the downloaded .ra/.ram files where you will find the
--actual pnm/rtsp url which can be opened using xine.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Can I watch Windows Media (.asf/.wmv/.wma) files using xine?
--
--While the container format (system layer) ASF (wmv is just an alias) is fully
--supported in xine, for newer windows media 9 based streams you'll need to
--install windows binary codecs (.DLLs).
--
--Possibly the most convenient way to get the Windows DLLs is to download them
--from the MPlayer website http://www.mplayerhq.hu/homepage/dload.html . The
--package is called "essential". Unpack it and move everything you find inside to
--/usr/lib/codecs (actually you can place them anywhere you want, e.g. someplace
--in your home directory, but then you'll have to set
--decoder.external.win32_codecs_path in your xine config file accordingly).
--Restart xine then and you should be able to watch windows media streams.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Can I watch Digital TV (Digital Video Broadcast) using xine?
--
--At the time of this writing DVB support is a very new and experimental feature
--in xine. The number of supported cards is pretty limited at the moment. See doc
--/README.dvb (in the xine-lib tarball) for details.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--How do I play streams from STDIN?
--
--Use something like:
--
-- cat stream.mpg | gxine stdin:/
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--How can I watch files with external AVI subtitles?
--
--In xine 0.9.13 this used to be:
--
-- xine foo.avi%bar.sub
--
--Latest xine-lib modules (1-beta3 or newer) support external subtitles for any
--media file, not only AVI. In order to use it you can pass a special MRL
--construction like:
--
-- xine test.mpg#subtitle:file.sub
--
--The external subtitles support can also be used by any xine frontend. Currently
--xine-ui and kaffeine implement this feature with a subtitle selection dialog.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Running xine
--
--I have a lot of dropped frames - what can I do?
--
--Your hardware might be too slow for xine. Make sure you turn on all speed
--optimizing options. A few things you should check (in order of importance):
--
-- ⢠First of all, run the xine-check script included in xine package (probably
-- already installed in your system). xine-check will report several of the
-- most common problems listed here. Sample output from xine-check:
--
-- xine-check
-- Please be patient, this script may take a while to run...
-- [ good ] you're using Linux, doing specific tests
-- [ good ] looks like you have a /proc filesystem mounted.
-- [ good ] You seem to have a reasonable kernel version (2.4.18)
-- [ good ] intel compatible processor, checking MTRR support
-- [ good ] you have MTRR support and there are some ranges set.
-- [ good ] found the player at /usr/local/bin/xine
-- [ good ] /usr/local/bin/xine is in your PATH
-- [ good ] found /usr/local/bin/xine-config in your PATH
-- [ good ] plugin directory /usr/local/lib/xine/plugins exists.
-- [ good ] found input plugins
-- [ good ] found demux plugins
-- [ good ] found decoder plugins
-- [ good ] found video_out plugins
-- [ good ] found audio_out plugins
-- [ good ] skin directory /usr/local/share/xine/skins exists.
-- [ good ] found logo in /usr/local/share/xine/skins
-- [ good ] I even found some skins.
-- [ good ] /dev/cdrom points to /dev/hdc
-- [ good ] /dev/dvd points to /dev/hdc
-- [ good ] DMA is enabled for your DVD drive
-- [ good ] found xvinfo: X-Video Extension version 2.2
-- [ good ] your Xv extension supports YUV overlays (improves MPEG performance)
-- [ good ] your Xv extension supports packed YUV overlays
-- [ good ] Xv ports: YUY2 YV12 I420 UYVY
--
-- ⢠Try to use the Xv driver, it greatly improves performance and quality
-- because your graphics card does image scaling and colorspace conversion.
-- The video section contains important information about several Xv drivers.
--
-- If Xv cannot be used for some reason, make sure your display is set up to
-- 16bpp, not 24 or higher (reduces memory bandwith). Some Xv drivers may also
-- have better performance with 16bpp.
--
-- ⢠Make sure the hard drive (or cdrom/dvd drive) which supplies the video data
-- is in DMA mode (if supported).
--
-- On most linux-based systems, you can use hdparm to check this:
--
-- hdparm /dev/hda
-- [...]
-- using_dma = 1 (on)
-- [...]
--
-- You can enable DMA mode with the following command:
--
-- hdparm -d1 device_of_your_drive_that_supplies_video_data
--
-- In some cases where this fails it helps to specify the dma mode to use, for
-- example:
--
-- hdparm -d1 -X 66 device_of_your_drive_that_supplies_video_data
--
-- In RedHat 8.0 an additional entry in /etc/modules.conf
--
-- options ide-cd dma=1
--
-- should help (reboot for this change to take effect).
--
-- More information about this may be found here: http://oreilly.linux.com/pub
-- /a/linux/2000/06/29/hdparm.html .
--
-- ⢠Use a recent kernel which is optimized for your hardware. Old kernels may
-- lack support for accelerated instructions like SSE, for example.
--
-- ⢠Close other applications (use a tool like "top" to find out what
-- applications are using up CPU power). Programs that update the system clock
-- like ntp should also be disabled.
--
-- ⢠Enable MTRR support in your kernel. If you are still using XFree 3.x,
-- you'll have to tell the kernel yourself where the graphics memory is.
-- You'll find details about that in the linux dvd howto.
--
-- If you're using XFree 4.x, enabling MTRR support in your kernel should be
-- enough (use a recent kernel!).
--
-- Try a cat /proc/mtrr - if the file exists and you find an entry
-- corresponding to the amount of graphics memory you have, everything should
-- be fine.
--
-- ⢠Have your X-server (usually XFree86) running with higher priority. Most
-- recent linux distributions (like RedHat 8.0 or Mandrake 9.0) should do that
-- for you, improving not only xine but desktop responsiveness in general.
--
-- Use the "top" utility and verify under the "NI" column if the X process has
-- a negative value, this indicates a higher priority. See "The X Window User
-- HOWTO - Performance considerations" for further instructions http://
-- www.tldp.org/HOWTO/XWindow-User-HOWTO/performance.html .
--
-- ⢠Use the latest or a known-good gcc version and build an optimized xine-lib
-- for your architecture.
--
-- ⢠Besides boosting X-server priority, sometimes it's possible to avoid
-- discarding frames by making xine itself higher priority. This is not a
-- recommended pratice since it will require to run xine as root, but you may
-- give it a try if you want:
--
-- nice --5 xine
--
-- ⢠xine needs high speed memory access which depends on your chip set. Make
-- sure you enable all speed-improving options.
--
-- Especially the via apollo pro chipset is known to be quite weird, (most of
-- all on my gigabyte board). If you can't configure the ram access thoroughly
-- using the bios you might want to try some really nasty tricks, as explained
-- on (for example): http://www.overclockers.com/tips105/index03.asp
--
-- This website centers around a windows-tool to tweak the chipset, you can do
-- the same on FreeBSD with pciconf. On some linux distributions there are
-- similar tools.
--
-- ⢠a nice performance tuning tool can be found here: http://
-- powertweak.sourceforge.net
--
-- ⢠Set up and use raw devices for DVD access. Please note that the actual
-- performance gain during playback is very small if any, but since raw
-- devices are bypassing the kernel's buffer cache, Linux will not try to
-- cache the DVDs you play. This would not be useful, because xine does its
-- own caching and you usually play DVDs sequentially, which means you won't
-- reuse anything from the cache. But the problem would be that Linux throws
-- everything out of the cache that might be in there.
--
-- Raw devices should be available in linux kernel 2.4.x and there are patches
-- for older kernels available from: ftp://ftp.kernel.org/pub/linux/kernel/
-- people/sct/raw-io/
--
-- To use raw devices, first connect a free raw device to your dvd device, use
-- something like:
--
-- raw /dev/raw1 /dev/dvd
--
-- Then create a link named "rdvd" pointing to that raw device:
--
-- ln -s raw1 /dev/rdvd
--
-- ⢠For slow / high-latency dvd drives it might help to increase the number of
-- video buffers xine allocates. Try setting
-- engine.buffers.video_num_buffers:500 to a higher value (e.g. 1000 or 2500).
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Oki, xine doesn't drop frames now but video output still is not really smooth!
--
--Video output can be further improved by tuning your linux kernel:
--
-- ⢠Set HZ to 1000 in /usr/src/linux/include/asm-i386/param.h
--
-- ⢠Try applying scheduler patches, especially the O(1) and the preemptive
-- patches have proven useful at the time of this writing (spring 2003).
--
--Linux 2.5/2.6 will probably have these improvements out of the box.
--
--Miguel Freitas has written a nice article about his kernel multimedia
--experiments .
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--I have problems when using xine on FreeBSD, Solaris, ... !
--
--Check out the the corresponding README files in the directory xine-lib/doc.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--What is aalib? How do I use it in xine?
--
--aalib is an ascii art library. xine comes with an aalib video output plugin so
--you can watch movies in your xterm, on the console or on your old vt100 - very
--cool ;> ... another nice option is to preview movies on a remote server in your
--shell over ssh.
--
--To use it make sure you have aalib installed correctly before you configure/
--build xine-lib and xine-ui. In addition to the xine binary a binary named
--aaxine should get built and installed. You can then use something like:
--
-- aaxine foo.mpg
--
--to use aalib video output.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Does xine support my dxr3 / hollywood+ card?
--
--While xine's focus is clearly on software decoding, the dxr3 is supported.
--
--You can find more information about using xine with the dxr3 here (also covers
--how to do tv output using the dxr3).
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Audio related questions
--
--What audio drivers does xine support? OSS? Alsa? Arts? Esd?
--
--Currently xine support audio output via OSS (kernel audio drivers), ALSA 0.9.x
--(ALSA 0.5.x is no longer supported), arts (KDE's sound daemon) and esound (esd,
--gnome's sound daemon - not recommended because it has serious issues with a/v
--sync).
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--When I'm watching a movie, the sound effects are much higher in volume than the
--voices!
--
--Congratulations, you seem to have an original movie audio track there.
--
--Uhm. So you don't like it. Well, there are two things you can do:
--
-- ⢠You can enable xine's audio compressor. Most frontends have a settings
-- window and in that you'll find a slider for the compressor setting. The
-- values are percent values, so a slider setting of 200 means that xine will
-- double the volume of silent parts of the movie (loud parts stay the same).
--
-- If your frontend does not have such a compression slider, you can pass the
-- value with the MRL:
--
-- xine dvd:/#compression:150
--
-- ⢠If you have a dolby digital (AC3) soundtrack, you can try to enable
-- liba52's dynamic range compression setting audio.a52.dynamic_range:1 in
-- your xine config file (or use some gui config dialog).
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--When I play this stream, xine shows video but there's no audio!
--
--If this happens with any video, first try a different audio driver (gxine -A
--oss, gxine -A arts, xine -A alsa ...).
--
--If this problem only occurs with one specific stream, maybe switching to a
--different audio channel (using the gui) helps. Some DVD streams have audio on
--strange channels.
--
--If all this doesn't help, maybe you're missing an audio codec or you found a
--bug. If you decide to post your problem on the xine-user mailing list, make
--sure to include all console output xine produced and also clearly state what
--type of stream you tried to play back or, even better, make a test stream
--available somewhere for developers to download and try.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Can xine produce 4-/5-channel surround audio output?
--
--Yep, it can do that using OSS or ALSA drivers, provided that the driver
--supports it. However, since xine cannot detect if there are actually speakers
--connected to the additional channels, you'll have to activate that feature
--manually.
--
--You can do this either in the config dialog while xine is running (press the
--config button on the xine panel and go to the AUDIO tab) or have it the
--complicated way by editing the config file yourself which is located in your
--home directory in .gxine or .xine:
--
-- audio.output.speaker_arrangement:Surround 4.0
-- audio.output.speaker_arrangement:Surround 4.1
-- audio.output.speaker_arrangement:Surround 5.1
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--What about ac3 output via spdif to an external ac3 decoder?
--
--xine can do that too. Pretty much the same story as for 4-/5-channel surround
--(see above). You can either use the config dialog or edit the config file (~
--/.xine/config or ~/.gxine/config) yourself:
--
-- audio.output.speaker_arrangement:Pass Through
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Getting SPDIF output from a SBLive 5.1 using OSS drivers
--
--The following explains how to get the above configuration going with xine. Some
--parts of it may applicable to other configurations (cards that use the EMU10k1
--chip) as well.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Requirements
--
-- 1. xine-lib >= 1.x.x
--
-- 2. OSS driver
--
-- 3. an external decoder
--
-- 4. a cable to connect the SBLive to the external decoder
--
--The configuration described was tested using a Soundblaster live 5.1 (rev 7)
--with a Yamaha DSP-AX620 external decoder.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Retrieving the driver
--
--The OSS driver is maintained by creative and can be downloaded at http://
--opensource.creative.com/. The driver package contains documentation on how to
--install it. Besides that I'd like to add the following notes.
--
--In order to compile and install these drivers, you need a valid kernel
--configuration file. For RedHat Linux's pre-compiled kernels these configuration
--files can be found in /usr/src/linux/configs. After you've located the correct
--config file for your kernel, you need to copy it to /usr/src/linux/.config For
--example, when you run the 2.4.18-i686 kernel do :
--
-- cp /usr/src/linux/configs/kernel-2.4.18-i686.config /usr/src/linux/.config
--
--Make sure that the emu10k1 module that is currently installed is not loaded. To
--unload the modules:
--
-- /sbin/modprobe -rv emu10k1.o ac97_codec.o
--
--If this mentions that the device is busy, some program is using the driver.
--Some example could be a mixer application or sound daemon like artsd. You'll
--need to close down the applications before continuing. At success it should
--print something like:
--
-- # delete emu10k1
-- # delete ac97_codec
-- # delete soundcore
--
--Run make in the directory where you unpacked the driver and follow the
--instructions printed at the end of each step. The last step should be:
--
-- make install-tools
--
--As the README of the driver package mentions the SPDIF AC3 output doesn't work
--by default. In the directory utils/scripts an emu10k1.conf file can be found
--which need to be placed in the default installation directory (/usr/local/etc).
--After this the emu10k1.conf needs to be modified. The following settings worked
--fine for me (I don't use the analog outputs of the card):
--
-- CARD_IS_5_1=yes
-- USE_DIGITAL_OUTPUT=yes
-- ENABLE_TONE_CONTROL=yes
-- AC3PASSTHROUGH=yes
-- ENABLE_LIVEDRIVE_IR=no
-- INVERT_REAR=no
-- MULTICHANNEL=yes
-- ROUTE_ALL_TO_SUB=no
-- ANALOG_FRONT_BOOST=no
-- SURROUND=no
-- PROLOGIC=no
-- ENABLE_CD_Spdif=yes
-- ENABLE_OPTICAL_SPDIF=no
-- ENABLE_LINE2_MIC2=no
-- ENABLE_RCA_SPDIF=no
-- ENABLE_RCA_AUX=no
--
--After modifying the emu10k1.conf, you need to modify your /etc/modules.conf and
--make sure the following lines are in there.
--
-- alias sound-slot-0 emu10k1
-- post-install emu10k1 /usr/local/etc/emu-script
--
--After saving the changes to modules.conf, run
--
-- /sbin/depmod -a
--
--Now, you're ready to load the new modules and set the correct options for it.
--To load the modules run:
--
-- /sbin/modprobe emu10k1
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Setting up xine for SPDIF (AC3 passthrough) output
--
--You can either use the config dialog of your frontend or edit the config file
--(~/.xine/config) yourself:
--
-- audio.output.speaker_arrangement:Pass Through
--
--In case the setting is not in the file you can add it.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--The cable used for the SBLive can easily be self-made or buy a stereo 3.5mm
--jack to dual RCA cable.
--
--What you need to make the cable yourself:
--
-- ⢠stereo 3.5mm jack plug
--
-- ⢠RCA plug
--
-- ⢠shielded cable (video coax 75 Ohm will do)
--
--Connect them as follows :
--
-- center pin jackplug ------|----- center pin RCA plug
-- GND __|__ GND
--
--In order to test it use a DVD with AC3 or DTS track start xine and select the
--right audio track from user interface or start xine as:
--
-- xine dvd:/1 -a 0
--
--The external decoder should display something like "Dolby Digital" in case the
--selected audio track contains AC3 data or "DTS" in case the selected audio
--track contains DTS data. Of course stereo audio also goes through the SPDIF
--output, so the analog outputs of the SBLive 5.1 are not needed anymore.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Changing the volume with the GUI control has no effect! What's up!?
--
--Some xine drivers do not support volume changing although the GUI will show the
--volume bar. Usually this is not xine's fault: aRts C API, for example, doesn't
--offer any volume property to applications. Similarly, with ac3 pass through it
--is not possible to set the volume.
--
--Note that recently we added support to "simulate" volume in aRts by changing
--sample values on-the-fly before delivering them to the driver. Not as good as
--having access to sound card's mixer but at least users will not complain about
--lacking of volume bar anymore! :)
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Audio is stuttering and i see a lot of "metronom: fixing sound card drift by
---2115 pts" on the console output
--
--Might be a soundcard problem, if it only comes in longer intervals. Your
--soundcard does not keep it's sampling frequency accurately enough, which
--results in audio and video getting out of sync and xine has to compensate. If
--you see the message only from time to time, you might remedy it by using the
--resampling sync method. You can do this by setting the configuration entry
--audio.synchronization.av_sync_method to resample.
--
--If you receive the metronom message more often, maybe switching to different
--drivers (alsa to oss or vise-versa) can help here. It has also been reported
--that setting the configuration entry audio.synchronization.force_rate to the
--native sampling rate of your soundcard (try 44100 and 48000) helps sometimes.
--
--Another, whole different possibility is that you have some background process
--running which is messing with the clock (like some ntp client - chronny, ntpd,
--...).
--
--Occasional messages of "fixing sound card drift" may happen on start and when
--playing a long stream (like a movie). This is normal behaviour, nothing to
--worry about.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--xine seems to lose sound arbitrarily during playback, especially with DVDs
--
--You are using the OSS audio output plugin, right? In order to keep video and
--audio in sync, xine regularly queries the audio driver for the amount of delay
--induced by the current length of the driver's audio buffer. Unfortunately some
--OSS drivers seem to be broken because the can return strange values here. This
--confuses the xine audio subsystem and makes it drop audio.
--
--You should try the various settings of the configuration entry
--audio.oss_sync_method. The options getodelay and getoptr ask the driver and
--might therefore show the problem. But chances are that only one is broken and
--the other works, so you should try them both first, since they are the most
--accurate. The option probebuffer does not ask the driver directly but tries to
--determine the buffer length from outside. This should work with any driver and
--is the way to go, of the driver dependent methods fail. softsync is the least
--accurate and should be used only in emergency situations.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Video related questions
--
--I can hear the audio - but I don't see a picture!
--
--Probably your hardware is simply too slow - see above for some hints on how to
--speed things up.
--
--Another possibility is that you using a buggy Xv driver, see the next
--questions.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--I only see a blue (or green or black) video image most of the time.
--
--You are either watching a very boring video (just kidding) or you are suffering
--from a bug in the Xorg 6.7 implementation of X11.
--
--The workaround is to add the line
--
-- Option "XaaNoOffscreenPixmaps"
--
--in the Device section of your X server configuration (usually /etc/X11/
--xorg.conf or /etc/X11/XF86Config).
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--The image looks strange, it is shifted, cropped or shows weird lines!
--
--This points to a problem with the Xv extension, which is used by xine to
--display the video image. To verify this, try running xine with the XShm video
--output plugin:
--
-- xine -V XShm
--
--If that works fine, you just proved, that the Xv extension is buggy. xine will
--remember the last used video output plugin, so the setting will stay at XShm.
--You could simply continue using this, but XShm is a lot slower than Xv, so read
--on and see if you can get it working. Usually you should look for updated
--versions of the XFree driver module that belongs to your graphics card.
--
--Other possibilites are limitations in either your XFree driver module or your
--graphics hardware. If your card could somehow be running out of ressources
--(graphics RAM perhaps) and displays an incorrect Xv overlay because of that,
--try reducing the display resolution and/or colour depth.
--
--Consult the next question for more details on Xv.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--How can I make xine use the Xv extension and what drivers do I need?
--
--xine will normally use Xv by default if it is available. In some cases you
--might need to choose Xv playback manually (when the ~/.xine/config file for
--some reason says that you want to use XShm):
--
-- xine -V Xv
--
--If this doesn't work for you, it may be possible that Xv is not present on your
--system.
--
--First you need to install/use XFree 4.x. Once you got that you have to make
--sure the XFree drivers you're using are supporting Xv on your hardware. Here
--are some hints for individual gfx chips:
--
-- ⢠3Dfx: if all you get is a solid black window, upgrade at least to XFree
-- 4.1.0
--
-- ⢠ATI: if you only get "half a picture", try lowering your resolution or bit
-- depth, disable DRI (looks like you ran out of video RAM)
--
-- ⢠Trident card: If you see vertical bands jumbled, upgrade to the latest
-- xfree/experimental trident drivers (for the CyberBlade XP a driver exists
-- here: http://www.xfree86.org/~alanh/ )
--
-- ⢠nVidia: With newer GeForce cards, Xv should work with XFree 4.2.0 or newer,
-- for older RivaTNT cards use the binary drivers from nvidia (of course the
-- binary drivers work as well for GeForce cards)
--
-- ⢠Mach64/Rage3D (not Rage128/Radeon) cards/chips get no XVideo with standard
-- drivers, try GATOS drivers instead
--
-- ⢠intel: i815 has Xv support in XFree 4.x, others unknown
--
-- ⢠Permedia 2/3 has Xv support in XFree 4.x
--
-- ⢠Savage: at least some older drivers tend to lock up the whole machine, try
-- the drivers available from http://www.probo.com/timr/savage40.html .
--
-- ⢠SIS: certain controllers (more info needed!) have Xv support in XFree 4.x
--
-- ⢠Chips and Tech 6555x, 68554, 69000, 69030 have Xv support in XFree 4.x
--
-- ⢠NeoMagic: certain controllers (more info needed!) have Xv support in Xfree
-- 4.x
--
-- ⢠SiliconMotion: certain controllers (more info needed!) have Xv support in
-- Xfree 4.x
--
-- ⢠Matrox: G200 or newer (but not Parhelia) have Xv support in XFree 4.x. For
-- Parhelia, use the binary only drivers available from matrox' website.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Some parts of my X Desktop get transparent when xine plays the video!
--
--Looks like some colors on your GUI match the colorkey Xv uses. You can change
--the colorkey value to avoid this. There should be a line like:
--
-- video.XV_COLORKEY:2110
--
--in your ~/.xine/config file where you can change the color that's used by xine
--for the video overlay.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--The aspect ratio of the video is wrong!
--
--Usually xine discovers the screen aspect ratio by querying the X-server and
--then adjusts the video automatically to make it look right. However, if that
--doesn't work try pressing "a" to manually change the aspect ratio.
--
--If you have a wide screen monitor, make sure the X-server is correctly
--configured. The X-server must know the physical size of the screen, which is
--independent of the resolution being used.
--
--For XFree86 the screen size should be set with the file /etc/X11/XF86Config,
--under the section "Monitor" as in the example below:
--
-- Section "Monitor"
-- Identifier "Monitor0"
-- VendorName "Monitor Vendor"
-- ModelName "DDC Probed Monitor - ViewSonic G773-2"
-- DisplaySize 320 240
-- HorizSync 30.0 - 70.0
-- VertRefresh 50.0 - 180.0
-- EndSection
--
--Where DisplaySize specifies, in millimeters, the physical size of the monitor's
--picture area.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--What is the difference between discarded and skipped frames?
--
--Sometimes xine will output a message like that:
--
-- 200 frames delivered, XX frames skipped, YY frames discarded
--
--The difference between these counters is a little subtle for the non developer.
--There are two threads running in order to display video: the decoder thread
--will deliver frames to the video output thread. The latter is responsible for
--scheduling the frames to be displayed at the right time.
--
--If your system can't keep up with decoding requirements, decoder will deliver
--overdue frames. Imagine if it finished decoding the frame tagged for displaying
--at 11:30 but xine clock marks 11:31. When this situation is detected, xine will
--try to skip decoding a few frames to recover. Not every decoder may support
--this feature.
--
--When the frame is decoded to be shown somewhere in future but the output thread
--doesn't get scheduled in time by the operating system to complete the
--operation, the frame is discarded. One cause might be the disk access
--operation, which may halt the system for a few miliseconds without DMA. See
--performance section tips above.
--
--Note that if a decoder can't skip frames for some reason, you would never see
--frames skipped (they would be all discarded).
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--My xine is runing in black and white! / I only get a gray video output!
--
--This frequently happens with new Xv drivers or when switching to a different
--video card. Background is that different Xv drivers often use different ranges
--for the contrast/brightness/saturation settings.
--
--To fix this, try opening the xine settings window and try adjusting the sliders
--for contrast, brightness and saturation.
--
--Please note that some frontends save these settings in their config file so
--when you have found a working combination, make sure you exit xine cleanly so
--the values are saved.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Which is the best video driver to use?
--
--xine support several video drivers for outputing the image. These will differ
--on how the frames are copied to the video card memory, whether colorspace
--conversion and scaling is done in software or hardware, among other things.
--They may also differ on ease of use and stability.
--
--Most of the time, Xv should give the users a good trade-off between quality,
--compatibility and ease of use. This is why xine tries to use Xv by default.
--
--However some users may want to explore better the available hardware
--capabilities (eg. syncing frame drawing with monitor refresh). Also some Xv
--drivers contain slow copies and accessing the video card directly may yield
--performance gains.
--
--Drivers that access hardware directly includes VIDIX (warning: requires root
--priviledges or kernel helper) and SyncFB (requires kernel helper - Matrox
--only). User may try one of those, but should be warned that with root access
--they can cause the system to crash hard. The support is also limited to a
--couple of graphics cards only.
--
--Graphic workstations like SGI have usually a good support for OpenGL. In that
--case, using OpenGL may be a better choice than XShm. However for most desktop
--systems the performance of OpenGL will be quite bad.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--OSD and overlay related questions
--
--What is this "unscaled" OSD about?
--
--Since version 1-rc3 of xine-lib supports a new method for rendering OSD (On
--Screen Display) and subtitles. This method uses a X11 extension called XShape
--that allows using screen resolution instead of stream resolution. It is called
--"unscaled" OSD because it does not scales with the video being played.
--
--Suppose you are watching a 320x200 video in full screen. Normal OSD would be
--blended at 320x200 and then scaled to full screen (lets say, 1024x768),
--resulting in big and ugly fonts. The unscaled overlay is drawn directly to
--screen, creating a sharper and better looking OSD.
--
--There are side effects too. Sometimes the unscaled overlay show some glitch
--just before disappearing. Some people may be annoyed enough by that and might
--want to disable the usage of unscaled overlay altogether.
--
--Unscaled OSD usage by subtitles and xine-ui is controlled by the following
--settings (~/.xine/config or ~/.gxine/config):
--
-- gui.osd_use_unscaled:0
--
-- subtitles.separate.use_unscaled_osd:0
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--I can't see the OSD or it leaves a black box over the image!
--
--If you are using xine-lib version 1-rc3 or newer, this is probably due buggy XV
--drivers that do not support unscaled OSD (the XShape extension) properly.
--
--There have being reports of some ATI drivers that don't allow displaying
--anything over the video. The VIA Epia binary drivers is reported to leave a
--black box where the OSD was displayed.
--
--The problem may be fixed by either updating the video driver, or disabling xine
--unscaled OSD support.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Why colors of overlays/subtitles seem to be "leaking"?
--
--xine blends most overlays, specially the ones from DVD discs, directly over the
--image (scaled OSD). Unfortunately most codecs (like MPEG2) use a subsampled
--image format (YV12) that makes properly blending an interesting challenge.
--
--In short, this is a known xine bug. There have being discussions on improving
--the blending quality but, so far, nobody implemented a better (scaled) overlay
--renderer. Contact developers if you want to try doing something about it.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Why external subtitles look so ugly?
--
--You are probably using a xine-lib version older than 1-rc3. Try upgrading your
--copy and read the section about unscaled osd.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Why subtitles can't be displayed outside the video?
--
--It is possible, but older xine versions may not support it. There are two
--alternatives for rendering the subtitles outside the video image:
--
-- ⢠Use the "expand" post plugin to increase frame height adding black bars to
-- it. This will allow blending the subtitles over the black bars, since they
-- will be part of the video now.
--
-- ⢠Use unscaled OSD, as it does not requires any video to render the subtitles
-- on.
--
--Also notice that DVD overlays (including subtitles) are meant to be displayed
--in a fixed position, this is how the DVD menu highlighting works. xine does not
--support moving them.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--What kinds of subtitle fonts does xine use?
--
--xine can use two kinds of fonts:
--
-- ⢠TTF fonts
--
-- If xine is compiled with freetype library xine recognizes and uses TTF
-- fonts directly.
--
-- ⢠xine fonts
--
-- This is xine's native format. It's better because the font generator
-- utility implements more features than the "on the fly" TTF renderer.
--
--The font for text subtitles is selected via config option
--subtitles.separate.font. You can specify xine font name (sans, serif, ...) or
--file name of the TTF font. The directories $prefix/share/xine/libxine1/fonts
--and ~/.xine/fonts are searched for the fonts, with $prefix being the place
--xine-lib was installed to. Usually this is /usr/local or /usr. TTF fonts are
--also searched for in the current directory.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--How to create own xine subtitle fonts?
--
--xine's native subtitle fonts can be generated from TTF fonts with the utility
--xine-fontconv. It isn't compiled and installed by default but you can make it
--manually. You'll need freetype and zlib packages together with their versions
--for development plus a compiler, of course ;) Here's how you build
--xine-fontconv:
--
-- ⢠Get the source of xine-fontconv utility from the misc directory within the
-- xine-lib sources.
--
-- ⢠Compile it:
--
-- gcc xine-fontconv.c -o xine-fontconv `freetype-config --cflags --libs` -lz
--
--
--You'll need some TTF font for generating. Characters in this font should cover
--all codepages you want supported, otherwise you'll have missing characters.
--
--Syntax is:
--
-- ./xine-fontconf font.ttf font_name [encoding1 [encoding2 [...]]]
--
--For example default font sans was generated with following command:
--
-- ./xine-fontconv Aril_Bold.ttf sans iso-8859-1 iso-8859-2 iso-8859-5 \
-- iso-8859-9 iso-8859-15 cp1250 cp1251
--
--There are displayed messages about missing characters on the screen during
--generating. It's OK if the missing characters are U+007f..U+009F. These
--characters come from iso-8859-1 and they aren't displayable.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Encoding of external subtitles is bad. What is wrong?
--
--The encoding of the external subtitles is expected to be iso-8859-1 by default.
--You need to set an appropriate encoding in the config option
--subtitles.separate.src_encoding. Note that you also need a font which contains
--all characters from the given encoding.
--
--The default font sans and fonts serif and mono cover these encodings:
--
-- ⢠iso-8859-1
--
-- ⢠iso-8859-2
--
-- ⢠iso-8859-5
--
-- ⢠iso-8859-9
--
-- ⢠iso-8859-15
--
-- ⢠windows-1250
--
-- ⢠windows-1251
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Error Messages: What they mean and what you can do
--
--Starting xine crashes XFree, I am logged out of my desktop!
--
--xine itself is unable to crash XFree, so when your X server just shuts down or
--restarts with the login screen, there is something wrong with your X setup.
--Most common are problems with the Xv extension. Try running xine with the XShm
--video output plugin:
--
-- xine -V XShm
--
--If that works fine, you just proved, that the Xv extension is buggy. xine will
--remember the last used video output plugin, so the setting will stay at XShm.
--You could simply continue using this, but XShm is a lot slower than Xv, so
--consult the section on Xv and see if you can get it working. Usually you should
--look for updated versions of the XFree driver module that belongs to your
--graphics card.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--Starting xine fails with complains about audio drivers/devices!
--
--You can select the audio driver using the -A option. So try:
--
-- xine -A null
--
--If you have ALSA drivers installed, try:
--
-- xine -A alsa
--
--If you run ESD (not recommended), try:
--
-- xine -A esd
--
--If you run artsd, try:
--
-- xine -A arts
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--"no video port found"
--
--You got the Xv extension, but your video card driver doesn't support it. First
--try to find a driver that does support Xv on your hardware (check your graphics
--card vendor). If your driver has Xv support but you can't get it working, try
--at a lower resolution (1024x768 is enough even for anamorphic DVDs).
--
--If all that fails, you can still use plain X11/XShm:
--
-- gxine -V XShm foo.vob
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--"Unable to open dvd drive (/dev/dvd)"
--
--You probably don't have /dev/dvd (check that). If so, simply create a link /dev
--/dvd that points to your DVD device. Something like...
--
-- ln -s hdc /dev/dvd
--
--...should do the job. Also make sure you have read and write access on the
--device the symlink points to. See the dvd playback section for more
--information.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--My drive doesn't work and the kernel says "status=0x51 { DriveReady
--SeekComplete Error }"
--
--This error can be fixed by recompiling your kernel with the option "Use
--multi-mode by default" enabled in the IDE settings.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--"demux error! 00 00 00 (should be 0x000001)"
--
--Probably xine can't access your input source. Most commonly this happens when
--you're trying to play locked/encrypted DVDs. Remember that xine can't play such
--DVDs out-of-the box for legal reasons (see above).
--
--If it is legal where you live, you can try to install libdvdcss. Once you have
--done that and re-start xine, it should automatically detect and use it to play
--back encrypted DVDs.
--
--Another reason could be that your (RPC-2) DVD drive isn't set up for the right
--region (see above).
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--"audio driver 'oss' failed, using null driver instead"
--
--First of all, make sure that your OSS Audio drivers are working (i.e. you can
--play music with other software). Maybe you're using alsa? If so, try gxine -A
--alsa to see if this helps.
--
--The most common reason for oss not working is that some other program is
--accesing your audio device. If you're using linux, the command fuser /dev/dsp
--should give you the PID of the process.
--
--If you are using GNOME, chances are that this is caused by ESD. Now you have
--two possibilities. Either deactivate ESD (temporarily) by right clicking on the
--sound monitor applet and selecting "Place Esound in standby" or just kill it.
--Then xine will use OSS audio output. The other method is to make xine use ESD
--for audio output with:
--
-- gxine -A esd
--
--This may result in worse playback - exact syncronization is not possible with
--esd, so using oss should be preferred.
--
--If you are using KDE, there is the possibility that the aRts sound daemon is
--currently running and thus blocking your sound device. You can check that by
--starting the aRts control (in your KDE menu it should be under Multimedia). If
--it is running, you can either use the aRts audio output plugin:
--
-- gxine -A arts
--
--Or you suspend the aRts daemon by checking the appropriate option in your aRts
--control. (recommended)
--
--Newer versions of arts have an auto-suspend mode - this can lead to some
--nondeterministic behaviour of xine if it is set up to use the audio device
--directly. Using arts is recommended in that case, however you will loose the
--ability to do four/five channel audio output.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--"video_out: throwing away image with pts xxx because it's too old"
--
--This is a performance related problem. If you have a fast computer and this
--message shows from time to time playing dvd/cdrom, it's very likely that your
--drive is not DMA enabled.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--"No video plugin available to decode 'xxxxxx'."
--
--You have tried to play a stream using a unknown or unhandled codec. Possibly
--the file uses some obscure proprietary format and no information is available
--on how to decode it.
--
--If you're on an x86 platform (e.g. PC hardware) you might want to try
--installing binary-only windows medial, real networks and quicktime codecs (see
--above).
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--"w32codec: decoder failed to start. Is 'xxxxxx' installed?"
--
--You probably don't have the win32 dll needed to decode this file.
--
--âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
--
--xine just crashed on me - i didn't get any error message
--
--OK, yes, that shouldn't happen and you're upset. We can understand that. But,
--to help you and of course to fix this, we need some information. So, let's go
--through the checklist and maybe prepare a nice bug report for the xine-user
--mailing list:
--
-- ⢠Did xine really crash (segfault) or did it hang (deadlock)?
--
-- ⢠Can you reproduce the bug? (e.g. do you remember what you did and when you
-- do it again it crashes again?)
--
-- ⢠Is that a specific media file or format which crashes xine? (Have you tried
-- other files types?)
--
-- ⢠Check the console output (and include it in a bug report), maybe earlier
-- there is some output that points to the problem.
--
-- ⢠Your X server just froze on you? unfortunately that's a known problem with
-- some chipsets and drivers (most commonly Savage chipsets) when using Xv.
-- You might want to try running gxine -V XShm to see if the problem is
-- related to the Xv driver. This will unfortunately be much slower, as lots
-- of things are now done in software instead of hardware scaling/colour space
-- conversion.
--
-- Maybe at the time you read this, there's an XFree upgrade which fixes this
-- for the Savage driver. If that works for you, please notify the xine crew
-- at <xine-user at lists.sourceforge.net>, so they can update this FAQ!
--
-- ⢠Even though we try to make each release as bug free as possible, xine is
-- still under heavy development (nice excuse, isn't it? *grin*).
--
-- If you write to the xine user mailing list <xine-user at lists.sourceforge.net
-- > make sure you include a the above information (when applicable) and also
-- some information about your machine (operating system, cpu type and speed,
-- gfx card, sound card, ...) and please use a meaningfull subject line ("xine
-- bug" is bad, "xine fails to play this quicktime trailer in fullscreen mode"
-- ist much better).
--
-- Thanks for taking the time to help improve xine.
--
-diff -urNad xine-lib-vdr-1.1.2~/doc/hackersguide/hackersguide.html xine-lib-vdr-1.1.2/doc/hackersguide/hackersguide.html
---- xine-lib-vdr-1.1.2~/doc/hackersguide/hackersguide.html 2006-07-09 16:44:35.000000000 +0200
-+++ xine-lib-vdr-1.1.2/doc/hackersguide/hackersguide.html 1970-01-01 01:00:00.000000000 +0100
-@@ -1,6306 +0,0 @@
--<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
--<HTML
--><HEAD
--><TITLE
-->The xine hacker's guide</TITLE
--><META
--NAME="GENERATOR"
--CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
--><BODY
--CLASS="BOOK"
--><DIV
--CLASS="BOOK"
--><A
--NAME="AEN1"
--></A
--><DIV
--CLASS="TITLEPAGE"
--><H1
--CLASS="TITLE"
--><A
--NAME="AEN2"
-->The xine hacker's guide</A
--></H1
--><H3
--CLASS="AUTHOR"
--><A
--NAME="AEN6"
--></A
-->Günter Bartsch</H3
--><H3
--CLASS="AUTHOR"
--><A
--NAME="AEN9"
--></A
-->Heiko Schäfer</H3
--><H3
--CLASS="AUTHOR"
--><A
--NAME="AEN12"
--></A
-->Richard Wareham</H3
--><H3
--CLASS="AUTHOR"
--><A
--NAME="AEN15"
--></A
-->Miguel Freitas</H3
--><H3
--CLASS="AUTHOR"
--><A
--NAME="AEN18"
--></A
-->James Courtier-Dutton</H3
--><H3
--CLASS="AUTHOR"
--><A
--NAME="AEN21"
--></A
-->Siggi Langauf</H3
--><H3
--CLASS="AUTHOR"
--><A
--NAME="AEN24"
--></A
-->Marco Zühlke</H3
--><H3
--CLASS="AUTHOR"
--><A
--NAME="AEN27"
--></A
-->Mike Melanson</H3
--><H3
--CLASS="AUTHOR"
--><A
--NAME="AEN30"
--></A
-->Michael Roitzsch</H3
--><P
--CLASS="COPYRIGHT"
-->Copyright © 2001-2003 the xine project team</P
--><DIV
--><DIV
--CLASS="ABSTRACT"
--><P
--></P
--><A
--NAME="AEN36"
--></A
--><P
--> This document should help xine hackers to find their way through
-- xine's architecture and source code. It's a pretty free-form document
-- containing a loose collection of articles describing various aspects
-- of xine's internals.
-- </P
--><P
--></P
--></DIV
--></DIV
--><HR></DIV
--><DIV
--CLASS="TOC"
--><DL
--><DT
--><B
-->Table of Contents</B
--></DT
--><DT
-->1. <A
--HREF="#INTRO"
-->Introduction</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN40"
-->Where am I?</A
--></DT
--><DT
--><A
--HREF="#AEN44"
-->What does this text do?</A
--></DT
--><DT
--><A
--HREF="#AEN47"
-->New versions of this document</A
--></DT
--><DT
--><A
--HREF="#AEN54"
-->Feedback</A
--></DT
--></DL
--></DD
--><DT
-->2. <A
--HREF="#XINE-LIBRARY"
-->Using the xine library</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN61"
-->xine architecture as visible to libxine clients</A
--></DT
--><DT
--><A
--HREF="#AEN75"
-->Writing a new frontend to xine</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN80"
-->Source code of a simple X11 frontend</A
--></DT
--></DL
--></DD
--></DL
--></DD
--><DT
-->3. <A
--HREF="#OVERVIEW"
-->xine code overview</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN85"
-->Walking the source tree</A
--></DT
--><DT
--><A
--HREF="#AEN390"
-->Object oriented programming in C</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN405"
-->Why not using C++?</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#AEN408"
-->Coding style and guidelines</A
--></DT
--><DT
--><A
--HREF="#AEN427"
-->The xine logging system</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN430"
-->xine_log</A
--></DT
--><DT
--><A
--HREF="#AEN436"
-->xprintf</A
--></DT
--><DT
--><A
--HREF="#AEN442"
-->lprintf/llprintf</A
--></DT
--><DT
--><A
--HREF="#AEN455"
-->_x_assert/_x_abort</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#AEN462"
-->How to contribute</A
--></DT
--></DL
--></DD
--><DT
-->4. <A
--HREF="#INTERNALS"
-->xine internals</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN467"
-->Engine architecture and data flow</A
--></DT
--><DT
--><A
--HREF="#AEN480"
-->Plugin system</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN499"
-->Plugin location and filesystem layout</A
--></DT
--><DT
--><A
--HREF="#AEN509"
-->Plugin Content: What's inside the .so?</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#AEN548"
-->What is this metronom thingy?</A
--></DT
--><DT
--><A
--HREF="#AEN561"
-->How does xine synchronize audio and video?</A
--></DT
--><DT
--><A
--HREF="#OSD"
-->Overlays and OSD</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN590"
-->Overlay Manager</A
--></DT
--><DT
--><A
--HREF="#AEN594"
-->OSD Renderer</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#AEN629"
-->MRLs</A
--></DT
--></DL
--></DD
--><DT
-->5. <A
--HREF="#STREAM"
-->xine's stream layer</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN639"
-->Input layer</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN651"
-->Writing a xine input plugin</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#AEN695"
-->Demuxer layer</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN698"
-->Introduction to demuxer theory</A
--></DT
--><DT
--><A
--HREF="#AEN702"
-->Input considerations</A
--></DT
--><DT
--><A
--HREF="#AEN705"
-->Seeking Policy</A
--></DT
--><DT
--><A
--HREF="#AEN712"
-->Writing a xine demuxer</A
--></DT
--><DT
--><A
--HREF="#AEN753"
-->Buffer types</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#AEN767"
-->Decoder layer</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN770"
-->Audio and video decoders</A
--></DT
--><DT
--><A
--HREF="#AEN774"
-->Video output formats</A
--></DT
--><DT
--><A
--HREF="#AEN777"
-->Audio output formats</A
--></DT
--><DT
--><A
--HREF="#AEN780"
-->Writing a xine decoder</A
--></DT
--><DT
--><A
--HREF="#AEN845"
-->SPU decoder</A
--></DT
--></DL
--></DD
--></DL
--></DD
--><DT
-->6. <A
--HREF="#OUTPUT"
-->xine's output layer</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN864"
-->Post plugin layer</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN867"
-->General principle of post plugins</A
--></DT
--><DT
--><A
--HREF="#AEN885"
-->Writing a xine post plugin</A
--></DT
--><DT
--><A
--HREF="#AEN910"
-->Interception</A
--></DT
--><DT
--><A
--HREF="#AEN1023"
-->Rewiring and the ticket system</A
--></DT
--></DL
--></DD
--><DT
--><A
--HREF="#AEN1090"
-->Video output</A
--></DT
--><DD
--><DL
--><DT
--><A
--HREF="#AEN1104"
-->Writing a xine video out plugin</A
--></DT
--></DL
--></DD
--></DL
--></DD
--></DL
--></DIV
--><DIV
--CLASS="CHAPTER"
--><HR><H1
--><A
--NAME="INTRO"
--></A
-->Chapter 1. Introduction</H1
--><DIV
--CLASS="SECT1"
--><H2
--CLASS="SECT1"
--><A
--NAME="AEN40"
-->Where am I?</A
--></H2
--><P
--> You are currently looking at a piece of documentation for xine.
-- xine is a free video player. It lives on
-- <A
--HREF="http://xinehq.de/"
--TARGET="_top"
-->http://xinehq.de/</A
-->. Specifically
-- this document goes under the moniker of the "xine Hackers' Guide".
-- </P
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN44"
-->What does this text do?</A
--></H2
--><P
--> This document should help xine hackers to find their way through
-- xine's architecture and source code. It's a pretty free-form document
-- containing a loose collection of articles describing various aspects
-- of xine's internals. It has been written by a number of people who work
-- on xine themselves and is intended to provide the important concepts and
-- methods used within xine. Readers should not consider this document to be
-- an exhausative description of the internals of xine. As with all projects
-- which provide access, the source-code should be considered the definitive
-- source of information.
-- </P
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN47"
-->New versions of this document</A
--></H2
--><P
--> This document is being developed in the xine-lib cvs repository within
-- the directory <TT
--CLASS="FILENAME"
-->doc/hackersguide/</TT
-->. If you are
-- unsure what to do with the stuff in that directory, please read the
-- <TT
--CLASS="FILENAME"
-->README</TT
--> file located there.
-- </P
--><P
--> New versions of this document can also be obtained from the xine web site:
-- <A
--HREF="http://xinehq.de/"
--TARGET="_top"
-->http://xinehq.de/</A
-->.
-- </P
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN54"
-->Feedback</A
--></H2
--><P
--> All comments, error reports, additional information and criticism
-- concerning this document should be directed to the xine documentations
-- mailing list <CODE
--CLASS="EMAIL"
--><<A
--HREF="mailto:xine-docs at lists.sourceforge.net"
-->xine-docs at lists.sourceforge.net</A
-->></CODE
-->.
-- Questions about xine hacking in general should be sent to the
-- developer mailing list <CODE
--CLASS="EMAIL"
--><<A
--HREF="mailto:xine-devel at lists.sourceforge.net"
-->xine-devel at lists.sourceforge.net</A
-->></CODE
-->.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="CHAPTER"
--><HR><H1
--><A
--NAME="XINE-LIBRARY"
--></A
-->Chapter 2. Using the xine library</H1
--><DIV
--CLASS="SECT1"
--><H2
--CLASS="SECT1"
--><A
--NAME="AEN61"
-->xine architecture as visible to libxine clients</A
--></H2
--><P
--> The following drawing shows the components of xine as outside applications
-- see them. For every component, the functions for creating and destroying it
-- are given. Every other function works in the context it is enclosed in.
-- Functions that facilitate the connection of the individual components are
-- also given.
-- </P
--><DIV
--CLASS="MEDIAOBJECT"
--><P
--><IMG
--SRC="library.png"><DIV
--CLASS="CAPTION"
--><P
-->outside view on xine components</P
--></DIV
--></P
--></DIV
--><P
--> The function are named just to give you an overview of what is actually
-- there. It is all thoroughly documented in the plublic header
-- <TT
--CLASS="FILENAME"
-->xine.h</TT
-->, which is the main and preferably the only xine
-- header, clients should include. (xine/xineutils.h and the XML parser might
-- make an exception.)
-- </P
--><P
--> Details on the OSD feature can be found in the <A
--HREF="#OSD"
-->OSD section</A
-->.
-- </P
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN75"
-->Writing a new frontend to xine</A
--></H2
--><P
--> The best way to explain this seems to be actual code. Below you
-- will find a very easy and hopefully self-explaining xine frontend
-- to give you a start.
-- </P
--><P
--> One important thing to note is that any X11 based xine-lib frontend
-- must call <CODE
--CLASS="FUNCTION"
-->XInitThreads()</CODE
--> before calling the
-- first Xlib function, because xine will access the display from
-- within a different thread than the frontend.
-- </P
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN80"
-->Source code of a simple X11 frontend</A
--></H3
--><TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
-->/*
--** Copyright (C) 2003 Daniel Caujolle-Bert <segfault at club-internet.fr>
--**
--** This program 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.
--**
--** This program 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.
--**
--*/
--
--/*
-- * compile-command: "gcc -Wall -O2 `xine-config --cflags` `xine-config --libs` -L/usr/X11R6/lib -lX11 -lm -o xinimin xinimin.c"
-- */
--
--#include <stdio.h>
--#include <string.h>
--#include <math.h>
--
--#include <X11/X.h>
--#include <X11/Xlib.h>
--#include <X11/Xutil.h>
--#include <X11/keysym.h>
--#include <X11/Xatom.h>
--#include <X11/Xutil.h>
--#include <X11/extensions/XShm.h>
--
--#include <xine.h>
--#include <xine/xineutils.h>
--
--
--#define MWM_HINTS_DECORATIONS (1L << 1)
--#define PROP_MWM_HINTS_ELEMENTS 5
--typedef struct {
-- uint32_t flags;
-- uint32_t functions;
-- uint32_t decorations;
-- int32_t input_mode;
-- uint32_t status;
--} MWMHints;
--
--static xine_t *xine;
--static xine_stream_t *stream;
--static xine_video_port_t *vo_port;
--static xine_audio_port_t *ao_port;
--static xine_event_queue_t *event_queue;
--
--static Display *display;
--static int screen;
--static Window window[2];
--static int xpos, ypos, width, height, fullscreen;
--static double pixel_aspect;
--
--static int running = 1;
--
--#define INPUT_MOTION (ExposureMask | ButtonPressMask | KeyPressMask | \
-- ButtonMotionMask | StructureNotifyMask | \
-- PropertyChangeMask | PointerMotionMask)
--
--/* this will be called by xine, if it wants to know the target size of a frame */
--static void dest_size_cb(void *data, int video_width, int video_height, double video_pixel_aspect,
-- int *dest_width, int *dest_height, double *dest_pixel_aspect) {
-- *dest_width = width;
-- *dest_height = height;
-- *dest_pixel_aspect = pixel_aspect;
--}
--
--/* this will be called by xine when it's about to draw the frame */
--static void frame_output_cb(void *data, int video_width, int video_height,
-- double video_pixel_aspect, int *dest_x, int *dest_y,
-- int *dest_width, int *dest_height,
-- double *dest_pixel_aspect, int *win_x, int *win_y) {
-- *dest_x = 0;
-- *dest_y = 0;
-- *win_x = xpos;
-- *win_y = ypos;
-- *dest_width = width;
-- *dest_height = height;
-- *dest_pixel_aspect = pixel_aspect;
--}
--
--static void event_listener(void *user_data, const xine_event_t *event) {
-- switch(event->type) {
-- case XINE_EVENT_UI_PLAYBACK_FINISHED:
-- running = 0;
-- break;
--
-- case XINE_EVENT_PROGRESS:
-- {
-- xine_progress_data_t *pevent = (xine_progress_data_t *) event->data;
--
-- printf("%s [%d%%]\n", pevent->description, pevent->percent);
-- }
-- break;
--
-- /* you can handle a lot of other interesting events here */
-- }
--}
--
--int main(int argc, char **argv) {
-- char configfile[2048];
-- x11_visual_t vis;
-- double res_h, res_v;
-- char *vo_driver = "auto";
-- char *ao_driver = "auto";
-- char *mrl = NULL;
-- int i;
-- Atom XA_NO_BORDER;
-- MWMHints mwmhints;
--
-- /* parsing command line */
-- for (i = 1; i < argc; i++) {
-- if (strcmp(argv[i], "-vo") == 0) {
-- vo_driver = argv[++i];
-- }
-- else if (strcmp(argv[i], "-ao") == 0) {
-- ao_driver = argv[++i];
-- }
-- else
-- mrl = argv[i];
-- }
--
-- if (!mrl) {
-- printf("specify an mrl\n");
-- return 1;
-- }
-- printf("mrl: '%s'\n", mrl);
--
-- if (!XInitThreads()) {
-- printf("XInitThreads() failed\n");
-- return 1;
-- }
--
-- /* load xine config file and init xine */
-- xine = xine_new();
-- snprintf(configfile, sizeof(configfile), "%s%s", xine_get_homedir(), "/.xine/config");
-- xine_config_load(xine, configfile);
-- xine_init(xine);
--
-- display = XOpenDisplay(NULL);
-- screen = XDefaultScreen(display);
-- xpos = 0;
-- ypos = 0;
-- width = 320;
-- height = 200;
--
-- /* some initalization for the X11 Window we will be showing video in */
-- XLockDisplay(display);
-- fullscreen = 0;
-- window[0] = XCreateSimpleWindow(display, XDefaultRootWindow(display),
-- xpos, ypos, width, height, 1, 0, 0);
--
-- window[1] = XCreateSimpleWindow(display, XDefaultRootWindow(display),
-- 0, 0, (DisplayWidth(display, screen)),
-- (DisplayHeight(display, screen)), 0, 0, 0);
--
-- XSelectInput(display, window[0], INPUT_MOTION);
--
-- XSelectInput(display, window[1], INPUT_MOTION);
--
-- XA_NO_BORDER = XInternAtom(display, "_MOTIF_WM_HINTS", False);
-- mwmhints.flags = MWM_HINTS_DECORATIONS;
-- mwmhints.decorations = 0;
-- XChangeProperty(display, window[1],
-- XA_NO_BORDER, XA_NO_BORDER, 32, PropModeReplace, (unsigned char *) &mwmhints,
-- PROP_MWM_HINTS_ELEMENTS);
--
-- XMapRaised(display, window[fullscreen]);
--
-- res_h = (DisplayWidth(display, screen) * 1000 / DisplayWidthMM(display, screen));
-- res_v = (DisplayHeight(display, screen) * 1000 / DisplayHeightMM(display, screen));
-- XSync(display, False);
-- XUnlockDisplay(display);
--
-- /* filling in the xine visual struct */
-- vis.display = display;
-- vis.screen = screen;
-- vis.d = window[fullscreen];
-- vis.dest_size_cb = dest_size_cb;
-- vis.frame_output_cb = frame_output_cb;
-- vis.user_data = NULL;
-- pixel_aspect = res_v / res_h;
--
-- /* opening xine output ports */
-- vo_port = xine_open_video_driver(xine, vo_driver, XINE_VISUAL_TYPE_X11, (void *)&vis);
-- ao_port = xine_open_audio_driver(xine , ao_driver, NULL);
--
-- /* open a xine stream connected to these ports */
-- stream = xine_stream_new(xine, ao_port, vo_port);
-- /* hook our event handler into the streams events */
-- event_queue = xine_event_new_queue(stream);
-- xine_event_create_listener_thread(event_queue, event_listener, NULL);
--
-- /* make the video window visible to xine */
-- xine_port_send_gui_data(vo_port, XINE_GUI_SEND_DRAWABLE_CHANGED, (void *) window[fullscreen]);
-- xine_port_send_gui_data(vo_port, XINE_GUI_SEND_VIDEOWIN_VISIBLE, (void *) 1);
--
-- /* start playback */
-- if (!xine_open(stream, mrl) || !xine_play(stream, 0, 0)) {
-- printf("Unable to open mrl '%s'\n", mrl);
-- return 1;
-- }
--
-- while (running) {
-- XEvent xevent;
-- int got_event;
--
-- XLockDisplay(display);
-- got_event = XPending(display);
-- if( got_event )
-- XNextEvent(display, &xevent);
-- XUnlockDisplay(display);
--
-- if( !got_event ) {
-- xine_usec_sleep(20000);
-- continue;
-- }
--
-- switch(xevent.type) {
--
-- case KeyPress:
-- {
-- XKeyEvent kevent;
-- KeySym ksym;
-- char kbuf[256];
-- int len;
--
-- kevent = xevent.xkey;
--
-- XLockDisplay(display);
-- len = XLookupString(&kevent, kbuf, sizeof(kbuf), &ksym, NULL);
-- XUnlockDisplay(display);
--
-- switch (ksym) {
--
-- case XK_q:
-- case XK_Q:
-- /* user pressed q => quit */
-- running = 0;
-- break;
--
-- case XK_f:
-- case XK_F:
-- {
-- /* user pressed f => toggle fullscreen */
-- Window tmp_win;
--
-- XLockDisplay(display);
-- XUnmapWindow(display, window[fullscreen]);
-- fullscreen = !fullscreen;
-- XMapRaised(display, window[fullscreen]);
-- XSync(display, False);
-- XTranslateCoordinates(display, window[fullscreen],
-- DefaultRootWindow(display),
-- 0, 0, &xpos, &ypos, &tmp_win);
-- XUnlockDisplay(display);
--
-- xine_port_send_gui_data(vo_port, XINE_GUI_SEND_DRAWABLE_CHANGED,
-- (void*) window[fullscreen]);
-- }
-- break;
--
-- case XK_Up:
-- /* cursor up => increase volume */
-- xine_set_param(stream, XINE_PARAM_AUDIO_VOLUME,
-- (xine_get_param(stream, XINE_PARAM_AUDIO_VOLUME) + 1));
-- break;
--
-- case XK_Down:
-- /* cursor down => decrease volume */
-- xine_set_param(stream, XINE_PARAM_AUDIO_VOLUME,
-- (xine_get_param(stream, XINE_PARAM_AUDIO_VOLUME) - 1));
-- break;
--
-- case XK_plus:
-- /* plus => next audio channel */
-- xine_set_param(stream, XINE_PARAM_AUDIO_CHANNEL_LOGICAL,
-- (xine_get_param(stream, XINE_PARAM_AUDIO_CHANNEL_LOGICAL) + 1));
-- break;
--
-- case XK_minus:
-- /* minus => previous audio channel */
-- xine_set_param(stream, XINE_PARAM_AUDIO_CHANNEL_LOGICAL,
-- (xine_get_param(stream, XINE_PARAM_AUDIO_CHANNEL_LOGICAL) - 1));
-- break;
--
-- case XK_space:
-- /* space => toggle pause mode */
-- if (xine_get_param(stream, XINE_PARAM_SPEED) != XINE_SPEED_PAUSE)
-- xine_set_param(stream, XINE_PARAM_SPEED, XINE_SPEED_PAUSE);
-- else
-- xine_set_param(stream, XINE_PARAM_SPEED, XINE_SPEED_NORMAL);
-- break;
--
-- }
-- }
-- break;
--
-- case Expose:
-- /* this handles (partial) occlusion of our video window */
-- if (xevent.xexpose.count != 0)
-- break;
-- xine_port_send_gui_data(vo_port, XINE_GUI_SEND_EXPOSE_EVENT, &xevent);
-- break;
--
-- case ConfigureNotify:
-- {
-- XConfigureEvent *cev = (XConfigureEvent *) &xevent;
-- Window tmp_win;
--
-- width = cev->width;
-- height = cev->height;
--
-- if ((cev->x == 0) && (cev->y == 0)) {
-- XLockDisplay(display);
-- XTranslateCoordinates(display, cev->window,
-- DefaultRootWindow(cev->display),
-- 0, 0, &xpos, &ypos, &tmp_win);
-- XUnlockDisplay(display);
-- } else {
-- xpos = cev->x;
-- ypos = cev->y;
-- }
-- }
-- break;
--
-- }
-- }
--
-- /* cleanup */
-- xine_close(stream);
-- xine_event_dispose_queue(event_queue);
-- xine_dispose(stream);
-- xine_close_audio_driver(xine, ao_port);
-- xine_close_video_driver(xine, vo_port);
-- xine_exit(xine);
--
-- XLockDisplay(display);
-- XUnmapWindow(display, window[fullscreen]);
-- XDestroyWindow(display, window[0]);
-- XDestroyWindow(display, window[1]);
-- XUnlockDisplay(display);
--
-- XCloseDisplay (display);
--
-- return 0;
--}</PRE
--></TD
--></TR
--></TABLE
--></DIV
--></DIV
--></DIV
--><DIV
--CLASS="CHAPTER"
--><HR><H1
--><A
--NAME="OVERVIEW"
--></A
-->Chapter 3. xine code overview</H1
--><DIV
--CLASS="SECT1"
--><H2
--CLASS="SECT1"
--><A
--NAME="AEN85"
-->Walking the source tree</A
--></H2
--><P
--> The <TT
--CLASS="FILENAME"
-->src/</TT
--> directory in xine-lib contains several
-- modules, this should give you a quick overview on where
-- to find what sources.
-- </P
--><P
--> Directories marked with "(imported)" contain
-- code that is copied from an external project into xine-lib.
-- Everything below such a directory is up to this project. When modifying
-- code there, be sure to send the patches on. If some xine specific
-- adaptation of the code is absolutely necessary, a patch containing
-- the changes should be stored in CVS to not loose the changes the
-- next time we sync with the external project.
-- </P
--><P
--> <P
--></P
--><DIV
--CLASS="VARIABLELIST"
--><DL
--><DT
--><TT
--CLASS="FILENAME"
-->audio_out</TT
--></DT
--><DD
--><P
--> Audio output plugins. These provide a thin abstraction layer
-- around different types of audio output architectures or platforms.
-- Basically an audio output plugin provides functions to query and setup
-- the audio hardware and output audio data (e.g. PCM samples).
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->demuxers</TT
--></DT
--><DD
--><P
--> Demuxer plugins that handle various system layer file formats
-- like avi, asf or mpeg. The ideal demuxer know nothing about where the
-- data comes from and who decodes it. It should basically just unpack
-- it into chunks the rest of the engine can eat.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->dxr3</TT
--></DT
--><DD
--><P
--> Code to support the DXR3 / hollywood+ hardware mpeg decoder.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->input</TT
--></DT
--><DD
--><P
--> Input plugins encapsulate the origin of the data. Data sources like
-- ordinary files, DVDs, CDA or streaming media are handled here.
-- </P
--><P
--> <P
--></P
--><DIV
--CLASS="VARIABLELIST"
--><DL
--><DT
--><TT
--CLASS="FILENAME"
-->dvb</TT
--></DT
--><DD
--><P
--> Some headers for Digital Video Broadcast.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libdvdnav</TT
--> (imported)</DT
--><DD
--><P
--> The libdvdnav library for DVD navigation is used
-- by xine's DVD input plugin.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libreal</TT
-->, <TT
--CLASS="FILENAME"
-->librtsp</TT
--></DT
--><DD
--><P
--> Support for RealMedia streaming as used by the RTSP input plugin.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->vcd</TT
--></DT
--><DD
--><P
--> The enhanced VCD input plugin which also handles VCD navigation.
-- </P
--><P
--> <P
--></P
--><DIV
--CLASS="VARIABLELIST"
--><DL
--><DT
--><TT
--CLASS="FILENAME"
-->libcdio</TT
-->, <TT
--CLASS="FILENAME"
-->libvcd</TT
--> (imported)</DT
--><DD
--><P
--> Libraries used by the enhanced VCD plugin.
-- </P
--><P
--></P
--></DD
--></DL
--></DIV
-->
-- </P
--><P
--></P
--></DD
--></DL
--></DIV
-->
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->liba52</TT
--> (imported)</DT
--><DD
--><P
--> A52 (aka AC3, aka Dolby Digital) audio decoder library and xine plugin.
-- </P
--><P
--> We maintain some small integration improving differences between the
-- original liba52 and our copy in the file
-- <TT
--CLASS="FILENAME"
-->diff_against_release.patch</TT
-->.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libdts</TT
--> (imported)</DT
--><DD
--><P
--> AC5 (aka DTS) audio decoder library and xine plugin, which is capable
-- of software decoding as well as digital passthrough.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libfaad</TT
--> (imported)</DT
--><DD
--><P
--> The Free AAC Decoder library and xine plugin.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libffmpeg</TT
--></DT
--><DD
--><P
--> A xine decoder plugin using various audio and video decoders from the
-- ffmpeg decoder pack libavcodec. Their MPEG encoder is also for the DXR3.
-- </P
--><P
--> To optimize the integration of libavcodec and the xine engine, we maintain
-- some differences between the original ffmpeg and our copy in the file
-- <TT
--CLASS="FILENAME"
-->diff_to_ffmpeg_cvs.txt</TT
-->.
-- </P
--><P
--> <P
--></P
--><DIV
--CLASS="VARIABLELIST"
--><DL
--><DT
--><TT
--CLASS="FILENAME"
-->libavcodec</TT
--> (imported)</DT
--><DD
--><P
--> The libavcodec decoder pack as used by xine's ffmpeg plugin.
-- </P
--><P
--></P
--></DD
--></DL
--></DIV
-->
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libflac</TT
--></DT
--><DD
--><P
--> A xine demuxer and decoder plugin for the Free Lossless Audio Codec library,
-- which has to be installed separately.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->liblpcm</TT
--></DT
--><DD
--><P
--> Audio decoder plugin that "decodes" raw PCM data; most notably
-- endianess-conversions are done here.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libmad</TT
--> (imported)</DT
--><DD
--><P
--> Mpeg audio decoder plugin (i.e. mp2 and mp3 decoding).
-- ISO/IEC compliant decoder using fixed point math.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libmpeg2</TT
--> (imported)</DT
--><DD
--><P
--> Most important MPEG video decoder plugin, provides fast and
-- high-precision MPEG-1/2 video decoding.
-- </P
--><P
--> Although this is an imported library, we have heavily modified
-- our internal copy to blend it as seamlessly as possible into
-- the xine engine in order to get the maximum MPEG decoding
-- performance.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libmpeg2new</TT
--></DT
--><DD
--><P
--> James started an effort to bring a recent and unmodified version
-- of libmpeg2 into xine to one day replace our current internal
-- modified libmpeg2 with one closer to the original. But since
-- the full feature catalog has not yet been achieved with the new
-- one, it is still disabled.
-- </P
--><P
--> <P
--></P
--><DIV
--CLASS="VARIABLELIST"
--><DL
--><DT
--><TT
--CLASS="FILENAME"
-->include</TT
-->, <TT
--CLASS="FILENAME"
-->libmpeg2</TT
--> (imported)</DT
--><DD
--><P
--> The code of the imported new libmpeg2.
-- </P
--><P
--></P
--></DD
--></DL
--></DIV
-->
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libreal</TT
--></DT
--><DD
--><P
--> A thin wrapper around Real's binary codecs from the Linux RealPlayer to
-- use them as a xine plugin.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libspeex</TT
--></DT
--><DD
--><P
--> A xine decoder plugin for the speex library,
-- which has to be installed separately.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libspucc</TT
--></DT
--><DD
--><P
--> Closed caption subtitle decoder plugin.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libspudec</TT
--></DT
--><DD
--><P
--> DVD SPU subtitle decoder plugin.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libsputext</TT
--></DT
--><DD
--><P
--> Plain text subtitle decoder plugins.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libtheora</TT
--></DT
--><DD
--><P
--> A xine decoder plugin for the theora library,
-- which has to be installed separately.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libvorbis</TT
--></DT
--><DD
--><P
--> A xine decoder plugin for the ogg/vorbis library,
-- which has to be installed separately.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libw32dll</TT
--></DT
--><DD
--><P
--> Video and audio decoder plugins that exploit some wine code
-- to use win32 (media player and Quicktime) codecs in xine.
-- Works on x86 platforms only.
-- </P
--><P
--> <P
--></P
--><DIV
--CLASS="VARIABLELIST"
--><DL
--><DT
--><TT
--CLASS="FILENAME"
-->DirectShow</TT
-->, <TT
--CLASS="FILENAME"
-->dmo</TT
-->,
-- <TT
--CLASS="FILENAME"
-->qtx</TT
-->, <TT
--CLASS="FILENAME"
-->wine</TT
--> (imported)</DT
--><DD
--><P
--> Stripped down version of wine to support Video for Windows DLLs
-- and additional code to use DirectShow, DMO and QuickTime DLLs.
-- </P
--><P
--></P
--></DD
--></DL
--></DIV
-->
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libxineadec</TT
--></DT
--><DD
--><P
--> xine's decoder pack of additional audio decoders.
-- </P
--><P
--> <P
--></P
--><DIV
--CLASS="VARIABLELIST"
--><DL
--><DT
--><TT
--CLASS="FILENAME"
-->gsm610</TT
--> (imported)</DT
--><DD
--><P
--> The gsm610 audio decoder library as used by the related xine plugin.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->nosefart</TT
--> (imported)</DT
--><DD
--><P
--> The nosefart audio decoder library as used by the related xine plugin.
-- </P
--><P
--></P
--></DD
--></DL
--></DIV
-->
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->libxinevdec</TT
--></DT
--><DD
--><P
--> xine's decoder pack of additional video decoders.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->post</TT
--></DT
--><DD
--><P
--> Video and audio post effect plugins live here. Post plugins
-- modify streams of video frames or audio buffers as they leave
-- the decoder to provide conversion or effects.
-- </P
--><P
--> <P
--></P
--><DIV
--CLASS="VARIABLELIST"
--><DL
--><DT
--><TT
--CLASS="FILENAME"
-->audio</TT
--></DT
--><DD
--><P
--> Some audio effects as xine audio filter posts.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->deinterlace</TT
--> (imported)</DT
--><DD
--><P
--> The tvtime deinterlacer as a xine video filter post.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->goom</TT
--> (imported)</DT
--><DD
--><P
--> The goom audio visualizer as a xine visualizer post.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->mosaico</TT
--></DT
--><DD
--><P
--> Some post plugins merging multiple frames into one. For example
-- picture in picture can be done with this.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->planar</TT
--></DT
--><DD
--><P
--> Some simple 2D video effects as xine video filter posts.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->visualizations</TT
--></DT
--><DD
--><P
--> Audio visualization post plugins.
-- </P
--><P
--></P
--></DD
--></DL
--></DIV
-->
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->video_out</TT
--></DT
--><DD
--><P
--> Contains various video output driver plugins. Video output drivers
-- are thin abstraction layers over various video output platforms
-- (e.g. X11, directfb, directX,...). Video output driver plugins
-- provide functions like frame allocation and drawing and handle
-- stuff like hardware acceleration, scaling and colorspace conversion
-- if necessary. They do not handle a/v sync since this is done
-- in the xine-engine already.
-- </P
--><P
--> <P
--></P
--><DIV
--CLASS="VARIABLELIST"
--><DL
--><DT
--><TT
--CLASS="FILENAME"
-->libdha</TT
--> (imported)</DT
--><DD
--><P
--> A library for direct hardware access to the graphics card
-- as used by the vidix video out plugin.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->vidix</TT
--> (imported)</DT
--><DD
--><P
--> The vidix system for high performance video output
-- as used by the vidix video out plugin.
-- </P
--><P
--></P
--></DD
--></DL
--></DIV
-->
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->xine-engine</TT
--></DT
--><DD
--><P
--> The heart of xine - it's engine. Contains code to
-- load and handle all the plugins, the configuration repository
-- as well as the generic decoding loops and code for synchronized output.
-- A lot of helper functions for plugins to use live here as well.
-- What's in the individual files should be guessable by the files'
-- names. This document is not going to explain the source, because
-- it simply changes too often. A look at the architectural drawing
-- in the <A
--HREF="#INTERNALS"
-->internals section</A
--> should
-- give you a pretty good idea, what to expect in this directory.
-- Basically, everything in this picture that is not called "plugin"
-- lives here.
-- </P
--><P
--></P
--></DD
--><DT
--><TT
--CLASS="FILENAME"
-->xine-utils</TT
--></DT
--><DD
--><P
--> Collection of utility functions and platform abstractions.
-- Also contains a simple XML parser for frontend playlist handling.
-- </P
--><P
--></P
--></DD
--></DL
--></DIV
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN390"
-->Object oriented programming in C</A
--></H2
--><P
--> xine uses a lot of design principles normally found in
-- object oriented designs. As xine is written in C, a few
-- basic principles shall be explained here on how xine
-- is object oriented anyway.
-- </P
--><P
--> Classes are structs containing function pointers and public member data.
-- Example:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> typedef struct my_stack_s my_class_t;
--
-- struct my_stack_s {
-- /* method "push" with one parameter and no return value */
-- void (*push)(my_stack_t *this, int i);
--
-- /* method "add" with no parameters and no return value */
-- void (*add)(my_stack_t *this);
--
-- /* method "pop" with no parameters (except "this") and a return value */
-- int (*pop) (my_stack_t *this);
-- };
--
-- /* constructor */
-- my_class_t *new_my_stack(void);</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> To derive from such a class, private member variables can be added:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> typedef struct {
-- my_stack_t stack; /* public part */
--
-- /* private part follows here */
-- int values[MAX_STACK_SIZE];
-- int stack_size;
-- } intstack_t;</PRE
--></TD
--></TR
--></TABLE
-->
-- Each method is implemented as a static method (static to prevent
-- namespace pollution). The "this" pointer needs to be cast to the
-- private pointer type to gain access to the private member variables.
-- </P
--><P
--> Implementation of the "push" method follows:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> static void push (my_stack_t *this_gen, int i) {
-- intstack_t *this = (intstack_t *)this_gen;
-- this->values[MAX_STACK_SIZE - ++this->stack_size] = i;
-- }</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> The part added to the derived class is private, because when
-- defining the new structure directly in the .c file, where it will
-- be used, outside modules have no way of seeing the definition
-- of the derived class. A public derivation is possible by defining
-- the above structure in a .h file for others to include.
-- </P
--><P
--> Something similar to a protected, package or friend visibility is also
-- possible:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> struct my_stack_s {
-- void (*push)(my_stack_t *this, int i);
-- void (*add)(my_stack_t *this);
-- int (*pop)(my_stack_t *this);
--
-- #ifdef STACK_INTERNAL
-- void (*flush)(my_stack_t *this);
-- #endif
-- };</PRE
--></TD
--></TR
--></TABLE
-->
-- All modules, who need to access the internal part have to add
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> #define STACK_INTERNAL</PRE
--></TD
--></TR
--></TABLE
-->
-- before including the header with the definition. It is clear that only
-- those friend modules can derive from this class.
-- </P
--><P
--> Finally the contructor malloc()s the data struct (private variant)
-- and fills in function pointers and default values. Usually the
-- constructor is the only public (i.e. non-static) function in the module:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> my_stack_t *new_my_stack(void) {
-- intstack_t *this;
--
-- /* alloc memory */
-- this = malloc(sizeof(intstack_t));
--
-- /* fill in methods */
-- this->push = push;
-- this->add = add;
-- this->pop = pop;
--
-- /* init data fields */
-- this->stack_size = 0;
--
-- /* return public part */
-- return &this->stack;
-- }</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN405"
-->Why not using C++?</A
--></H3
--><P
--> After all these considerations about object oriented C, you might
-- ask, why we do not use C++ after all? The easy answer would be: xine wants
-- to be as fast as possible and C++ is simply too slow. But this is only the
-- easy answer and it is not entirely true any more. Thoughtfully applied, you
-- can write very fast C++ code with today's compilers, but these compilers might
-- not be available on all platforms in the necessary quality. Even with
-- a sophisticated compiler, C++ is much harder to optimize than plain C and thus
-- C compiles much faster. Another big problem is that the C++ ABI is not as
-- well-defined as the C ABI. With C, you can easily mix libraries and
-- applications built by different compilers. With C++, this is unlikely to work.
-- But the final argument is that xine does not really need C++. xine's
-- inheritance hierarchy is very flat, mostly one level only and does not need
-- things like multiple or virtual inheritance. Most of the external projects
-- that are used by xine are plain C as well and using more than one language
-- complicates the build system. As we saw above, we can emulate
-- object orientation reduced to our real needs in plain C.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN408"
-->Coding style and guidelines</A
--></H2
--><P
--> This section contains some guidelines for writing xine-code.
-- These are really just guidelines, no strict rules.
-- Contributions will not be rejected if they do not meet these
-- rules but they will be even more appreciated if they do.
-- <P
--></P
--><UL
--><LI
--><P
--> Comment your interfaces directly in the header files.
-- No doxygen comments, ordinary C comments will do.
-- </P
--></LI
--><LI
--><P
--> Use C-style comments (/* */), not C++-style (//).
-- </P
--></LI
--><LI
--><P
--> When in doubt, use lower case. BTW: This thing is called xine, never Xine.
-- </P
--></LI
--><LI
--><P
--> Use expressive variable and function identifiers on all public interfaces.
-- Use underscores to seperate words in identifiers, not uppercase
-- letters (my_function_name is ok, myFunctionName is not ok).
-- </P
--></LI
--><LI
--><P
--> Avoid macros unless they are really useful. Avoid gotos.
-- </P
--></LI
--><LI
--><P
--> use something like
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> printf("module: ..."[,...]);</PRE
--></TD
--></TR
--></TABLE
-->
-- for console output. All console output goes to stdout and
-- must be prefixed by the module name which generates the
-- output (see example above).
-- </P
--></LI
--><LI
--><P
--> Refer to emac's C-mode for all questions of proper indentiation.
-- That first of all means: indent with two spaces.
-- </P
--></LI
--></UL
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN427"
-->The xine logging system</A
--></H2
--><P
--> xine offers a wide range of possibilities to display
-- strings. This section should describe when to use
-- which way and how to do it right.
-- </P
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN430"
-->xine_log</A
--></H3
--><P
--> Output which is done thru this function will be
-- displayed for the end user by the frontend.
-- If <CODE
--CLASS="VARNAME"
-->xine->verbosity</CODE
--> is not 0 the messages will also
-- be displayed on the console. Ideally these strings
-- are translated.
-- This function is for information which the user should
-- read always.
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> xine_log(xine_t *xine, int buf, const char *format, ...);</PRE
--></TD
--></TR
--></TABLE
-->
-- <CODE
--CLASS="VARNAME"
-->buf</CODE
--> is either XINE_LOG_MSG for general messages or
-- XINE_LOG_PLUGIN for messages about plugins.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN436"
-->xprintf</A
--></H3
--><P
--> This macro uses the <CODE
--CLASS="VARNAME"
-->xine->verbosity</CODE
--> value to decide
-- if the string should be printed to the console. Possible
-- values are XINE_VERBOSITY_NONE, XINE_VERBOSITY_LOG or
-- XINE_VERBOSITY_DEBUG. By default nothing is printed.
-- When you use xine-ui you can enable this output with
-- the <CODE
--CLASS="PARAMETER"
-->--verbose=[1,2]</CODE
--> options.
-- This function should be used for information which the
-- user should only read up on request.
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> xprintf(xine_t *xine, int verbosity, const char *format, ...);</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN442"
-->lprintf/llprintf</A
--></H3
--><P
--> These macros are for debugging purpose only. Under normal
-- circumstances it is disabled. And can only be enabled by changing
-- a define statement and a recompilation. It has to be enabled for these
-- files that are of interest.
-- It should only be used for information which is intended for developers.
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> lprintf(const char *format, ...);
-- llprintf(bool, const char *format, ...);</PRE
--></TD
--></TR
--></TABLE
-->
-- <CODE
--CLASS="VARNAME"
-->bool</CODE
--> is a flag which enables or disables this logging.
-- </P
--><P
--> <CODE
--CLASS="FUNCTION"
-->lprintf</CODE
--> can be enabled by defining LOG at the top of the source file.
-- <CODE
--CLASS="FUNCTION"
-->llprintf</CODE
--> can be used for more than one categorie
-- per file by using diffent lables:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> #define LOG_LOAD 1
-- #define LOG_SAVE 0
--
-- llprintf(LOG_LOAD, "loading was successful\n");
-- llprintf(LOG_SAVE, "could not save to file %s\n", filename);</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> In this case only the first messages is printed. To enable/disable change the defines.
-- </P
--><P
--> LOG_MODULE should be used to set the modulename for xprintf/lprintf/llprintf.
-- Each output line will start with "modulename: ".
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> #define LOG_MODULE "modulename"</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> LOG_VERBOSE can be defined to enable the logging of functionname and linenumbers.
-- Then the output will be: "modulename: (function_name:42) message".
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN455"
-->_x_assert/_x_abort</A
--></H3
--><P
--> These are not purely logging functions, but despite their original C library versions,
-- they always output debugging text, which is why usage of these functions is preferred.
-- </P
--><P
--> <CODE
--CLASS="FUNCTION"
-->_x_assert()</CODE
--> checks a condition and prints a note,
-- when the condition is false. In addition, a debug build and only a debug build will
-- terminate the application, when the condition is false. Release versions will only
-- print the note, but try to continue.
-- </P
--><P
--> <CODE
--CLASS="FUNCTION"
-->_x_abort()</CODE
--> always terminates the application after printing a note.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN462"
-->How to contribute</A
--></H2
--><P
--> Make sure you send your patches in unified diff format to
-- the xine-devel mailing list. You'll have to subscribe first,
-- otherwise you're not allowed to post. Please do not send
-- patches to individual developers unless instructed otherwise
-- because your patch is more likely to get lost in an overfull
-- INBOX in that case. Please be patient, it may take 1-2 weeks
-- before you hear any comments on your work (developers may be
-- working on other parts of the code or are simply busy at
-- the moment).
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="CHAPTER"
--><HR><H1
--><A
--NAME="INTERNALS"
--></A
-->Chapter 4. xine internals</H1
--><DIV
--CLASS="SECT1"
--><H2
--CLASS="SECT1"
--><A
--NAME="AEN467"
-->Engine architecture and data flow</A
--></H2
--><DIV
--CLASS="MEDIAOBJECT"
--><P
--><IMG
--SRC="architecture.png"><DIV
--CLASS="CAPTION"
--><P
-->xine engine architecture</P
--></DIV
--></P
--></DIV
--><P
--> Media streams usually consist of audio and video data multiplexed
-- into one bitstream in the so-called system-layer (e.g. AVI, Quicktime or MPEG).
-- A demuxer plugin is used to parse the system layer and extract audio and video
-- packages. The demuxer uses an input plugin to read the data and stores it
-- in pre-allocated buffers from the global buffer pool.
-- The buffers are then added to the audio or video stream fifo.
-- </P
--><P
--> From the other end of these fifos the audio and video decoder threads
-- consume the buffers and hand them over to the current audio or video
-- decoder plugin for decompression. These plugins then send the decoded
-- data to the output layer. The buffer holding the encoded
-- data is no longer needed and thus released to the global buffer pool.
-- </P
--><P
--> In the output layer, the video frames and audio samples pass through a
-- post plugin tree, which can apply effects or other operations to the data.
-- When reaching the output loops, frames and samples are enqueued to be
-- displayed, when the presentation time has arrived.
-- </P
--><P
--> A set of extra information travels with the data. Starting at the input and
-- demuxer level, where this information is generated, the data is attached to
-- the buffers as they wait in the fifo. The decoder loops copy the data to
-- a storage of their own. From there, every frame and audio buffer leaving
-- the stream layer is tagged with the data the decoder loop storage currently
-- holds.
-- </P
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN480"
-->Plugin system</A
--></H2
--><P
--> The plugin system enables some of xine's most valuable features:
-- <P
--></P
--><UL
--><LI
--><P
--> drop-in extensiability
-- </P
--></LI
--><LI
--><P
--> support parallel installation of multiple (incompatible) libxine versions
-- </P
--></LI
--><LI
--><P
--> support for multiple plugin directories
-- (<TT
--CLASS="FILENAME"
-->$prefix/lib/xine/plugins</TT
-->,
-- <TT
--CLASS="FILENAME"
-->$HOME/.xine/plugins</TT
-->, ...)
-- </P
--></LI
--><LI
--><P
--> support for recursive plugin directories
-- (plugins are found even in subdirectories of the plugin directories)
-- </P
--></LI
--><LI
--><P
--> version management
-- (On start, xine finds all plugins in its plugin (sub)directories and
-- chooses an appropriate version (usually the newest) for each plugin.)
-- </P
--></LI
--><LI
--><P
--> simplification
-- (Plugins don't have to follow any special naming convention,
-- and any plugin may contain an arbitrary subset of input, demuxer,
-- decoder or output plugins.)
-- </P
--></LI
--></UL
-->
-- </P
--><P
--> Essentally, plugins are just shared objects, ie dynamic libraries. In
-- contrast to normal dynamic libraries, they are stored outside of the
-- system's library PATHs and libxine does its own bookkeeping, which
-- enables most advanced features mentioned above.
-- </P
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN499"
-->Plugin location and filesystem layout</A
--></H3
--><P
--> The primary goal for this new plugin mechanism was the need to support
-- simultaneous installation of several (most likely incompatible)
-- libxine versions without them overwriting each other's
-- plugins. Therefore, we have this simple layout:
-- </P
--><P
--> Plugins are installed below XINE_PLUGINDIR
-- (<TT
--CLASS="FILENAME"
-->/usr/local/lib/xine/plugins</TT
--> by default).
-- Note that plugins are never directly installed into XINE_PLUGINDIR.
-- Instead, a separate subdirectory is created for each "plugin
-- provider". A plugin provider is equivalent with the exact version of
-- one source package. Typical examples include "xine-lib-0.9.11" or
-- "xine-vcdnav-1.0". Every source package is free to install an
-- arbitrary number of plugins in its own, private directory. If a
-- package installs several plugins, they may optionally be organized
-- further into subdirectories.
-- </P
--><P
--> So you will finally end up with something like this:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="SCREEN"
--> /usr/local/lib/xine/plugins
-- xine-lib-0.9.11
-- demux_mpeg_block.so
-- decode_mpeg.so
-- video_out_xv.so
-- ...
-- xine-vcdnav-0.9.11
-- input_vcdnav.so
-- xine-lib-1.2
-- input
-- file.so
-- stdin_fifo.so
-- vcd.so
-- demuxers
-- fli.so
-- avi.so
-- ...
-- decoders
-- ffmpeg.so
-- mpeg.so (may contain mpeg 1/2 audio and video decoders)
-- pcm.so
-- ...
-- output
-- video_xv.so
-- audio_oss.so
-- ...
-- xine-lib-3.0
-- avi.so (avi demuxer)
-- mpeg.so (contains mpeg demuxers and audio/video decoders)
-- video_out_xv.so (Xv video out)
-- ...</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> As you can see, every package is free to organize plugins at will
-- below its own plugin provider directory.
-- Additionally, administrators may choose to put plugins directly into
-- XINE_PLUGINDIR, or in a "local" subdirectory.
-- Users may wish to put additional plugins in ~/.xine/plugins/.
-- Again, there may be subdirectories to help organize the plugins.
-- </P
--><P
--> The default value for XINE_PLUGINDIR can be obtained using the
-- <B
--CLASS="COMMAND"
-->xine-config --plugindir</B
--> command.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN509"
-->Plugin Content: What's inside the .so?</A
--></H3
--><P
--> Each plugin library (.so file) contains an arbitrary number of (virtual)
-- plugins. Typically, it will contain exactly one plugin. However, it
-- may be useful to put a set of related plugins in one library, so they
-- can share common code.
-- </P
--><P
--> First of all, what is a virtual plugin?
-- A virtual plugin is essentially a structure that is defined by the
-- xine engine. This structure typically contains lots of function
-- pointers to the actual API functions.
-- For each plugin API, there are several API versions, and each API
-- version may specify a new, incompatible structure. Therefore, it is
-- essential that only those plugins are loaded that support current
-- libxine's API, so the .so file needs a plugin list that
-- provides libxine with the version information, even before it tries to
-- load any of the plugins.
-- </P
--><P
--> This plugin list is held in an array named <CODE
--CLASS="VARNAME"
-->xine_plugin_info</CODE
-->":
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> plugin_info_t xine_plugin_info[] = {
-- /* type, API, "name", version, special_info, init_function */
-- { PLUGIN_DEMUX, 20, "flac", XINE_VERSION_CODE, NULL, demux_flac_init_class },
-- { PLUGIN_AUDIO_DECODER, 13, "flacdec", XINE_VERSION_CODE, &dec_info_audio, init_plugin },
-- { PLUGIN_NONE, 0, "", 0, NULL, NULL }
-- };</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> The structure of xine_plugin_info may <SPAN
--CLASS="emphasis"
--><I
--CLASS="EMPHASIS"
-->never</I
--></SPAN
--> be changed.
-- If it ever needs to be changed, it must be renamed to avoid
-- erraneous loading of incompatible plugins.
-- </P
--><P
--> <CODE
--CLASS="VARNAME"
-->xine_plugin_info</CODE
--> can contain any number of plugins
-- and must be terminated with a <SPAN
--CLASS="TYPE"
-->PLUGIN_NONE</SPAN
--> entry. Available plugin
-- types are:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> #define PLUGIN_NONE 0
-- #define PLUGIN_INPUT 1
-- #define PLUGIN_DEMUX 2
-- #define PLUGIN_AUDIO_DECODER 3
-- #define PLUGIN_VIDEO_DECODER 4
-- #define PLUGIN_SPU_DECODER 5
-- #define PLUGIN_AUDIO_OUT 6
-- #define PLUGIN_VIDEO_OUT 7
-- #define PLUGIN_POST 8</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> The plugin version number is generated from xine-lib's version number
-- like this: MAJOR * 10000 + MINOR * 100 + SUBMINOR.
-- This is not required, but it's an easy way to ensure that the version
-- increases for every release.
-- </P
--><P
--> Every entry in <CODE
--CLASS="VARNAME"
-->xine_plugin_info</CODE
--> has an initialization
-- function for the plugin class context.
-- This function returns a pointer to freshly allocated (typically
-- via <CODE
--CLASS="FUNCTION"
-->malloc()</CODE
-->) structure containing mainly function
-- pointers; these are the "methods" of the plugin class.
-- </P
--><P
--> The "plugin class" is not what we call to do the job yet (like decoding
-- a video or something), it must be instantiated. One reason for having the
-- class is to hold any global settings that must be accessed by every
-- instance. Remember that xine library is multistream capable: multible
-- videos can be decoded at the same time, thus several instances of the
-- same plugin are possible.
-- </P
--><P
--> If you think this is pretty much an object-oriented aproach,
-- then you're right.
-- </P
--><P
--> A fictitious file input plugin that supports input plugin API 12 and
-- 13, found in xine-lib 2.13.7 would then define this plugin list:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> #include <xine/plugin.h>
-- ...
-- plugin_t *init_api12(void) {
-- input_plugin_t *this;
--
-- this = malloc(sizeof(input_plugin_t));
-- ...
-- return (plugin_t *)this;
-- }
-- /* same thing, with different initialization for API 13 */
--
-- const plugin_info_t xine_plugin_info[] = {
-- { PLUGIN_INPUT, 12, "file", 21307, init_api12 },
-- { PLUGIN_INPUT, 13, "file", 21307, init_api13 },
-- { PLUGIN_NONE, 0, "", 0, NULL }
-- }</PRE
--></TD
--></TR
--></TABLE
-->
-- This input plugin supports two APIs, other plugins might provide a
-- mixture of demuxer and decoder plugins that belong together somehow
-- (ie. share common code).
-- </P
--><P
--> You'll find exact definitions of public functions and plugin structs
-- in the appropriate header files for each plugin type:
-- <TT
--CLASS="FILENAME"
-->input/input_plugin.h</TT
--> for input plugins,
-- <TT
--CLASS="FILENAME"
-->demuxers/demux.h</TT
--> for demuxer plugins,
-- <TT
--CLASS="FILENAME"
-->xine-engine/video_decoder.h</TT
--> for video decoder plugins,
-- <TT
--CLASS="FILENAME"
-->xine-engine/audio_decoder.h</TT
--> for audio decoder plugins,
-- <TT
--CLASS="FILENAME"
-->xine-engine/post.h</TT
--> for post plugins,
-- <TT
--CLASS="FILENAME"
-->xine-engine/video_out.h</TT
--> for video out plugins,
-- <TT
--CLASS="FILENAME"
-->xine-engine/audio_out.h</TT
--> for audio out plugins.
-- Additional information will also be given in the dedicated sections below.
-- </P
--><P
--> Many plugins will need some additional "private" data fields.
-- These should be simply added at the end of the plugin structure.
-- For example a demuxer plugin called "foo" with two private
-- fields "xine" and "count" may have a plugin structure declared in
-- the following way:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> typedef struct {
-- /* public fields "inherited" from demux.h */
-- demux_plugin_t demux_plugin;
--
-- xine_t *xine;
-- int count;
-- } demux_foo_t;</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> The plugin would then access public members via the
-- <CODE
--CLASS="VARNAME"
-->demux_plugin</CODE
--> field and private fields directly.
-- </P
--><P
--> Summary: Plugins consist of two C-style classes, each representing a different context.
-- <P
--></P
--><UL
--><LI
--><P
--> The first is the so called "plugin class" context. This is a singleton context,
-- which means it will exist either not at all or at most once per xine context.
-- This plugin class context is a C-style class which is subclassing the related
-- class from the xine plugin headers. This contains functions, which are
-- independent of the actual instance of the plugin. Most prominently, it contains
-- a factory method to instantiate the next context.
-- </P
--></LI
--><LI
--><P
--> The second context is the instance context. This is another C-style class, which
-- is constructed and disposed withing the plugin class context. This one does
-- the actual work and subclasses the related plugin struct from the xine plugin
-- headers. It is instantiated for every separate running instance of the plugin
-- </P
--></LI
--></UL
-->
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN548"
-->What is this metronom thingy?</A
--></H2
--><P
--> Metronom serves two purposes:
-- <P
--></P
--><UL
--><LI
--><P
--> Generate vpts (virtual presentation time stamps) from pts (presentation time stamps)
-- for a/v output and synchronization.
-- </P
--></LI
--><LI
--><P
--> Provide a master clock (system clock reference, scr), possibly provided
-- by external scr plugins (this can be used if some hardware decoder or network
-- server dictates the time).
-- </P
--></LI
--></UL
-->
-- </P
--><P
--> pts/vpts values are given in 1/90000 sec units. pts values in mpeg streams
-- may wrap (that is, return to zero or any other value without further notice),
-- can be missing on some frames or (for broken streams) may "dance" around
-- the correct values. Metronom therefore has some heuristics built-in to generate
-- clean vpts values which can then be used in the output layers to schedule audio/video
-- output.
-- </P
--><P
--> The heuristics used in metronom have always been a field of research. Current metronom's
-- implementation <SPAN
--CLASS="emphasis"
--><I
--CLASS="EMPHASIS"
-->tries</I
--></SPAN
--> to stick to pts values as reported from demuxers,
-- that is, vpts may be obtained by a simple operation of vpts = pts + <CODE
--CLASS="VARNAME"
-->vpts_offset</CODE
-->,
-- where <CODE
--CLASS="VARNAME"
-->vpts_offset</CODE
--> takes into account any wraps. Whenever pts is zero,
-- metronom will estimate vpts based on previous values. If a difference is found between the
-- estimated and calculated vpts values by above formula, it will be smoothed by using a
-- "drift correction".
-- </P
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN561"
-->How does xine synchronize audio and video?</A
--></H2
--><P
--> Every image frame or audio buffer leaving decoder is tagged by metronom with
-- a vpts information. This will tell video_out and audio_out threads when that
-- data should be presented. Usually there isn't a significative delay associated
-- with video driver, so we expect it to get on screen at the time it's
-- delivered for drawing. Unfortunately the same isn't true for audio: all sound
-- systems implement some amount of buffering (or fifo), any data being send to it
-- <SPAN
--CLASS="emphasis"
--><I
--CLASS="EMPHASIS"
-->now</I
--></SPAN
--> will only get played some time in future. audio_out thread
-- must take this into account for making perfect A-V sync by asking the sound latency
-- to audio driver.
-- </P
--><P
--> Some audio drivers can't tell the current delay introduced in playback. This is
-- especially true for most sound servers like ESD or aRts and explain why in such
-- cases the sync is far from perfect.
-- </P
--><P
--> Another problem xine must handle is the sound card clock drift. vpts are
-- compared to the system clock (or even to a different clock provided by a scr plugin)
-- for presentation but sound card is sampling audio by it's own clocking
-- mechanism, so a small drift may occur. As the playback goes on this
-- error will accumulate possibly resulting in audio gaps or audio drops. To avoid that
-- annoying effect, two countermeasures are available (switchable with xine config
-- option <CODE
--CLASS="PARAMETER"
-->audio.synchronization.av_sync_method</CODE
-->):
-- <P
--></P
--><UL
--><LI
--><P
--> The small sound card errors are feedbacked to metronom. The details
-- are given by <TT
--CLASS="FILENAME"
-->audio_out.c</TT
--> comments:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> /* By adding gap errors (difference between reported and expected
-- * sound card clock) into metronom's vpts_offset we can use its
-- * smoothing algorithms to correct sound card clock drifts.
-- * obs: previously this error was added to xine scr.
-- *
-- * audio buf ---> metronom --> audio fifo --> (buf->vpts - hw_vpts)
-- * (vpts_offset + error) gap
-- * <---------- control --------------|
-- *
-- * Unfortunately audio fifo adds a large delay to our closed loop.
-- *
-- * These are designed to avoid updating the metronom too fast.
-- * - it will only be updated 1 time per second (so it has a chance of
-- * distributing the error for several frames).
-- * - it will only be updated 2 times for the whole audio fifo size
-- * length (so the control will wait to see the feedback effect)
-- * - each update will be of gap/SYNC_GAP_RATE.
-- *
-- * Sound card clock correction can only provide smooth playback for
-- * errors < 1% nominal rate. For bigger errors (bad streams) audio
-- * buffers may be dropped or gaps filled with silence.
-- */</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></LI
--><LI
--><P
--> The audio is stretched or squeezed a slight bit by resampling, thus compensating
-- the drift: The next comment in <TT
--CLASS="FILENAME"
-->audio_out.c</TT
--> explains:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="90%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> /* Alternative for metronom feedback: fix sound card clock drift
-- * by resampling all audio data, so that the sound card keeps in
-- * sync with the system clock. This may help, if one uses a DXR3/H+
-- * decoder board. Those have their own clock (which serves as xine's
-- * master clock) and can only operate at fixed frame rates (if you
-- * want smooth playback). Resampling then avoids A/V sync problems,
-- * gaps filled with 0-frames and jerky video playback due to different
-- * clock speeds of the sound card and DXR3/H+.
-- */</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></LI
--></UL
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="OSD"
-->Overlays and OSD</A
--></H2
--><P
--> The roots of xine overlay capabilities are DVD subpictures and subtitles support
-- (also known as 'spu'). The DVD subtitles are encoded in a RLE (Run Length Encoding - the
-- most simple compressing technique) format, with a palette of colors and transparency
-- levels. You probably thought that subtitles were just simple text saved into DVDs, right?
-- Wrong, they are bitmaps.
-- </P
--><P
--> In order to optimize to the most common case, xine's internal format for screen overlays
-- is a similar representation to the 'spu' data. This brings not only performance
-- benefit (since blending functions may skip large image areas due to RLE) but also
-- compatibility: it's possible to reencode any xine overlay to the original spu format
-- for displaying with mpeg hardware decoders like DXR3.
-- </P
--><P
--> Displaying subtitles requires the ability to sync them to the video stream. This
-- is done using the same kind of pts/vpts stuff of a-v sync code. DVD subtitles,
-- for example, may request: show this spu at pts1 and hide it at pts2. This brings the
-- concept of the 'video overlay manager', that is a event-driven module for managing
-- overlay's showing and hiding.
-- </P
--><P
--> The drawback of using internal RLE format is the difficulty in manipulating it
-- as graphic. To overcome that we created the 'OSD renderer', where OSD stands
-- for On Screen Display just like in TV sets. The osd renderer is a module
-- providing simple graphic primitives (lines, rectagles, draw text etc) over
-- a "virtual" bitmap area. Everytime we want to show that bitmap it will
-- be RLE encoded and sent to the overlay manager for displaying.
-- </P
--><DIV
--CLASS="MEDIAOBJECT"
--><P
--><IMG
--SRC="overlays.png"><DIV
--CLASS="CAPTION"
--><P
-->overlays architecture</P
--></DIV
--></P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN590"
-->Overlay Manager</A
--></H3
--><P
--> The overlay manager interface is available to any xine plugin. It's a bit unlikely
-- to be used directly, anyway here's a code snippet for enqueueing an overlay for
-- displaying:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> video_overlay_event_t event;
--
-- event.object.handle = this->video_overlay->get_handle(this->video_overlay,0);
--
-- memset(this->event.object.overlay, 0, sizeof(*this->event.object.overlay));
--
-- /* set position and size for this overlay */
-- event.object.overlay->x = 0;
-- event.object.overlay->y = 0;
-- event.object.overlay->width = 100;
-- event.object.overlay->height = 100;
--
-- /* clipping region is mostly used by dvd menus for highlighting buttons */
-- event.object.overlay->clip_top = 0;
-- event.object.overlay->clip_bottom = image_height;
-- event.object.overlay->clip_left = 0;
-- event.object.overlay->clip_right = image_width;
--
-- /* the hard part: provide a RLE image */
-- event.object.overlay->rle = your_rle;
-- event.object.overlay->data_size = your_size;
-- event.object.overlay->num_rle = your_rle_count;
--
-- /* palette must contain YUV values for each color index */
-- memcpy(event.object.overlay->clip_color, color, sizeof(color));
--
-- /* this table contains transparency levels for each color index.
-- 0 = completely transparent, 15 - completely opaque */
-- memcpy(event.object.overlay->clip_trans, trans, sizeof(trans));
--
-- /* set the event type and time for displaying */
-- event.event_type = EVENT_SHOW_SPU;
-- event.vpts = 0; /* zero is a special vpts value, it means 'now' */
-- video_overlay->add_event(video_overlay, &event);</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN594"
-->OSD Renderer</A
--></H3
--><P
--> OSD is a general API for rendering stuff over playing video. It's available both
-- to xine plugins and to frontends.
-- </P
--><P
--> The first thing you need is to allocate a OSD object for drawing from the
-- renderer. The code below allocates a 300x200 area. This size can't be changed
-- during the lifetime of a OSD object, but it's possible to place it anywhere
-- over the image.
-- </P
--><TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> osd_object_t osd;
--
-- osd = this->osd_renderer->new_object(osd_renderer, 300, 200);</PRE
--></TD
--></TR
--></TABLE
--><P
--> Now we may want to set font and color for text rendering. Although we will
-- refer to fonts over this document, in fact the OSD can be any kind of bitmap. Font
-- files are searched and loaded during initialization from
-- <TT
--CLASS="FILENAME"
-->$prefix/share/xine/fonts/</TT
--> and <TT
--CLASS="FILENAME"
-->~/.xine/fonts</TT
-->.
-- There's a sample utility to convert truetype fonts at
-- <TT
--CLASS="FILENAME"
-->xine-lib/misc/xine-fontconv.c</TT
-->. Palette may be manipulated directly,
-- however most of the time it's convenient to use pre-defined text palettes.
-- </P
--><TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> /* set sans serif 24 font */
-- osd_renderer->set_font(osd, "sans", 24);
--
-- /* copy pre-defined colors for white, black border, transparent background to
-- starting at the index used by the first text palette */
-- osd_renderer->set_text_palette(osd, TEXTPALETTE_WHITE_BLACK_TRANSPARENT, OSD_TEXT1);
--
-- /* copy pre-defined colors for white, no border, translucid background to
-- starting at the index used by the second text palette */
-- osd_renderer->set_text_palette(osd, TEXTPALETTE_WHITE_NONE_TRANSLUCID, OSD_TEXT2);</PRE
--></TD
--></TR
--></TABLE
--><P
--> Now render the text and show it:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> osd_renderer->render_text(osd, 0, 0, "white text, black border", OSD_TEXT1);
-- osd_renderer->render_text(osd, 0, 30, "white text, no border", OSD_TEXT2);
--
-- osd_renderer->show(osd, 0); /* 0 stands for 'now' */</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> There's a 1:1 mapping between OSD objects and overlays, therefore the
-- second time you send an OSD object for displaying it will actually substitute
-- the first image. By using set_position() function we can move overlay
-- over the video.
-- </P
--><TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> for( i=0; i < 100; i+=10 ) {
-- osd_renderer->set_position(osd, i, i );
-- osd_renderer->show(osd, 0);
-- sleep(1);
-- }
-- osd_renderer->hide(osd, 0);</PRE
--></TD
--></TR
--></TABLE
--><P
--> For additional functions please check osd.h or the public header.
-- </P
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN609"
-->OSD palette notes</A
--></H4
--><P
--> The palette functions demand some additional explanation, skip this if you
-- just want to write text fast without worring with details! :)
-- </P
--><P
--> We have a 256-entry palette, each one defining yuv and transparency levels.
-- Although xine fonts are bitmaps and may use any index they want, we have
-- defined a small convention:
-- </P
--><TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> /*
-- Palette entries as used by osd fonts:
--
-- 0: not used by font, always transparent
-- 1: font background, usually transparent, may be used to implement
-- translucid boxes where the font will be printed.
-- 2-5: transition between background and border (usually only alpha
-- value changes).
-- 6: font border. if the font is to be displayed without border this
-- will probably be adjusted to font background or near.
-- 7-9: transition between border and foreground
-- 10: font color (foreground)
-- */</PRE
--></TD
--></TR
--></TABLE
--><P
--> The so called 'transitions' are used to implement font anti-aliasing. That
-- convention requires that any font file must use only the colors from 1 to 10.
-- When we use the set_text_palette() function we are just copying 11 palette
-- entries to the specified base index.
-- </P
--><P
--> That base index is the same we pass to render_text() function to use the
-- text palette. With this scheme is possible to have several diferent text
-- colors at the same time and also draw fonts over custom background.
-- </P
--><TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> /* obtains size the text will occupy */
-- renderer->get_text_size(osd, text, &width, &height);
--
-- /* draws a box using font background color (translucid) */
-- renderer->filled_rect(osd, x1, y1, x1+width, y1+height, OSD_TEXT2 + 1);
--
-- /* render text */
-- renderer->render_text(osd, x1, y1, text, OSD_TEXT2);</PRE
--></TD
--></TR
--></TABLE
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN617"
-->OSD text and palette FAQ</A
--></H4
--><P
--> Q: What is the format of the color palette entries?
-- </P
--><P
--> A: It's the same as used by overlay blending code (YUV).
-- </P
--><P
--> Q: What is the relation between a text palette and a palette
-- I set with xine_osd_set_palette?
-- </P
--><P
--> A: xine_osd_set_palette will set the entire 256 color palette
-- to be used when we blend the osd image.
-- "text palette" is a sequence of 11 colors from palette to be
-- used to render text. that is, by calling osd_render_text()
-- with color_base=100 will render text using colors 100-110.
-- </P
--><P
--> Q: Can I render text with colors in my own palette?
-- </P
--><P
--> A: Sure. Just pass the color_base to osd_render_text()
-- </P
--><P
--> Q: Has a text palette change effects on already drawed text?
-- </P
--><P
--> A: osd_set_text_palette() will overwrite some colors on palette
-- with pre-defined ones. So yes, it will change the color
-- on already drawed text (if you do it before calling osd_show,
-- of course).
-- If you don't want to change the colors of drawed text just
-- use different color_base values.
-- </P
--><P
--> Q: What about the shadows of osd-objects? Can I turn them off
-- or are they hardcoded?
-- </P
--><P
--> A: osd objects have no shadows by itself, but fonts use 11
-- colors to produce an anti-aliased effect.
-- if you set a "text palette" with entries 0-9 being transparent
-- and 10 being foreground you will get rid of any borders or
-- anti-aliasing.
-- </P
--></DIV
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN629"
-->MRLs</A
--></H2
--><P
--> This section defines a draft for a syntactic specification of MRLs as
-- used by xine-lib. The language of MRLs is designed to be a true subset
-- of the language of URIs as given in RFC2396. A type 2 grammar for the
-- language of MRLs is given in EBNF below.
-- </P
--><P
--> Semantically, MRLs consist of two distinct parts that are evaluated by
-- different components of the xine architecture. The first part,
-- derivable from the symbol <input_source> in the given grammar, is
-- completely handed to the input plugins, with input plugins signaling
-- if they can handle the MRL.
-- </P
--><P
--> The second part, derivable from <stream_setup> and delimited from the
-- first by a crosshatch ('#') contains parameters that modify the
-- initialization and playback behaviour of the stream to which the MRL
-- is passed. The possible parameters are mentioned in the manpage to
-- xine-ui.
-- </P
--><P
--> The following definition should be regarded as a guideline only.
-- Of course any given input plugin only understands a subset of all
-- possible MRLs. On the other hand, invalid MRLs according to this
-- definition might be understood for convenience reasons.
-- Some user awareness is required at this point.
-- </P
--><P
--> EBNF grammar for MRLs:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> <mrl> ::= <input_source>[#<stream_setup>]
-- <input_source> ::= (<absolute_mrl>|<relative_mrl>)
-- <absolute_mrl> ::= <input>:(<hierarch_part>|<opaque_part>)
-- <hierarch_part> ::= (<net_path>|<abs_path>)[?<query>]
-- <opaque_part> ::= (<unreserved>|<escaped>|;|?|:|@|&|=|+|$|,){<mrl_char>}
-- <relative_mrl> ::= (<abs_path>|<rel_path>)
-- <net_path> ::= //<authority>[<abs_path>]
-- <abs_path> ::= /<path_segments>
-- <rel_path> ::= <rel_segment>[<abs_path>]
-- <rel_segment> ::= <rel_char>{<rel_char>}
-- <rel_char> ::= (<unreserved>|<escaped>|;|@|&|=|+|$|,)
-- <input> ::= <alpha>{(<alpha>|<digit>|+|-|.)}
-- <authority> ::= (<server>|<reg_name>)
-- <server> ::= [[<userinfo>@]<host>[:<port>]]
-- <userinfo> ::= {(<unreserved>|<escaped>|;|:|&|=|+|$|,)}
-- <host> ::= (<hostname>|<ipv4_address>|<ipv6_reference>)
-- <hostname> ::= {<domainlabel>.}<toplabel>[.]
-- <domainlabel> ::= (<alphanum>|<alphanum>{(<alphanum>|-)}<alphanum>)
-- <toplabel> ::= (<alpha>|<alpha>{(<alphanum>|-)}<alphanum>)
-- <ipv4_address> ::= <digit>{<digit>}.<digit>{<digit>}.<digit>{<digit>}.<digit>{<digit>}
-- <port> ::= {<digit>}
-- <reg_name> ::= <reg_char>{<reg_char>}
-- <reg_char> ::= (<unreserved>|<escaped>|;|:|@|&|=|+|$|,)
-- <path_segments> ::= <segment>{/<segment>}
-- <segment> ::= {<path_char>}{;<param>}
-- <param> ::= {<path_char>}
-- <path_char> ::= (<unreserved>|<escaped>|:|@|&|=|+|$|,)
-- <query> ::= {<mrl_char>}
-- <stream_setup> ::= <stream_option>;{<stream_option>}
-- <stream_option> ::= (<configoption>|<engine_option>|novideo|noaudio|nospu)
-- <configoption> ::= <configentry>:<configvalue>
-- <configentry> ::= <unreserved>{<unreserved>}
-- <configvalue> ::= <stream_char>{<stream_char>}
-- <engine_option> ::= <unreserved>{<unreserved>}:<stream_char>{<stream_char>}
-- <stream_char> ::= (<unreserved>|<escaped>|:|@|&|=|+|$|,)
-- <mrl_char> ::= (<reserved>|<unreserved>|<escaped>)
-- <reserved> ::= (;|/|?|:|@|&|=|+|$|,|[|])
-- <unreserved> ::= (<alphanum>|<mark>)
-- <mark> ::= (-|_|.|!|~|*|'|(|))
-- <escaped> ::= %<hex><hex>
-- <hex> ::= (<digit>|A|B|C|D|E|F|a|b|c|d|e|f)
-- <alphanum> ::= (<alpha>|<digit>)
-- <alpha> ::= (<lowalpha>|<upalpha>)
-- <lowalpha> ::= (a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)
-- <upalpha> ::= (A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z)
-- <digit> ::= (0|1|2|3|4|5|6|7|8|9)</PRE
--></TD
--></TR
--></TABLE
-->
-- With <ipv6_reference> being an IPv6 address enclosed in [ and ] as defined in RFC2732.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="CHAPTER"
--><HR><H1
--><A
--NAME="STREAM"
--></A
-->Chapter 5. xine's stream layer</H1
--><DIV
--CLASS="SECT1"
--><H2
--CLASS="SECT1"
--><A
--NAME="AEN639"
-->Input layer</A
--></H2
--><P
--> Many media players expect streams to be stored within files on
-- some local medium. In actual fact, media may be streamed over a
-- network (e.g. via HTTP or RTP), encoded onto a specialized medium
-- (e.g. DVD), etc. To allow you to access all this media, xine supports
-- the concept of an "input plugin". The tasks performed by an
-- input plugin are:
-- <P
--></P
--><UL
--><LI
--><P
--> Validation of Media Resource Locators (MRLs).
-- </P
--></LI
--><LI
--><P
--> MRL specific session management (e.g. opening and closing local files).
-- </P
--></LI
--><LI
--><P
--> Reading blocks/specific numbers of bytes from the input device.
-- </P
--></LI
--></UL
-->
-- </P
--><P
--> In addition to these tasks, the input plugin may keep track of some
-- input device-specific state information (e.g. a DVD plugin may keep
-- track of navigational state data such as current title/chapter).
-- </P
--><P
--> There are two classes of input device which xine recognizes.
-- Byte-oriented devices can, upon request, return an arbitary
-- non-zero number of bytes from a stream. Examples of such devices
-- are files or network streams. Block-oriented devices, however, have
-- a prefered block or "frame"-size. An example of such a device is
-- a DVD where data is stored in logical blocks of 2048 bytes. One may
-- pass the hint to xine that the plugin is block-oriented by setting the
-- INPUT_CAP_BLOCK capability. Note that this is only a hint and
-- xine does not guarantee that all requests to the plugin will
-- be purely block based.
-- </P
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN651"
-->Writing a xine input plugin</A
--></H3
--><P
--> An input plugin provides API functions which allow the engine to
-- access the data source the plugin encapsulates. The input plugin API
-- is declared in <TT
--CLASS="FILENAME"
-->input/input_plugin.h</TT
-->.
-- </P
--><P
--> An input plugin exports a public function of the form:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void *input_init_plugin(xine_t *xine, void *data);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function initializes an input plugin class object with the
-- following functions:
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_description(input_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a plaintext, one-line string describing the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_identifier(input_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a shorter identifier describing the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> xine_mrl_t **get_dir(input_class_t *this_gen, const char *filename, int *nFiles);</PRE
--></TD
--></TR
--></TABLE
-->
-- Retrieves a directory listing from the plugin. This function is optional.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char **get_autoplay_list(input_class_t *this_gen, int *num_files);</PRE
--></TD
--></TR
--></TABLE
-->
-- Retrieves the autoplay playlist from the plugin. This function is optional.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int eject_media(input_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- Ejects the medium. This function is optional.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void dispose(input_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function frees the memory used by the input plugin class object.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> input_plugin_t *get_instance(input_class_t *class_gen, xine_stream_t *stream, const char *mrl);</PRE
--></TD
--></TR
--></TABLE
-->
-- The plugin should try, if it can handle the specified MRL and return an
-- instance of itself if so. If not, NULL should be returned. When a new MRL
-- is to be played, xine engine asks all the available input plugins one by
-- one if they can handle the MRL.
-- Note that input plugins are not guaranteed to be queried
-- in any particular order and the first input plugin to claim an MRL
-- gets control so try not to duplicate MRLs already found within xine.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int open(input_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- You should do any device-specific initialisation within this function.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> uint32_t get_capabilities(input_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- Returns a bit mask describing the input device's capabilities.
-- You may logically OR the <CODE
--CLASS="VARNAME"
-->INPUT_CAP_*</CODE
--> constants together to get
-- a suitable bit-mask (via the '|' operator).
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> off_t read(input_plugin_t *this_gen, char *buf, off_t nlen);</PRE
--></TD
--></TR
--></TABLE
-->
-- Reads a specified number of bytes into a buffer and returns the number of bytes actually copied.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> buf_element_t *read_block(input_plugin_t *this_gen, fifo_buffer_t *fifo, off_t len);</PRE
--></TD
--></TR
--></TABLE
-->
-- Should the input plugin set the block-oriented hint and if the
-- demuxer supports it, this function will be called to read a block directly
-- into a xine buffer from the buffer pool.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> off_t seek(input_plugin_t *this_gen, off_t offset, int origin);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function is called by xine when it is required that subsequent
-- reads come from another part of the stream.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> off_t get_current_pos(input_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- Returns the current position within a finite length stream.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> off_t get_length(input_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- Similarly this function returns the length of the stream.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> uint32_t get_blocksize(input_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- Returns the device's prefered block-size if applicable.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_mrl(input_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- Returns the current MRL.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int get_optional_data(input_plugin_t *this_gen, void *data, int data_type);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function allows the input to advertise extra information that is
-- not available through other API functions. See <CODE
--CLASS="VARNAME"
-->INPUT_OPTIONAL_*</CODE
--> defines.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void dispose(input_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function closes all resources and frees the input_plugin_t object.
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN695"
-->Demuxer layer</A
--></H2
--><P
--> This section is designed to familiarize a programmer with general demuxer
-- concepts and how they apply to the xine multimedia library.
-- </P
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN698"
-->Introduction to demuxer theory</A
--></H3
--><P
--> xine's demuxer layer is responsible for taking apart multimedia files or
-- streams so that the engine can decode them and present them to the user.
-- "Demuxer" is short for demultiplexor, which is the opposite of
-- multiplexing. This refers to the process of combining 2 or more things
-- into one. Multimedia streams usually, at a minimum, multiplex an audio
-- stream and a video stream together into one stream. Sometimes, there are
-- multiple audio streams (e.g., for multiple language tracks). Sometimes,
-- there is a subtitle data stream multiplexed into the multimedia stream.
-- </P
--><P
--> There are many different multimedia formats in existence and there are
-- varying strategies for demuxing different types of multimedia files.
-- Formats in the MPEG family, for example, are designed to allow easy
-- playback from almost any place within the file. Many formats cannot deal
-- with this circumstance and at least need to be demuxed from the beginning
-- of the stream and played through to the end. Some formats, such as MPEG and
-- AVI, have marker information before every chunk in the stream. Other
-- formats, such as Apple Quicktime, are required to have a master index that
-- contains all information for taking apart a file. Many game-oriented
-- multimedia formats are designed strictly for playing from start to finish
-- without any regard to random seeking within the file.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN702"
-->Input considerations</A
--></H3
--><P
--> A xine demuxer interacts with xine's input layer in order to receive
-- data. The underlying input plugin might be a file, a network stream, or
-- a block-oriented disc storage device like a DVD. A file input offers the
-- most flexibility in being able to read either blocks of data or individual
-- bytes, and being able to seek freely. Other input plugins may not allow the
-- demuxer to seek (such as stdin or certain network streams). Some input
-- plugins only allow the demuxer to read blocks of data and not individual
-- bytes (such as the CD-DA input plugin). The demuxer needs to check the
-- capabilities of the underlying input plugin before attempting to seek
-- around.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN705"
-->Seeking Policy</A
--></H3
--><P
--> If possible, it is desirable that a demuxer can seek randomly through
-- the stream. This is easier for some file formats and essentially impossible
-- for other formats. xine's seeking API function allows a seek target to be
-- specified in terms of a ratio from 0 to 65535, or time in milliseconds from 0.
-- Time-based seeking is useful for specifying, e.g., a 1-minute jump forward
-- or backward in a stream. With the ratio-based seeking, the demuxer can
-- interpret the ratio value in the domain he sees most fit. This can also be
-- some sort of time or a simple file offset.
-- </P
--><P
--> If a multimedia stream has video, there generally needs to be a way to
-- identify keyframes in the stream in order to facilitate seeking. Many
-- game-oriented formats fall over in this area as they carry no keyframe
-- information aside from the implicit assumption that the first frame is a
-- keyframe.
-- </P
--><P
--> In a stream with video, a seek operation should always jump to a keyframe.
-- xine Policy: When the seek target is between 2 keyframes, jump to the
-- earlier keyframe. E.g., if there are keyframes at stream offsets 10000 and
-- 20000, and the user requests a seek to offset 18000, choose the keyframe
-- at offset 10000.
-- </P
--><P
--> Note that there can be difficulties when the audio and video streams are
-- not tightly interleaved. In many formats, the audio frames are several
-- time units ahead of the video frames for the purpose of pre-buffering.
-- This is a typical scenario in the middle of a stream:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> audio frame @ time 10
-- video frame @ time 8
-- audio frame @ time 11
-- video frame @ time 9
-- audio frame @ time 12
-- keyframe @ time 10
-- audio frame @ time 13</PRE
--></TD
--></TR
--></TABLE
-->
-- If the demuxer seeks to the keyframe @ time 10, the next audio chunk will
-- have a timestamp of 13, which is well ahead of where the video is. While
-- the xine engine will eventually recover, it will make playback choppy for
-- a few seconds after the seek. One strategy for dealing with this situation
-- is to seek back to the nearest keyframe before the requested seek and then
-- seek back to find the audio frame with the nearest timestamp before the
-- keyframe. In this example, that would mean seeking back to [af at time 10].
-- Then, demux the chunks in order, but skip the video frames until the next
-- keyframe is encountered.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN712"
-->Writing a xine demuxer</A
--></H3
--><P
--> A demuxer plugin provides API functions which allow the engine to
-- initialize demuxing, dispatch data chunks to the engine, seek within the
-- stream, get the stream length, among other functions. The demuxer API
-- is declared in <TT
--CLASS="FILENAME"
-->demuxers/demux.h</TT
-->.
-- </P
--><P
--> Writing a new xine demuxer is largely a process of using other demuxers as
-- references and understanding how they interact with the engine. This
-- section will give a brief overview of each API function.
-- </P
--><P
--> A demuxer plugin exports a public function of the form:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void *demux_wc3movie_init_plugin(xine_t *xine, void *data);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function initializes a demuxer plugin class object with 6
-- demuxer-specific functions. These functions mainly provide information
-- that a frontend can use to build user-friendly features. These functions
-- include:
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_description(demux_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a plaintext, one-line string describing the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_identifier(demux_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a shorter identifier describing the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_extensions(demux_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a string with the file extensions that this demuxer
-- is known to use. For example, Microsoft .WAV files use "wav". If there are
-- multiple known extensions, separate each extension with a space. For
-- example, Apple Quicktime has the extensions "mov qt mp4".
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_mimetypes(demux_class_t *this_gen)</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a string with the MIME types that this demuxer is
-- known to use. Multiple MIME type specifications should be separated with a
-- semicolon (;). For example, Apple Quicktime uses several MIME types:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> return "video/quicktime: mov,qt: Quicktime animation;"
-- "video/x-quicktime: mov,qt: Quicktime animation;"
-- "application/x-quicktimeplayer: qtl: Quicktime list;";</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void class_dispose(demux_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function frees the memory used by the demuxer plugin class object.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> demux_plugin_t *open_plugin(demux_class_t *class_gen, xine_stream_t *stream, input_plugin_t *input_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function is invoked by the xine engine to determine if the demuxer is
-- able to handle a particular multimedia stream. The engine can specify if
-- the demuxer is supposed to check the stream by content (validate the actual
-- stream data and see if it is of the expected type), by extension (check the
-- name of the MRL and see if the file extension is correct), or explicitly
-- (the engine is passing on a user request to force this demuxer to be used).
-- </P
--><P
--> The order in which the engine queries the available demuxers is determined
-- by the priority stated in the demuxer_info_t, which is attached to every
-- demuxer's plugin info structure. Demuxers with higher priority values are
-- called before those with lower priority. The order amongst demuxers of
-- equal priority is undefined. The idea behind this is to have the demuxers
-- for high-level container formats have high priorities, while the raw format
-- demuxers have low priorities. This way, a stream of a high-level container
-- format with a beginning that happens to look like a low-level raw format is
-- still handled by the correct demuxer, because it is queried first.
-- </P
--><P
--> NOTE: In the course of checking the stream by content, care must be taken
-- not to consume bytes out of a non-seekable stream. If the stream is
-- non-seekable, use the input plugin's preview buffer facility to get a cache
-- of the first few bytes. If the stream is seekable, reset the stream before
-- operating on the data (you do not know where some other demuxer left the
-- stream positioned).
-- </P
--><P
--> If the demuxer can handle the stream, it creates a new demux_plugin_t
-- structure and initializes the main demuxer functions which are called by
-- the engine to do the tough demuxing duty. These functions include:
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void demux_send_headers(demux_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function generally reads the headers of the stream, does whatever it
-- has to do to figure out what audio and video codecs are used in the file,
-- and asks the xine engine to initialize the correct decoders with the
-- proper parameters (like width and height for video, sample rate and
-- channels for audio).
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int demux_send_chunk(demux_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function reads data from the stream and sends it to the appropriate
-- decoder. This is where the bulk of the demuxing work is performed. Despite
-- the name, the function is actually free to send as much data as it wants
-- to, or as much as it can. A good policy is to send an entire chunk of
-- compressed audio or video data and then return. The chunk is likely large
-- enough that it will have to be broken up into multiple xine buffers. If
-- a chunk of audio is 20000 bytes large, and the engine is returning
-- 4096-byte buffers, send 4 full buffers and 1 partial buffer to the audio
-- decoder and then return.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int demux_seek(demux_plugin_t *this_gen, off_t start_pos, int start_time, int playing);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function is called by the engine to request stream repositioning.
-- This function should be implemented if possible. See the section on
-- "Seeking Policy" for more information. A seek operation should reposition
-- the demuxer's internal accounting variables to be ready to start
-- dispatching chunks from the new position when the xine engine calls
-- demux_send_chunk() again. If seeking is not feasible, the function quietly
-- returns and the demuxer's position is unaffected.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void demux_dispose(demux_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function frees the demux_plugin_t object.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int demux_get_status(demux_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns the current internal status of the demuxer. There
-- are 2 states: DEMUX_OK, for when the demuxer is demuxing or ready to demux,
-- and DEMUX_FINISHED, for when the demuxer has reached the end of the stream
-- or has encountered some sort of error.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int demux_get_stream_length(demux_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns the length (time duration) of the stream in
-- milliseconds. If the length of the stream cannot be determined, return 0.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> uint32_t demux_get_capabilities(demux_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns an array of bit flags indicating special features of
-- the demuxer. See <CODE
--CLASS="VARNAME"
-->DEMUX_CAP_*</CODE
--> defines.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int demux_get_optional_data(demux_plugin_t *this_gen, void *data, int data_type);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function allows the demuxer to advertise extra information that is
-- not available through other API functions. See <CODE
--CLASS="VARNAME"
-->DEMUX_OPTIONAL_*</CODE
--> defines.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN753"
-->Buffer types</A
--></H3
--><P
--> Demuxer must send data to decoders using two fifos names <CODE
--CLASS="VARNAME"
-->video_fifo</CODE
-->
-- and <CODE
--CLASS="VARNAME"
-->audio_fifo</CODE
-->. Both are available at <CODE
--CLASS="VARNAME"
-->stream</CODE
-->
-- level. The following code fragment shows how it's done.
-- </P
--><TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> buf_element_t *buf;
--
-- buf = stream->video_fifo->buffer_pool_alloc(stream->video_fifo);
-- buf->type = BUF_CONTROL_START;
-- stream->video_fifo->put(stream->video_fifo, buf);</PRE
--></TD
--></TR
--></TABLE
--><P
--> Buffers must have set the <CODE
--CLASS="VARNAME"
-->type</CODE
--> field as shown. All buffer types are
-- defined in <TT
--CLASS="FILENAME"
-->xine-engine/buffer.h</TT
-->.
-- </P
--><P
--> The control buffer types are very important and must be sent by all kinds of demuxers.
-- They tell decoders to start/stop their operations and inform metronom about
-- discontinuities, either relative or absolute. There is also a reset buffer
-- type that must be sent when demuxers are seeking as a "warm restart" indication to
-- the decoders.
-- </P
--><P
--> To help finding out buffer types for known codecs, functions from <TT
--CLASS="FILENAME"
-->buffer_types.c</TT
-->
-- may be used to convert "FOURCC" codes or audio format tags (as used in AVI files) to the xine
-- byffer type:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> buf->type = fourcc_to_buf_video((void*)this->avi->bih.biCompression);</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN767"
-->Decoder layer</A
--></H2
--><P
--> This section is designed to familiarize a programmer with basic audio
-- and video decoding concepts and how they apply to the xine decoder API.
-- </P
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN770"
-->Audio and video decoders</A
--></H3
--><P
--> Audio and video data requires an enormous amount of storage. Thus, the
-- raw data is encoded using a variety of compression techniques which
-- drastically reduces the amount of space required to transmit and store the
-- data. Before playback, the compressed data needs to be decoded.
-- </P
--><P
--> The process of decoding data is rather straightforward in a computer
-- science sense: An array of encoded data is fed into a decoder and the
-- decoder outputs an array of decoded data which is ready to be presented
-- to the user (either displayed on the screen or played through the
-- speakers).
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN774"
-->Video output formats</A
--></H3
--><P
--> Raw video data comes in a variety of formats, most commonly in RGB and
-- YUV. xine's output layer currently only accepts data in YV12 format (a.k.a.
-- YUV 4:2:0 planar) or YUY2 format (a.k.a. YUV 4:2:2 packed). If the output
-- format is a RGB space, the data must be converted to an acceptable YUV
-- format before being dispatched to the video output unit. xine has a number
-- of support functions to facilitate converting RGB to YUV.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN777"
-->Audio output formats</A
--></H3
--><P
--> Raw audio data equates to uncompressed PCM audio. xine's audio output
-- modules expect 8-bit PCM data to be unsigned and 16-bit PCM data to be
-- signed and in little endian format. When there is more than one channel,
-- the channel data is interleaved. For example, stereo data is interleaved
-- as left sample, right sample: LRLRLRLR. If there are 4 or 6 channels, the
-- same interleaving applies: 123456123456.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN780"
-->Writing a xine decoder</A
--></H3
--><P
--> Writing a new xine decoder for an audio or video format entails
-- accumulating a buffer of encoded data, performing the necessary operations
-- for decoding and then passing it on the appropriate output module. The
-- best reference for understanding the decoder API is the various decoding
-- modules available. In particular, xine has example video and audio
-- decoders named <TT
--CLASS="FILENAME"
-->src/libxinevdec/foovideo.c</TT
--> and
-- <TT
--CLASS="FILENAME"
-->src/libxineadec/fooaudio.c</TT
-->, respectively.
-- </P
--><P
--> This section will give a brief overview of each API function.
-- The decoder API is declared in <TT
--CLASS="FILENAME"
-->src/xine-engine/video_decoder.h</TT
-->
-- and <TT
--CLASS="FILENAME"
-->src/xine-engine/audio_decoder.h</TT
-->.
-- </P
--><P
--> A decoder plugin must, like every plugin, export a public array of
-- plugin_info_t types. The array usually has 2 entries: The first contains
-- the plugin information regarding the decoder and the second entry is
-- a terminating NULL entry. However, there may be more entries.
-- Each entry contains 6 fields:
-- <P
--></P
--><UL
--><LI
--><P
--> <CODE
--CLASS="VARNAME"
-->plugin type</CODE
-->: Either PLUGIN_VIDEO_DECODER or PLUGIN_AUDIO_DECODER.
-- </P
--></LI
--><LI
--><P
--> <CODE
--CLASS="VARNAME"
-->API</CODE
-->: The plugin API revision that this plugin adheres to.
-- </P
--></LI
--><LI
--><P
--> <CODE
--CLASS="VARNAME"
-->name</CODE
-->: A character string that identifies the plugin.
-- </P
--></LI
--><LI
--><P
--> <CODE
--CLASS="VARNAME"
-->version</CODE
-->: #define'd as XINE_VERSION_CODE.
-- </P
--></LI
--><LI
--><P
--> <CODE
--CLASS="VARNAME"
-->supported types</CODE
-->: A structure that defines the buffer types that this plugin can handle.
-- </P
--></LI
--><LI
--><P
--> <CODE
--CLASS="VARNAME"
-->init function</CODE
-->: The function that the xine engine calls in order to initialize this decoder plugin.
-- </P
--></LI
--></UL
-->
-- The supported types field is a decoder_info_t structure. This struct
-- combines a list of buffer types that the plugin can handle, along with
-- a relative default priority. The priority allows xine to have multiple
-- plugins that can handle one data type and the plugin with the highest
-- priority takes precedence. The code defines the default priority, which
-- can be overriden by the user.
-- The list of buffer types is an array of uint32_t types from the list of
-- buffer types defined in <TT
--CLASS="FILENAME"
-->src/xine-engine/buffer.h</TT
-->.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void *init_plugin(xine_t *xine, void *data);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function allocates a plugin class and initializes a set of functions
-- for the xine engine to invoke. These functions include:
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_identifier(video_decoder_class_t *this);</PRE
--></TD
--></TR
--></TABLE
-->
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_identifier(audio_decoder_class_t *this);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a brief character string identifying the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_description(video_decoder_class_t *this);</PRE
--></TD
--></TR
--></TABLE
-->
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_description(audio_decoder_class_t *this);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a slightly longer description of the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void dispose_class(video_decoder_class_t *this);</PRE
--></TD
--></TR
--></TABLE
-->
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void dispose_class(audio_decoder_class_t *this);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function frees the resources allocated by the plugin class.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> video_decoder_t *open_plugin(video_decoder_class_t *class_gen, xine_stream_t *stream);</PRE
--></TD
--></TR
--></TABLE
-->
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> audio_decoder_t *open_plugin(audio_decoder_class_t *class_gen, xine_stream_t *stream);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function initializes the decoder plugin's private state. It also
-- initializes and returns either an audio_decoder_t or a video_decoder_t for
-- the engine. The decoder_t contains a number of functions that the plugin
-- invokes to handle data decoding. These functions include:
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void decode_data(video_decoder_t *this_gen, buf_element_t *buf);</PRE
--></TD
--></TR
--></TABLE
-->
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void decode_data(audio_decoder_t *this_gen, buf_element_t *buf);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function performs the bulk of the decoding work. The xine engine
-- delivers buffers (xine_buffer_t data types) to this function and it is up
-- to this function to assemble the parts of the buffer, decode the data, and
-- send the decoded data to the proper output unit. The constraint is that
-- you must never call a port function of the output port when the port has
-- not been opened by you. (See the <CODE
--CLASS="FUNCTION"
-->open()</CODE
--> and
-- <CODE
--CLASS="FUNCTION"
-->close()</CODE
--> functions of <SPAN
--CLASS="TYPE"
-->xine_video_port_t</SPAN
-->
-- and <SPAN
--CLASS="TYPE"
-->xine_audio_port_t</SPAN
-->.)
-- </P
--><P
--> A buffer has a <CODE
--CLASS="VARNAME"
-->decoder_flags</CODE
--> field which can have
-- a number of flags set. The first buffer that a decoder receives ought
-- to have the BUF_FLAG_HEADER flag set. This indicates that the buffer
-- content contains the essential setup information for decoding
-- (width, height, etc. for video; sample rate, channels, etc. for audio).
-- </P
--><P
--> If the BUF_FLAG_HEADER flag is not set, the content of the buffer should
-- be accumulated in a private buffer until a buffer with a
-- BUF_FLAG_FRAME_END flag is set. This indicates that the entire chunk has
-- been transmitted to the decoder and is ready to be decoded. Fetch either
-- an empty video frame or audio buffer from the appropriate output unit. Perform
-- the appropriate decoding operations and set the pts for the output buffer
-- (and the duration, a.k.a. video_step, for video). Dispatch the decoded
-- data to the output and reset the internal buffer accumulation accounting.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void flush(video_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void flush(audio_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function is called when either the xine engine flushes the stream, e.g.,
-- after a seek operation or when decoding runs too slow and frames arrive in
-- the output loops fast enough. Decoders should release everything they have
-- already decoded, drop the rest and wait for new input.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void reset(video_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void reset(audio_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function is called when the xine engine resets the stream.
-- Decoders should get ready to receive data that has nothing to do
-- with the one it worked on up to now.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void discontinuity(video_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void discontinuity(audio_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function is called when the xine engine encounters a pts
-- discontinuity. Decoders should forget all timestamping information
-- they might have accumulated from the stream to not confuse metronom.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void dispose(video_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void dispose(audio_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function frees the resources used by the decoder plugin.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN845"
-->SPU decoder</A
--></H3
--><P
--> A lot written above also applies for subpicture unit (SPU) decoders. The
-- SPU decoder API is declared in <TT
--CLASS="FILENAME"
-->src/xine-engine/spu_decoder.h</TT
-->.
-- Details on the data, SPU decoders are expected to output, see the section on
-- <A
--HREF="#OSD"
-->overlays and OSD</A
-->.
-- </P
--><P
--> However, there are some differences to consider. At first, unlike audio and
-- video, subtitles do not form a continuous stream. The decoder will therefore
-- only be called once in a while. The metronom call for timestamping,
-- which for audio and video is done by the engine, has to be done manually for SPU:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> vpts = metronom->got_spu_packet(metronom, buf->pts);</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> Another difference is that while both audio and video decoders are automatically
-- blocked in their <CODE
--CLASS="FUNCTION"
-->get_buffer()</CODE
-->/<CODE
--CLASS="FUNCTION"
-->get_frame()</CODE
-->
-- methods when the output cannot take any more data, this does not work for SPU,
-- because it could take minutes before the next free slot becomes available and we must not
-- block the decoder thread for that long since it might be shared with a video decoder.
-- But when a SPU decoder does not share the thread and we let it run without any
-- blocking, it will overflow the available overlay slots very soon. Since SPU
-- decoders should not have to know, whether they share the thread or not, a helper
-- function <CODE
--CLASS="FUNCTION"
-->_x_spu_decoder_sleep()</CODE
--> is provided, which, when told
-- the timestamp of the next overlay, will wait long enough to not overflow the
-- overlay slots, but short enough to not hinder a video decoder in the same thread.
-- </P
--><P
--> There are also two functions in the SPU decoder API, which have not been discussed above:
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int get_interact_info(spu_decoder_t *this_gen, void *data);</PRE
--></TD
--></TR
--></TABLE
-->
-- Since SPUs are sometimes (on DVDs for example) used for user interaction like menu
-- highlights, this function can be called to get <CODE
--CLASS="VARNAME"
-->data</CODE
--> filled with
-- the current interaction information. The caller and the decoder have to agree on
-- what this is exactly. With DVDs, you can get a copy of the current NAV packet here.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void set_button(spu_decoder_t *this_gen, int32_t button, int32_t mode);</PRE
--></TD
--></TR
--></TABLE
-->
-- Also for interaction, you can ask the decoder here to change the
-- current highlighting.
-- </P
--></DIV
--></DIV
--></DIV
--><DIV
--CLASS="CHAPTER"
--><HR><H1
--><A
--NAME="OUTPUT"
--></A
-->Chapter 6. xine's output layer</H1
--><DIV
--CLASS="SECT1"
--><H2
--CLASS="SECT1"
--><A
--NAME="AEN864"
-->Post plugin layer</A
--></H2
--><P
--> In this section you will learn, how the powerful post plugin architecture
-- works and how to write post plugins.
-- </P
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN867"
-->General principle of post plugins</A
--></H3
--><P
--> The name "post plugin" comes from "postprocessing" which already describes
-- what these plugins are supposed to do: they take video frames, audio
-- buffers or subpicture planes as they leave the decoders and apply arbitrary
-- processing to them. Then they pass processed elements on to the output
-- loops. Post plugins can not only be chained to process the predecessor's
-- output and advance the data to their successor, they can form arbitrary trees,
-- since post plugins can have any number of inputs and outputs. Additionally,
-- the interconnection of the plugins currently inserted in such a tree can
-- be changed on the fly during playback. The public function
-- <CODE
--CLASS="FUNCTION"
-->xine_post_wire()</CODE
--> is used by frontends to form such
-- connections.
-- </P
--><P
--> Due to the variety of possible applications, the interface post plugins have
-- to implement is just the basic foundation. The complexity comes from hooking
-- your post plugin into the engine data paths for video frames and audio buffers,
-- intercepting the data and performing your operation on them. This is done by
-- taking the interface of a video or audio port, replacing some of the functions
-- with your own ones and passing the interface to the decoder or predecessor
-- post plugin that is going to feed you with data by accessing this interface
-- and by doing that, calling the functions you provide. From there you can do
-- almost anything you want. Constructing video frames from audio buffers to
-- visualize sound is possible as well as just outputting an integer giving the
-- average brightness of an image. It is also possible to invent post plugins
-- with no output (not very useful, unless the plugin has some side-effect) or
-- no input at all; for the latter you have to create your own pthread, otherwise
-- your plugin will not do anything. An audio signal generator could be
-- implemented like this. The various data types, post plugins can
-- accept as input or offer as output are defined in <TT
--CLASS="FILENAME"
-->xine.h</TT
-->
-- as <CODE
--CLASS="VARNAME"
-->XINE_POST_DATA_*</CODE
--> defines.
-- </P
--><P
--> Some terminology used in the following explanations:
-- <P
--></P
--><UL
--><LI
--><P
--> <CODE
--CLASS="VARNAME"
-->down direction</CODE
-->:
-- The direction from the decoders to the output. This is the way video or audio
-- data (actual content and meta information) usually travels through the engine.
-- </P
--></LI
--><LI
--><P
--> <CODE
--CLASS="VARNAME"
-->up direction</CODE
-->:
-- The direction from the output to the decoders. This is the way some video or audio
-- metadata like metronom timestamps travel through the engine.
-- </P
--></LI
--><LI
--><P
--> <CODE
--CLASS="VARNAME"
-->interception</CODE
-->:
-- Post plugins are inserted into the engine data paths by the means of the decorator
-- design pattern. This works by taking engine structures with member funtions like
-- video or audio ports, video frames or overlay managers and inserting your own functions
-- into a copy of this structure. This is called interception. This modified structure
-- is then passed up to the plugin that uses it and thus calls your replaced functions.
-- </P
--></LI
--></UL
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN885"
-->Writing a xine post plugin</A
--></H3
--><P
--> The post plugin API is declared in <TT
--CLASS="FILENAME"
-->src/xine-engine/post.h</TT
-->
-- The plugin info of post plugins contains the post plugin type, which is one of the
-- <CODE
--CLASS="VARNAME"
-->XINE_POST_TYPE_*</CODE
--> defines and the init_class function of the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> post_plugin_t *open_plugin(post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target);</PRE
--></TD
--></TR
--></TABLE
-->
-- Returns an instance of the plugin. Some post plugins evaluate <CODE
--CLASS="VARNAME"
-->inputs</CODE
-->
-- to open a variable number of inputs. Since almost all post plugins have audio or video
-- outputs, you can hand in a NULL-terminated array of ports to connect to these outputs.
-- In this function you can also intercept these ports so that your plugin is actually used.
-- There is a helper function to initialize a <SPAN
--CLASS="TYPE"
-->post_plugin_t</SPAN
-->, which you are
-- encouraged to use: <CODE
--CLASS="FUNCTION"
-->_x_post_init()</CODE
-->.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_identifier(post_class_t *class_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a short identifier describing the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_description(post_class_t *class_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a plaintext, one-line string describing the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void dispose(post_class_t *class_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function frees the memory used by the video out plugin class object.
-- </P
--><P
--> The <SPAN
--CLASS="TYPE"
-->post_plugin_t</SPAN
--> structure contains the publicly visible
-- part of the post plugin with the audio and video inputs and the type of
-- the post plugin. Not publicly visible are the lists of all inputs and outputs,
-- the <CODE
--CLASS="FUNCTION"
-->dispose()</CODE
--> function and some internal stuff which
-- plugins do not have to worry about.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void dispose(post_plugin_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function frees the memory used by the plugin instance, but not necessarily
-- immediately. Since post plugins enter their own functions into engine structures,
-- they might still be needed when <CODE
--CLASS="FUNCTION"
-->dispose()</CODE
--> is being called.
-- They maintain a usage counter to detect that. To check for such a condition, you
-- should use the <CODE
--CLASS="FUNCTION"
-->_x_post_dispose()</CODE
--> helper function like that:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> if (_x_post_dispose(this))
-- really_free(this);</PRE
--></TD
--></TR
--></TABLE
-->
-- <CODE
--CLASS="FUNCTION"
-->_x_post_dispose()</CODE
--> frees any ressources allocated by any of the
-- post plugin helper functions and returns boolean true, if the plugin is not needed
-- any more.
-- </P
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN910"
-->Interception</A
--></H3
--><P
--> Currently, we have four engine structures which can be intercepted by post plugins:
-- video ports, video frames, overlay managers and audio ports. You could do this
-- interception manually, but since this is quite a complex process, there are helper
-- functions to assist you and their usage is encouraged.
-- </P
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN913"
-->Intercepting a video port</A
--></H4
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> post_video_port_t *_x_post_intercept_video_port(post_plugin_t *post,
-- xine_video_port_t *port, post_in_t **input, post_out_t **output);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function will intercept <CODE
--CLASS="VARNAME"
-->port</CODE
--> and returns a structure
-- for you to pass up. All functions in the port will be replaced with dummy
-- pass through functions that do nothing but relaying the call down to the original
-- port. If you want (that is, <CODE
--CLASS="VARNAME"
-->input</CODE
--> or <CODE
--CLASS="VARNAME"
-->output</CODE
--> are
-- not NULL), this function will also create the input and output descriptors complete
-- with rewiring functions and add them to the relevant lists.
-- This is required, if you want this port to be advertised by the plugin to the outside world.
-- </P
--><P
--> <SPAN
--CLASS="TYPE"
-->post_video_port_t</SPAN
--> makes a variety of interception schemes very easy.
-- If you want to replace any of the default functions with your own, just enter it
-- into <CODE
--CLASS="VARNAME"
-->new_port</CODE
-->. You can use <CODE
--CLASS="VARNAME"
-->original_port</CODE
-->
-- from within your function to propagate calls down to the original port.
-- The constraint is that your functions have to ensure that every original
-- port held open scores one usage counter point, so that opened ports are always
-- closed before the plugin is disposed. Therefore, you should use the macro
-- <CODE
--CLASS="FUNCTION"
-->_x_post_inc_usage()</CODE
--> before calling
-- <CODE
--CLASS="FUNCTION"
-->original_port->open()</CODE
--> and use the macro
-- <CODE
--CLASS="FUNCTION"
-->_x_post_dec_usage()</CODE
--> after calling
-- <CODE
--CLASS="FUNCTION"
-->original_port->close()</CODE
-->. Note that <CODE
--CLASS="FUNCTION"
-->_x_post_dec_usage()</CODE
-->
-- might dispose the plugin, when <CODE
--CLASS="FUNCTION"
-->dispose()</CODE
--> has been called
-- earlier and usage count drops to zero, so do never touch plugin structures after
-- <CODE
--CLASS="FUNCTION"
-->_x_post_dec_usage()</CODE
-->. In addition, you must never call a port
-- function of the original port when the port is not open.
-- </P
--><P
--> Intercepting video frames or the overlay manager of the port is even easier.
-- You do not have to reimplement <CODE
--CLASS="FUNCTION"
-->get_frame()</CODE
--> or
-- <CODE
--CLASS="FUNCTION"
-->get_overlay_manager()</CODE
-->. Just enter a <CODE
--CLASS="VARNAME"
-->intercept_frame</CODE
-->
-- or <CODE
--CLASS="VARNAME"
-->intercept_ovl</CODE
--> function which returns boolean true, if
-- you want to intercept. The functions to insert in the intercepted frame or overlay
-- manager are taken from <CODE
--CLASS="VARNAME"
-->new_frame</CODE
--> and <CODE
--CLASS="VARNAME"
-->new_manager</CODE
-->
-- respectively. Note that the defaults are reversed: If you do not enter such a
-- decision function for either one, all frames and no overlay manager will be intercepted.
-- </P
--><P
--> For convenience <SPAN
--CLASS="TYPE"
-->post_video_port_t</SPAN
--> also contains pointers to the
-- current stream and to the current post plugin and a user_data pointer, where you
-- can put in anything you need in addition. If your port is used by more than one
-- thread, you can also enforce locking on the port, frame or overlay manager level
-- by entering a lock into <CODE
--CLASS="VARNAME"
-->port_lock</CODE
-->, <CODE
--CLASS="VARNAME"
-->frame_lock</CODE
--> or
-- <CODE
--CLASS="VARNAME"
-->manager_lock</CODE
--> respectively.
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN943"
-->Intercepting an audio port</A
--></H4
--><P
--> Audio port interception is just a stripped down version of video port interception.
-- Everything related to frames and overlay manager is not needed and audio buffers
-- do not need to be intercepted, since they have no member functions. Everything else
-- of the above still applies.
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN946"
-->Intercepting overlay manager</A
--></H4
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void _x_post_intercept_overlay_manager(video_overlay_manager_t *original, post_video_port_t *port);</PRE
--></TD
--></TR
--></TABLE
-->
-- Interception of the overlay manager is done automatically when your
-- <CODE
--CLASS="FUNCTION"
-->intercept_ovl()</CODE
--> decision function returns boolean true.
-- Should you ever decide not to use that, interception can be done with this helper
-- function, which simply creates an intercepted overlay manager with dummy
-- pass through functions in <CODE
--CLASS="VARNAME"
-->port->new_manager</CODE
--> and stores the original
-- manager in <CODE
--CLASS="VARNAME"
-->port->original_manager</CODE
-->.
-- </P
--><P
--> No matter how you intercepted the overlay manager, your own replacement
-- functions will receive <CODE
--CLASS="VARNAME"
-->port->new_manager</CODE
--> as the overlay manager
-- argument. But you most likely want to have access to the <SPAN
--CLASS="TYPE"
-->post_video_port_t</SPAN
-->
-- from within your functions. For that, there exists a pointer retrieval function:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> post_video_port_t *_x_post_ovl_manager_to_port(video_overlay_manager_t *manager);</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN957"
-->Intercepting a video frame</A
--></H4
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> vo_frame_t *_x_post_intercept_video_frame(vo_frame_t *frame, post_video_port_t *port);
-- vo_frame_t *_x_post_restore_video_frame(vo_frame_t *frame, post_video_port_t *port);</PRE
--></TD
--></TR
--></TABLE
-->
-- Interception of video frames is done automatically when your
-- <CODE
--CLASS="FUNCTION"
-->intercept_frame()</CODE
--> decision function returns boolean true or
-- when there is no such function in <SPAN
--CLASS="TYPE"
-->post_video_port_t</SPAN
-->.
-- Should you ever decide not to use that, interception can be done with the helper
-- function <CODE
--CLASS="FUNCTION"
-->_x_post_intercept_video_frame()</CODE
-->.
-- </P
--><P
--> Since the same video frame can be in use in the decoder and in the output and in
-- any post plugin in between at the same time, simply modifying the frame
-- structure does not work, because every user of the frame needs to see his version
-- and the frame must always travel along the same path through the plugins for its
-- entire lifetime. To ensure that, <CODE
--CLASS="FUNCTION"
-->_x_post_intercept_video_frame()</CODE
-->
-- provides a shallow copy of the frame structure with the original frame attached to
-- <CODE
--CLASS="VARNAME"
-->copy->next</CODE
-->. This copy will be filled with your own
-- frame functions from <CODE
--CLASS="VARNAME"
-->port->new_frame</CODE
--> and with dummy pass
-- through functions for those you did not provide. This way, every part of xine
-- using this frame will see its own frame structure with a list of frame
-- contexts from down the data path attached to <CODE
--CLASS="VARNAME"
-->frame->next</CODE
-->.
-- <CODE
--CLASS="FUNCTION"
-->_x_post_restore_video_frame()</CODE
--> reverses this and should be
-- used when the frame is freed or disposed.
-- </P
--><P
--> Your own replacement functions will receive the copied frame as as argument.
-- But you most likely want to have access to the <SPAN
--CLASS="TYPE"
-->post_video_port_t</SPAN
-->
-- from within your functions. For that, there exists a pointer retrieval function:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> post_video_port_t *_x_post_video_frame_to_port(vo_frame_t *frame);</PRE
--></TD
--></TR
--></TABLE
-->
-- The constraint is that your functions have to ensure that every intercepted
-- frame scores one usage counter point, so that these frames are always
-- freed or disposed before the plugin is disposed. Therefore, you should use the macro
-- <CODE
--CLASS="FUNCTION"
-->_x_post_inc_usage()</CODE
--> before calling
-- <CODE
--CLASS="FUNCTION"
-->_x_post_intercept_video_frame()</CODE
--> and use the macro
-- <CODE
--CLASS="FUNCTION"
-->_x_post_dec_usage()</CODE
--> after calling
-- <CODE
--CLASS="FUNCTION"
-->_x_post_restore_video_frame()</CODE
-->. Note that <CODE
--CLASS="FUNCTION"
-->_x_post_dec_usage()</CODE
-->
-- might dispose the plugin, when <CODE
--CLASS="FUNCTION"
-->dispose()</CODE
--> has been called
-- earlier and usage count drops to zero, so do never touch plugin structures after
-- <CODE
--CLASS="FUNCTION"
-->_x_post_dec_usage()</CODE
-->.
-- </P
--><P
--> From within your own frame functions, you can propagate calls to the original
-- frame by calling a function on <CODE
--CLASS="VARNAME"
-->frame->next</CODE
-->. Since
-- modifications to the frame can travel both upwards and downwards (decoders and
-- output can modify the frame), changes need to be copied between the frame
-- structure contexts. You should use the <CODE
--CLASS="FUNCTION"
-->_x_post_frame_copy_down()</CODE
-->
-- and <CODE
--CLASS="FUNCTION"
-->_x_post_frame_copy_up()</CODE
--> helper functions like that:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> _x_post_frame_copy_down(frame, frame->next);
-- frame->next->draw(frame->next, stream);
-- _x_post_frame_copy_up(frame, frame->next);</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> If your post plugin modifies the content of the frame, you have to modify
-- a deep copy of the frame, because the decoder might still use the frame as
-- a reference frame for future decoding. The usual procedure is:
-- <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> modified_frame = port->original_port->get_frame(port->original_port, ...);
-- _x_post_frame_copy_down(frame, modified_frame);
-- copy_and_modify(frame, modified_frame);
-- skip = modified_frame->draw(modified_frame, stream);
-- _x_post_frame_copy_up(frame, modified_frame);
-- modified_frame->free(modified_frame);</PRE
--></TD
--></TR
--></TABLE
-->
-- </P
--><P
--> When the output receives a frame via <CODE
--CLASS="FUNCTION"
-->draw()</CODE
-->,
-- it usually receives the stream where the frame
-- originates as well and modifies the state of this stream by passing
-- the frame through the stream's metronom. Sometimes this is unwanted.
-- For example, when you pass the same frame to the output more than once, it
-- will confuse metronom. To solve this, you can call
-- <CODE
--CLASS="FUNCTION"
-->frame->next->draw()</CODE
--> with NULL as the stream.
-- You might also want to prevent frames from being passed down to the output
-- completely, because your post plugin creates something else from these frames,
-- but does not need them to be drawn. In both these situations, you have
-- to call the helper function <CODE
--CLASS="FUNCTION"
-->_x_post_frame_u_turn()</CODE
-->
-- when the frame is drawn, because this does some housekeeping which the
-- decoder might expect to take place.
-- </P
--><P
--> The following diagram summarizes the situations of a video frame passing
-- through a post plugin:
-- </P
--><DIV
--CLASS="MEDIAOBJECT"
--><P
--><IMG
--SRC="post_frame.png"><DIV
--CLASS="CAPTION"
--><P
-->video frame passing through a post plugin</P
--></DIV
--></P
--></DIV
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN999"
-->Summary of constraints</A
--></H4
--><P
--></P
--><UL
--><LI
--><P
--> Call <CODE
--CLASS="FUNCTION"
-->_x_post_inc_usage()</CODE
--> before port <CODE
--CLASS="FUNCTION"
-->open()</CODE
-->
-- before any other port function.
-- </P
--></LI
--><LI
--><P
--> Call <CODE
--CLASS="FUNCTION"
-->_x_post_inc_usage()</CODE
--> before issueing an intercepted frame.
-- </P
--></LI
--><LI
--><P
--> Call <CODE
--CLASS="FUNCTION"
-->_x_post_dec_usage()</CODE
--> after port <CODE
--CLASS="FUNCTION"
-->close()</CODE
-->
-- and do not call any port functions after that.
-- </P
--></LI
--><LI
--><P
--> Call <CODE
--CLASS="FUNCTION"
-->_x_post_dec_usage()</CODE
--> after restoring a frame.
-- </P
--></LI
--><LI
--><P
--> When a frame is drawn by your plugin, it must either be drawn on the original
-- port with the correct stream as argument or U-turned (or passed through a
-- private metronom manually).
-- </P
--></LI
--><LI
--><P
--> If your post plugin keeps locked frames, release them when your input port is being
-- closed.
-- </P
--></LI
--><LI
--><P
--> Do not assume your plugin is alive after <CODE
--CLASS="FUNCTION"
-->_x_post_dec_usage()</CODE
-->.
-- </P
--></LI
--></UL
--></DIV
--></DIV
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN1023"
-->Rewiring and the ticket system</A
--></H3
--><P
--> Rewiring is the reconnection of one post plugin's outputs and another post plugin's
-- inputs. This can happen on the fly during playback, which makes this a very delicate
-- process. In one such input to output connection, only the output is active by either
-- writing data directly to the connected input or by calling functions there. Therefore
-- we have to notify only the output, when it is rewired. This is done by calling the
-- <CODE
--CLASS="FUNCTION"
-->rewire()</CODE
--> member function of the corresponding
-- <SPAN
--CLASS="TYPE"
-->xine_post_out_t</SPAN
--> when the frontend issues a rewiring on this output.
-- This is done from the frontend thread for the rewire operation to return synchroneously.
-- But since this can happen on the fly, we have to assure that no other thread is relying
-- on the connection while we modify it. For this, threads working within post plugins
-- have to be accounted and on demand suspended in safe positions. For this, xine offers
-- a synchronization facility called "tickets".
-- </P
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN1028"
-->Ticket system principles and operations</A
--></H4
--><P
--> The idea of the ticket system is based on an extended read-write lock, where there can
-- be many readers in parallel, but only one exclusive writer. A certain interface might
-- require you to have a ticket before calling its functions. The ticket system now
-- allows multiple threads to operate within the component behind the interface by
-- granting as many tickets as needed. But should an outside operation require exclusive
-- access to the component, all granted tickets can be revoked and have to be given back
-- by the threads who hold them, which suspends the threads. After the exclusive
-- operation, tickets will be reissued so all suspended threads can continue where they
-- stopped. We will now look at the ticket primitives in detail:
-- </P
--><P
--></P
--><DIV
--CLASS="VARIABLELIST"
--><DL
--><DT
--><CODE
--CLASS="FUNCTION"
-->acquire()</CODE
--></DT
--><DD
--><P
--> You receive a new ticket. If the ticket is currently revoked, you can be blocked
-- until it is reissued. There is one exception to this: You can acquire a revoked
-- ticket, if you revoked it atomic yourself. You can also acquire a ticket irrevocably.
-- Between acquire and release of an irrevocable ticket, it is guaranteed that
-- you will not be blocked by ticket revocation.
-- </P
--></DD
--><DT
--><CODE
--CLASS="FUNCTION"
-->release()</CODE
--></DT
--><DD
--><P
--> You give a ticket back when you do not need it any longer. If the ticket is
-- currently revoked, you can be blocked until it is reissued. If you acquired the
-- ticket irrevocably, you have to release it irrevocably as well.
-- </P
--></DD
--><DT
--><CODE
--CLASS="FUNCTION"
-->renew()</CODE
--></DT
--><DD
--><P
--> You must only call this function, when the ticket has been revoked, so be
-- sure to check <CODE
--CLASS="VARNAME"
-->ticket_revoked</CODE
--> before. You give the ticket
-- back and receive a new one. In between, you can be blocked until the ticket is
-- reissued. You have to renew irrevocably, if you cannot assure that the thread holds
-- no irrevocable tickets. If you can assure this, renew revocably.
-- </P
--></DD
--><DT
--><CODE
--CLASS="FUNCTION"
-->revoke()</CODE
--></DT
--><DD
--><P
--> This function can only be called by the xine engine, plugins do not have access to it.
-- It revokes all tickets and after finite time, all threads will run into a
-- <CODE
--CLASS="FUNCTION"
-->acquire()</CODE
-->, <CODE
--CLASS="FUNCTION"
-->release()</CODE
--> or <CODE
--CLASS="FUNCTION"
-->renew()</CODE
-->
-- and will be suspended there. Then the revocation returns and you can modify structures
-- or call functions with the knowledge that all ticket holders will remain in safe
-- positions. When you additionally need exclusive access where no other revoker
-- can interfere, you have to revoke atomic.
-- </P
--></DD
--><DT
--><CODE
--CLASS="FUNCTION"
-->issue()</CODE
--></DT
--><DD
--><P
--> This function can only be called by the xine engine, plugins do not have access to it.
-- It ends ticket revocation and hands out new tickets to all threads that applied with a
-- <CODE
--CLASS="FUNCTION"
-->acquire()</CODE
--> or <CODE
--CLASS="FUNCTION"
-->renew()</CODE
-->. If you revoked the
-- tickets atomic, you have to issue them atomic.
-- </P
--></DD
--></DL
--></DIV
--><P
--> When you use the ticket system in any way, you have to obey to the following rules:
-- <P
--></P
--><UL
--><LI
--><P
--> Assure to release irrevocable tickets ater a finite time.
-- </P
--></LI
--><LI
--><P
--> Assure to release or renew revocable tickets ater a finite time.
-- </P
--></LI
--><LI
--><P
--> Assure to reissue tickets you revoked atomic after a finite time.
-- </P
--></LI
--><LI
--><P
--> Pair calls properly.
-- </P
--></LI
--><LI
--><P
--> Never revoke a ticket you hold.
-- </P
--></LI
--><LI
--><P
--> Never acquire a ticket you revoked atomic before.
-- </P
--></LI
--><LI
--><P
--> Never acquire a ticket revocable more than once.
-- </P
--></LI
--></UL
-->
-- </P
--></DIV
--><DIV
--CLASS="SECT3"
--><HR><H4
--CLASS="SECT3"
--><A
--NAME="AEN1079"
-->Ticket handling in decoder and post plugins</A
--></H4
--><P
--> The contract of the video and audio port interfaces is that you need to have
-- the port ticket, when you want to call functions of these interfaces. The decoder
-- plugins do not have to worry about this at all, since the decoder loops inside the
-- engine handle the ticketing. Post plugins get the ticket assigned by the engine,
-- but usually, a post plugin does not create a new thread, it is called by the
-- decoder thread and therefore already owns the necessary ticket. All port functions
-- are also ticket-safe as they follow all the rules given above.
-- </P
--><P
--> You only have to remember that tickets need to be renewed as soon as possible,
-- when the are revoked. For this, the helper function
-- <CODE
--CLASS="FUNCTION"
-->_x_post_rewire()</CODE
--> should be used in prominent locations
-- where it is safe to be suspended. Candidates for such locations are at the
-- beginning of the port's <CODE
--CLASS="FUNCTION"
-->open()</CODE
--> and
-- <CODE
--CLASS="FUNCTION"
-->get_frame()</CODE
-->/<CODE
--CLASS="FUNCTION"
-->get_buffer()</CODE
--> functions.
-- The default pass through implementations for intercepted ports already do this.
-- </P
--><P
--> The port tickets are revoked, whenever a rewiring takes place or the engine
-- switches into pause mode. The tickets are reissued, when the rewiring is finished
-- or the engine switches from pause mode into playback. Some post plugins might
-- contain critical parts, where they must not be interrupted by a rewire or pause.
-- These sections can be enclosed in <CODE
--CLASS="FUNCTION"
-->_x_post_lock()</CODE
--> and
-- <CODE
--CLASS="FUNCTION"
-->_x_post_unlock()</CODE
-->, which will simply acquire and release an
-- irrevocable ticket for you. As long as you hold such a ticket, it is guaranteed
-- that you will never be interrupted by a pause or rewire.
-- </P
--></DIV
--></DIV
--></DIV
--><DIV
--CLASS="SECT1"
--><HR><H2
--CLASS="SECT1"
--><A
--NAME="AEN1090"
-->Video output</A
--></H2
--><P
--> In order to allow for device-dependant acceleration features, xine
-- calls upon the video output plugin for more than just displaying
-- images. The tasks performed by the video plugins are:
-- <P
--></P
--><UL
--><LI
--><P
--> Allocation of <SPAN
--CLASS="TYPE"
-->vo_frame_t</SPAN
--> structures and their
-- subsequent destruction.
-- </P
--></LI
--><LI
--><P
--> Allocation of memory for use by one frame (this is to allow
-- for the ability of some video output plugins to map frames directly
-- into video-card memory hence removing the need for the frame to
-- be copied across the PCI/AGP bus at display time).
-- </P
--></LI
--><LI
--><P
--> Most important, the ability to render/copy a given
-- frame to the output device.
-- </P
--></LI
--><LI
--><P
--> Optionally the copying of the frame from a file dependant
-- colour-space and depth into the frame structure. This is to allow for
-- on-the fly colour-space conversion and scaling if required (e.g. the XShm
-- ouput plugin uses this mechanism).
-- </P
--></LI
--></UL
-->
-- </P
--><P
--> Although these extra responsibilities add great complexity to your
-- plugin it should be noted that they allow plugins to take full advantage
-- of any special hardware-acceleration without sacrificing flexibility.
-- </P
--><DIV
--CLASS="SECT2"
--><HR><H3
--CLASS="SECT2"
--><A
--NAME="AEN1104"
-->Writing a xine video out plugin</A
--></H3
--><P
--> The video out plugin API is declared in <TT
--CLASS="FILENAME"
-->src/xine-engine/video_out.h</TT
-->
-- The plugin info of video out plugins contains the visual type, priority,
-- and the init_class function of the plugin.
-- </P
--><P
--> The <CODE
--CLASS="VARNAME"
-->visual_type</CODE
--> field is used by xine to
-- determine if the GUI used by the client is supported by the plugin
-- (e.g. X11 output plugins require the GUI to be running under the
-- X Windowing system) and also to determine the type of information passed to the
-- <CODE
--CLASS="FUNCTION"
-->open_plugin()</CODE
--> function as its <CODE
--CLASS="VARNAME"
-->visual</CODE
--> parameter.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_description(video_driver_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a plaintext, one-line string describing the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> char *get_identifier(video_driver_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function returns a shorter identifier describing the plugin.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void dispose(video_driver_class_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function frees the memory used by the video out plugin class object.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> vo_driver_t *get_instance(video_driver_class_t *class_gen, const void *visual);</PRE
--></TD
--></TR
--></TABLE
-->
-- Returns an instance of the plugin.
-- The <CODE
--CLASS="VARNAME"
-->visual</CODE
--> is a pointer to a visual-dependant
-- structure/variable. For example, if you had previously claimed your
-- plugin was of the VISUAL_TYPE_X11 type, this would be a pointer
-- to a <SPAN
--CLASS="TYPE"
-->x11_visual_t</SPAN
-->, which amongst other things hold the
-- <SPAN
--CLASS="TYPE"
-->Display</SPAN
--> variable associated with the
-- X-server xine should display to. See plugin source-code for other
-- VISUAL_TYPE_* constants and associated structures. Note that this
-- field is provided by the client application and so if you wish to add another visual
-- type you will either need to extend an existing client or write a new
-- one.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> uint32_t get_capabilities(vo_driver_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
-- Returns a bit mask describing the output plugin's capabilities.
-- You may logically OR the <CODE
--CLASS="VARNAME"
-->VO_CAP_*</CODE
--> constants together to get
-- a suitable bit-mask (via the '|' operator).
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int get_property(vo_driver_t *self, int property);
-- int set_property(vo_driver_t *self, int property, int value);
-- void get_property_min_max(vo_driver_t *self, int property, int *min, int *max);</PRE
--></TD
--></TR
--></TABLE
-->
-- Handle the getting, setting of properties and define their bounds.
-- Valid property IDs can be found in the <TT
--CLASS="FILENAME"
-->video_out.h</TT
-->
-- header file.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int gui_data_exchange(vo_driver_t *self, int data_type, void *data);</PRE
--></TD
--></TR
--></TABLE
-->
-- Accepts various forms of data from the UI (e.g. the mouse has moved or the
-- window has been hidden). Look at existing plugins for examples of data
-- exchanges from various UIs.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> vo_frame_t *alloc_frame(vo_driver_t *self);</PRE
--></TD
--></TR
--></TABLE
-->
-- Returns a pointer to a xine video frame.
-- Typically the video plugin will add private fields to the end of the
-- <SPAN
--CLASS="TYPE"
-->vo_frame_t</SPAN
--> structure which are used for internal purposes by the plugin.
-- </P
--><P
--> The function pointers within the frame structure provide a mechanism for the
-- driver to retain full control of how the frames are managed and rendered to. If
-- the VO_CAP_COPIES_IMAGE flag was set in the plugins capabilities then the
-- copy field is required and will be called sequentially for each 16-pixel high
-- strip in the image. The plugin may then decide, based on the frame's format, how
-- this is copied into the frame.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void update_frame_format(vo_driver_t *self, vo_frame_t *img, uint32_t width, uint32_t height, double ratio, int format, int flags);</PRE
--></TD
--></TR
--></TABLE
-->
-- This function will be called each time the colour-depth/space or size of a frame changes.
-- Typically this function would allocate sufficient memory for the frame, assign the pointers
-- to the individual planes of the frame to the <CODE
--CLASS="VARNAME"
-->base</CODE
--> field of the
-- frame and perform any driver-specific changes.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void display_frame(vo_driver_t *self, vo_frame_t *vo_img);</PRE
--></TD
--></TR
--></TABLE
-->
-- Renders a given frame to the output device.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void overlay_begin(vo_driver_t *self, vo_frame_t *vo_img, int changed);
-- void overlay_blend(vo_driver_t *self, vo_frame_t *vo_img, vo_overlay_t *overlay);
-- void overlay_end(vo_driver_t *self, vo_frame_t *vo_img);</PRE
--></TD
--></TR
--></TABLE
-->
-- These are used to blend overlays on frames. <CODE
--CLASS="FUNCTION"
-->overlay_begin()</CODE
--> is called,
-- when the overlay appears for the first time, <CODE
--CLASS="FUNCTION"
-->overlay_blend()</CODE
--> is then
-- called for every subsequent frame and <CODE
--CLASS="FUNCTION"
-->overlay_end()</CODE
--> is called, when
-- the overlay should disappear again.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> int redraw_needed(vo_driver_t *self);</PRE
--></TD
--></TR
--></TABLE
-->
-- Queries the driver, if the current frame needs to be drawn again.
-- </P
--><P
--> <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
--> void dispose(vo_driver_t *self);</PRE
--></TD
--></TR
--></TABLE
-->
-- Releases all resources and frees the plugin.
-- </P
--></DIV
--></DIV
--></DIV
--></DIV
--></BODY
--></HTML
-->
-\ No newline at end of file
-diff -urNad xine-lib-vdr-1.1.2~/m4/Makefile.am xine-lib-vdr-1.1.2/m4/Makefile.am
---- xine-lib-vdr-1.1.2~/m4/Makefile.am 2006-07-09 16:36:57.000000000 +0200
-+++ xine-lib-vdr-1.1.2/m4/Makefile.am 2006-10-22 12:29:31.000000000 +0200
-@@ -13,7 +13,6 @@
- alsa.m4 \
- arts.m4 \
- as.m4 \
-- caca.m4 \
- codeset.m4 \
- directx.m4 \
- dl.m4 \
-diff -urNad xine-lib-vdr-1.1.2~/m4/caca.m4 xine-lib-vdr-1.1.2/m4/caca.m4
---- xine-lib-vdr-1.1.2~/m4/caca.m4 2006-07-09 16:36:59.000000000 +0200
-+++ xine-lib-vdr-1.1.2/m4/caca.m4 1970-01-01 01:00:00.000000000 +0100
-@@ -1,168 +0,0 @@
--dnl Configure paths and dependencies for libcaca.
--dnl
--dnl Jeffrey S Smith <whydoubt at yahoo.com> 09-Dec-2003
--dnl based on aa.m4 as found in xinelib
--dnl
--dnl AM_PATH_CACA([MINIMUM-VERSION, [ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND ]]])
--dnl Test for CACA, and define CACA_CFLAGS, CACA_LIBS.
--dnl
--dnl ***********************
--dnl 09-Dec-2003
--dnl * new m4 for libcaca
--dnl
--AC_DEFUN([AM_PATH_CACA],
--[dnl
--dnl
--AC_ARG_WITH(caca-prefix,
-- AC_HELP_STRING([--with-caca-prefix=DIR], [prefix where CACA is installed (optional)]),
-- caca_config_prefix="$withval", caca_config_prefix="")
--AC_ARG_WITH(caca-exec-prefix,
-- AC_HELP_STRING([--with-caca-exec-prefix=DIR], [exec prefix where CACA is installed (optional)]),
-- caca_config_exec_prefix="$withval", caca_config_exec_prefix="")
--AC_ARG_ENABLE(cacatest,
-- AC_HELP_STRING([--disable-cacatest], [do not try to compile and run a test CACA program]),
-- enable_cacatest=$enableval, enable_cacatest=yes)
--
-- if test x$caca_config_exec_prefix != x ; then
-- caca_config_args="$caca_config_args --exec-prefix=$caca_config_exec_prefix"
-- if test x${CACA_CONFIG+set} != xset ; then
-- CACA_CONFIG=$caca_config_exec_prefix/bin/caca-config
-- fi
-- fi
-- if test x$caca_config_prefix != x ; then
-- caca_config_args="$caca_config_args --prefix=$caca_config_prefix"
-- if test x${CACA_CONFIG+set} != xset ; then
-- CACA_CONFIG=$caca_config_prefix/bin/caca-config
-- fi
-- fi
--
-- min_caca_version=ifelse([$1], ,0.3,$1)
--
-- if test x"$enable_cacatest" != "xyes"; then
-- AC_MSG_CHECKING([for CACA version >= $min_caca_version])
-- else
-- if test ! -x "$CACA_CONFIG"; then
-- CACA_CONFIG=""
-- fi
-- AC_PATH_TOOL(CACA_CONFIG, caca-config, no)
--
-- if test "$CACA_CONFIG" = "no" ; then
--dnl
--dnl caca-config is missing
--dnl
-- no_caca=yes
-- else
-- AC_MSG_CHECKING([for CACA version >= $min_caca_version])
-- no_caca=""
-- CACA_CFLAGS=`$CACA_CONFIG $caca_config_args --cflags`
-- CACA_LIBS=`$CACA_CONFIG $caca_config_args --plugin-libs`
-- caca_major_version=`$CACA_CONFIG $caca_config_args --version | \
-- sed 's/\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-- caca_minor_version=`$CACA_CONFIG $caca_config_args --version | \
-- sed 's/\([[0-9]]*\).\([[0-9]]*\)/\2/'`
--
-- ac_save_CFLAGS="$CFLAGS"
-- ac_save_LIBS="$LIBS"
-- CFLAGS="$CFLAGS $CACA_CFLAGS"
-- LIBS="$CACA_LIBS $LIBS"
--dnl
--dnl Now check if the installed CACA is sufficiently new. (Also sanity
--dnl checks the results of caca-config to some extent)
--dnl
-- AC_LANG_SAVE()
-- AC_LANG_C()
-- rm -f conf.cacatest
-- AC_TRY_RUN([
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <caca.h>
--
--int main ()
--{
-- int major, minor;
-- char *tmp_version;
--
-- system("touch conf.cacatest");
--
-- tmp_version = (char *) strdup("$min_caca_version");
-- if (sscanf(tmp_version, "%d.%d", &major, &minor) != 2) {
-- printf("%s, bad version string\n", "$min_caca_version");
-- exit(1);
-- }
--
-- if (($caca_major_version > major) ||
-- (($caca_major_version == major) && ($caca_minor_version >= minor)))
-- {
-- return 0;
-- }
-- else
-- {
-- printf("\n*** 'caca-config --version' returned %d.%d, but the minimum version\n", $caca_major_version, $caca_minor_version);
-- printf("*** of CACA required is %d.%d. If caca-config is correct, then it is\n", major, minor);
-- printf("*** best to upgrade to the required version.\n");
-- printf("*** If caca-config was wrong, set the environment variable CACA_CONFIG\n");
-- printf("*** to point to the correct copy of caca-config, and remove the file\n");
-- printf("*** config.cache before re-running configure\n");
-- return 1;
-- }
--}
--
--],, no_caca=yes,
-- AC_TRY_LINK([
--#include <stdio.h>
--#include <caca.h>
--], [ return 0; ],, no_caca=yes))
--
-- CFLAGS="$ac_save_CFLAGS"
-- LIBS="$ac_save_LIBS"
-- fi
-- fi dnl CACA_CONFIG
--
-- if test "x$no_caca" = x; then
-- AC_MSG_RESULT(yes)
-- ifelse([$2], , :, [$2])
-- else
-- AC_MSG_RESULT(no)
-- if test "$CACA_CONFIG" = "no"; then
-- echo "*** The caca-config program installed by CACA could not be found"
-- echo "*** If CACA was installed in PREFIX, make sure PREFIX/bin is in"
-- echo "*** your path, or use --with-caca-prefix to set the prefix"
-- echo "*** where CACA is installed."
-- else
-- if test -f conf.cacatest ; then
-- :
-- else
-- echo "*** Could not run CACA test program, checking why..."
-- CFLAGS="$CFLAGS $CACA_CFLAGS"
-- LIBS="$LIBS $CACA_LIBS"
-- AC_TRY_LINK([
--#include <stdio.h>
--#include <caca.h>
--], [ return 0; ],
-- [ echo "*** The test program compiled, but did not run. This usually means"
-- echo "*** that the run-time linker is not finding CACA or finding the wrong"
-- echo "*** version of CACA. If it is not finding CACA, you'll need to set your"
-- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
-- echo "*** to the installed location Also, make sure you have run ldconfig if that"
-- echo "*** is required on your system"
-- echo "***"
-- echo "*** If you have an old version installed, it is best to remove it, although"
-- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
-- echo "***"],
-- [ echo "*** The test program failed to compile or link. See the file config.log for the"
-- echo "*** exact error that occured. This usually means CACA was incorrectly installed"
-- echo "*** or that you have moved CACA since it was installed." ])
-- CFLAGS="$ac_save_CFLAGS"
-- LIBS="$ac_save_LIBS"
-- fi
-- fi
-- CACA_CFLAGS=""
-- CACA_LIBS=""
-- ifelse([$3], , :, [$3])
-- fi
-- AC_SUBST(CACA_CFLAGS)
-- AC_SUBST(CACA_LIBS)
-- AC_LANG_RESTORE()
-- rm -f conf.cacatest
--])
-diff -urNad xine-lib-vdr-1.1.2~/src/demuxers/demux_asf.c xine-lib-vdr-1.1.2/src/demuxers/demux_asf.c
---- xine-lib-vdr-1.1.2~/src/demuxers/demux_asf.c 2006-07-09 16:37:15.000000000 +0200
-+++ xine-lib-vdr-1.1.2/src/demuxers/demux_asf.c 2006-10-22 12:29:31.000000000 +0200
-@@ -17,7 +17,7 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
-- * $Id: demux_asf.c,v 1.178 2006/06/20 01:49:20 dgp85 Exp $
-+ * $Id: demux_asf.c,v 1.180 2006/08/08 03:34:15 miguelfreitas Exp $
- *
- * demultiplexer for asf streams
- *
-@@ -2295,7 +2295,7 @@
-
- return "video/x-ms-asf: asf: ASF stream;"
- "video/x-ms-wmv: wmv: Windows Media Video;"
-- "video/x-ms-wma: wma: Windows Media Audio;"
-+ "audio/x-ms-wma: wma: Windows Media Audio;"
- "application/vnd.ms-asf: asf: ASF stream;"
- "application/x-mplayer2: asf,asx,asp: mplayer2;"
- "video/x-ms-asf-plugin: asf,asx,asp: mms animation;"
-diff -urNad xine-lib-vdr-1.1.2~/src/demuxers/demux_rawdv.c xine-lib-vdr-1.1.2/src/demuxers/demux_rawdv.c
---- xine-lib-vdr-1.1.2~/src/demuxers/demux_rawdv.c 2006-06-03 00:18:56.000000000 +0200
-+++ xine-lib-vdr-1.1.2/src/demuxers/demux_rawdv.c 2006-10-22 12:29:31.000000000 +0200
-@@ -19,7 +19,7 @@
- */
-
- /*
-- * $Id: demux_rawdv.c,v 1.27 2006/06/02 22:18:56 dsalt Exp $
-+ * $Id: demux_rawdv.c,v 1.29 2006/08/08 03:15:02 miguelfreitas Exp $
- *
- * demultiplexer for raw dv streams
- */
-@@ -202,6 +202,12 @@
- _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_BITRATE,
- PAL_FRAME_SIZE * PAL_FRAME_RATE * 8);
- }
-+
-+ _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_WIDTH,
-+ bih->biWidth);
-+ _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_HEIGHT,
-+ bih->biHeight);
-+
- bih->biSize = sizeof(xine_bmiheader);
- bih->biPlanes = 1;
- bih->biBitCount = 24;
-@@ -312,6 +318,7 @@
-
- _x_demux_control_newpts (this->stream, this->pts, BUF_FLAG_SEEK);
-
-+ this->status = DEMUX_OK;
- return this->status;
- }
-
-@@ -322,7 +329,10 @@
- }
-
- static int demux_raw_dv_get_stream_length(demux_plugin_t *this_gen) {
-- return 0 ; /*FIXME: implement */
-+ demux_raw_dv_t *this = (demux_raw_dv_t *) this_gen;
-+
-+ return (int)((int64_t) this->duration * this->input->get_length (this->input) /
-+ (this->frame_size * 90));
- }
-
- static uint32_t demux_raw_dv_get_capabilities(demux_plugin_t *this_gen) {
-diff -urNad xine-lib-vdr-1.1.2~/src/libflac/decoder_flac.c xine-lib-vdr-1.1.2/src/libflac/decoder_flac.c
---- xine-lib-vdr-1.1.2~/src/libflac/decoder_flac.c 2006-07-09 16:39:11.000000000 +0200
-+++ xine-lib-vdr-1.1.2/src/libflac/decoder_flac.c 2006-10-22 12:29:31.000000000 +0200
-@@ -355,7 +355,10 @@
-
- FLAC__stream_decoder_set_client_data (this->flac_decoder, this);
-
-- FLAC__stream_decoder_init (this->flac_decoder);
-+ if (FLAC__stream_decoder_init (this->flac_decoder) == FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) {
-+ free (this);
-+ return NULL;
-+ }
-
- return (audio_decoder_t *) this;
- }
-diff -urNad xine-lib-vdr-1.1.2~/src/libxinevdec/gdkpixbuf.c xine-lib-vdr-1.1.2/src/libxinevdec/gdkpixbuf.c
---- xine-lib-vdr-1.1.2~/src/libxinevdec/gdkpixbuf.c 2006-06-03 00:18:58.000000000 +0200
-+++ xine-lib-vdr-1.1.2/src/libxinevdec/gdkpixbuf.c 2006-10-22 12:29:31.000000000 +0200
-@@ -17,7 +17,7 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
-- * $Id: gdkpixbuf.c,v 1.5 2006/06/02 22:18:58 dsalt Exp $
-+ * $Id: gdkpixbuf.c,v 1.7 2006/08/05 13:31:13 hadess Exp $
- *
- * a gdk-pixbuf-based image video decoder
- */
-@@ -299,8 +299,7 @@
- * exported plugin catalog entry
- */
-
--static uint32_t supported_types[] = { BUF_VIDEO_IMAGE,
-- 0 };
-+static uint32_t supported_types[] = { BUF_VIDEO_IMAGE, BUF_VIDEO_JPEG, 0 };
-
- static const decoder_info_t dec_info_image = {
- supported_types, /* supported types */
-diff -urNad xine-lib-vdr-1.1.2~/src/video_out/video_out_caca.c xine-lib-vdr-1.1.2/src/video_out/video_out_caca.c
---- xine-lib-vdr-1.1.2~/src/video_out/video_out_caca.c 2006-06-03 00:18:58.000000000 +0200
-+++ xine-lib-vdr-1.1.2/src/video_out/video_out_caca.c 2006-10-22 12:29:31.000000000 +0200
-@@ -17,7 +17,7 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
-- * $Id: video_out_caca.c,v 1.7 2006/06/02 22:18:58 dsalt Exp $
-+ * $Id: video_out_caca.c,v 1.9 2006/09/14 00:44:19 dgp85 Exp $
- *
- * video_out_caca.c, Color AsCii Art output plugin for xine
- *
-@@ -37,7 +37,7 @@
- #include <sys/stat.h>
- #include <sys/mman.h>
- #include <sys/time.h>
--
-+#include <cucul.h>
- #include <caca.h>
-
- #include "xine.h"
-@@ -54,7 +54,7 @@
-
- vo_frame_t vo_frame;
-
-- struct caca_bitmap *pixmap_s; /* pixmap info structure */
-+ cucul_dither_t *pixmap_s; /* pixmap info structure */
- uint8_t *pixmap_d; /* pixmap data */
- int width, height;
- uint8_t *mem[3];
-@@ -74,6 +74,9 @@
-
- yuv2rgb_factory_t *yuv2rgb_factory;
-
-+ cucul_canvas_t *cv;
-+ caca_display_t *dp;
-+
- } caca_driver_t;
-
- typedef struct {
-@@ -104,7 +107,7 @@
- if (frame->pixmap_d)
- free (frame->pixmap_d);
- if (frame->pixmap_s)
-- caca_free_bitmap (frame->pixmap_s);
-+ cucul_free_dither (frame->pixmap_s);
-
- frame->yuv2rgb->dispose (frame->yuv2rgb);
-
-@@ -166,7 +169,7 @@
- frame->pixmap_d = NULL;
- }
- if (frame->pixmap_s) {
-- caca_free_bitmap (frame->pixmap_s);
-+ cucul_free_dither (frame->pixmap_s);
- frame->pixmap_s = NULL;
- }
-
-@@ -175,7 +178,7 @@
- frame->format = format;
-
- frame->pixmap_d = (uint8_t *) xine_xmalloc (height * width * 4);
-- frame->pixmap_s = caca_create_bitmap (32, width, height, width * 4,
-+ frame->pixmap_s = cucul_create_dither (32, width, height, width * 4,
- 0xff0000, 0xff00, 0xff, 0);
-
- if (format == XINE_IMGFMT_YV12) {
-@@ -208,7 +211,7 @@
- static void caca_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) {
- /* caca_driver_t *this = (caca_driver_t*) this_gen; */
- caca_frame_t *frame = (caca_frame_t *) frame_gen;
--
-+ caca_driver_t *this = (caca_driver_t*) this_gen;
- if (frame->format == XINE_IMGFMT_YV12) {
- frame->yuv2rgb->yuv2rgb_fun (frame->yuv2rgb, frame->pixmap_d,
- frame->vo_frame.base[0],
-@@ -221,9 +224,9 @@
-
- frame->vo_frame.free (&frame->vo_frame);
-
-- caca_draw_bitmap(0, 0, caca_get_width()-1, caca_get_height()-1,
-+ cucul_dither_bitmap(this->cv, 0, 0, cucul_get_canvas_width(this->cv)-1, cucul_get_canvas_height(this->cv)-1,
- frame->pixmap_s, frame->pixmap_d);
-- caca_refresh ();
-+ caca_refresh_display (this->dp);
- }
-
- static int caca_get_property (vo_driver_t *this_gen, int property) {
-@@ -265,8 +268,9 @@
- static void caca_dispose_driver (vo_driver_t *this_gen) {
- caca_driver_t *this = (caca_driver_t*) this_gen;
- this->yuv2rgb_factory->dispose (this->yuv2rgb_factory);
-+ caca_free_display(this->dp);
-+ cucul_free_canvas(this->cv);
-
-- caca_end();
- }
-
- static int caca_redraw_needed (vo_driver_t *this_gen) {
-@@ -299,9 +303,10 @@
- this->yuv2rgb_factory = yuv2rgb_factory_init(MODE_32_RGB, 0, NULL);
- this->yuv2rgb_factory->set_csc_levels(this->yuv2rgb_factory, 0, 128, 128);
-
-- caca_init();
-- caca_refresh();
-+ this->cv = cucul_create_canvas(0, 0);
-+ this->dp = caca_create_display(this->cv);
-
-+ caca_refresh_display(this->dp);
- return &this->vo_driver;
- }
-
-diff -urNad xine-lib-vdr-1.1.2~/src/xine-engine/load_plugins.c xine-lib-vdr-1.1.2/src/xine-engine/load_plugins.c
---- xine-lib-vdr-1.1.2~/src/xine-engine/load_plugins.c 2006-07-09 16:40:08.000000000 +0200
-+++ xine-lib-vdr-1.1.2/src/xine-engine/load_plugins.c 2006-10-22 12:29:31.000000000 +0200
-@@ -17,7 +17,7 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
-- * $Id: load_plugins.c,v 1.222 2006/06/20 00:35:08 dgp85 Exp $
-+ * $Id: load_plugins.c,v 1.223 2006/07/21 03:31:42 dgp85 Exp $
- *
- *
- * Load input/demux/audio_out/video_out/codec plugins
-@@ -402,7 +402,7 @@
-
- if (demux_old) {
- entry->priority = demux_new->priority = demux_old->priority;
-- lprintf("demux: %s, priority: %d\n", info->id, priority);
-+ lprintf("demux: %s, priority: %d\n", info->id, entry->priority);
- } else {
- xprintf(this, XINE_VERBOSITY_LOG,
- _("load_plugins: demuxer plugin %s does not provide a priority,"
-@@ -419,7 +419,7 @@
-
- if (input_old) {
- entry->priority = input_new->priority = input_old->priority;
-- lprintf("input: %s, priority: %d\n", info->id, priority);
-+ lprintf("input: %s, priority: %d\n", info->id, entry->priority);
- } else {
- xprintf(this, XINE_VERBOSITY_LOG,
- _("load_plugins: input plugin %s does not provide a priority,"
-diff -urNad xine-lib-vdr-1.1.2~/src/xine-utils/utils.c xine-lib-vdr-1.1.2/src/xine-utils/utils.c
---- xine-lib-vdr-1.1.2~/src/xine-utils/utils.c 2006-06-23 20:24:22.000000000 +0200
-+++ xine-lib-vdr-1.1.2/src/xine-utils/utils.c 2006-10-22 12:29:31.000000000 +0200
-@@ -17,7 +17,7 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
- *
-- * $Id: utils.c,v 1.45 2006/06/23 18:24:22 dsalt Exp $
-+ * $Id: utils.c,v 1.46 2006/07/21 04:47:17 dgp85 Exp $
- *
- */
- #define _POSIX_PTHREAD_SEMANTICS 1 /* for 5-arg getpwuid_r on solaris */
-@@ -532,6 +532,7 @@
- char *codeset = NULL;
-
- #ifdef HAVE_NL_LANGINFO
-+ setlocale(LC_ALL, "");
- codeset = nl_langinfo(CODESET);
- #endif
- /*
Deleted: general/xine-lib-vdr/trunk/debian/patches/99_autoconf.dpatch
===================================================================
--- general/xine-lib-vdr/trunk/debian/patches/99_autoconf.dpatch 2007-01-13 14:06:18 UTC (rev 3856)
+++ general/xine-lib-vdr/trunk/debian/patches/99_autoconf.dpatch 2007-01-13 14:13:14 UTC (rev 3857)
@@ -1,7121 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 99_autoconf.dpatch by Darren Salt
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
- at DPATCH@
-diff -urNad xine-lib-vdr-1.1.2~/Makefile.in xine-lib-vdr-1.1.2/Makefile.in
---- xine-lib-vdr-1.1.2~/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/Makefile.in 2006-09-02 14:34:25.008832830 +0100
-@@ -364,6 +364,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -557,7 +560,7 @@
- .SUFFIXES:
- am--refresh:
- @:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -584,9 +587,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(srcdir) && $(AUTOCONF)
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-
- config.h: stamp-h1
-@@ -598,7 +601,7 @@
- stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status config.h
--$(srcdir)/config.h.in: $(am__configure_deps)
-+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_srcdir) && $(AUTOHEADER)
- rm -f stamp-h1
- touch $@
-diff -urNad xine-lib-vdr-1.1.2~/aclocal.m4 xine-lib-vdr-1.1.2/aclocal.m4
---- xine-lib-vdr-1.1.2~/aclocal.m4 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/aclocal.m4 2006-09-02 14:33:24.603983192 +0100
-@@ -501,6 +501,35 @@
- rmdir .tst 2>/dev/null
- AC_SUBST([am__leading_dot])])
-
-+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-+# From Jim Meyering
-+
-+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
-+# Free Software Foundation, Inc.
-+#
-+# This file is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# serial 4
-+
-+AC_DEFUN([AM_MAINTAINER_MODE],
-+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
-+ dnl maintainer-mode is disabled by default
-+ AC_ARG_ENABLE(maintainer-mode,
-+[ --enable-maintainer-mode enable make rules and dependencies not useful
-+ (and sometimes confusing) to the casual installer],
-+ USE_MAINTAINER_MODE=$enableval,
-+ USE_MAINTAINER_MODE=no)
-+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
-+ AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
-+ MAINT=$MAINTAINER_MODE_TRUE
-+ AC_SUBST(MAINT)dnl
-+]
-+)
-+
-+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-+
- # Check to see how 'make' treats includes. -*- Autoconf -*-
-
- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-diff -urNad xine-lib-vdr-1.1.2~/config.h.in xine-lib-vdr-1.1.2/config.h.in
---- xine-lib-vdr-1.1.2~/config.h.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/config.h.in 2006-09-02 14:32:51.559518398 +0100
-@@ -1,13 +1,5 @@
- /* config.h.in. Generated from configure.ac by autoheader. */
-
--
--#ifdef inline
--/* the strange formatting below is needed to prevent config.status from rewriting it */
--# undef \
-- inline
--#endif
--
--
- /* Define this if you're running PowerPC architecture */
- #undef ARCH_PPC
-
-@@ -507,13 +499,13 @@
- /* Define to the version of this package. */
- #undef PACKAGE_VERSION
-
--/* The size of a `int', as computed by sizeof. */
-+/* The size of `int', as computed by sizeof. */
- #undef SIZEOF_INT
-
--/* The size of a `long', as computed by sizeof. */
-+/* The size of `long', as computed by sizeof. */
- #undef SIZEOF_LONG
-
--/* The size of a `long long', as computed by sizeof. */
-+/* The size of `long long', as computed by sizeof. */
- #undef SIZEOF_LONG_LONG
-
- /* Define to 1 if you have the ANSI C header files. */
-@@ -580,9 +572,6 @@
- /* Define for large files, on AIX-style hosts. */
- #undef _LARGE_FILES
-
--/* Define if the compiler doesn't recognise __inline__ */
--#undef __inline__
--
- /* Define to empty if `const' does not conform to ANSI C. */
- #undef const
-
-@@ -592,10 +581,10 @@
- #undef inline
- #endif
-
--/* Define to `long' if <sys/types.h> does not define. */
-+/* Define to `long int' if <sys/types.h> does not define. */
- #undef off_t
-
--/* Define to `unsigned' if <sys/types.h> does not define. */
-+/* Define to `unsigned int' if <sys/types.h> does not define. */
- #undef size_t
-
- /* Define the real type of socklen_t */
-diff -urNad xine-lib-vdr-1.1.2~/configure xine-lib-vdr-1.1.2/configure
---- xine-lib-vdr-1.1.2~/configure 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/configure 2006-09-02 14:34:26.884859217 +0100
-@@ -1,6 +1,6 @@
- #! /bin/sh
- # Guess values for system-dependent variables and create Makefiles.
--# Generated by GNU Autoconf 2.59e.
-+# Generated by GNU Autoconf 2.60.
- #
- # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
- # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-@@ -230,8 +230,8 @@
-
-
- for as_shell in $as_candidate_shells $SHELL; do
-- # Try only shells which exist, to save several forks.
-- if test -f "$as_shell" &&
-+ # Try only shells that exist, to save several forks.
-+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { ("$as_shell") 2> /dev/null <<\_ASEOF
- # Be Bourne compatible
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-@@ -790,6 +790,9 @@
- build_alias
- host_alias
- target_alias
-+MAINTAINER_MODE_TRUE
-+MAINTAINER_MODE_FALSE
-+MAINT
- XINE_MAJOR
- XINE_MINOR
- XINE_SUB
-@@ -1783,6 +1786,8 @@
- Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
-+ --enable-maintainer-mode enable make rules and dependencies not useful
-+ (and sometimes confusing) to the casual installer
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-static[=PKGS] build static libraries [default=no]
-@@ -2012,7 +2017,7 @@
- if $ac_init_version; then
- cat <<\_ACEOF
- configure
--generated by GNU Autoconf 2.59e
-+generated by GNU Autoconf 2.60
-
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-@@ -2026,7 +2031,7 @@
- running configure, to aid debugging if configure makes a mistake.
-
- It was created by $as_me, which was
--generated by GNU Autoconf 2.59e. Invocation command line was
-+generated by GNU Autoconf 2.60. Invocation command line was
-
- $ $0 $@
-
-@@ -2373,6 +2378,56 @@
-
-
-
-+{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
-+ # Check whether --enable-maintainer-mode was given.
-+if test "${enable_maintainer_mode+set}" = set; then
-+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-+else
-+ USE_MAINTAINER_MODE=no
-+fi
-+
-+ { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
-+
-+
-+if test $USE_MAINTAINER_MODE = yes; then
-+ MAINTAINER_MODE_TRUE=
-+ MAINTAINER_MODE_FALSE='#'
-+else
-+ MAINTAINER_MODE_TRUE='#'
-+ MAINTAINER_MODE_FALSE=
-+fi
-+
-+ MAINT=$MAINTAINER_MODE_TRUE
-+
-+
-+
-+{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
-+ # Check whether --enable-maintainer-mode was given.
-+if test "${enable_maintainer_mode+set}" = set; then
-+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-+else
-+ USE_MAINTAINER_MODE=no
-+fi
-+
-+ { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
-+
-+
-+if test $USE_MAINTAINER_MODE = yes; then
-+ MAINTAINER_MODE_TRUE=
-+ MAINTAINER_MODE_FALSE='#'
-+else
-+ MAINTAINER_MODE_TRUE='#'
-+ MAINTAINER_MODE_FALSE=
-+fi
-+
-+ MAINT=$MAINTAINER_MODE_TRUE
-+
-+
-+
-
-
- XINE_MAJOR=1
-@@ -2824,7 +2879,7 @@
-
- { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
- echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
--set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/^a-zA-Z0-9_/_/g'`
-+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
- if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -3760,7 +3815,7 @@
- ac_compiler_gnu=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
- fi
-@@ -3946,13 +4001,13 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-@@ -4017,6 +4072,11 @@
- that's true only with -std. */
- int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-+ inside strings and character constants. */
-+#define FOO(x) 'x'
-+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-+
- int test (int i, double x);
- struct s1 {int (*f) (int a);};
- struct s2 {int (*f) (double a);};
-@@ -4077,7 +4137,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext
-+rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
- done
- rm -f conftest.$ac_ext
-@@ -4292,7 +4352,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if test "${ac_cv_search_strerror+set}" = set; then
- break
-@@ -5015,7 +5075,7 @@
- ac_compiler_gnu=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
- fi
-@@ -5201,13 +5261,13 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-@@ -5272,6 +5332,11 @@
- that's true only with -std. */
- int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-+ inside strings and character constants. */
-+#define FOO(x) 'x'
-+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-+
- int test (int i, double x);
- struct s1 {int (*f) (int a);};
- struct s2 {int (*f) (double a);};
-@@ -5332,7 +5397,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext
-+rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
- done
- rm -f conftest.$ac_ext
-@@ -5794,7 +5859,7 @@
- ac_cv_header_stdc=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-@@ -5921,7 +5986,7 @@
-
- { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
- echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
--set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/^a-zA-Z0-9_/_/g'`
-+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
- if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-@@ -6144,7 +6209,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- test "$ac_cv_c_inline" != no && break
- done
-
-@@ -6718,7 +6783,7 @@
- ;;
- *-*-irix6*)
- # Find out which ABI we are using.
-- echo '#line 6721 "configure"' > conftest.$ac_ext
-+ echo '#line 6786 "configure"' > conftest.$ac_ext
- if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
-@@ -6871,7 +6936,7 @@
- lt_cv_cc_needs_belf=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
-@@ -7254,7 +7319,7 @@
- eval "$as_ac_Header=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-@@ -7337,7 +7402,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -7647,7 +7712,7 @@
- ac_compiler_gnu=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
- fi
-@@ -7833,13 +7898,13 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cxx_werror_flag=$ac_save_cxx_werror_flag
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-@@ -8439,7 +8504,7 @@
- ac_compiler_gnu=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_cv_f77_compiler_gnu=$ac_compiler_gnu
-
- fi
-@@ -8502,7 +8567,7 @@
- ac_cv_prog_f77_g=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-@@ -9536,11 +9601,11 @@
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
-- (eval echo "\"\$as_me:9539: $lt_compile\"" >&5)
-+ (eval echo "\"\$as_me:9604: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
-- echo "$as_me:9543: \$? = $ac_status" >&5
-+ echo "$as_me:9608: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
-@@ -9798,11 +9863,11 @@
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
-- (eval echo "\"\$as_me:9801: $lt_compile\"" >&5)
-+ (eval echo "\"\$as_me:9866: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
-- echo "$as_me:9805: \$? = $ac_status" >&5
-+ echo "$as_me:9870: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
-@@ -9860,11 +9925,11 @@
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
-- (eval echo "\"\$as_me:9863: $lt_compile\"" >&5)
-+ (eval echo "\"\$as_me:9928: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
-- echo "$as_me:9867: \$? = $ac_status" >&5
-+ echo "$as_me:9932: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
-@@ -10326,7 +10391,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-@@ -10401,7 +10466,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-@@ -11621,7 +11686,7 @@
- ac_cv_lib_dl_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -11732,7 +11797,7 @@
- ac_cv_func_shl_load=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-@@ -11811,7 +11876,7 @@
- ac_cv_lib_dld_shl_load=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -11912,7 +11977,7 @@
- ac_cv_func_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-@@ -11991,7 +12056,7 @@
- ac_cv_lib_dl_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -12071,7 +12136,7 @@
- ac_cv_lib_svld_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -12151,7 +12216,7 @@
- ac_cv_lib_dld_dld_link=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -12207,7 +12272,7 @@
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
--#line 12210 "configure"
-+#line 12275 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -12305,7 +12370,7 @@
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
--#line 12308 "configure"
-+#line 12373 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -13412,7 +13477,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-@@ -13488,7 +13553,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-@@ -14585,11 +14650,11 @@
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
-- (eval echo "\"\$as_me:14588: $lt_compile\"" >&5)
-+ (eval echo "\"\$as_me:14653: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
-- echo "$as_me:14592: \$? = $ac_status" >&5
-+ echo "$as_me:14657: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
-@@ -14647,11 +14712,11 @@
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
-- (eval echo "\"\$as_me:14650: $lt_compile\"" >&5)
-+ (eval echo "\"\$as_me:14715: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
-- echo "$as_me:14654: \$? = $ac_status" >&5
-+ echo "$as_me:14719: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
-@@ -15509,7 +15574,7 @@
- ac_cv_lib_dl_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -15620,7 +15685,7 @@
- ac_cv_func_shl_load=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-@@ -15699,7 +15764,7 @@
- ac_cv_lib_dld_shl_load=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -15800,7 +15865,7 @@
- ac_cv_func_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-@@ -15879,7 +15944,7 @@
- ac_cv_lib_dl_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -15959,7 +16024,7 @@
- ac_cv_lib_svld_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -16039,7 +16104,7 @@
- ac_cv_lib_dld_dld_link=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -16095,7 +16160,7 @@
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
--#line 16098 "configure"
-+#line 16163 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -16193,7 +16258,7 @@
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
--#line 16196 "configure"
-+#line 16261 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -17078,11 +17143,11 @@
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
-- (eval echo "\"\$as_me:17081: $lt_compile\"" >&5)
-+ (eval echo "\"\$as_me:17146: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
-- echo "$as_me:17085: \$? = $ac_status" >&5
-+ echo "$as_me:17150: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
-@@ -17140,11 +17205,11 @@
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
-- (eval echo "\"\$as_me:17143: $lt_compile\"" >&5)
-+ (eval echo "\"\$as_me:17208: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
-- echo "$as_me:17147: \$? = $ac_status" >&5
-+ echo "$as_me:17212: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
-@@ -17596,7 +17661,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-@@ -17661,7 +17726,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-@@ -19293,11 +19358,11 @@
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
-- (eval echo "\"\$as_me:19296: $lt_compile\"" >&5)
-+ (eval echo "\"\$as_me:19361: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
-- echo "$as_me:19300: \$? = $ac_status" >&5
-+ echo "$as_me:19365: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
-@@ -19555,11 +19620,11 @@
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
-- (eval echo "\"\$as_me:19558: $lt_compile\"" >&5)
-+ (eval echo "\"\$as_me:19623: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&5
-- echo "$as_me:19562: \$? = $ac_status" >&5
-+ echo "$as_me:19627: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
-@@ -19617,11 +19682,11 @@
- -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
- -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
-- (eval echo "\"\$as_me:19620: $lt_compile\"" >&5)
-+ (eval echo "\"\$as_me:19685: $lt_compile\"" >&5)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&5
-- echo "$as_me:19624: \$? = $ac_status" >&5
-+ echo "$as_me:19689: \$? = $ac_status" >&5
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
-@@ -20083,7 +20148,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-@@ -20158,7 +20223,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-@@ -21378,7 +21443,7 @@
- ac_cv_lib_dl_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -21489,7 +21554,7 @@
- ac_cv_func_shl_load=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-@@ -21568,7 +21633,7 @@
- ac_cv_lib_dld_shl_load=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -21669,7 +21734,7 @@
- ac_cv_func_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-@@ -21748,7 +21813,7 @@
- ac_cv_lib_dl_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -21828,7 +21893,7 @@
- ac_cv_lib_svld_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -21908,7 +21973,7 @@
- ac_cv_lib_dld_dld_link=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -21964,7 +22029,7 @@
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
--#line 21967 "configure"
-+#line 22032 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -22062,7 +22127,7 @@
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<EOF
--#line 22065 "configure"
-+#line 22130 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -23859,7 +23924,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
-@@ -23925,7 +23990,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$am_save_LIBS"
- fi
-@@ -24029,7 +24094,7 @@
- am_cv_proto_iconv_arg1="const"
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
- fi
-
-@@ -24439,7 +24504,7 @@
- gt_cv_func_CFPreferencesCopyAppValue=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"
-@@ -24519,7 +24584,7 @@
- gt_cv_func_CFLocaleCopyCurrent=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"
-@@ -24633,7 +24698,7 @@
- gt_cv_func_gnugettext1_libc=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5
-@@ -24738,7 +24803,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
-@@ -24804,7 +24869,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$am_save_LIBS"
- fi
-@@ -25284,7 +25349,7 @@
- gt_cv_func_gnugettext1_libintl=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
-@@ -25355,7 +25420,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
-@@ -25599,7 +25664,7 @@
- eval "$as_ac_var=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- ac_res=`eval echo '${'$as_ac_var'}'`
-@@ -25738,7 +25803,7 @@
- ac_cv_c_bigendian=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- else
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-@@ -25819,7 +25884,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
-@@ -25880,7 +25945,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
- echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
-@@ -26012,7 +26077,7 @@
- ac_cv_c_const=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
- echo "${ECHO_T}$ac_cv_c_const" >&6; }
-@@ -26024,190 +26089,6 @@
-
- fi
-
--{ echo "$as_me:$LINENO: checking for inline" >&5
--echo $ECHO_N "checking for inline... $ECHO_C" >&6; }
--if test "${ac_cv_c_inline+set}" = set; then
-- echo $ECHO_N "(cached) $ECHO_C" >&6
--else
-- ac_cv_c_inline=no
--for ac_kw in inline __inline__ __inline; do
-- cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h. */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h. */
--#ifndef __cplusplus
--typedef int foo_t;
--static $ac_kw foo_t static_foo () {return 0; }
--$ac_kw foo_t foo () {return 0; }
--#endif
--
--_ACEOF
--rm -f conftest.$ac_objext
--if { (ac_try="$ac_compile"
--case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-- (eval "$ac_compile") 2>conftest.er1
-- ac_status=$?
-- grep -v '^ *+' conftest.er1 >conftest.err
-- rm -f conftest.er1
-- cat conftest.err >&5
-- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } &&
-- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-- { (case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-- (eval "$ac_try") 2>&5
-- ac_status=$?
-- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-- (eval "$ac_try") 2>&5
-- ac_status=$?
-- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); }; }; then
-- ac_cv_c_inline=$ac_kw
--else
-- echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--
--fi
--
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-- test "$ac_cv_c_inline" != no && break
--done
--
--fi
--{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
--echo "${ECHO_T}$ac_cv_c_inline" >&6; }
--
--
--case $ac_cv_c_inline in
-- inline | yes) ;;
-- *)
-- case $ac_cv_c_inline in
-- no) ac_val=;;
-- *) ac_val=$ac_cv_c_inline;;
-- esac
-- cat >>confdefs.h <<_ACEOF
--#ifndef __cplusplus
--#define inline $ac_val
--#endif
--_ACEOF
-- ;;
--esac
--
-- if test x"$GCC" = x"yes" -a x"$ac_cv_c_inline" = x"inline"; then
-- { echo "$as_me:$LINENO: checking for always_inline" >&5
--echo $ECHO_N "checking for always_inline... $ECHO_C" >&6; }
-- SAVE_CFLAGS="$CFLAGS"
-- CFLAGS="$CFLAGS -Wall -Werror"
-- cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h. */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h. */
--
--int
--main ()
--{
--inline __attribute__ ((__always_inline__)) void f (void);
-- ;
-- return 0;
--}
--_ACEOF
--rm -f conftest.$ac_objext
--if { (ac_try="$ac_compile"
--case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-- (eval "$ac_compile") 2>conftest.er1
-- ac_status=$?
-- grep -v '^ *+' conftest.er1 >conftest.err
-- rm -f conftest.er1
-- cat conftest.err >&5
-- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); } &&
-- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
-- { (case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-- (eval "$ac_try") 2>&5
-- ac_status=$?
-- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); }; } &&
-- { ac_try='test -s conftest.$ac_objext'
-- { (case "(($ac_try" in
-- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-- *) ac_try_echo=$ac_try;;
--esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-- (eval "$ac_try") 2>&5
-- ac_status=$?
-- echo "$as_me:$LINENO: \$? = $ac_status" >&5
-- (exit $ac_status); }; }; then
-- ac_cv_always_inline=yes
--else
-- echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
-- ac_cv_always_inline=no
--fi
--
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-- CFLAGS="$SAVE_CFLAGS"
-- { echo "$as_me:$LINENO: result: $ac_cv_always_inline" >&5
--echo "${ECHO_T}$ac_cv_always_inline" >&6; }
-- if test x"$ac_cv_always_inline" = x"yes"; then
--
--
-- cat >>confdefs.h <<_ACEOF
--#define inline inline __attribute__ ((__always_inline__))
--_ACEOF
--
-- fi
-- ac_cv_c___inline__=''
-- else
-- # FIXME: test the compiler to see if it supports __inline__
-- # instead of assuming that if it isn't gcc, it doesn't
-- case "$ac_cv_c_inline" in
-- yes)
-- ac_cv_c___inline__=inline
-- ;;
-- inline|__inline__)
-- ac_cv_c___inline__=''
-- ;;
-- *)
-- ac_cv_c___inline__="$ac_cv_c_inline"
-- ;;
-- esac
-- fi
-- if test x"$ac_cv_c___inline__" != x; then
--
--cat >>confdefs.h <<_ACEOF
--#define __inline__ $ac_cv_c___inline__
--_ACEOF
--
-- fi
--
- { echo "$as_me:$LINENO: checking for off_t" >&5
- echo $ECHO_N "checking for off_t... $ECHO_C" >&6; }
- if test "${ac_cv_type_off_t+set}" = set; then
-@@ -26274,7 +26155,7 @@
- ac_cv_type_off_t=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
- echo "${ECHO_T}$ac_cv_type_off_t" >&6; }
-@@ -26354,7 +26235,7 @@
- ac_cv_type_size_t=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
- echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
-@@ -26434,7 +26315,7 @@
- ac_cv_type_long=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
- echo "${ECHO_T}$ac_cv_type_long" >&6; }
-@@ -26570,7 +26451,7 @@
- ac_mid=`expr 2 '*' $ac_mid + 1`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- else
- echo "$as_me: failed program was:" >&5
-@@ -26695,7 +26576,7 @@
- ac_mid=`expr 2 '*' $ac_mid`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- else
- echo "$as_me: failed program was:" >&5
-@@ -26704,10 +26585,10 @@
- ac_lo= ac_hi=
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- # Binary search between lo and hi bounds.
- while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-@@ -26771,7 +26652,7 @@
- ac_lo=`expr '(' $ac_mid ')' + 1`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- case $ac_lo in
- ?*) ac_cv_sizeof_long=$ac_lo;;
-@@ -26931,7 +26812,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -27084,7 +26965,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -27241,7 +27122,7 @@
- { (exit 1); exit 1; }; }
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: yes" >&5
- echo "${ECHO_T}yes" >&6; }
- { echo "$as_me:$LINENO: checking that size of short is 2" >&5
-@@ -27305,7 +27186,7 @@
- { (exit 1); exit 1; }; }
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: yes" >&5
- echo "${ECHO_T}yes" >&6; }
- { echo "$as_me:$LINENO: checking that size of int is 4" >&5
-@@ -27369,7 +27250,7 @@
- { (exit 1); exit 1; }; }
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: yes" >&5
- echo "${ECHO_T}yes" >&6; }
- { echo "$as_me:$LINENO: checking that size of long long is 8" >&5
-@@ -27433,7 +27314,7 @@
- { (exit 1); exit 1; }; }
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: yes" >&5
- echo "${ECHO_T}yes" >&6; }
- cat >lib/inttypes.h << EOF
-@@ -27671,7 +27552,7 @@
- ac_cv_type_ssize_t=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
- echo "${ECHO_T}$ac_cv_type_ssize_t" >&6; }
-@@ -27818,7 +27699,7 @@
- ac_cv_lib_pthread_pthread_create=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -27915,7 +27796,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- LIBS="$ac_save_LIBS"
-
- { echo "$as_me:$LINENO: result: $have_recursive_mutex" >&5
-@@ -28044,7 +27925,7 @@
- ac_cv_lib_c_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -28128,7 +28009,7 @@
- ac_cv_lib_dl_dlopen=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -28214,7 +28095,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- CPPFLAGS=$ac_save_CPPFLAGS
- LIBS=$ac_save_LIBS
-@@ -28350,7 +28231,7 @@
- ac_cv_have_decl_lrintf=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_have_decl_lrintf" >&5
- echo "${ECHO_T}$ac_cv_have_decl_lrintf" >&6; }
-@@ -28438,7 +28319,7 @@
- ac_cv_have_decl_rintf=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_have_decl_rintf" >&5
- echo "${ECHO_T}$ac_cv_have_decl_rintf" >&6; }
-@@ -28519,7 +28400,7 @@
- ac_cv_type_int_fast8_t=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_type_int_fast8_t" >&5
- echo "${ECHO_T}$ac_cv_type_int_fast8_t" >&6; }
-@@ -28643,7 +28524,7 @@
- ac_cv_lib_mlib_mlib_VideoAddBlock_U8_S16=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -28715,7 +28596,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -28971,7 +28852,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -29127,7 +29008,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -29293,7 +29174,7 @@
- ac_cv_lib_postproc_pp_get_context=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -29374,7 +29255,7 @@
- ac_cv_lib_avcodec_pp_get_context=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -29460,7 +29341,7 @@
- ac_cv_lib_avcodec_register_avcodec=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -29554,7 +29435,7 @@
- external_ffmpeg_found=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
- if test x"$external_ffmpeg_found" = "xyes"; then
-@@ -29873,7 +29754,7 @@
- done
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi # $ac_x_libraries = no
-
-@@ -29990,7 +29871,7 @@
- ac_R_nospace=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test $ac_R_nospace = yes; then
- { echo "$as_me:$LINENO: result: no" >&5
-@@ -30055,7 +29936,7 @@
- ac_R_space=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test $ac_R_space = yes; then
- { echo "$as_me:$LINENO: result: yes" >&5
-@@ -30213,7 +30094,7 @@
- ac_cv_lib_dnet_dnet_ntoa=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -30295,7 +30176,7 @@
- ac_cv_lib_dnet_stub_dnet_ntoa=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -30308,7 +30189,7 @@
- fi
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$ac_xsave_LIBS"
-
-@@ -30412,7 +30293,7 @@
- ac_cv_func_gethostbyname=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
-@@ -30490,7 +30371,7 @@
- ac_cv_lib_nsl_gethostbyname=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -30572,7 +30453,7 @@
- ac_cv_lib_bsd_gethostbyname=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -30684,7 +30565,7 @@
- ac_cv_func_connect=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
-@@ -30762,7 +30643,7 @@
- ac_cv_lib_socket_connect=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -30867,7 +30748,7 @@
- ac_cv_func_remove=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
-@@ -30945,7 +30826,7 @@
- ac_cv_lib_posix_remove=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -31050,7 +30931,7 @@
- ac_cv_func_shmat=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
-@@ -31128,7 +31009,7 @@
- ac_cv_lib_ipc_shmat=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -31221,7 +31102,7 @@
- ac_cv_lib_ICE_IceConnectionNumber=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -31347,7 +31228,7 @@
- ac_cv_lib_socket_socket=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -31428,7 +31309,7 @@
- ac_cv_lib_nsl_gethostbyname=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -31576,11 +31457,11 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- fi
-
-@@ -31714,7 +31595,7 @@
- ac_cv_lib_z_gzsetparams=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -31784,7 +31665,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -31962,7 +31843,7 @@
- ac_cv_lib_rt_clock_getres=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -32075,7 +31956,7 @@
- ac_cv_lib_GL_glBegin=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -32154,7 +32035,7 @@
- ac_cv_lib_m_tan=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -32224,7 +32105,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -32391,7 +32272,7 @@
- ac_cv_lib_GLU_gluPerspective=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -32461,7 +32342,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -32620,7 +32501,7 @@
- echo "*** GLU doesn't link with GL; GLU is disabled ***"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$ac_save_LIBS"
-
-@@ -32766,7 +32647,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -33063,7 +32944,7 @@
- ac_cv_lib_Xv_XvShmCreateImage=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -33265,7 +33146,7 @@
- eval "$as_ac_Lib=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -33354,7 +33235,7 @@
- eval "$as_ac_Lib=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -33444,7 +33325,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -33624,7 +33505,7 @@
- eval "$as_ac_Lib=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -33713,7 +33594,7 @@
- eval "$as_ac_Lib=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -33803,7 +33684,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -34040,7 +33921,7 @@
- eval "$as_ac_Lib=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -34129,7 +34010,7 @@
- eval "$as_ac_Lib=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -34218,7 +34099,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -34426,7 +34307,7 @@
- ac_cv_lib_Xinerama_XineramaQueryExtension=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -34837,7 +34718,7 @@
- no_aalib=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -35017,7 +34898,7 @@
- no_aalib=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -35201,7 +35082,7 @@
- echo "*** or that you have moved AALIB since it was installed."
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -35482,7 +35363,7 @@
- no_caca=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -35657,7 +35538,7 @@
- echo "*** or that you have moved CACA since it was installed."
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -35756,7 +35637,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -35935,7 +35816,7 @@
- ac_cv_lib_dga_XDgaGrabDrawable=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -36006,7 +35887,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -36184,7 +36065,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -36720,7 +36601,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -36888,7 +36769,7 @@
- no_sdl=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -37101,7 +36982,7 @@
- echo "*** may want to edit the sdl-config script: $SDL_CONFIG"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -37309,7 +37190,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CPPFLAGS=$ac_save_CPPFLAGS
- LIBS=$ac_save_LIBS
- ac_ext=c
-@@ -37440,7 +37321,7 @@
- ac_cv_lib_fame_fame_open=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -37510,7 +37391,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -37686,7 +37567,7 @@
- ac_cv_lib_rte_rte_init=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -37756,7 +37637,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -38102,7 +37983,7 @@
- no_libfame=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -38319,7 +38200,7 @@
- echo "*** may want to edit the libfame-config script: $LIBFAME_CONFIG"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -38649,7 +38530,7 @@
- no_ogg=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -38810,7 +38691,7 @@
- no_vorbis=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -38953,7 +38834,7 @@
- echo "*** or that you have moved Vorbis since it was installed."
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -39052,7 +38933,7 @@
- echo "*** may want to edit the ogg-config script: $OGG_CONFIG"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -39175,7 +39056,7 @@
- no_ogg=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -39334,7 +39215,7 @@
- no_theora=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -39481,7 +39362,7 @@
- echo "*** or that you have moved Theora since it was installed."
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -39580,7 +39461,7 @@
- echo "*** may want to edit the ogg-config script: $OGG_CONFIG"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -39842,7 +39723,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -40099,7 +39980,7 @@
- no_libFLAC=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -40243,7 +40124,7 @@
- echo "*** may want to edit the libFLAC-config script: $LIBFLAC_CONFIG"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -40369,7 +40250,7 @@
- eval "$as_ac_Header=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- ac_res=`eval echo '${'$as_ac_Header'}'`
- { echo "$as_me:$LINENO: result: $ac_res" >&5
-@@ -40458,7 +40339,7 @@
- ac_cv_lib_a52_a52_init=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -40756,7 +40637,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -40965,7 +40846,7 @@
- ac_cv_lib_mng_mng_initialize=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -41035,7 +40916,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -41517,7 +41398,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $have_ossaudio" >&5
- echo "${ECHO_T}$have_ossaudio" >&6; }
- else
-@@ -41658,7 +41539,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -41818,7 +41699,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -42304,7 +42185,7 @@
- echo "*** exact error that occured. This usually means ALSA was incorrectly installed."
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -42584,7 +42465,7 @@
- no_esd=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -42780,7 +42661,7 @@
- echo "*** may want to edit the esd-config script: $ESD_CONFIG"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -43039,7 +42920,7 @@
- ac_cv_lib_artsc_arts_init=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -43119,7 +43000,7 @@
- no_arts=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -43315,7 +43196,7 @@
- echo "*** may want to edit the artsc-config script: $ARTS_CONFIG"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -44004,7 +43885,7 @@
- ac_cv_lib_smbclient_smbc_init=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -44074,7 +43955,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -44257,7 +44138,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $have_sunaudio" >&5
- echo "${ECHO_T}$have_sunaudio" >&6; }
-
-@@ -44341,7 +44222,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -44537,7 +44418,7 @@
- ac_cv_lib_kstat_kstat_open=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -44625,7 +44506,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -45055,7 +44936,7 @@
- no_dvdnav=yes
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- else
- cat >conftest.$ac_ext <<_ACEOF
-@@ -45241,7 +45122,7 @@
- echo "*** may want to edit the dvdnav-config script: $DVDNAV_CONFIG"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
-@@ -45361,7 +45242,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- if test "x$empty_array_size" = "xxxx";then
- cat >conftest.$ac_ext <<_ACEOF
-@@ -45421,7 +45302,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
- if test "x$empty_array_size" = "xxxx"
-@@ -45583,7 +45464,7 @@
- eval "$as_ac_var=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- ac_res=`eval echo '${'$as_ac_var'}'`
-@@ -45678,7 +45559,7 @@
- ac_cv_header_stdc=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-@@ -45875,7 +45756,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -46040,7 +45921,7 @@
- ac_cv_type_int=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
- echo "${ECHO_T}$ac_cv_type_int" >&6; }
-@@ -46176,7 +46057,7 @@
- ac_mid=`expr 2 '*' $ac_mid + 1`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- else
- echo "$as_me: failed program was:" >&5
-@@ -46301,7 +46182,7 @@
- ac_mid=`expr 2 '*' $ac_mid`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- else
- echo "$as_me: failed program was:" >&5
-@@ -46310,10 +46191,10 @@
- ac_lo= ac_hi=
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- # Binary search between lo and hi bounds.
- while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-@@ -46377,7 +46258,7 @@
- ac_lo=`expr '(' $ac_mid ')' + 1`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- case $ac_lo in
- ?*) ac_cv_sizeof_int=$ac_lo;;
-@@ -46540,7 +46421,7 @@
- ac_cv_type_long=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
- echo "${ECHO_T}$ac_cv_type_long" >&6; }
-@@ -46676,7 +46557,7 @@
- ac_mid=`expr 2 '*' $ac_mid + 1`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- else
- echo "$as_me: failed program was:" >&5
-@@ -46801,7 +46682,7 @@
- ac_mid=`expr 2 '*' $ac_mid`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- else
- echo "$as_me: failed program was:" >&5
-@@ -46810,10 +46691,10 @@
- ac_lo= ac_hi=
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- # Binary search between lo and hi bounds.
- while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-@@ -46877,7 +46758,7 @@
- ac_lo=`expr '(' $ac_mid ')' + 1`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- case $ac_lo in
- ?*) ac_cv_sizeof_long=$ac_lo;;
-@@ -47040,7 +46921,7 @@
- ac_cv_type_long_long=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5
- echo "${ECHO_T}$ac_cv_type_long_long" >&6; }
-@@ -47176,7 +47057,7 @@
- ac_mid=`expr 2 '*' $ac_mid + 1`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- else
- echo "$as_me: failed program was:" >&5
-@@ -47301,7 +47182,7 @@
- ac_mid=`expr 2 '*' $ac_mid`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- else
- echo "$as_me: failed program was:" >&5
-@@ -47310,10 +47191,10 @@
- ac_lo= ac_hi=
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- # Binary search between lo and hi bounds.
- while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-@@ -47377,7 +47258,7 @@
- ac_lo=`expr '(' $ac_mid ')' + 1`
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- case $ac_lo in
- ?*) ac_cv_sizeof_long_long=$ac_lo;;
-@@ -47542,7 +47423,7 @@
- ISOC99_PRAGMA=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ISOC99_PRAGMA" >&5
- echo "${ECHO_T}$ISOC99_PRAGMA" >&6; }
-
-@@ -47606,7 +47487,7 @@
- { (exit 1); exit 1; }; }
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
- if test "$cross_compiling" = yes; then
-@@ -47838,7 +47719,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -48013,7 +47894,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -48186,7 +48067,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -48350,7 +48231,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -48511,7 +48392,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
- cat >>confdefs.h <<\_ACEOF
- #define HAVE_LINUX_CDROM 1
-@@ -48588,7 +48469,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -48761,7 +48642,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -49010,7 +48891,7 @@
- eval "$as_ac_var=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- ac_res=`eval echo '${'$as_ac_var'}'`
-@@ -49147,10 +49028,10 @@
- ac_cv_member_struct_tm_tm_gmtoff=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_gmtoff" >&5
- echo "${ECHO_T}$ac_cv_member_struct_tm_tm_gmtoff" >&6; }
-@@ -49486,7 +49367,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -49963,7 +49844,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext
-+rm -f core conftest.err conftest.$ac_objext
- CC="$CC -n32"
- rm -f conftest.$ac_objext
- if { (ac_try="$ac_compile"
-@@ -50007,7 +49888,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext
-+rm -f core conftest.err conftest.$ac_objext
- break
- done
- CC=$ac_save_CC
-@@ -50092,7 +49973,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -50159,7 +50040,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- break
- done
- fi
-@@ -50245,7 +50126,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -50312,7 +50193,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- break
- done
- fi
-@@ -50400,7 +50281,7 @@
- ac_cv_lib_posix4_sched_get_priority_min=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -50525,7 +50406,7 @@
- eval "$as_ac_var=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- ac_res=`eval echo '${'$as_ac_var'}'`
-@@ -50603,7 +50484,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h. */
- _ACEOF
-@@ -50662,7 +50543,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- break
- done
- fi
-@@ -50742,7 +50623,7 @@
- ac_cv_func_fseeko=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_fseeko" >&5
-@@ -50839,7 +50720,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -51039,7 +50920,7 @@
- eval "$as_ac_var=no"
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- ac_res=`eval echo '${'$as_ac_var'}'`
-@@ -51111,7 +50992,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- { echo "$as_me:$LINENO: checking for hstrerror in -lresolv" >&5
- echo $ECHO_N "checking for hstrerror in -lresolv... $ECHO_C" >&6; }
-@@ -51184,7 +51065,7 @@
- ac_cv_lib_resolv_hstrerror=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
-@@ -51302,7 +51183,7 @@
- ac_cv_func_opendir=no
- fi
-
--rm -f conftest.err conftest.$ac_objext \
-+rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_func_opendir" >&5
-@@ -51405,7 +51286,7 @@
-
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
- fi
- { echo "$as_me:$LINENO: result: $ac_cv_c_attribute_aligned" >&5
-@@ -51493,7 +51374,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -51563,7 +51444,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -51633,7 +51514,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -51703,7 +51584,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -51773,7 +51654,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -51843,7 +51724,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -51913,7 +51794,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -51983,7 +51864,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -52053,7 +51934,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -52124,7 +52005,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -52194,7 +52075,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -52270,7 +52151,7 @@
- echo "${ECHO_T}no" >&6; }; CFLAGS="$SAVE_CFLAGS"
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext;
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext;
-
-
- { echo "$as_me:$LINENO: checking for gcc 3.4.0 or later" >&5
-@@ -52345,7 +52226,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -52424,7 +52305,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -52492,7 +52373,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -52560,7 +52441,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -52639,7 +52520,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -52927,7 +52808,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -53107,7 +52988,7 @@
- ac_header_compiler=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
- echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-@@ -53827,7 +53708,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -53897,7 +53778,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -53968,7 +53849,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -54039,7 +53920,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -54111,7 +53992,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -54181,7 +54062,7 @@
- ac_cv_try_cflags_ok=no
- fi
-
--rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $ac_cv_try_cflags_ok" >&5
- echo "${ECHO_T}$ac_cv_try_cflags_ok" >&6; }
-@@ -54193,7 +54074,7 @@
- CFLAGS="$CFLAGS $wsa"
-
-
--ac_config_files="$ac_config_files Makefile doc/Makefile doc/man/Makefile doc/man/en/Makefile doc/hackersguide/Makefile doc/faq/Makefile include/Makefile include/xine.h lib/Makefile m4/Makefile misc/Makefile misc/SlackBuild misc/build_rpms.sh misc/fonts/Makefile misc/libxine.pc misc/relchk.sh misc/xine-config misc/xine-lib.spec po/Makefile.in src/Makefile src/audio_out/Makefile src/demuxers/Makefile src/dxr3/Makefile src/input/Makefile src/input/libdvdnav/Makefile src/input/dvb/Makefile src/input/librtsp/Makefile src/input/libreal/Makefile src/input/vcd/Makefile src/input/vcd/libcdio/Makefile src/input/vcd/libcdio/cdio/Makefile src/input/vcd/libcdio/MSWindows/Makefile src/input/vcd/libcdio/image/Makefile src/input/vcd/libvcd/Makefile src/input/vcd/libvcd/libvcd/Makefile src/liba52/Makefile src/libdts/Makefile src/libfaad/Makefile src/libfaad/codebook/Makefile src/libffmpeg/Makefile src/libffmpeg/libavcodec/Makefile src/libffmpeg/libavcodec/armv4l/Makefile src/libffmpeg/libavcodec/i386/Makefile src/libffmpeg/libavcodec/mlib/Makefile src/libffmpeg/libavcodec/alpha/Makefile src/libffmpeg/libavcodec/ppc/Makefile src/libffmpeg/libavcodec/sparc/Makefile src/libffmpeg/libavcodec/libpostproc/Makefile src/libffmpeg/libavutil/Makefile src/libflac/Makefile src/liblpcm/Makefile src/libmad/Makefile src/libmpeg2/Makefile src/libmusepack/Makefile src/libmusepack/musepack/Makefile src/libspudec/Makefile src/libspucc/Makefile src/libspucmml/Makefile src/libspudvb/Makefile src/libsputext/Makefile src/libvorbis/Makefile src/libtheora/Makefile src/libspeex/Makefile src/libw32dll/Makefile src/libw32dll/wine/Makefile src/libw32dll/DirectShow/Makefile src/libw32dll/dmo/Makefile src/libw32dll/qtx/Makefile src/libw32dll/qtx/qtxsdk/Makefile src/libxinevdec/Makefile src/libxineadec/Makefile src/libxineadec/gsm610/Makefile src/libxineadec/nosefart/Makefile src/libreal/Makefile src/post/Makefile src/post/planar/Makefile src/post/goom/Makefile src/post/mosaico/Makefile src/post/visualizations/Makefile src/post/audio/Makefile src/post/deinterlace/Makefile src/post/deinterlace/plugins/Makefile src/video_out/Makefile src/video_out/libdha/Makefile src/video_out/libdha/bin/Makefile src/video_out/libdha/kernelhelper/Makefile src/video_out/libdha/oth/Makefile src/video_out/libdha/sysdep/Makefile src/video_out/macosx/Makefile src/video_out/vidix/Makefile src/video_out/vidix/drivers/Makefile src/xine-utils/Makefile src/xine-engine/Makefile win32/Makefile win32/include/Makefile"
-+ac_config_files="$ac_config_files Makefile doc/Makefile doc/man/Makefile doc/man/en/Makefile doc/hackersguide/Makefile doc/faq/Makefile include/Makefile include/xine.h lib/Makefile m4/Makefile misc/Makefile misc/SlackBuild misc/build_rpms.sh misc/fonts/Makefile misc/libxine.pc misc/relchk.sh misc/xine-config misc/xine-lib.spec po/Makefile.in src/Makefile src/audio_out/Makefile src/demuxers/Makefile src/dxr3/Makefile src/input/Makefile src/input/libdvdnav/Makefile src/input/dvb/Makefile src/input/librtsp/Makefile src/input/libreal/Makefile src/input/vcd/Makefile src/input/vcd/libcdio/Makefile src/input/vcd/libcdio/cdio/Makefile src/input/vcd/libcdio/MSWindows/Makefile src/input/vcd/libcdio/image/Makefile src/input/vcd/libvcd/Makefile src/input/vcd/libvcd/libvcd/Makefile src/liba52/Makefile src/libdts/Makefile src/libfaad/Makefile src/libfaad/codebook/Makefile src/libffmpeg/Makefile src/libffmpeg/libavcodec/Makefile src/libffmpeg/libavcodec/armv4l/Makefile src/libffmpeg/libavcodec/i386/Makefile src/libffmpeg/libavcodec/mlib/Makefile src/libffmpeg/libavcodec/alpha/Makefile src/libffmpeg/libavcodec/ppc/Makefile src/libffmpeg/libavcodec/sparc/Makefile src/libffmpeg/libavcodec/libpostproc/Makefile src/libffmpeg/libavutil/Makefile src/libflac/Makefile src/liblpcm/Makefile src/libmad/Makefile src/libmpeg2/Makefile src/libmusepack/Makefile src/libmusepack/musepack/Makefile src/libspudec/Makefile src/libspucc/Makefile src/libspucmml/Makefile src/libspudvb/Makefile src/libsputext/Makefile src/libvorbis/Makefile src/libtheora/Makefile src/libspeex/Makefile src/libw32dll/Makefile src/libw32dll/wine/Makefile src/libw32dll/DirectShow/Makefile src/libw32dll/dmo/Makefile src/libw32dll/qtx/Makefile src/libw32dll/qtx/qtxsdk/Makefile src/libxinevdec/Makefile src/libxineadec/Makefile src/libxineadec/gsm610/Makefile src/libxineadec/nosefart/Makefile src/libreal/Makefile src/post/Makefile src/post/planar/Makefile src/post/goom/Makefile src/post/mosaico/Makefile src/post/visualizations/Makefile src/post/audio/Makefile src/post/deinterlace/Makefile src/post/deinterlace/plugins/Makefile src/video_out/Makefile src/video_out/libdha/Makefile src/video_out/libdha/bin/Makefile src/video_out/libdha/kernelhelper/Makefile src/video_out/libdha/oth/Makefile src/video_out/libdha/sysdep/Makefile src/video_out/macosx/Makefile src/video_out/vidix/Makefile src/video_out/vidix/drivers/Makefile src/xine-utils/Makefile src/xine-engine/Makefile src/vdr/Makefile win32/Makefile win32/include/Makefile"
-
- ac_config_commands="$ac_config_commands default"
-
-@@ -54293,6 +54174,20 @@
- LTLIBOBJS=$ac_ltlibobjs
-
-
-+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-+ { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&5
-+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
-+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-+ { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&5
-+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-+Usually this means the macro was only invoked conditionally." >&2;}
-+ { (exit 1); exit 1; }; }
-+fi
- if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
- Usually this means the macro was only invoked conditionally." >&5
-@@ -55099,7 +54994,7 @@
- # values after options handling.
- ac_log="
- This file was extended by $as_me, which was
--generated by GNU Autoconf 2.59e. Invocation command line was
-+generated by GNU Autoconf 2.60. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
-@@ -55152,7 +55047,7 @@
- cat >>$CONFIG_STATUS <<_ACEOF
- ac_cs_version="\\
- config.status
--configured by $0, generated by GNU Autoconf 2.59e,
-+configured by $0, generated by GNU Autoconf 2.60,
- with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
- Copyright (C) 2006 Free Software Foundation, Inc.
-@@ -55368,6 +55263,7 @@
- "src/video_out/vidix/drivers/Makefile") CONFIG_FILES="$CONFIG_FILES src/video_out/vidix/drivers/Makefile" ;;
- "src/xine-utils/Makefile") CONFIG_FILES="$CONFIG_FILES src/xine-utils/Makefile" ;;
- "src/xine-engine/Makefile") CONFIG_FILES="$CONFIG_FILES src/xine-engine/Makefile" ;;
-+ "src/vdr/Makefile") CONFIG_FILES="$CONFIG_FILES src/vdr/Makefile" ;;
- "win32/Makefile") CONFIG_FILES="$CONFIG_FILES win32/Makefile" ;;
- "win32/include/Makefile") CONFIG_FILES="$CONFIG_FILES win32/include/Makefile" ;;
- "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
-@@ -55470,6 +55366,9 @@
- build_alias!$build_alias$ac_delim
- host_alias!$host_alias$ac_delim
- target_alias!$target_alias$ac_delim
-+MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-+MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-+MAINT!$MAINT$ac_delim
- XINE_MAJOR!$XINE_MAJOR$ac_delim
- XINE_MINOR!$XINE_MINOR$ac_delim
- XINE_SUB!$XINE_SUB$ac_delim
-@@ -55527,9 +55426,6 @@
- AMDEP_TRUE!$AMDEP_TRUE$ac_delim
- AMDEP_FALSE!$AMDEP_FALSE$ac_delim
- AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
--CCDEPMODE!$CCDEPMODE$ac_delim
--am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
--am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
- _ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
-@@ -55571,6 +55467,9 @@
- ac_delim='%!_!# '
- for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-+CCDEPMODE!$CCDEPMODE$ac_delim
-+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
- GREP!$GREP$ac_delim
- EGREP!$EGREP$ac_delim
- CPP!$CPP$ac_delim
-@@ -55665,9 +55564,6 @@
- XXMC_LIB!$XXMC_LIB$ac_delim
- HAVE_XVMC_TRUE!$HAVE_XVMC_TRUE$ac_delim
- HAVE_XVMC_FALSE!$HAVE_XVMC_FALSE$ac_delim
--XVMC_LIB!$XVMC_LIB$ac_delim
--AALIB_CONFIG!$AALIB_CONFIG$ac_delim
--AAINFO!$AAINFO$ac_delim
- _ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
-@@ -55709,6 +55605,9 @@
- ac_delim='%!_!# '
- for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-+XVMC_LIB!$XVMC_LIB$ac_delim
-+AALIB_CONFIG!$AALIB_CONFIG$ac_delim
-+AAINFO!$AAINFO$ac_delim
- AALIB_CFLAGS!$AALIB_CFLAGS$ac_delim
- AALIB_LIBS!$AALIB_LIBS$ac_delim
- HAVE_AA_TRUE!$HAVE_AA_TRUE$ac_delim
-@@ -55803,9 +55702,6 @@
- MAD_FALSE!$MAD_FALSE$ac_delim
- EXTERNAL_LIBMAD_TRUE!$EXTERNAL_LIBMAD_TRUE$ac_delim
- EXTERNAL_LIBMAD_FALSE!$EXTERNAL_LIBMAD_FALSE$ac_delim
--MNG_LIBS!$MNG_LIBS$ac_delim
--HAVE_LIBMNG_TRUE!$HAVE_LIBMNG_TRUE$ac_delim
--HAVE_LIBMNG_FALSE!$HAVE_LIBMNG_FALSE$ac_delim
- _ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
-@@ -55847,6 +55743,9 @@
- ac_delim='%!_!# '
- for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-+MNG_LIBS!$MNG_LIBS$ac_delim
-+HAVE_LIBMNG_TRUE!$HAVE_LIBMNG_TRUE$ac_delim
-+HAVE_LIBMNG_FALSE!$HAVE_LIBMNG_FALSE$ac_delim
- WAND_CONFIG!$WAND_CONFIG$ac_delim
- HAVE_WAND_TRUE!$HAVE_WAND_TRUE$ac_delim
- HAVE_WAND_FALSE!$HAVE_WAND_FALSE$ac_delim
-@@ -55941,9 +55840,6 @@
- W32DLL_DEP!$W32DLL_DEP$ac_delim
- LIBOBJS!$LIBOBJS$ac_delim
- DEBUG_CFLAGS!$DEBUG_CFLAGS$ac_delim
--ASFLAGS!$ASFLAGS$ac_delim
--W32_NO_OPTIMIZE!$W32_NO_OPTIMIZE$ac_delim
--PASS1_CFLAGS!$PASS1_CFLAGS$ac_delim
- _ACEOF
-
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
-@@ -55985,6 +55881,9 @@
- ac_delim='%!_!# '
- for ac_last_try in false false false false false :; do
- cat >conf$$subs.sed <<_ACEOF
-+ASFLAGS!$ASFLAGS$ac_delim
-+W32_NO_OPTIMIZE!$W32_NO_OPTIMIZE$ac_delim
-+PASS1_CFLAGS!$PASS1_CFLAGS$ac_delim
- PASS2_CFLAGS!$PASS2_CFLAGS$ac_delim
- OBJC!$OBJC$ac_delim
- OBJCFLAGS!$OBJCFLAGS$ac_delim
-@@ -56031,7 +55930,7 @@
- LTLIBOBJS!$LTLIBOBJS$ac_delim
- _ACEOF
-
-- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 44; then
-+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 47; then
- break
- elif $ac_last_try; then
- { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-@@ -56316,6 +56215,7 @@
-
- test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
- { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
- which seems to be undefined. Please make sure it is defined." >&5
- echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-@@ -56770,7 +56670,7 @@
- echo " - stdin_fifo - rtp"
- echo " - http - mms"
- echo " - pnm - rtsp"
--echo " - dvb"
-+echo " - dvb - vdr"
- if test x"$external_dvdnav" = "xyes"; then
- echo " - dvd (external libs)"
- else
-@@ -56948,6 +56848,7 @@
- echo " - eq - eq2"
- echo " - boxblur - denoise3d"
- echo " - unsharp - tvtime"
-+echo " - vdr"
- echo " * SFX:"
- echo " - goom - oscope"
- echo " - fftscope - mosaico"
-diff -urNad xine-lib-vdr-1.1.2~/doc/Makefile.in xine-lib-vdr-1.1.2/doc/Makefile.in
---- xine-lib-vdr-1.1.2~/doc/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/doc/Makefile.in 2006-09-02 14:33:55.044411358 +0100
-@@ -357,6 +357,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -518,16 +521,14 @@
- XINE_LIB = $(top_builddir)/src/xine-engine/libxine.la
- SUBDIRS = man hackersguide faq
- docs_DATA = README README.dvb README.dxr3 \
-- README.freebsd README.irix README.network_dvd README.opengl \
-- README.solaris README.syncfb README_xxmc.html README.MINGWCROSS \
-- README.WIN32
-+ README.opengl README_xxmc.html
-
- EXTRA_DIST = $(docs_DATA)
- docsdir = $(prefix)/share/doc/xine
- all: all-recursive
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -552,9 +553,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/doc/faq/Makefile.in xine-lib-vdr-1.1.2/doc/faq/Makefile.in
---- xine-lib-vdr-1.1.2~/doc/faq/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/doc/faq/Makefile.in 2006-09-02 14:33:55.412416535 +0100
-@@ -348,6 +348,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -513,7 +516,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -538,9 +541,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/doc/hackersguide/Makefile.in xine-lib-vdr-1.1.2/doc/hackersguide/Makefile.in
---- xine-lib-vdr-1.1.2~/doc/hackersguide/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/doc/hackersguide/Makefile.in 2006-09-02 14:33:55.680420304 +0100
-@@ -348,6 +348,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -530,7 +533,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -555,9 +558,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/doc/man/Makefile.in xine-lib-vdr-1.1.2/doc/man/Makefile.in
---- xine-lib-vdr-1.1.2~/doc/man/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/doc/man/Makefile.in 2006-09-02 14:33:55.948424074 +0100
-@@ -347,6 +347,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -510,7 +513,7 @@
- all: all-recursive
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -535,9 +538,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/doc/man/en/Makefile.in xine-lib-vdr-1.1.2/doc/man/en/Makefile.in
---- xine-lib-vdr-1.1.2~/doc/man/en/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/doc/man/en/Makefile.in 2006-09-02 14:33:56.212427787 +0100
-@@ -343,6 +343,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -507,7 +510,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -532,9 +535,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/include/Makefile.in xine-lib-vdr-1.1.2/include/Makefile.in
---- xine-lib-vdr-1.1.2~/include/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/include/Makefile.in 2006-09-02 14:33:56.484431613 +0100
-@@ -349,6 +349,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -513,7 +516,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -538,9 +541,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- xine.h: $(top_builddir)/config.status $(srcdir)/xine.h.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-diff -urNad xine-lib-vdr-1.1.2~/lib/Makefile.in xine-lib-vdr-1.1.2/lib/Makefile.in
---- xine-lib-vdr-1.1.2~/lib/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/lib/Makefile.in 2006-09-02 14:33:56.816436283 +0100
-@@ -369,6 +369,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -539,7 +542,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -564,9 +567,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/m4/Makefile.in xine-lib-vdr-1.1.2/m4/Makefile.in
---- xine-lib-vdr-1.1.2~/m4/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/m4/Makefile.in 2006-09-02 14:33:57.088440109 +0100
-@@ -348,6 +348,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -548,7 +551,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -573,9 +576,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/misc/Makefile.in xine-lib-vdr-1.1.2/misc/Makefile.in
---- xine-lib-vdr-1.1.2~/misc/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/misc/Makefile.in 2006-09-02 14:33:57.384444273 +0100
-@@ -364,6 +364,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -542,7 +545,7 @@
- all: all-recursive
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -567,9 +570,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- SlackBuild: $(top_builddir)/config.status $(srcdir)/SlackBuild.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-diff -urNad xine-lib-vdr-1.1.2~/misc/fonts/Makefile.in xine-lib-vdr-1.1.2/misc/fonts/Makefile.in
---- xine-lib-vdr-1.1.2~/misc/fonts/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/misc/fonts/Makefile.in 2006-09-02 14:33:57.700448717 +0100
-@@ -348,6 +348,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -554,7 +557,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -579,9 +582,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/Makefile.in xine-lib-vdr-1.1.2/src/Makefile.in
---- xine-lib-vdr-1.1.2~/src/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/Makefile.in 2006-09-02 14:33:58.024453275 +0100
-@@ -347,6 +347,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -537,12 +540,13 @@
- libfaad \
- libflac \
- libmusepack \
-- post
-+ post \
-+ vdr
-
- all: all-recursive
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -567,9 +571,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/audio_out/Makefile.in xine-lib-vdr-1.1.2/src/audio_out/Makefile.in
---- xine-lib-vdr-1.1.2~/src/audio_out/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/audio_out/Makefile.in 2006-09-02 14:33:58.500459970 +0100
-@@ -455,6 +455,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -710,7 +713,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -735,9 +738,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/demuxers/Makefile.in xine-lib-vdr-1.1.2/src/demuxers/Makefile.in
---- xine-lib-vdr-1.1.2~/src/demuxers/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/demuxers/Makefile.in 2006-09-02 14:33:59.136468916 +0100
-@@ -504,6 +504,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -788,7 +791,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -813,9 +816,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/dxr3/Makefile.in xine-lib-vdr-1.1.2/src/dxr3/Makefile.in
---- xine-lib-vdr-1.1.2~/src/dxr3/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/dxr3/Makefile.in 2006-09-02 14:33:59.588475274 +0100
-@@ -399,6 +399,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -595,7 +598,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -620,9 +623,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/input/Makefile.in xine-lib-vdr-1.1.2/src/input/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/Makefile.in 2006-09-02 14:34:00.144483095 +0100
-@@ -471,6 +471,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -727,7 +730,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -752,9 +755,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/input/dvb/Makefile.in xine-lib-vdr-1.1.2/src/input/dvb/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/dvb/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/dvb/Makefile.in 2006-09-02 14:34:00.420486977 +0100
-@@ -342,6 +342,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -508,7 +511,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -533,9 +536,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/input/libdvdnav/Makefile.in xine-lib-vdr-1.1.2/src/input/libdvdnav/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/libdvdnav/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/libdvdnav/Makefile.in 2006-09-02 14:34:00.748491590 +0100
-@@ -362,6 +362,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -570,7 +573,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -595,9 +598,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/input/libreal/Makefile.in xine-lib-vdr-1.1.2/src/input/libreal/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/libreal/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/libreal/Makefile.in 2006-09-02 14:34:01.076496204 +0100
-@@ -358,6 +358,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -536,7 +539,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -561,9 +564,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/input/librtsp/Makefile.in xine-lib-vdr-1.1.2/src/input/librtsp/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/librtsp/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/librtsp/Makefile.in 2006-09-02 14:34:01.396500705 +0100
-@@ -358,6 +358,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -532,7 +535,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -557,9 +560,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/input/vcd/Makefile.in xine-lib-vdr-1.1.2/src/input/vcd/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/vcd/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/vcd/Makefile.in 2006-09-02 14:34:01.752505713 +0100
-@@ -386,6 +386,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -559,7 +562,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -584,9 +587,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/input/vcd/libcdio/MSWindows/Makefile.in xine-lib-vdr-1.1.2/src/input/vcd/libcdio/MSWindows/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/vcd/libcdio/MSWindows/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/vcd/libcdio/MSWindows/Makefile.in 2006-09-02 14:34:02.016509426 +0100
-@@ -338,6 +338,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -501,7 +504,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -526,9 +529,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/input/vcd/libcdio/Makefile.in xine-lib-vdr-1.1.2/src/input/vcd/libcdio/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/vcd/libcdio/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/vcd/libcdio/Makefile.in 2006-09-02 14:34:02.440515390 +0100
-@@ -392,6 +392,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -614,7 +617,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -639,9 +642,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/input/vcd/libcdio/cdio/Makefile.in xine-lib-vdr-1.1.2/src/input/vcd/libcdio/cdio/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/vcd/libcdio/cdio/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/vcd/libcdio/cdio/Makefile.in 2006-09-02 14:34:02.724519385 +0100
-@@ -342,6 +342,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -522,7 +525,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -547,9 +550,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/input/vcd/libcdio/image/Makefile.in xine-lib-vdr-1.1.2/src/input/vcd/libcdio/image/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/vcd/libcdio/image/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/vcd/libcdio/image/Makefile.in 2006-09-02 14:34:02.992523154 +0100
-@@ -338,6 +338,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -501,7 +504,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -526,9 +529,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/input/vcd/libvcd/Makefile.in xine-lib-vdr-1.1.2/src/input/vcd/libvcd/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/vcd/libvcd/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/vcd/libvcd/Makefile.in 2006-09-02 14:34:03.348528162 +0100
-@@ -387,6 +387,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -605,7 +608,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -630,9 +633,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/input/vcd/libvcd/libvcd/Makefile.in xine-lib-vdr-1.1.2/src/input/vcd/libvcd/libvcd/Makefile.in
---- xine-lib-vdr-1.1.2~/src/input/vcd/libvcd/libvcd/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/input/vcd/libvcd/libvcd/Makefile.in 2006-09-02 14:34:03.624532044 +0100
-@@ -342,6 +342,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -505,7 +508,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -530,9 +533,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/liba52/Makefile.in xine-lib-vdr-1.1.2/src/liba52/Makefile.in
---- xine-lib-vdr-1.1.2~/src/liba52/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/liba52/Makefile.in 2006-09-02 14:34:03.972536939 +0100
-@@ -375,6 +375,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -562,7 +565,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -587,9 +590,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libdts/Makefile.in xine-lib-vdr-1.1.2/src/libdts/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libdts/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libdts/Makefile.in 2006-09-02 14:34:04.344542171 +0100
-@@ -380,6 +380,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -556,7 +559,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -581,9 +584,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libfaad/Makefile.in xine-lib-vdr-1.1.2/src/libfaad/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libfaad/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libfaad/Makefile.in 2006-09-02 14:34:05.004551455 +0100
-@@ -413,6 +413,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -673,7 +676,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -698,9 +701,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libfaad/codebook/Makefile.in xine-lib-vdr-1.1.2/src/libfaad/codebook/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libfaad/codebook/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libfaad/codebook/Makefile.in 2006-09-02 14:34:05.272555225 +0100
-@@ -338,6 +338,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -514,7 +517,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -539,9 +542,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/Makefile.in xine-lib-vdr-1.1.2/src/libffmpeg/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libffmpeg/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/Makefile.in 2006-09-02 14:34:05.640560401 +0100
-@@ -395,6 +395,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -596,7 +599,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -621,9 +624,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/Makefile.in xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/Makefile.in 2006-09-02 14:34:06.004565521 +0100
-@@ -379,6 +379,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -687,7 +690,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -712,9 +715,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/alpha/Makefile.in xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/alpha/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/alpha/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/alpha/Makefile.in 2006-09-02 14:34:06.268569234 +0100
-@@ -338,6 +338,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -511,7 +514,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -536,9 +539,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/armv4l/Makefile.in xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/armv4l/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/armv4l/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/armv4l/Makefile.in 2006-09-02 14:34:06.592573792 +0100
-@@ -358,6 +358,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -533,7 +536,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -558,9 +561,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/i386/Makefile.in xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/i386/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/i386/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/i386/Makefile.in 2006-09-02 14:34:06.932578574 +0100
-@@ -370,6 +370,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -563,7 +566,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -588,9 +591,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-@@ -891,6 +894,9 @@
-
- # Avoid "can't find register" failures with -O1 and higher
- dsputil_mmx.o dsputil_mmx.lo: CFLAGS=`echo @CFLAGS@ | sed -e 's/-funroll-loops//g; s/-O[0-9]/-Os/g'`
-+
-+# Avoid errors on (at least) amd64 with -O0
-+fdct_mmx.o fdct_mmx.lo: CFLAGS=`echo @CFLAGS@ | sed -e 's/^/-Os /; s/-O0\?\s/-Os /g'`
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
- .NOEXPORT:
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/libpostproc/Makefile.in xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/libpostproc/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/libpostproc/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/libpostproc/Makefile.in 2006-09-02 14:34:07.260583188 +0100
-@@ -358,6 +358,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -530,7 +533,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -555,9 +558,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/mlib/Makefile.in xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/mlib/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/mlib/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/mlib/Makefile.in 2006-09-02 14:34:07.580587689 +0100
-@@ -361,6 +361,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -532,7 +535,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -557,9 +560,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/ppc/Makefile.in xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/ppc/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/ppc/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/ppc/Makefile.in 2006-09-02 14:34:07.912592359 +0100
-@@ -361,6 +361,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -546,7 +549,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -571,9 +574,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/sparc/Makefile.in xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/sparc/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libffmpeg/libavcodec/sparc/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/libavcodec/sparc/Makefile.in 2006-09-02 14:34:08.240596972 +0100
-@@ -361,6 +361,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -532,7 +535,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -557,9 +560,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libffmpeg/libavutil/Makefile.in xine-lib-vdr-1.1.2/src/libffmpeg/libavutil/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libffmpeg/libavutil/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libffmpeg/libavutil/Makefile.in 2006-09-02 14:34:08.564601530 +0100
-@@ -358,6 +358,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -539,7 +542,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -564,9 +567,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libflac/Makefile.in xine-lib-vdr-1.1.2/src/libflac/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libflac/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libflac/Makefile.in 2006-09-02 14:34:08.904606312 +0100
-@@ -370,6 +370,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -540,7 +543,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -565,9 +568,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/liblpcm/Makefile.in xine-lib-vdr-1.1.2/src/liblpcm/Makefile.in
---- xine-lib-vdr-1.1.2~/src/liblpcm/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/liblpcm/Makefile.in 2006-09-02 14:34:09.232610926 +0100
-@@ -366,6 +366,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -533,7 +536,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -558,9 +561,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libmad/Makefile.in xine-lib-vdr-1.1.2/src/libmad/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libmad/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libmad/Makefile.in 2006-09-02 14:34:09.660616946 +0100
-@@ -387,6 +387,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -593,7 +596,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -618,9 +621,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libmpeg2/Makefile.in xine-lib-vdr-1.1.2/src/libmpeg2/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libmpeg2/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libmpeg2/Makefile.in 2006-09-02 14:34:10.000621728 +0100
-@@ -374,6 +374,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -564,7 +567,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -589,9 +592,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libmusepack/Makefile.in xine-lib-vdr-1.1.2/src/libmusepack/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libmusepack/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libmusepack/Makefile.in 2006-09-02 14:34:10.336626454 +0100
-@@ -374,6 +374,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -545,7 +548,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -570,9 +573,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libmusepack/musepack/Makefile.in xine-lib-vdr-1.1.2/src/libmusepack/musepack/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libmusepack/musepack/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libmusepack/musepack/Makefile.in 2006-09-02 14:34:10.616630393 +0100
-@@ -342,6 +342,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -507,7 +510,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -532,9 +535,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/libreal/Makefile.in xine-lib-vdr-1.1.2/src/libreal/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libreal/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libreal/Makefile.in 2006-09-02 14:34:10.952635119 +0100
-@@ -375,6 +375,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -545,7 +548,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -570,9 +573,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libspeex/Makefile.in xine-lib-vdr-1.1.2/src/libspeex/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libspeex/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libspeex/Makefile.in 2006-09-02 14:34:11.284639789 +0100
-@@ -369,6 +369,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -538,7 +541,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -563,9 +566,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libspucc/Makefile.in xine-lib-vdr-1.1.2/src/libspucc/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libspucc/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libspucc/Makefile.in 2006-09-02 14:34:11.636644740 +0100
-@@ -370,6 +370,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -539,7 +542,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -564,9 +567,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libspucmml/Makefile.in xine-lib-vdr-1.1.2/src/libspucmml/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libspucmml/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libspucmml/Makefile.in 2006-09-02 14:34:11.964649354 +0100
-@@ -366,6 +366,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -533,7 +536,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -558,9 +561,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libspudec/Makefile.in xine-lib-vdr-1.1.2/src/libspudec/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libspudec/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libspudec/Makefile.in 2006-09-02 14:34:12.308654192 +0100
-@@ -377,6 +377,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -556,7 +559,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -581,9 +584,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libspudvb/Makefile.in xine-lib-vdr-1.1.2/src/libspudvb/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libspudvb/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libspudvb/Makefile.in 2006-09-02 14:34:12.636658806 +0100
-@@ -368,6 +368,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -535,7 +538,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -560,9 +563,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libsputext/Makefile.in xine-lib-vdr-1.1.2/src/libsputext/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libsputext/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libsputext/Makefile.in 2006-09-02 14:34:12.976663588 +0100
-@@ -372,6 +372,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -543,7 +546,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -568,9 +571,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libtheora/Makefile.in xine-lib-vdr-1.1.2/src/libtheora/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libtheora/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libtheora/Makefile.in 2006-09-02 14:34:13.304668202 +0100
-@@ -370,6 +370,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -539,7 +542,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -564,9 +567,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libvorbis/Makefile.in xine-lib-vdr-1.1.2/src/libvorbis/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libvorbis/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libvorbis/Makefile.in 2006-09-02 14:34:13.632672816 +0100
-@@ -370,6 +370,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -539,7 +542,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -564,9 +567,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libw32dll/DirectShow/Makefile.in xine-lib-vdr-1.1.2/src/libw32dll/DirectShow/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libw32dll/DirectShow/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libw32dll/DirectShow/Makefile.in 2006-09-02 14:34:13.968677542 +0100
-@@ -361,6 +361,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -553,7 +556,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -578,9 +581,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libw32dll/Makefile.in xine-lib-vdr-1.1.2/src/libw32dll/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libw32dll/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libw32dll/Makefile.in 2006-09-02 14:34:14.328682606 +0100
-@@ -389,6 +389,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -579,7 +582,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -604,9 +607,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libw32dll/dmo/Makefile.in xine-lib-vdr-1.1.2/src/libw32dll/dmo/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libw32dll/dmo/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libw32dll/dmo/Makefile.in 2006-09-02 14:34:14.664687332 +0100
-@@ -360,6 +360,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -545,7 +548,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -570,9 +573,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libw32dll/qtx/Makefile.in xine-lib-vdr-1.1.2/src/libw32dll/qtx/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libw32dll/qtx/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libw32dll/qtx/Makefile.in 2006-09-02 14:34:14.936691158 +0100
-@@ -347,6 +347,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -510,7 +513,7 @@
- all: all-recursive
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -535,9 +538,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/libw32dll/qtx/qtxsdk/Makefile.in xine-lib-vdr-1.1.2/src/libw32dll/qtx/qtxsdk/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libw32dll/qtx/qtxsdk/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libw32dll/qtx/qtxsdk/Makefile.in 2006-09-02 14:34:15.216695096 +0100
-@@ -342,6 +342,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -505,7 +508,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -530,9 +533,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/libw32dll/wine/Makefile.in xine-lib-vdr-1.1.2/src/libw32dll/wine/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libw32dll/wine/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libw32dll/wine/Makefile.in 2006-09-02 14:34:15.580700216 +0100
-@@ -367,6 +367,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -592,7 +595,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .S .c .lo .o .obj .s
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -617,9 +620,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libxineadec/Makefile.in xine-lib-vdr-1.1.2/src/libxineadec/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libxineadec/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libxineadec/Makefile.in 2006-09-02 14:34:15.940705280 +0100
-@@ -380,6 +380,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -563,7 +566,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -588,9 +591,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/libxineadec/gsm610/Makefile.in xine-lib-vdr-1.1.2/src/libxineadec/gsm610/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libxineadec/gsm610/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libxineadec/gsm610/Makefile.in 2006-09-02 14:34:16.272709950 +0100
-@@ -360,6 +360,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -544,7 +547,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -569,9 +572,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libxineadec/nosefart/Makefile.in xine-lib-vdr-1.1.2/src/libxineadec/nosefart/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libxineadec/nosefart/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libxineadec/nosefart/Makefile.in 2006-09-02 14:34:16.604714620 +0100
-@@ -360,6 +360,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -555,7 +558,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -580,9 +583,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/libxinevdec/Makefile.in xine-lib-vdr-1.1.2/src/libxinevdec/Makefile.in
---- xine-lib-vdr-1.1.2~/src/libxinevdec/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/libxinevdec/Makefile.in 2006-09-02 14:34:17.004720246 +0100
-@@ -396,6 +396,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -586,7 +589,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -611,9 +614,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/post/Makefile.in xine-lib-vdr-1.1.2/src/post/Makefile.in
---- xine-lib-vdr-1.1.2~/src/post/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/Makefile.in 2006-09-02 14:34:17.284724184 +0100
-@@ -347,6 +347,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -512,7 +515,7 @@
- all: all-recursive
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -537,9 +540,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/post/audio/Makefile.in xine-lib-vdr-1.1.2/src/post/audio/Makefile.in
---- xine-lib-vdr-1.1.2~/src/post/audio/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/audio/Makefile.in 2006-09-02 14:34:17.620728911 +0100
-@@ -371,6 +371,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -541,7 +544,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -566,9 +569,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/Makefile.in xine-lib-vdr-1.1.2/src/post/deinterlace/Makefile.in
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/Makefile.in 2006-09-02 14:34:17.972733862 +0100
-@@ -377,6 +377,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -553,7 +556,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -578,9 +581,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/Makefile.in xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/Makefile.in
---- xine-lib-vdr-1.1.2~/src/post/deinterlace/plugins/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/deinterlace/plugins/Makefile.in 2006-09-02 14:34:18.308738588 +0100
-@@ -362,6 +362,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -574,7 +577,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -599,9 +602,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/post/goom/Makefile.in xine-lib-vdr-1.1.2/src/post/goom/Makefile.in
---- xine-lib-vdr-1.1.2~/src/post/goom/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/goom/Makefile.in 2006-09-02 14:34:18.660743539 +0100
-@@ -383,6 +383,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -572,7 +575,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -597,9 +600,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/post/mosaico/Makefile.in xine-lib-vdr-1.1.2/src/post/mosaico/Makefile.in
---- xine-lib-vdr-1.1.2~/src/post/mosaico/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/mosaico/Makefile.in 2006-09-02 14:34:19.004748378 +0100
-@@ -375,6 +375,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -545,7 +548,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -570,9 +573,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/post/planar/Makefile.in xine-lib-vdr-1.1.2/src/post/planar/Makefile.in
---- xine-lib-vdr-1.1.2~/src/post/planar/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/planar/Makefile.in 2006-09-02 14:34:19.344753160 +0100
-@@ -371,6 +371,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -553,7 +556,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -578,9 +581,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/post/visualizations/Makefile.in xine-lib-vdr-1.1.2/src/post/visualizations/Makefile.in
---- xine-lib-vdr-1.1.2~/src/post/visualizations/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/post/visualizations/Makefile.in 2006-09-02 14:34:19.684757943 +0100
-@@ -371,6 +371,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -542,7 +545,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -567,9 +570,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/vdr/Makefile.in xine-lib-vdr-1.1.2/src/vdr/Makefile.in
---- xine-lib-vdr-1.1.2~/src/vdr/Makefile.in 1970-01-01 01:00:00.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/vdr/Makefile.in 2006-09-02 14:34:20.068763344 +0100
-@@ -0,0 +1,935 @@
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
-+# @configure_input@
-+
-+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-+# 2003, 2004, 2005 Free Software Foundation, Inc.
-+# This Makefile.in is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+ at SET_MAKE@
-+
-+
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+VPATH = @srcdir@
-+pkgdatadir = $(datadir)/@PACKAGE@
-+pkglibdir = $(libdir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@
-+top_builddir = ../..
-+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-+INSTALL = @INSTALL@
-+install_sh_DATA = $(install_sh) -c -m 644
-+install_sh_PROGRAM = $(install_sh) -c
-+install_sh_SCRIPT = $(install_sh) -c
-+INSTALL_HEADER = $(INSTALL_DATA)
-+transform = $(program_transform_name)
-+NORMAL_INSTALL = :
-+PRE_INSTALL = :
-+POST_INSTALL = :
-+NORMAL_UNINSTALL = :
-+PRE_UNINSTALL = :
-+POST_UNINSTALL = :
-+build_triplet = @build@
-+host_triplet = @host@
-+target_triplet = @target@
-+DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
-+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-+ $(top_srcdir)/misc/Makefile.common
-+subdir = src/vdr
-+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-+am__aclocal_m4_deps = $(top_srcdir)/m4/_xine.m4 $(top_srcdir)/m4/aa.m4 \
-+ $(top_srcdir)/m4/alsa.m4 $(top_srcdir)/m4/arts.m4 \
-+ $(top_srcdir)/m4/as.m4 $(top_srcdir)/m4/caca.m4 \
-+ $(top_srcdir)/m4/directx.m4 $(top_srcdir)/m4/dl.m4 \
-+ $(top_srcdir)/m4/dvdnav.m4 $(top_srcdir)/m4/esd.m4 \
-+ $(top_srcdir)/m4/ffmpeg.m4 $(top_srcdir)/m4/freetype2.m4 \
-+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
-+ $(top_srcdir)/m4/irixal.m4 $(top_srcdir)/m4/lib-ld.m4 \
-+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-+ $(top_srcdir)/m4/libFLAC.m4 $(top_srcdir)/m4/libfame.m4 \
-+ $(top_srcdir)/m4/libtool15.m4 $(top_srcdir)/m4/nls.m4 \
-+ $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/opengl.m4 \
-+ $(top_srcdir)/m4/optimizations.m4 $(top_srcdir)/m4/pkg.m4 \
-+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-+ $(top_srcdir)/m4/sdl.m4 $(top_srcdir)/m4/theora.m4 \
-+ $(top_srcdir)/m4/vorbis.m4 $(top_srcdir)/m4/xv.m4 \
-+ $(top_srcdir)/configure.ac
-+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-+ $(ACLOCAL_M4)
-+mkinstalldirs = $(install_sh) -d
-+CONFIG_HEADER = $(top_builddir)/config.h
-+CONFIG_CLEAN_FILES =
-+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-+am__vpath_adj = case $$p in \
-+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-+ *) f=$$p;; \
-+ esac;
-+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(postlibdir)" \
-+ "$(DESTDIR)$(includedir)"
-+libLTLIBRARIES_INSTALL = $(INSTALL)
-+postlibLTLIBRARIES_INSTALL = $(INSTALL)
-+LTLIBRARIES = $(lib_LTLIBRARIES) $(postlib_LTLIBRARIES)
-+am__DEPENDENCIES_1 = $(top_builddir)/src/xine-engine/libxine.la
-+xineplug_inp_vdr_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
-+am_xineplug_inp_vdr_la_OBJECTS = input_vdr.lo
-+xineplug_inp_vdr_la_OBJECTS = $(am_xineplug_inp_vdr_la_OBJECTS)
-+xineplug_post_vdr_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
-+am_xineplug_post_vdr_la_OBJECTS = post_vdr.lo post_vdr_video.lo \
-+ post_vdr_audio.lo
-+xineplug_post_vdr_la_OBJECTS = $(am_xineplug_post_vdr_la_OBJECTS)
-+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-+depcomp = $(SHELL) $(top_srcdir)/depcomp
-+am__depfiles_maybe = depfiles
-+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
-+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-+ $(AM_CFLAGS) $(CFLAGS)
-+CCLD = $(CC)
-+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+SOURCES = $(xineplug_inp_vdr_la_SOURCES) \
-+ $(xineplug_post_vdr_la_SOURCES)
-+DIST_SOURCES = $(xineplug_inp_vdr_la_SOURCES) \
-+ $(xineplug_post_vdr_la_SOURCES)
-+includeHEADERS_INSTALL = $(INSTALL_HEADER)
-+HEADERS = $(include_HEADERS) $(noinst_HEADERS)
-+ETAGS = etags
-+CTAGS = ctags
-+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-+A52_FALSE = @A52_FALSE@
-+A52_TRUE = @A52_TRUE@
-+AAINFO = @AAINFO@
-+AALIB_CFLAGS = @AALIB_CFLAGS@
-+AALIB_CONFIG = @AALIB_CONFIG@
-+AALIB_LIBS = @AALIB_LIBS@
-+ACLOCAL = @ACLOCAL@
-+ACLOCAL_DIR = @ACLOCAL_DIR@
-+ALSA_CFLAGS = @ALSA_CFLAGS@
-+ALSA_LIBS = @ALSA_LIBS@
-+ALSA_STATIC_LIB = @ALSA_STATIC_LIB@
-+AMDEP_FALSE = @AMDEP_FALSE@
-+AMDEP_TRUE = @AMDEP_TRUE@
-+AMTAR = @AMTAR@
-+AR = @AR@
-+ARTS_CFLAGS = @ARTS_CFLAGS@
-+ARTS_CONFIG = @ARTS_CONFIG@
-+ARTS_LIBS = @ARTS_LIBS@
-+AS = @AS@
-+ASFLAGS = @ASFLAGS@
-+AUTOCONF = @AUTOCONF@
-+AUTOHEADER = @AUTOHEADER@
-+AUTOMAKE = @AUTOMAKE@
-+AWK = @AWK@
-+BUILD_ASF_FALSE = @BUILD_ASF_FALSE@
-+BUILD_ASF_TRUE = @BUILD_ASF_TRUE@
-+BUILD_DHA_KMOD_FALSE = @BUILD_DHA_KMOD_FALSE@
-+BUILD_DHA_KMOD_TRUE = @BUILD_DHA_KMOD_TRUE@
-+BUILD_DMX_IMAGE_FALSE = @BUILD_DMX_IMAGE_FALSE@
-+BUILD_DMX_IMAGE_TRUE = @BUILD_DMX_IMAGE_TRUE@
-+BUILD_FAAD_FALSE = @BUILD_FAAD_FALSE@
-+BUILD_FAAD_TRUE = @BUILD_FAAD_TRUE@
-+CACA_CFLAGS = @CACA_CFLAGS@
-+CACA_CONFIG = @CACA_CONFIG@
-+CACA_LIBS = @CACA_LIBS@
-+CC = @CC@
-+CCAS = @CCAS@
-+CCASCOMPILE = @CCASCOMPILE@
-+CCASFLAGS = @CCASFLAGS@
-+CCDEPMODE = @CCDEPMODE@
-+CFLAGS = @CFLAGS@
-+CPP = @CPP@
-+CPPFLAGS = @CPPFLAGS@
-+CXX = @CXX@
-+CXXCPP = @CXXCPP@
-+CXXDEPMODE = @CXXDEPMODE@
-+CXXFLAGS = @CXXFLAGS@
-+CYGPATH_W = @CYGPATH_W@
-+DEBUG_CFLAGS = @DEBUG_CFLAGS@
-+DEFS = @DEFS@
-+DEPCOMP = @DEPCOMP@
-+DEPDIR = @DEPDIR@
-+DEPMOD = @DEPMOD@
-+DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
-+DIRECTFB_LIBS = @DIRECTFB_LIBS@
-+DIRECTX_AUDIO_LIBS = @DIRECTX_AUDIO_LIBS@
-+DIRECTX_CPPFLAGS = @DIRECTX_CPPFLAGS@
-+DIRECTX_VIDEO_LIBS = @DIRECTX_VIDEO_LIBS@
-+DLLTOOL = @DLLTOOL@
-+DTS_FALSE = @DTS_FALSE@
-+DTS_TRUE = @DTS_TRUE@
-+DVDNAV_CFLAGS = @DVDNAV_CFLAGS@
-+DVDNAV_CONFIG = @DVDNAV_CONFIG@
-+DVDNAV_LIBS = @DVDNAV_LIBS@
-+DYNAMIC_LD_LIBS = @DYNAMIC_LD_LIBS@
-+ECHO = @ECHO@
-+ECHO_C = @ECHO_C@
-+ECHO_N = @ECHO_N@
-+ECHO_T = @ECHO_T@
-+EGREP = @EGREP@
-+ENABLE_VCD_FALSE = @ENABLE_VCD_FALSE@
-+ENABLE_VCD_TRUE = @ENABLE_VCD_TRUE@
-+ENABLE_VIS_FALSE = @ENABLE_VIS_FALSE@
-+ENABLE_VIS_TRUE = @ENABLE_VIS_TRUE@
-+ESD_CFLAGS = @ESD_CFLAGS@
-+ESD_CONFIG = @ESD_CONFIG@
-+ESD_LIBS = @ESD_LIBS@
-+EXEEXT = @EXEEXT@
-+EXTERNAL_A52DEC_FALSE = @EXTERNAL_A52DEC_FALSE@
-+EXTERNAL_A52DEC_TRUE = @EXTERNAL_A52DEC_TRUE@
-+EXTERNAL_LIBDTS_FALSE = @EXTERNAL_LIBDTS_FALSE@
-+EXTERNAL_LIBDTS_TRUE = @EXTERNAL_LIBDTS_TRUE@
-+EXTERNAL_LIBMAD_FALSE = @EXTERNAL_LIBMAD_FALSE@
-+EXTERNAL_LIBMAD_TRUE = @EXTERNAL_LIBMAD_TRUE@
-+EXTRA_X_CFLAGS = @EXTRA_X_CFLAGS@
-+EXTRA_X_LIBS = @EXTRA_X_LIBS@
-+F77 = @F77@
-+FFLAGS = @FFLAGS@
-+FFMPEG_CPPFLAGS = @FFMPEG_CPPFLAGS@
-+FFMPEG_LDFLAGS = @FFMPEG_LDFLAGS@
-+FFMPEG_LIBS = @FFMPEG_LIBS@
-+FFMPEG_POSTPROC_LIBS = @FFMPEG_POSTPROC_LIBS@
-+FIG2DEV = @FIG2DEV@
-+FREETYPE_CONFIG = @FREETYPE_CONFIG@
-+FT2_CFLAGS = @FT2_CFLAGS@
-+FT2_LIBS = @FT2_LIBS@
-+FUSIONSOUND_CFLAGS = @FUSIONSOUND_CFLAGS@
-+FUSIONSOUND_LIBS = @FUSIONSOUND_LIBS@
-+GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
-+GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
-+GENERATED_INTTYPES_H_FALSE = @GENERATED_INTTYPES_H_FALSE@
-+GENERATED_INTTYPES_H_TRUE = @GENERATED_INTTYPES_H_TRUE@
-+GLU_LIBS = @GLU_LIBS@
-+GMSGFMT = @GMSGFMT@
-+GNOME_VFS_CFLAGS = @GNOME_VFS_CFLAGS@
-+GNOME_VFS_LIBS = @GNOME_VFS_LIBS@
-+GOOM_LIBS = @GOOM_LIBS@
-+GREP = @GREP@
-+HAVE_AA_FALSE = @HAVE_AA_FALSE@
-+HAVE_AA_TRUE = @HAVE_AA_TRUE@
-+HAVE_ALSA09_FALSE = @HAVE_ALSA09_FALSE@
-+HAVE_ALSA09_TRUE = @HAVE_ALSA09_TRUE@
-+HAVE_ALSA_FALSE = @HAVE_ALSA_FALSE@
-+HAVE_ALSA_TRUE = @HAVE_ALSA_TRUE@
-+HAVE_ARMV4L_FALSE = @HAVE_ARMV4L_FALSE@
-+HAVE_ARMV4L_TRUE = @HAVE_ARMV4L_TRUE@
-+HAVE_ARTS_FALSE = @HAVE_ARTS_FALSE@
-+HAVE_ARTS_TRUE = @HAVE_ARTS_TRUE@
-+HAVE_BSDI_CDROM = @HAVE_BSDI_CDROM@
-+HAVE_CACA_FALSE = @HAVE_CACA_FALSE@
-+HAVE_CACA_TRUE = @HAVE_CACA_TRUE@
-+HAVE_CDROM_IOCTLS_FALSE = @HAVE_CDROM_IOCTLS_FALSE@
-+HAVE_CDROM_IOCTLS_TRUE = @HAVE_CDROM_IOCTLS_TRUE@
-+HAVE_COREAUDIO_FALSE = @HAVE_COREAUDIO_FALSE@
-+HAVE_COREAUDIO_TRUE = @HAVE_COREAUDIO_TRUE@
-+HAVE_DARWIN_CDROM = @HAVE_DARWIN_CDROM@
-+HAVE_DIRECTFB_FALSE = @HAVE_DIRECTFB_FALSE@
-+HAVE_DIRECTFB_TRUE = @HAVE_DIRECTFB_TRUE@
-+HAVE_DIRECTX_FALSE = @HAVE_DIRECTX_FALSE@
-+HAVE_DIRECTX_TRUE = @HAVE_DIRECTX_TRUE@
-+HAVE_DVDNAV_FALSE = @HAVE_DVDNAV_FALSE@
-+HAVE_DVDNAV_TRUE = @HAVE_DVDNAV_TRUE@
-+HAVE_DXR3_FALSE = @HAVE_DXR3_FALSE@
-+HAVE_DXR3_TRUE = @HAVE_DXR3_TRUE@
-+HAVE_ESD_FALSE = @HAVE_ESD_FALSE@
-+HAVE_ESD_TRUE = @HAVE_ESD_TRUE@
-+HAVE_FB_FALSE = @HAVE_FB_FALSE@
-+HAVE_FB_TRUE = @HAVE_FB_TRUE@
-+HAVE_FFMMX_FALSE = @HAVE_FFMMX_FALSE@
-+HAVE_FFMMX_TRUE = @HAVE_FFMMX_TRUE@
-+HAVE_FFMPEG_FALSE = @HAVE_FFMPEG_FALSE@
-+HAVE_FFMPEG_TRUE = @HAVE_FFMPEG_TRUE@
-+HAVE_FIG2DEV_FALSE = @HAVE_FIG2DEV_FALSE@
-+HAVE_FIG2DEV_TRUE = @HAVE_FIG2DEV_TRUE@
-+HAVE_FLAC_FALSE = @HAVE_FLAC_FALSE@
-+HAVE_FLAC_TRUE = @HAVE_FLAC_TRUE@
-+HAVE_FREEBSD_CDROM = @HAVE_FREEBSD_CDROM@
-+HAVE_FUSIONSOUND_FALSE = @HAVE_FUSIONSOUND_FALSE@
-+HAVE_FUSIONSOUND_TRUE = @HAVE_FUSIONSOUND_TRUE@
-+HAVE_GDK_PIXBUF_FALSE = @HAVE_GDK_PIXBUF_FALSE@
-+HAVE_GDK_PIXBUF_TRUE = @HAVE_GDK_PIXBUF_TRUE@
-+HAVE_GNOME_VFS_FALSE = @HAVE_GNOME_VFS_FALSE@
-+HAVE_GNOME_VFS_TRUE = @HAVE_GNOME_VFS_TRUE@
-+HAVE_IRIXAL_FALSE = @HAVE_IRIXAL_FALSE@
-+HAVE_IRIXAL_TRUE = @HAVE_IRIXAL_TRUE@
-+HAVE_LIBFAME_FALSE = @HAVE_LIBFAME_FALSE@
-+HAVE_LIBFAME_TRUE = @HAVE_LIBFAME_TRUE@
-+HAVE_LIBMNG_FALSE = @HAVE_LIBMNG_FALSE@
-+HAVE_LIBMNG_TRUE = @HAVE_LIBMNG_TRUE@
-+HAVE_LIBRTE_FALSE = @HAVE_LIBRTE_FALSE@
-+HAVE_LIBRTE_TRUE = @HAVE_LIBRTE_TRUE@
-+HAVE_LIBSMBCLIENT_FALSE = @HAVE_LIBSMBCLIENT_FALSE@
-+HAVE_LIBSMBCLIENT_TRUE = @HAVE_LIBSMBCLIENT_TRUE@
-+HAVE_LINUX_CDROM = @HAVE_LINUX_CDROM@
-+HAVE_LINUX_FALSE = @HAVE_LINUX_FALSE@
-+HAVE_LINUX_TRUE = @HAVE_LINUX_TRUE@
-+HAVE_MACOSX_VIDEO_FALSE = @HAVE_MACOSX_VIDEO_FALSE@
-+HAVE_MACOSX_VIDEO_TRUE = @HAVE_MACOSX_VIDEO_TRUE@
-+HAVE_MLIB_FALSE = @HAVE_MLIB_FALSE@
-+HAVE_MLIB_TRUE = @HAVE_MLIB_TRUE@
-+HAVE_OPENGL_FALSE = @HAVE_OPENGL_FALSE@
-+HAVE_OPENGL_TRUE = @HAVE_OPENGL_TRUE@
-+HAVE_OSS_FALSE = @HAVE_OSS_FALSE@
-+HAVE_OSS_TRUE = @HAVE_OSS_TRUE@
-+HAVE_POLYPAUDIO_FALSE = @HAVE_POLYPAUDIO_FALSE@
-+HAVE_POLYPAUDIO_TRUE = @HAVE_POLYPAUDIO_TRUE@
-+HAVE_SDL_FALSE = @HAVE_SDL_FALSE@
-+HAVE_SDL_TRUE = @HAVE_SDL_TRUE@
-+HAVE_SGMLTOOLS_FALSE = @HAVE_SGMLTOOLS_FALSE@
-+HAVE_SGMLTOOLS_TRUE = @HAVE_SGMLTOOLS_TRUE@
-+HAVE_SOLARIS_CDROM = @HAVE_SOLARIS_CDROM@
-+HAVE_SPEEX_FALSE = @HAVE_SPEEX_FALSE@
-+HAVE_SPEEX_TRUE = @HAVE_SPEEX_TRUE@
-+HAVE_STK_FALSE = @HAVE_STK_FALSE@
-+HAVE_STK_TRUE = @HAVE_STK_TRUE@
-+HAVE_SUNAUDIO_FALSE = @HAVE_SUNAUDIO_FALSE@
-+HAVE_SUNAUDIO_TRUE = @HAVE_SUNAUDIO_TRUE@
-+HAVE_SUNDGA_FALSE = @HAVE_SUNDGA_FALSE@
-+HAVE_SUNDGA_TRUE = @HAVE_SUNDGA_TRUE@
-+HAVE_SUNFB_FALSE = @HAVE_SUNFB_FALSE@
-+HAVE_SUNFB_TRUE = @HAVE_SUNFB_TRUE@
-+HAVE_SYNCFB_FALSE = @HAVE_SYNCFB_FALSE@
-+HAVE_SYNCFB_TRUE = @HAVE_SYNCFB_TRUE@
-+HAVE_THEORA_FALSE = @HAVE_THEORA_FALSE@
-+HAVE_THEORA_TRUE = @HAVE_THEORA_TRUE@
-+HAVE_V4L_FALSE = @HAVE_V4L_FALSE@
-+HAVE_V4L_TRUE = @HAVE_V4L_TRUE@
-+HAVE_VCDNAV_FALSE = @HAVE_VCDNAV_FALSE@
-+HAVE_VCDNAV_TRUE = @HAVE_VCDNAV_TRUE@
-+HAVE_VIDIX_FALSE = @HAVE_VIDIX_FALSE@
-+HAVE_VIDIX_TRUE = @HAVE_VIDIX_TRUE@
-+HAVE_VLDXVMC_FALSE = @HAVE_VLDXVMC_FALSE@
-+HAVE_VLDXVMC_TRUE = @HAVE_VLDXVMC_TRUE@
-+HAVE_VORBIS_FALSE = @HAVE_VORBIS_FALSE@
-+HAVE_VORBIS_TRUE = @HAVE_VORBIS_TRUE@
-+HAVE_W32DLL_FALSE = @HAVE_W32DLL_FALSE@
-+HAVE_W32DLL_TRUE = @HAVE_W32DLL_TRUE@
-+HAVE_WAND_FALSE = @HAVE_WAND_FALSE@
-+HAVE_WAND_TRUE = @HAVE_WAND_TRUE@
-+HAVE_WIN32_CDROM = @HAVE_WIN32_CDROM@
-+HAVE_X11_FALSE = @HAVE_X11_FALSE@
-+HAVE_X11_TRUE = @HAVE_X11_TRUE@
-+HAVE_XVMC_FALSE = @HAVE_XVMC_FALSE@
-+HAVE_XVMC_TRUE = @HAVE_XVMC_TRUE@
-+HAVE_XV_FALSE = @HAVE_XV_FALSE@
-+HAVE_XV_TRUE = @HAVE_XV_TRUE@
-+HAVE_XXMC_FALSE = @HAVE_XXMC_FALSE@
-+HAVE_XXMC_TRUE = @HAVE_XXMC_TRUE@
-+HOST_OS_DARWIN_FALSE = @HOST_OS_DARWIN_FALSE@
-+HOST_OS_DARWIN_TRUE = @HOST_OS_DARWIN_TRUE@
-+IMPURE_TEXT_LDFLAGS = @IMPURE_TEXT_LDFLAGS@
-+INCLUDES = @INCLUDES@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_M4_FALSE = @INSTALL_M4_FALSE@
-+INSTALL_M4_TRUE = @INSTALL_M4_TRUE@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+INTLLIBS = @INTLLIBS@
-+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-+IRIXAL_CFLAGS = @IRIXAL_CFLAGS@
-+IRIXAL_LIBS = @IRIXAL_LIBS@
-+IRIXAL_STATIC_LIB = @IRIXAL_STATIC_LIB@
-+KSTAT_LIBS = @KSTAT_LIBS@
-+LDFLAGS = @LDFLAGS@
-+LIBCDIO_CFLAGS = @LIBCDIO_CFLAGS@
-+LIBCDIO_LIBS = @LIBCDIO_LIBS@
-+LIBDTS_CFLAGS = @LIBDTS_CFLAGS@
-+LIBDTS_LIBS = @LIBDTS_LIBS@
-+LIBFAME_CFLAGS = @LIBFAME_CFLAGS@
-+LIBFAME_CONFIG = @LIBFAME_CONFIG@
-+LIBFAME_LIBS = @LIBFAME_LIBS@
-+LIBFFMPEG_CPPFLAGS = @LIBFFMPEG_CPPFLAGS@
-+LIBFLAC_CFLAGS = @LIBFLAC_CFLAGS@
-+LIBFLAC_LIBS = @LIBFLAC_LIBS@
-+LIBICONV = @LIBICONV@
-+LIBINTL = @LIBINTL@
-+LIBISO9660_LIBS = @LIBISO9660_LIBS@
-+LIBMAD_CFLAGS = @LIBMAD_CFLAGS@
-+LIBMAD_LIBS = @LIBMAD_LIBS@
-+LIBMODPLUG_CFLAGS = @LIBMODPLUG_CFLAGS@
-+LIBMODPLUG_LIBS = @LIBMODPLUG_LIBS@
-+LIBMPEG2_CFLAGS = @LIBMPEG2_CFLAGS@
-+LIBNAME = @LIBNAME@
-+LIBOBJS = @LIBOBJS@
-+LIBS = @LIBS@
-+LIBSMBCLIENT_LIBS = @LIBSMBCLIENT_LIBS@
-+LIBSTK_CFLAGS = @LIBSTK_CFLAGS@
-+LIBSTK_LIBS = @LIBSTK_LIBS@
-+LIBTOOL = $(SHELL) $(top_builddir)/libtool-nofpic
-+LIBTOOL_DEPS = @LIBTOOL_DEPS@
-+LIBVCDINFO_LIBS = @LIBVCDINFO_LIBS@
-+LIBVCD_CFLAGS = @LIBVCD_CFLAGS@
-+LIBVCD_LIBS = @LIBVCD_LIBS@
-+LIBVCD_SYSDEP = @LIBVCD_SYSDEP@
-+LINUX_CDROM_TIMEOUT = @LINUX_CDROM_TIMEOUT@
-+LINUX_INCLUDE = @LINUX_INCLUDE@
-+LN_S = @LN_S@
-+LTLIBICONV = @LTLIBICONV@
-+LTLIBINTL = @LTLIBINTL@
-+LTLIBOBJS = @LTLIBOBJS@
-+MAD_FALSE = @MAD_FALSE@
-+MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-+MAKEINFO = @MAKEINFO@
-+MKINSTALLDIRS = @MKINSTALLDIRS@
-+MKNOD = @MKNOD@
-+MLIB_CFLAGS = @MLIB_CFLAGS@
-+MLIB_LIBS = @MLIB_LIBS@
-+MNG_LIBS = @MNG_LIBS@
-+MSGFMT = @MSGFMT@
-+MSGMERGE = @MSGMERGE@
-+NET_LIBS = @NET_LIBS@
-+OBJC = @OBJC@
-+OBJCDEPMODE = @OBJCDEPMODE@
-+OBJCFLAGS = @OBJCFLAGS@
-+OBJDUMP = @OBJDUMP@
-+OBJEXT = @OBJEXT@
-+OGG_CFLAGS = @OGG_CFLAGS@
-+OGG_LIBS = @OGG_LIBS@
-+OPENGL_CFLAGS = @OPENGL_CFLAGS@
-+OPENGL_LIBS = @OPENGL_LIBS@
-+PACKAGE = @PACKAGE@
-+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-+PACKAGE_NAME = @PACKAGE_NAME@
-+PACKAGE_STRING = @PACKAGE_STRING@
-+PACKAGE_TARNAME = @PACKAGE_TARNAME@
-+PACKAGE_VERSION = @PACKAGE_VERSION@
-+PASS1_CFLAGS = @PASS1_CFLAGS@
-+PASS2_CFLAGS = @PASS2_CFLAGS@
-+PATH_SEPARATOR = @PATH_SEPARATOR@
-+PKG_CONFIG = @PKG_CONFIG@
-+POLYPAUDIO_CFLAGS = @POLYPAUDIO_CFLAGS@
-+POLYPAUDIO_LIBS = @POLYPAUDIO_LIBS@
-+POSUB = @POSUB@
-+PPC_ARCH_FALSE = @PPC_ARCH_FALSE@
-+PPC_ARCH_TRUE = @PPC_ARCH_TRUE@
-+RANLIB = @RANLIB@
-+RT_LIBS = @RT_LIBS@
-+SDL_CFLAGS = @SDL_CFLAGS@
-+SDL_CONFIG = @SDL_CONFIG@
-+SDL_LIBS = @SDL_LIBS@
-+SET_MAKE = @SET_MAKE@
-+SGMLTOOLS = @SGMLTOOLS@
-+SHELL = @SHELL@
-+SPEC_VERSION = @SPEC_VERSION@
-+SPEEX_CFLAGS = @SPEEX_CFLAGS@
-+SPEEX_LIBS = @SPEEX_LIBS@
-+STATIC = @STATIC@
-+STRIP = @STRIP@
-+SUNDGA_CFLAGS = @SUNDGA_CFLAGS@
-+SUNDGA_LIBS = @SUNDGA_LIBS@
-+TAR_NAME = @TAR_NAME@
-+THEORAENC_LIBS = @THEORAENC_LIBS@
-+THEORAFILE_LIBS = @THEORAFILE_LIBS@
-+THEORA_CFLAGS = @THEORA_CFLAGS@
-+THEORA_LIBS = @THEORA_LIBS@
-+THREAD_CPPFLAGS = @THREAD_CPPFLAGS@
-+THREAD_LIBS = @THREAD_LIBS@
-+USE_NLS = @USE_NLS@
-+VERSION = @VERSION@
-+VORBISENC_LIBS = @VORBISENC_LIBS@
-+VORBISFILE_LIBS = @VORBISFILE_LIBS@
-+VORBIS_CFLAGS = @VORBIS_CFLAGS@
-+VORBIS_LIBS = @VORBIS_LIBS@
-+W32DLL_DEP = @W32DLL_DEP@
-+W32_NO_OPTIMIZE = @W32_NO_OPTIMIZE@
-+WAND_CFLAGS = @WAND_CFLAGS@
-+WAND_CONFIG = @WAND_CONFIG@
-+WAND_CPPFLAGS = @WAND_CPPFLAGS@
-+WAND_LDFLAGS = @WAND_LDFLAGS@
-+WAND_LIBS = @WAND_LIBS@
-+WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
-+WIN32_FALSE = @WIN32_FALSE@
-+WIN32_TRUE = @WIN32_TRUE@
-+XGETTEXT = @XGETTEXT@
-+XINE_ACFLAGS = @XINE_ACFLAGS@
-+XINE_BIN_AGE = @XINE_BIN_AGE@
-+XINE_BUILD_CC = @XINE_BUILD_CC@
-+XINE_BUILD_DATE = @XINE_BUILD_DATE@
-+XINE_BUILD_OS = @XINE_BUILD_OS@
-+XINE_CONFIG_PREFIX = @XINE_CONFIG_PREFIX@
-+XINE_DATADIR = @XINE_DATADIR@
-+XINE_FONTDIR = @XINE_FONTDIR@
-+XINE_FONTPATH = @XINE_FONTPATH@
-+XINE_IFACE_AGE = @XINE_IFACE_AGE@
-+XINE_LOCALEDIR = @XINE_LOCALEDIR@
-+XINE_LOCALEPATH = @XINE_LOCALEPATH@
-+XINE_LT_AGE = @XINE_LT_AGE@
-+XINE_LT_CURRENT = @XINE_LT_CURRENT@
-+XINE_LT_REVISION = @XINE_LT_REVISION@
-+XINE_MAJOR = @XINE_MAJOR@
-+XINE_MINOR = @XINE_MINOR@
-+XINE_PLUGINDIR = @XINE_PLUGINDIR@
-+XINE_PLUGINPATH = @XINE_PLUGINPATH@
-+XINE_PLUGIN_MIN_SYMS = @XINE_PLUGIN_MIN_SYMS@
-+XINE_SCRIPTPATH = @XINE_SCRIPTPATH@
-+XINE_SUB = @XINE_SUB@
-+XMKMF = @XMKMF@
-+XVMC_LIB = @XVMC_LIB@
-+XV_LIB = @XV_LIB@
-+XXMC_LIB = @XXMC_LIB@
-+X_CFLAGS = @X_CFLAGS@
-+X_EXTRA_LIBS = @X_EXTRA_LIBS@
-+X_LIBS = @X_LIBS@
-+X_PRE_LIBS = @X_PRE_LIBS@
-+ZLIB_CPPFLAGS = @ZLIB_CPPFLAGS@
-+ZLIB_LIBS = @ZLIB_LIBS@
-+ac_ct_CC = @ac_ct_CC@
-+ac_ct_CXX = @ac_ct_CXX@
-+ac_ct_F77 = @ac_ct_F77@
-+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-+am__fastdepOBJC_FALSE = @am__fastdepOBJC_FALSE@
-+am__fastdepOBJC_TRUE = @am__fastdepOBJC_TRUE@
-+am__include = @am__include@
-+am__leading_dot = @am__leading_dot@
-+am__quote = @am__quote@
-+am__tar = @am__tar@
-+am__untar = @am__untar@
-+bindir = @bindir@
-+build = @build@
-+build_alias = @build_alias@
-+build_cpu = @build_cpu@
-+build_os = @build_os@
-+build_vendor = @build_vendor@
-+datadir = @datadir@
-+datarootdir = @datarootdir@
-+docdir = @docdir@
-+dvidir = @dvidir@
-+exec_prefix = @exec_prefix@
-+host = @host@
-+host_alias = @host_alias@
-+host_cpu = @host_cpu@
-+host_os = @host_os@
-+host_vendor = @host_vendor@
-+htmldir = @htmldir@
-+includedir = @includedir@
-+infodir = @infodir@
-+install_sh = @install_sh@
-+libdir = $(XINE_PLUGINDIR)
-+libexecdir = @libexecdir@
-+localedir = @localedir@
-+localstatedir = @localstatedir@
-+mandir = @mandir@
-+mkdir_p = @mkdir_p@
-+oldincludedir = @oldincludedir@
-+pdfdir = @pdfdir@
-+prefix = @prefix@
-+program_transform_name = @program_transform_name@
-+psdir = @psdir@
-+sbindir = @sbindir@
-+sharedstatedir = @sharedstatedir@
-+sysconfdir = @sysconfdir@
-+target = @target@
-+target_alias = @target_alias@
-+target_cpu = @target_cpu@
-+target_os = @target_os@
-+target_vendor = @target_vendor@
-+w32_path = @w32_path@
-+XINE_LIB = $(top_builddir)/src/xine-engine/libxine.la
-+AM_CFLAGS = -D_LARGEFILE64_SOURCE
-+lib_LTLIBRARIES = \
-+ xineplug_inp_vdr.la
-+
-+xineplug_inp_vdr_la_SOURCES = input_vdr.c
-+xineplug_inp_vdr_la_LIBADD = $(XINE_LIB)
-+xineplug_inp_vdr_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-+include_HEADERS = input_vdr.h
-+postlibdir = $(XINE_PLUGINDIR)/post
-+postlib_LTLIBRARIES = \
-+ xineplug_post_vdr.la
-+
-+xineplug_post_vdr_la_SOURCES = post_vdr.c post_vdr_video.c post_vdr_audio.c
-+xineplug_post_vdr_la_LIBADD = $(XINE_LIB)
-+xineplug_post_vdr_la_LDFLAGS = -avoid-version -module @XINE_PLUGIN_MIN_SYMS@
-+noinst_HEADERS = post_vdr.h
-+all: all-am
-+
-+.SUFFIXES:
-+.SUFFIXES: .c .lo .o .obj
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+ @for dep in $?; do \
-+ case '$(am__configure_deps)' in \
-+ *$$dep*) \
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-+ && exit 0; \
-+ exit 1;; \
-+ esac; \
-+ done; \
-+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/vdr/Makefile'; \
-+ cd $(top_srcdir) && \
-+ $(AUTOMAKE) --gnu src/vdr/Makefile
-+.PRECIOUS: Makefile
-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-+ @case '$?' in \
-+ *config.status*) \
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-+ *) \
-+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-+ esac;
-+
-+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-+ @$(NORMAL_INSTALL)
-+ test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
-+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-+ if test -f $$p; then \
-+ f=$(am__strip_dir) \
-+ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
-+ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
-+ else :; fi; \
-+ done
-+
-+uninstall-libLTLIBRARIES:
-+ @$(NORMAL_UNINSTALL)
-+ @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-+ p=$(am__strip_dir) \
-+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
-+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
-+ done
-+
-+clean-libLTLIBRARIES:
-+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-+ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-+ test "$$dir" != "$$p" || dir=.; \
-+ echo "rm -f \"$${dir}/so_locations\""; \
-+ rm -f "$${dir}/so_locations"; \
-+ done
-+install-postlibLTLIBRARIES: $(postlib_LTLIBRARIES)
-+ @$(NORMAL_INSTALL)
-+ test -z "$(postlibdir)" || $(mkdir_p) "$(DESTDIR)$(postlibdir)"
-+ @list='$(postlib_LTLIBRARIES)'; for p in $$list; do \
-+ if test -f $$p; then \
-+ f=$(am__strip_dir) \
-+ echo " $(LIBTOOL) --mode=install $(postlibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(postlibdir)/$$f'"; \
-+ $(LIBTOOL) --mode=install $(postlibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(postlibdir)/$$f"; \
-+ else :; fi; \
-+ done
-+
-+uninstall-postlibLTLIBRARIES:
-+ @$(NORMAL_UNINSTALL)
-+ @set -x; list='$(postlib_LTLIBRARIES)'; for p in $$list; do \
-+ p=$(am__strip_dir) \
-+ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(postlibdir)/$$p'"; \
-+ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(postlibdir)/$$p"; \
-+ done
-+
-+clean-postlibLTLIBRARIES:
-+ -test -z "$(postlib_LTLIBRARIES)" || rm -f $(postlib_LTLIBRARIES)
-+ @list='$(postlib_LTLIBRARIES)'; for p in $$list; do \
-+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-+ test "$$dir" != "$$p" || dir=.; \
-+ echo "rm -f \"$${dir}/so_locations\""; \
-+ rm -f "$${dir}/so_locations"; \
-+ done
-+xineplug_inp_vdr.la: $(xineplug_inp_vdr_la_OBJECTS) $(xineplug_inp_vdr_la_DEPENDENCIES)
-+ $(LINK) -rpath $(libdir) $(xineplug_inp_vdr_la_LDFLAGS) $(xineplug_inp_vdr_la_OBJECTS) $(xineplug_inp_vdr_la_LIBADD) $(LIBS)
-+xineplug_post_vdr.la: $(xineplug_post_vdr_la_OBJECTS) $(xineplug_post_vdr_la_DEPENDENCIES)
-+ $(LINK) -rpath $(postlibdir) $(xineplug_post_vdr_la_LDFLAGS) $(xineplug_post_vdr_la_OBJECTS) $(xineplug_post_vdr_la_LIBADD) $(LIBS)
-+
-+mostlyclean-compile:
-+ -rm -f *.$(OBJEXT)
-+
-+distclean-compile:
-+ -rm -f *.tab.c
-+
-+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/input_vdr.Plo at am__quote@
-+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/post_vdr.Plo at am__quote@
-+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/post_vdr_audio.Plo at am__quote@
-+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/post_vdr_video.Plo at am__quote@
-+
-+.c.o:
-+ at am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-+ at am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ at am__fastdepCC_FALSE@ $(COMPILE) -c $<
-+
-+.c.obj:
-+ at am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-+ at am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ at am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-+
-+.c.lo:
-+ at am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-+ at am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ at am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-+
-+mostlyclean-libtool:
-+ -rm -f *.lo
-+
-+clean-libtool:
-+ -rm -rf .libs _libs
-+
-+distclean-libtool:
-+ -rm -f libtool
-+uninstall-info-am:
-+
-+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ mkid -fID $$unique
-+tags: TAGS
-+
-+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
-+ $(TAGS_FILES) $(LISP)
-+ tags=; \
-+ here=`pwd`; \
-+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-+ test -n "$$unique" || unique=$$empty_fix; \
-+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+ $$tags $$unique; \
-+ fi
-+ctags: CTAGS
-+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
-+ $(TAGS_FILES) $(LISP)
-+ tags=; \
-+ here=`pwd`; \
-+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+ unique=`for i in $$list; do \
-+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+ done | \
-+ $(AWK) ' { files[$$0] = 1; } \
-+ END { for (i in files) print i; }'`; \
-+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
-+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-+ $$tags $$unique
-+
-+GTAGS:
-+ here=`$(am__cd) $(top_builddir) && pwd` \
-+ && cd $(top_srcdir) \
-+ && gtags -i $(GTAGS_ARGS) $$here
-+
-+distclean-tags:
-+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-+
-+distdir: $(DISTFILES)
-+ $(mkdir_p) $(distdir)/../../misc
-+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
-+ list='$(DISTFILES)'; for file in $$list; do \
-+ case $$file in \
-+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
-+ esac; \
-+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
-+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-+ dir="/$$dir"; \
-+ $(mkdir_p) "$(distdir)$$dir"; \
-+ else \
-+ dir=''; \
-+ fi; \
-+ if test -d $$d/$$file; then \
-+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-+ fi; \
-+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-+ else \
-+ test -f $(distdir)/$$file \
-+ || cp -p $$d/$$file $(distdir)/$$file \
-+ || exit 1; \
-+ fi; \
-+ done
-+check-am: all-am
-+check: check-am
-+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-+installdirs:
-+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(postlibdir)" "$(DESTDIR)$(includedir)"; do \
-+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
-+ done
-+install: install-am
-+install-exec: install-exec-am
-+install-data: install-data-am
-+uninstall: uninstall-am
-+
-+install-am: all-am
-+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-+
-+installcheck: installcheck-am
-+install-strip:
-+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+ `test -z '$(STRIP)' || \
-+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-+
-+clean-generic:
-+
-+distclean-generic:
-+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-+clean: clean-am
-+
-+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
-+ clean-postlibLTLIBRARIES mostlyclean-am
-+
-+distclean: distclean-am
-+ -rm -rf ./$(DEPDIR)
-+ -rm -f Makefile
-+distclean-am: clean-am distclean-compile distclean-generic \
-+ distclean-libtool distclean-tags
-+
-+dvi: dvi-am
-+
-+dvi-am:
-+
-+html: html-am
-+
-+info: info-am
-+
-+info-am:
-+
-+install-data-am: install-includeHEADERS install-postlibLTLIBRARIES
-+ @$(NORMAL_INSTALL)
-+ $(MAKE) $(AM_MAKEFLAGS) install-data-hook
-+
-+install-exec-am: install-libLTLIBRARIES
-+
-+install-info: install-info-am
-+
-+install-man:
-+
-+installcheck-am:
-+
-+maintainer-clean: maintainer-clean-am
-+ -rm -rf ./$(DEPDIR)
-+ -rm -f Makefile
-+maintainer-clean-am: distclean-am maintainer-clean-generic
-+
-+mostlyclean: mostlyclean-am
-+
-+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-+ mostlyclean-libtool
-+
-+pdf: pdf-am
-+
-+pdf-am:
-+
-+ps: ps-am
-+
-+ps-am:
-+
-+uninstall-am: uninstall-includeHEADERS uninstall-info-am \
-+ uninstall-libLTLIBRARIES uninstall-postlibLTLIBRARIES
-+ @$(NORMAL_INSTALL)
-+ $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
-+
-+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-+ clean-libLTLIBRARIES clean-libtool clean-postlibLTLIBRARIES \
-+ ctags distclean distclean-compile distclean-generic \
-+ distclean-libtool distclean-tags distdir dvi dvi-am html \
-+ html-am info info-am install install-am install-data \
-+ install-data-am install-data-hook install-exec install-exec-am \
-+ install-includeHEADERS install-info install-info-am \
-+ install-libLTLIBRARIES install-man install-postlibLTLIBRARIES \
-+ install-strip installcheck installcheck-am installdirs \
-+ maintainer-clean maintainer-clean-generic mostlyclean \
-+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-+ pdf pdf-am ps ps-am tags uninstall uninstall-am uninstall-hook \
-+ uninstall-includeHEADERS uninstall-info-am \
-+ uninstall-libLTLIBRARIES uninstall-postlibLTLIBRARIES
-+
-+
-+$(XINE_LIB):
-+ @cd $(top_srcdir)/src/xine-engine && $(MAKE)
-+
-+install-data-hook:
-+ @if test $$MAKELEVEL -le 4 ; then \
-+ if test -x "$(top_srcdir)/post-install.sh" ; then \
-+ $(top_srcdir)/post-install.sh ; \
-+ fi; \
-+ fi; \
-+ if test -x /usr/bin/chcon -a `id -u` -eq 0; then \
-+ list='$(lib_LTLIBRARIES)'; \
-+ if test -n "$$list" ; then \
-+ for p in $$list; do \
-+ p="`echo $$p | sed -e 's/\.la$$/\.so/g;s|^.*/||'`"; \
-+ echo " chcon system_u:object_r:texrel_shlib_t $(DESTDIR)$(libdir)/$$p"; \
-+ chcon system_u:object_r:texrel_shlib_t $(DESTDIR)$(libdir)/$$p || :; \
-+ done; \
-+ fi; \
-+ fi
-+
-+pass1:
-+ @$(MAKE) MULTIPASS_CFLAGS="$(PASS1_CFLAGS)"
-+
-+pass2:
-+ @$(MAKE) MULTIPASS_CFLAGS="$(PASS2_CFLAGS)"
-+
-+debug:
-+ @$(MAKE) CFLAGS="$(DEBUG_CFLAGS)"
-+
-+install-debug: debug
-+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-+ @list='$(SUBDIRS)'; for subdir in $$list; do \
-+ (cd $$subdir && $(MAKE) $@) || exit; \
-+ done;
-+ $(MAKE) $(AM_MAKEFLAGS) install-data-hook
-+
-+install-includeHEADERS: $(include_HEADERS)
-+ @$(NORMAL_INSTALL)
-+ $(install_sh) -d $(DESTDIR)$(includedir)/xine
-+ @list='$(include_HEADERS)'; for p in $$list; do \
-+ if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
-+ echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/xine/$$p"; \
-+ $(INSTALL_DATA) $$d$$p $(DESTDIR)$(includedir)/xine/$$p; \
-+ done
-+
-+uninstall-includeHEADERS:
-+ @$(NORMAL_UNINSTALL)
-+ list='$(include_HEADERS)'; for p in $$list; do \
-+ rm -f $(DESTDIR)$(includedir)/xine/$$p; \
-+ done
-+
-+uninstall-hook:
-+ @if echo '$(libdir)' | egrep ^'$(XINE_PLUGINDIR)' >/dev/null; then \
-+ list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-+ p="`echo $$p | sed -e 's/\.la$$/\.so/g;s|^.*/||'`"; \
-+ echo " rm -f $(DESTDIR)$(libdir)/$$p"; \
-+ rm -f $(DESTDIR)$(libdir)/$$p; \
-+ done; \
-+ fi
-+
-+mostlyclean-generic:
-+ -rm -f *~ \#* .*~ .\#*
-+
-+maintainer-clean-generic:
-+ - at echo "This command is intended for maintainers to use;"
-+ - at echo "it deletes files that may require special tools to rebuild."
-+ -rm -f Makefile.in
-+# Tell versions [3.59,3.63) of GNU make to not export all variables.
-+# Otherwise a system limit (for SysV at least) may be exceeded.
-+.NOEXPORT:
-diff -urNad xine-lib-vdr-1.1.2~/src/video_out/Makefile.in xine-lib-vdr-1.1.2/src/video_out/Makefile.in
---- xine-lib-vdr-1.1.2~/src/video_out/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/video_out/Makefile.in 2006-09-02 14:34:20.728772627 +0100
-@@ -564,6 +564,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -851,7 +854,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .m .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -876,9 +879,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/video_out/libdha/Makefile.in xine-lib-vdr-1.1.2/src/video_out/libdha/Makefile.in
---- xine-lib-vdr-1.1.2~/src/video_out/libdha/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/video_out/libdha/Makefile.in 2006-09-02 14:34:21.096777804 +0100
-@@ -374,6 +374,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -549,7 +552,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -574,9 +577,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/video_out/libdha/bin/Makefile.in xine-lib-vdr-1.1.2/src/video_out/libdha/bin/Makefile.in
---- xine-lib-vdr-1.1.2~/src/video_out/libdha/bin/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/video_out/libdha/bin/Makefile.in 2006-09-02 14:34:21.360781517 +0100
-@@ -338,6 +338,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -501,7 +504,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -526,9 +529,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/video_out/libdha/kernelhelper/Makefile.in xine-lib-vdr-1.1.2/src/video_out/libdha/kernelhelper/Makefile.in
---- xine-lib-vdr-1.1.2~/src/video_out/libdha/kernelhelper/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/video_out/libdha/kernelhelper/Makefile.in 2006-09-02 14:34:21.680786018 +0100
-@@ -357,6 +357,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -528,7 +531,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -553,9 +556,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES)
- @rm -f test$(EXEEXT)
-diff -urNad xine-lib-vdr-1.1.2~/src/video_out/libdha/oth/Makefile.in xine-lib-vdr-1.1.2/src/video_out/libdha/oth/Makefile.in
---- xine-lib-vdr-1.1.2~/src/video_out/libdha/oth/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/video_out/libdha/oth/Makefile.in 2006-09-02 14:34:21.948789788 +0100
-@@ -338,6 +338,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -501,7 +504,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -526,9 +529,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/video_out/libdha/sysdep/Makefile.in xine-lib-vdr-1.1.2/src/video_out/libdha/sysdep/Makefile.in
---- xine-lib-vdr-1.1.2~/src/video_out/libdha/sysdep/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/video_out/libdha/sysdep/Makefile.in 2006-09-02 14:34:22.224793670 +0100
-@@ -342,6 +342,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -538,7 +541,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -563,9 +566,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/src/video_out/macosx/Makefile.in xine-lib-vdr-1.1.2/src/video_out/macosx/Makefile.in
---- xine-lib-vdr-1.1.2~/src/video_out/macosx/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/video_out/macosx/Makefile.in 2006-09-02 14:34:22.572798565 +0100
-@@ -374,6 +374,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -555,7 +558,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .lo .m .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -580,9 +583,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/video_out/vidix/Makefile.in xine-lib-vdr-1.1.2/src/video_out/vidix/Makefile.in
---- xine-lib-vdr-1.1.2~/src/video_out/vidix/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/video_out/vidix/Makefile.in 2006-09-02 14:34:22.920803460 +0100
-@@ -367,6 +367,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -541,7 +544,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -566,9 +569,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/src/video_out/vidix/drivers/Makefile.in xine-lib-vdr-1.1.2/src/video_out/vidix/drivers/Makefile.in
---- xine-lib-vdr-1.1.2~/src/video_out/vidix/drivers/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/video_out/vidix/drivers/Makefile.in 2006-09-02 14:34:23.384809987 +0100
-@@ -421,6 +421,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -637,7 +640,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -662,9 +665,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/xine-engine/Makefile.in xine-lib-vdr-1.1.2/src/xine-engine/Makefile.in
---- xine-lib-vdr-1.1.2~/src/xine-engine/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/xine-engine/Makefile.in 2006-09-02 14:34:23.764815332 +0100
-@@ -377,6 +377,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -576,7 +579,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(top_srcdir)/lib/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(top_srcdir)/lib/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -601,9 +604,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
- install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
-diff -urNad xine-lib-vdr-1.1.2~/src/xine-utils/Makefile.in xine-lib-vdr-1.1.2/src/xine-utils/Makefile.in
---- xine-lib-vdr-1.1.2~/src/xine-utils/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/src/xine-utils/Makefile.in 2006-09-02 14:34:24.152820789 +0100
-@@ -377,6 +377,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -577,7 +580,7 @@
-
- .SUFFIXES:
- .SUFFIXES: .S .c .lo .o .obj
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -602,9 +605,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- clean-noinstLTLIBRARIES:
-diff -urNad xine-lib-vdr-1.1.2~/win32/Makefile.in xine-lib-vdr-1.1.2/win32/Makefile.in
---- xine-lib-vdr-1.1.2~/win32/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/win32/Makefile.in 2006-09-02 14:34:24.432824728 +0100
-@@ -347,6 +347,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -521,7 +524,7 @@
- all: all-recursive
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -546,9 +549,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
-diff -urNad xine-lib-vdr-1.1.2~/win32/include/Makefile.in xine-lib-vdr-1.1.2/win32/include/Makefile.in
---- xine-lib-vdr-1.1.2~/win32/include/Makefile.in 2006-09-02 14:32:50.000000000 +0100
-+++ xine-lib-vdr-1.1.2/win32/include/Makefile.in 2006-09-02 14:34:24.692828385 +0100
-@@ -338,6 +338,9 @@
- LTLIBOBJS = @LTLIBOBJS@
- MAD_FALSE = @MAD_FALSE@
- MAD_TRUE = @MAD_TRUE@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
- MAKEINFO = @MAKEINFO@
- MKINSTALLDIRS = @MKINSTALLDIRS@
- MKNOD = @MKNOD@
-@@ -513,7 +516,7 @@
- all: all-am
-
- .SUFFIXES:
--$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/misc/Makefile.common $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
-@@ -538,9 +541,9 @@
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
--$(top_srcdir)/configure: $(am__configure_deps)
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
--$(ACLOCAL_M4): $(am__aclocal_m4_deps)
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
- mostlyclean-libtool:
Modified: general/xine-lib-vdr/trunk/debian/rules
===================================================================
--- general/xine-lib-vdr/trunk/debian/rules 2007-01-13 14:06:18 UTC (rev 3856)
+++ general/xine-lib-vdr/trunk/debian/rules 2007-01-13 14:13:14 UTC (rev 3857)
@@ -65,7 +65,7 @@
CONFIGURE_FLAGS := --prefix=/usr \
--mandir=\$${prefix}/share/man \
--with-external-libmad \
- $(dpkg --compare-versions `dpkg -s libavcodec-dev | sed -e '/^Version:/! d; s/^.* //'` ge 0.cvs20060329 && echo --with-external-ffmpeg) \
+ --with-external-ffmpeg \
--with-external-a52dec \
--with-external-libdts \
--disable-cacatest \
@@ -76,7 +76,15 @@
configure: patch configure-stamp
configure-stamp:
dh_testdir
+ifeq (,$(findstring noauto,$(DEB_BUILD_OPTIONS)))
+ # let's run autohell on the buildds!
+ -rm -f .noauto
+ chmod +x ./autogen.sh
+ ./autogen.sh $(CONFIGURE_FLAGS)
+else
+ touch .noauto
./configure $(CONFIGURE_FLAGS)
+endif
touch configure-stamp
build: patch configure-stamp build-stamp
@@ -97,6 +105,10 @@
dh_testroot
rm -f build-stamp configure-stamp po/*.gmo po/stamp-po
-$(MAKE) distclean
+ # remove more cruft leftover by autohell
+ rm -f doc/faq/faq.html doc/faq/faq.txt doc/hackersguide/hackersguide.html m4/caca.m4
+ -test -f .noauto || find . -name Makefile.in -print | xargs rm
+ test -f .noauto || rm -rf compile config.guess configure depcomp install-sh ltmain.sh missing aclocal.m4 config.h.in
dh_clean
install: build
More information about the pkg-vdr-dvb-changes
mailing list