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 &copy; 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 &quot;gnome-xine&quot;?</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&trade;) 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"
-->&#60;<A
--HREF="mailto:xine-user at lists.sourceforge.net"
-->xine-user at lists.sourceforge.net</A
-->&#62;</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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->cvs -d :pserver:anonymous at xine.cvs.sourceforge.net:/cvsroot/xine co &lt;modulename&gt;</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 &quot;gnome-xine&quot;?</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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->./configure</B
-->
--&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->./configure</B
-->
--&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->export PATH="$prefix/bin:$PATH"</B
-->
--&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->./autogen.sh</B
--> [-&#62; *only* if you checked your sources out of CVS]
--&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->./configure</B
-->
--&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->make</B
-->
--&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->rpmbuild -ta &lt;THE_NAME_OF_YOUR_SOURCE_TAR_BALL&gt;</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/&lt;YOUR_ARCHITECTURE&gt;</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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->./autogen.sh &amp;&amp; make clean &#38;&#38; 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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->tar xzf &lt;PACKAGE-VER.tar.gz&gt;</B
-->
--&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->cd &lt;PACKAGE-VER&gt;</B
-->
--&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->./autogen.sh noconfig</B
-->
--&nbsp;&nbsp;&nbsp;<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 &lt;PACKAGES&gt;</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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->cd ..</B
-->
--&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->ls *.deb</B
-->
--&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->su - -c 'cd '"`pwd`"' &#38;&#38; dpkg -i &lt;DEB_PACKAGES&gt;'</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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->./configure CC="/opt/intel/bin/icc" LD="/opt/intel/bin/xild" \
--&nbsp;&nbsp;&nbsp;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&trade;) 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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;/usr/X11R6/lib/libXv.a
--&nbsp;&nbsp;&nbsp;/usr/X11R6/lib/libXv.so
--&nbsp;&nbsp;&nbsp;/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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->ld --whole-archive -shared -o libXv.so.1 libXv.a</B
-->
--&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->ln -s libXv.so.1 libXv.so</B
-->
--&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->export PATH="$HOME/xine/bin:$PATH"</B
-->
--&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->./configure --prefix=$HOME/xine</B
-->
--&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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 &lt;device&gt;</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&amp;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&amp;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&amp;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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->xine-check</B
-->
--&nbsp;&nbsp;&nbsp;Please be patient, this script may take a while to run...
--&nbsp;&nbsp;&nbsp;[ good ] you're using Linux, doing specific tests
--&nbsp;&nbsp;&nbsp;[ good ] looks like you have a /proc filesystem mounted.
--&nbsp;&nbsp;&nbsp;[ good ] You seem to have a reasonable kernel version (2.4.18)
--&nbsp;&nbsp;&nbsp;[ good ] intel compatible processor, checking MTRR support
--&nbsp;&nbsp;&nbsp;[ good ] you have MTRR support and there are some ranges set.
--&nbsp;&nbsp;&nbsp;[ good ] found the player at /usr/local/bin/xine
--&nbsp;&nbsp;&nbsp;[ good ] /usr/local/bin/xine is in your PATH
--&nbsp;&nbsp;&nbsp;[ good ] found /usr/local/bin/xine-config in your PATH
--&nbsp;&nbsp;&nbsp;[ good ] plugin directory /usr/local/lib/xine/plugins exists.
--&nbsp;&nbsp;&nbsp;[ good ] found input plugins
--&nbsp;&nbsp;&nbsp;[ good ] found demux plugins
--&nbsp;&nbsp;&nbsp;[ good ] found decoder plugins
--&nbsp;&nbsp;&nbsp;[ good ] found video_out plugins
--&nbsp;&nbsp;&nbsp;[ good ] found audio_out plugins
--&nbsp;&nbsp;&nbsp;[ good ] skin directory /usr/local/share/xine/skins exists.
--&nbsp;&nbsp;&nbsp;[ good ] found logo in /usr/local/share/xine/skins
--&nbsp;&nbsp;&nbsp;[ good ] I even found some skins.
--&nbsp;&nbsp;&nbsp;[ good ] /dev/cdrom points to /dev/hdc
--&nbsp;&nbsp;&nbsp;[ good ] /dev/dvd points to /dev/hdc
--&nbsp;&nbsp;&nbsp;[ good ] DMA is enabled for your DVD drive
--&nbsp;&nbsp;&nbsp;[ good ] found xvinfo: X-Video Extension version 2.2
--&nbsp;&nbsp;&nbsp;[ good ] your Xv extension supports YUV overlays (improves MPEG performance)
--&nbsp;&nbsp;&nbsp;[ good ] your Xv extension supports packed YUV overlays
--&nbsp;&nbsp;&nbsp;[ 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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->hdparm /dev/hda</B
-->
--&nbsp;&nbsp;&nbsp;[...]
--&nbsp;&nbsp;&nbsp;using_dma    =  1 (on)
--&nbsp;&nbsp;&nbsp;[...]</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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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 ;&#62; ... 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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;audio.output.speaker_arrangement:Surround 4.0
--&nbsp;&nbsp;&nbsp;audio.output.speaker_arrangement:Surround 4.1
--&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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 &#62;= 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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;# delete emu10k1
--&nbsp;&nbsp;&nbsp;# delete ac97_codec
--&nbsp;&nbsp;&nbsp;# 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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;CARD_IS_5_1=yes
--&nbsp;&nbsp;&nbsp;USE_DIGITAL_OUTPUT=yes
--&nbsp;&nbsp;&nbsp;ENABLE_TONE_CONTROL=yes
--&nbsp;&nbsp;&nbsp;AC3PASSTHROUGH=yes
--&nbsp;&nbsp;&nbsp;ENABLE_LIVEDRIVE_IR=no
--&nbsp;&nbsp;&nbsp;INVERT_REAR=no
--&nbsp;&nbsp;&nbsp;MULTICHANNEL=yes
--&nbsp;&nbsp;&nbsp;ROUTE_ALL_TO_SUB=no
--&nbsp;&nbsp;&nbsp;ANALOG_FRONT_BOOST=no
--&nbsp;&nbsp;&nbsp;SURROUND=no
--&nbsp;&nbsp;&nbsp;PROLOGIC=no
--&nbsp;&nbsp;&nbsp;ENABLE_CD_Spdif=yes  
--&nbsp;&nbsp;&nbsp;ENABLE_OPTICAL_SPDIF=no 
--&nbsp;&nbsp;&nbsp;ENABLE_LINE2_MIC2=no    
--&nbsp;&nbsp;&nbsp;ENABLE_RCA_SPDIF=no     
--&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;alias sound-slot-0 emu10k1
--&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;center pin jackplug ------|----- center pin RCA plug
--&nbsp;&nbsp;&nbsp;                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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;Section "Monitor"
--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Identifier   "Monitor0"
--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VendorName   "Monitor Vendor"
--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ModelName    "DDC Probed Monitor - ViewSonic G773-2"
--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DisplaySize  320	240
--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HorizSync    30.0 - 70.0
--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VertRefresh  50.0 - 180.0
--&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;gui.osd_use_unscaled:0</PRE
--></TD
--></TR
--></TABLE
-->
--     <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<B
--CLASS="COMMAND"
-->./xine-fontconv Aril_Bold.ttf sans iso-8859-1 iso-8859-2 iso-8859-5 \
--&nbsp;&nbsp;&nbsp;                                   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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&nbsp;&nbsp;&nbsp;<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"
-->&#60;<A
--HREF="mailto:xine-user at lists.sourceforge.net"
-->xine-user at lists.sourceforge.net</A
-->&#62;</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"
-->&#60;<A
--HREF="mailto:xine-user at lists.sourceforge.net"
-->xine-user at lists.sourceforge.net</A
-->&#62;</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 &copy; 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"
-->&#60;<A
--HREF="mailto:xine-docs at lists.sourceforge.net"
-->xine-docs at lists.sourceforge.net</A
-->&#62;</CODE
-->.
--   Questions about xine hacking in general should be sent to the
--   developer mailing list <CODE
--CLASS="EMAIL"
-->&#60;<A
--HREF="mailto:xine-devel at lists.sourceforge.net"
-->xine-devel at lists.sourceforge.net</A
-->&#62;</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 &lt;segfault at club-internet.fr&gt;
--**  
--** 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 &lt;stdio.h&gt;
--#include &lt;string.h&gt;
--#include &lt;math.h&gt;
--
--#include &lt;X11/X.h&gt;
--#include &lt;X11/Xlib.h&gt;
--#include &lt;X11/Xutil.h&gt;
--#include &lt;X11/keysym.h&gt;
--#include &lt;X11/Xatom.h&gt;
--#include &lt;X11/Xutil.h&gt;
--#include &lt;X11/extensions/XShm.h&gt;
--
--#include &lt;xine.h&gt;
--#include &lt;xine/xineutils.h&gt;
--
--
--#define MWM_HINTS_DECORATIONS   (1L &lt;&lt; 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-&gt;type) { 
--  case XINE_EVENT_UI_PLAYBACK_FINISHED:
--    running = 0;
--    break;
--
--  case XINE_EVENT_PROGRESS:
--    {
--      xine_progress_data_t *pevent = (xine_progress_data_t *) event-&gt;data;
--      
--      printf("%s [%d%%]\n", pevent-&gt;description, pevent-&gt;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 &lt; 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 *) &amp;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 *)&amp;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, &amp;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(&amp;kevent, kbuf, sizeof(kbuf), &amp;ksym, NULL);
--        XUnlockDisplay(display);
--        
--        switch (ksym) {
--        
--        case XK_q:
--        case XK_Q:
--          /* user pressed q =&#62; quit */
--          running = 0;
--          break;
--          
--        case XK_f:
--        case XK_F:
--          {
--            /* user pressed f =&#62; 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, &amp;xpos, &amp;ypos, &amp;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 =&#62; 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 =&#62; decrease volume */
--          xine_set_param(stream, XINE_PARAM_AUDIO_VOLUME,
--                         (xine_get_param(stream, XINE_PARAM_AUDIO_VOLUME) - 1));
--          break;
--        
--        case XK_plus:
--          /* plus =&#62; 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 =&#62; 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 =&#62; 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, &amp;xevent);
--      break;
--      
--    case ConfigureNotify:
--      {
--        XConfigureEvent *cev = (XConfigureEvent *) &amp;xevent;
--        Window           tmp_win;
--        
--        width  = cev-&gt;width;
--        height = cev-&gt;height;
--        
--        if ((cev-&gt;x == 0) &amp;&amp; (cev-&gt;y == 0)) {
--          XLockDisplay(display);
--          XTranslateCoordinates(display, cev-&gt;window,
--                                DefaultRootWindow(cev-&gt;display),
--                                0, 0, &amp;xpos, &amp;ypos, &amp;tmp_win);
--          XUnlockDisplay(display);
--        } else {
--          xpos = cev-&gt;x;
--          ypos = cev-&gt;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"
-->&nbsp;&nbsp;&nbsp;typedef struct my_stack_s my_class_t;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;struct my_stack_s {
--&nbsp;&nbsp;&nbsp;  /* method "push" with one parameter and no return value */
--&nbsp;&nbsp;&nbsp;  void (*push)(my_stack_t *this, int i);
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;  /* method "add" with no parameters and no return value */
--&nbsp;&nbsp;&nbsp;  void (*add)(my_stack_t *this);
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;  /* method "pop" with no parameters (except "this") and a return value */
--&nbsp;&nbsp;&nbsp;  int (*pop) (my_stack_t *this);
--&nbsp;&nbsp;&nbsp;};
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* constructor */
--&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;typedef struct {
--&nbsp;&nbsp;&nbsp;  my_stack_t    stack; /* public part */
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;  /* private part follows here */
--&nbsp;&nbsp;&nbsp;  int           values[MAX_STACK_SIZE]; 
--&nbsp;&nbsp;&nbsp;  int           stack_size;
--&nbsp;&nbsp;&nbsp;} 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"
-->&nbsp;&nbsp;&nbsp;static void push (my_stack_t *this_gen, int i) {
--&nbsp;&nbsp;&nbsp;  intstack_t *this = (intstack_t *)this_gen;
--&nbsp;&nbsp;&nbsp;  this-&#62;values[MAX_STACK_SIZE - ++this-&#62;stack_size] = i;
--&nbsp;&nbsp;&nbsp;}</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"
-->&nbsp;&nbsp;&nbsp;struct my_stack_s {
--&nbsp;&nbsp;&nbsp;  void (*push)(my_stack_t *this, int i);
--&nbsp;&nbsp;&nbsp;  void (*add)(my_stack_t *this);
--&nbsp;&nbsp;&nbsp;  int  (*pop)(my_stack_t *this);
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;#ifdef STACK_INTERNAL
--&nbsp;&nbsp;&nbsp;  void (*flush)(my_stack_t *this);
--&nbsp;&nbsp;&nbsp;#endif
--&nbsp;&nbsp;&nbsp;};</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"
-->&nbsp;&nbsp;&nbsp;#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"
-->&nbsp;&nbsp;&nbsp;my_stack_t *new_my_stack(void) {
--&nbsp;&nbsp;&nbsp;  intstack_t *this;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;  /* alloc memory */
--&nbsp;&nbsp;&nbsp;  this = malloc(sizeof(intstack_t));
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;  /* fill in methods */
--&nbsp;&nbsp;&nbsp;  this-&#62;push = push;
--&nbsp;&nbsp;&nbsp;  this-&#62;add  = add;
--&nbsp;&nbsp;&nbsp;  this-&#62;pop  = pop;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;  /* init data fields */
--&nbsp;&nbsp;&nbsp;  this-&#62;stack_size = 0;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;  /* return public part */
--&nbsp;&nbsp;&nbsp;  return &amp;this-&#62;stack;
--&nbsp;&nbsp;&nbsp;}</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"
-->&nbsp;&nbsp;&nbsp;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-&#62;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"
-->&nbsp;&nbsp;&nbsp;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-&#62;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;lprintf(const char *format, ...);
--&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;#define LOG_LOAD 1
--&nbsp;&nbsp;&nbsp;#define LOG_SAVE 0
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;llprintf(LOG_LOAD, "loading was successful\n");
--&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;#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"
-->&nbsp;&nbsp;&nbsp;/usr/local/lib/xine/plugins
--&nbsp;&nbsp;&nbsp;  xine-lib-0.9.11
--&nbsp;&nbsp;&nbsp;      demux_mpeg_block.so
--&nbsp;&nbsp;&nbsp;      decode_mpeg.so
--&nbsp;&nbsp;&nbsp;      video_out_xv.so
--&nbsp;&nbsp;&nbsp;      ...
--&nbsp;&nbsp;&nbsp;  xine-vcdnav-0.9.11
--&nbsp;&nbsp;&nbsp;      input_vcdnav.so
--&nbsp;&nbsp;&nbsp;  xine-lib-1.2
--&nbsp;&nbsp;&nbsp;      input
--&nbsp;&nbsp;&nbsp;          file.so
--&nbsp;&nbsp;&nbsp;          stdin_fifo.so
--&nbsp;&nbsp;&nbsp;          vcd.so
--&nbsp;&nbsp;&nbsp;      demuxers
--&nbsp;&nbsp;&nbsp;          fli.so
--&nbsp;&nbsp;&nbsp;          avi.so
--&nbsp;&nbsp;&nbsp;          ...
--&nbsp;&nbsp;&nbsp;      decoders
--&nbsp;&nbsp;&nbsp;          ffmpeg.so
--&nbsp;&nbsp;&nbsp;          mpeg.so (may contain mpeg 1/2 audio and video decoders)
--&nbsp;&nbsp;&nbsp;          pcm.so
--&nbsp;&nbsp;&nbsp;          ...
--&nbsp;&nbsp;&nbsp;      output
--&nbsp;&nbsp;&nbsp;          video_xv.so
--&nbsp;&nbsp;&nbsp;          audio_oss.so
--&nbsp;&nbsp;&nbsp;          ...
--&nbsp;&nbsp;&nbsp;  xine-lib-3.0
--&nbsp;&nbsp;&nbsp;          avi.so (avi demuxer)
--&nbsp;&nbsp;&nbsp;          mpeg.so (contains mpeg demuxers and audio/video decoders)
--&nbsp;&nbsp;&nbsp;          video_out_xv.so (Xv video out)
--&nbsp;&nbsp;&nbsp;          ...</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"
-->&nbsp;&nbsp;&nbsp;plugin_info_t xine_plugin_info[] = {
--&nbsp;&nbsp;&nbsp;  /* type, API, "name", version, special_info, init_function */  
--&nbsp;&nbsp;&nbsp;  { PLUGIN_DEMUX, 20, "flac", XINE_VERSION_CODE, NULL, demux_flac_init_class },
--&nbsp;&nbsp;&nbsp;  { PLUGIN_AUDIO_DECODER, 13, "flacdec", XINE_VERSION_CODE, &amp;dec_info_audio, init_plugin },
--&nbsp;&nbsp;&nbsp;  { PLUGIN_NONE, 0, "", 0, NULL, NULL }
--&nbsp;&nbsp;&nbsp;};</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"
-->&nbsp;&nbsp;&nbsp;#define PLUGIN_NONE           0
--&nbsp;&nbsp;&nbsp;#define PLUGIN_INPUT          1
--&nbsp;&nbsp;&nbsp;#define PLUGIN_DEMUX          2
--&nbsp;&nbsp;&nbsp;#define PLUGIN_AUDIO_DECODER  3
--&nbsp;&nbsp;&nbsp;#define PLUGIN_VIDEO_DECODER  4
--&nbsp;&nbsp;&nbsp;#define PLUGIN_SPU_DECODER    5
--&nbsp;&nbsp;&nbsp;#define PLUGIN_AUDIO_OUT      6
--&nbsp;&nbsp;&nbsp;#define PLUGIN_VIDEO_OUT      7
--&nbsp;&nbsp;&nbsp;#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"
-->&nbsp;&nbsp;&nbsp;#include &lt;xine/plugin.h&gt;
--&nbsp;&nbsp;&nbsp;...
--&nbsp;&nbsp;&nbsp;plugin_t *init_api12(void) {
--&nbsp;&nbsp;&nbsp;  input_plugin_t *this;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;  this = malloc(sizeof(input_plugin_t));
--&nbsp;&nbsp;&nbsp;  ...
--&nbsp;&nbsp;&nbsp;  return (plugin_t *)this;
--&nbsp;&nbsp;&nbsp;}
--&nbsp;&nbsp;&nbsp;/* same thing, with different initialization for API 13 */
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;const plugin_info_t xine_plugin_info[] = {
--&nbsp;&nbsp;&nbsp;  { PLUGIN_INPUT, 12, "file", 21307, init_api12 },
--&nbsp;&nbsp;&nbsp;  { PLUGIN_INPUT, 13, "file", 21307, init_api13 },
--&nbsp;&nbsp;&nbsp;  { PLUGIN_NONE, 0, "", 0, NULL }
--&nbsp;&nbsp;&nbsp;}</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"
-->&nbsp;&nbsp;&nbsp;typedef struct {
--&nbsp;&nbsp;&nbsp;  /* public fields "inherited" from demux.h */
--&nbsp;&nbsp;&nbsp;  demux_plugin_t    demux_plugin;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;  xine_t           *xine;
--&nbsp;&nbsp;&nbsp;  int               count;
--&nbsp;&nbsp;&nbsp;} 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"
-->&nbsp;&nbsp;&nbsp;/* By adding gap errors (difference between reported and expected
--&nbsp;&nbsp;&nbsp; * sound card clock) into metronom's vpts_offset we can use its 
--&nbsp;&nbsp;&nbsp; * smoothing algorithms to correct sound card clock drifts.
--&nbsp;&nbsp;&nbsp; * obs: previously this error was added to xine scr.
--&nbsp;&nbsp;&nbsp; *
--&nbsp;&nbsp;&nbsp; * audio buf ---&#62; metronom --&#62; audio fifo --&#62; (buf-&#62;vpts - hw_vpts)
--&nbsp;&nbsp;&nbsp; *           (vpts_offset + error)                     gap
--&nbsp;&nbsp;&nbsp; *                    &#60;---------- control --------------|
--&nbsp;&nbsp;&nbsp; *
--&nbsp;&nbsp;&nbsp; * Unfortunately audio fifo adds a large delay to our closed loop.
--&nbsp;&nbsp;&nbsp; *
--&nbsp;&nbsp;&nbsp; * These are designed to avoid updating the metronom too fast.
--&nbsp;&nbsp;&nbsp; * - it will only be updated 1 time per second (so it has a chance of
--&nbsp;&nbsp;&nbsp; *   distributing the error for several frames).
--&nbsp;&nbsp;&nbsp; * - it will only be updated 2 times for the whole audio fifo size
--&nbsp;&nbsp;&nbsp; *   length (so the control will wait to see the feedback effect)
--&nbsp;&nbsp;&nbsp; * - each update will be of gap/SYNC_GAP_RATE.
--&nbsp;&nbsp;&nbsp; *
--&nbsp;&nbsp;&nbsp; * Sound card clock correction can only provide smooth playback for
--&nbsp;&nbsp;&nbsp; * errors &#60; 1% nominal rate. For bigger errors (bad streams) audio
--&nbsp;&nbsp;&nbsp; * buffers may be dropped or gaps filled with silence.
--&nbsp;&nbsp;&nbsp; */</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"
-->&nbsp;&nbsp;&nbsp;/* Alternative for metronom feedback: fix sound card clock drift
--&nbsp;&nbsp;&nbsp; * by resampling all audio data, so that the sound card keeps in
--&nbsp;&nbsp;&nbsp; * sync with the system clock. This may help, if one uses a DXR3/H+
--&nbsp;&nbsp;&nbsp; * decoder board. Those have their own clock (which serves as xine's
--&nbsp;&nbsp;&nbsp; * master clock) and can only operate at fixed frame rates (if you
--&nbsp;&nbsp;&nbsp; * want smooth playback). Resampling then avoids A/V sync problems,
--&nbsp;&nbsp;&nbsp; * gaps filled with 0-frames and jerky video playback due to different
--&nbsp;&nbsp;&nbsp; * clock speeds of the sound card and DXR3/H+.
--&nbsp;&nbsp;&nbsp; */</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"
-->&nbsp;&nbsp;&nbsp;video_overlay_event_t       event;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;event.object.handle = this-&#62;video_overlay-&#62;get_handle(this-&#62;video_overlay,0);
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;memset(this-&#62;event.object.overlay, 0, sizeof(*this-&#62;event.object.overlay));
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* set position and size for this overlay */
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;x = 0;
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;y = 0;
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;width = 100;
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;height = 100;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* clipping region is mostly used by dvd menus for highlighting buttons */ 
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;clip_top    = 0;
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;clip_bottom = image_height;
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;clip_left   = 0;
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;clip_right  = image_width;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* the hard part: provide a RLE image */   
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;rle = your_rle;
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;data_size = your_size;
--&nbsp;&nbsp;&nbsp;event.object.overlay-&#62;num_rle = your_rle_count;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* palette must contain YUV values for each color index */
--&nbsp;&nbsp;&nbsp;memcpy(event.object.overlay-&#62;clip_color, color, sizeof(color));
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* this table contains transparency levels for each color index.
--&nbsp;&nbsp;&nbsp;   0 = completely transparent, 15 - completely opaque */
--&nbsp;&nbsp;&nbsp;memcpy(event.object.overlay-&#62;clip_trans, trans, sizeof(trans)); 
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* set the event type and time for displaying */
--&nbsp;&nbsp;&nbsp;event.event_type = EVENT_SHOW_SPU;
--&nbsp;&nbsp;&nbsp;event.vpts = 0; /* zero is a special vpts value, it means 'now' */
--&nbsp;&nbsp;&nbsp;video_overlay-&#62;add_event(video_overlay, &amp;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"
-->&nbsp;&nbsp;&nbsp;osd_object_t osd;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;osd = this-&#62;osd_renderer-&#62;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"
-->&nbsp;&nbsp;&nbsp;/* set sans serif 24 font */
--&nbsp;&nbsp;&nbsp;osd_renderer-&#62;set_font(osd, "sans", 24);
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* copy pre-defined colors for white, black border, transparent background to
--&nbsp;&nbsp;&nbsp;   starting at the index used by the first text palette */
--&nbsp;&nbsp;&nbsp;osd_renderer-&#62;set_text_palette(osd, TEXTPALETTE_WHITE_BLACK_TRANSPARENT, OSD_TEXT1);
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* copy pre-defined colors for white, no border, translucid background to
--&nbsp;&nbsp;&nbsp;   starting at the index used by the second text palette */
--&nbsp;&nbsp;&nbsp;osd_renderer-&#62;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"
-->&nbsp;&nbsp;&nbsp;osd_renderer-&#62;render_text(osd, 0, 0, "white text, black border", OSD_TEXT1);
--&nbsp;&nbsp;&nbsp;osd_renderer-&#62;render_text(osd, 0, 30, "white text, no border", OSD_TEXT2);
--&nbsp;&nbsp;&nbsp;      
--&nbsp;&nbsp;&nbsp;osd_renderer-&#62;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"
-->&nbsp;&nbsp;&nbsp;for( i=0; i &lt; 100; i+=10 ) {
--&nbsp;&nbsp;&nbsp;  osd_renderer-&#62;set_position(osd, i, i );
--&nbsp;&nbsp;&nbsp;  osd_renderer-&#62;show(osd, 0);
--&nbsp;&nbsp;&nbsp;  sleep(1);
--&nbsp;&nbsp;&nbsp;}
--&nbsp;&nbsp;&nbsp;osd_renderer-&#62;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"
-->&nbsp;&nbsp;&nbsp;/* 
--&nbsp;&nbsp;&nbsp; Palette entries as used by osd fonts:
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp; 0: not used by font, always transparent
--&nbsp;&nbsp;&nbsp; 1: font background, usually transparent, may be used to implement
--&nbsp;&nbsp;&nbsp;    translucid boxes where the font will be printed.
--&nbsp;&nbsp;&nbsp; 2-5: transition between background and border (usually only alpha
--&nbsp;&nbsp;&nbsp;      value changes).
--&nbsp;&nbsp;&nbsp; 6: font border. if the font is to be displayed without border this
--&nbsp;&nbsp;&nbsp;    will probably be adjusted to font background or near.
--&nbsp;&nbsp;&nbsp; 7-9: transition between border and foreground
--&nbsp;&nbsp;&nbsp; 10: font color (foreground)   
--&nbsp;&nbsp;&nbsp;*/</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"
-->&nbsp;&nbsp;&nbsp;/* obtains size the text will occupy */
--&nbsp;&nbsp;&nbsp;renderer-&#62;get_text_size(osd, text, &amp;width, &amp;height);
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* draws a box using font background color (translucid) */
--&nbsp;&nbsp;&nbsp;renderer-&#62;filled_rect(osd, x1, y1, x1+width, y1+height, OSD_TEXT2 + 1);
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;/* render text */     
--&nbsp;&nbsp;&nbsp;renderer-&#62;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 &lt;input_source&gt; 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 &lt;stream_setup&gt; 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"
-->&nbsp;&nbsp;&nbsp;&lt;mrl&gt;           ::= &lt;input_source&gt;[#&lt;stream_setup&gt;]
--&nbsp;&nbsp;&nbsp;&lt;input_source&gt;  ::= (&lt;absolute_mrl&gt;|&lt;relative_mrl&gt;)
--&nbsp;&nbsp;&nbsp;&lt;absolute_mrl&gt;  ::= &lt;input&gt;:(&lt;hierarch_part&gt;|&lt;opaque_part&gt;)
--&nbsp;&nbsp;&nbsp;&lt;hierarch_part&gt; ::= (&lt;net_path&gt;|&lt;abs_path&gt;)[?&lt;query&gt;]
--&nbsp;&nbsp;&nbsp;&lt;opaque_part&gt;   ::= (&lt;unreserved&gt;|&lt;escaped&gt;|;|?|:|@|&amp;|=|+|$|,){&lt;mrl_char&gt;}
--&nbsp;&nbsp;&nbsp;&lt;relative_mrl&gt;  ::= (&lt;abs_path&gt;|&lt;rel_path&gt;)
--&nbsp;&nbsp;&nbsp;&lt;net_path&gt;      ::= //&lt;authority&gt;[&lt;abs_path&gt;]
--&nbsp;&nbsp;&nbsp;&lt;abs_path&gt;      ::= /&lt;path_segments&gt;
--&nbsp;&nbsp;&nbsp;&lt;rel_path&gt;      ::= &lt;rel_segment&gt;[&lt;abs_path&gt;]
--&nbsp;&nbsp;&nbsp;&lt;rel_segment&gt;   ::= &lt;rel_char&gt;{&lt;rel_char&gt;}
--&nbsp;&nbsp;&nbsp;&lt;rel_char&gt;      ::= (&lt;unreserved&gt;|&lt;escaped&gt;|;|@|&amp;|=|+|$|,)
--&nbsp;&nbsp;&nbsp;&lt;input&gt;         ::= &lt;alpha&gt;{(&lt;alpha&gt;|&lt;digit&gt;|+|-|.)}
--&nbsp;&nbsp;&nbsp;&lt;authority&gt;     ::= (&lt;server&gt;|&lt;reg_name&gt;)
--&nbsp;&nbsp;&nbsp;&lt;server&gt;        ::= [[&lt;userinfo&gt;@]&lt;host&gt;[:&lt;port&gt;]]
--&nbsp;&nbsp;&nbsp;&lt;userinfo&gt;      ::= {(&lt;unreserved&gt;|&lt;escaped&gt;|;|:|&amp;|=|+|$|,)}
--&nbsp;&nbsp;&nbsp;&lt;host&gt;          ::= (&lt;hostname&gt;|&lt;ipv4_address&gt;|&lt;ipv6_reference&gt;)
--&nbsp;&nbsp;&nbsp;&lt;hostname&gt;      ::= {&lt;domainlabel&gt;.}&lt;toplabel&gt;[.]
--&nbsp;&nbsp;&nbsp;&lt;domainlabel&gt;   ::= (&lt;alphanum&gt;|&lt;alphanum&gt;{(&lt;alphanum&gt;|-)}&lt;alphanum&gt;)
--&nbsp;&nbsp;&nbsp;&lt;toplabel&gt;      ::= (&lt;alpha&gt;|&lt;alpha&gt;{(&lt;alphanum&gt;|-)}&lt;alphanum&gt;)
--&nbsp;&nbsp;&nbsp;&lt;ipv4_address&gt;  ::= &lt;digit&gt;{&lt;digit&gt;}.&lt;digit&gt;{&lt;digit&gt;}.&lt;digit&gt;{&lt;digit&gt;}.&lt;digit&gt;{&lt;digit&gt;}
--&nbsp;&nbsp;&nbsp;&lt;port&gt;          ::= {&lt;digit&gt;}
--&nbsp;&nbsp;&nbsp;&lt;reg_name&gt;      ::= &lt;reg_char&gt;{&lt;reg_char&gt;}
--&nbsp;&nbsp;&nbsp;&lt;reg_char&gt;      ::= (&lt;unreserved&gt;|&lt;escaped&gt;|;|:|@|&amp;|=|+|$|,)
--&nbsp;&nbsp;&nbsp;&lt;path_segments&gt; ::= &lt;segment&gt;{/&lt;segment&gt;}
--&nbsp;&nbsp;&nbsp;&lt;segment&gt;       ::= {&lt;path_char&gt;}{;&lt;param&gt;}
--&nbsp;&nbsp;&nbsp;&lt;param&gt;         ::= {&lt;path_char&gt;}
--&nbsp;&nbsp;&nbsp;&lt;path_char&gt;     ::= (&lt;unreserved&gt;|&lt;escaped&gt;|:|@|&amp;|=|+|$|,)
--&nbsp;&nbsp;&nbsp;&lt;query&gt;         ::= {&lt;mrl_char&gt;}
--&nbsp;&nbsp;&nbsp;&lt;stream_setup&gt;  ::= &lt;stream_option&gt;;{&lt;stream_option&gt;}
--&nbsp;&nbsp;&nbsp;&lt;stream_option&gt; ::= (&lt;configoption&gt;|&lt;engine_option&gt;|novideo|noaudio|nospu)
--&nbsp;&nbsp;&nbsp;&lt;configoption&gt;  ::= &lt;configentry&gt;:&lt;configvalue&gt;
--&nbsp;&nbsp;&nbsp;&lt;configentry&gt;   ::= &lt;unreserved&gt;{&lt;unreserved&gt;}
--&nbsp;&nbsp;&nbsp;&lt;configvalue&gt;   ::= &lt;stream_char&gt;{&lt;stream_char&gt;}
--&nbsp;&nbsp;&nbsp;&lt;engine_option&gt; ::= &lt;unreserved&gt;{&lt;unreserved&gt;}:&lt;stream_char&gt;{&lt;stream_char&gt;}
--&nbsp;&nbsp;&nbsp;&lt;stream_char&gt;   ::= (&lt;unreserved&gt;|&lt;escaped&gt;|:|@|&amp;|=|+|$|,)
--&nbsp;&nbsp;&nbsp;&lt;mrl_char&gt;      ::= (&lt;reserved&gt;|&lt;unreserved&gt;|&lt;escaped&gt;)
--&nbsp;&nbsp;&nbsp;&lt;reserved&gt;      ::= (;|/|?|:|@|&amp;|=|+|$|,|[|])
--&nbsp;&nbsp;&nbsp;&lt;unreserved&gt;    ::= (&lt;alphanum&gt;|&lt;mark&gt;)
--&nbsp;&nbsp;&nbsp;&lt;mark&gt;          ::= (-|_|.|!|~|*|'|(|))
--&nbsp;&nbsp;&nbsp;&lt;escaped&gt;       ::= %&lt;hex&gt;&lt;hex&gt;
--&nbsp;&nbsp;&nbsp;&lt;hex&gt;           ::= (&lt;digit&gt;|A|B|C|D|E|F|a|b|c|d|e|f)
--&nbsp;&nbsp;&nbsp;&lt;alphanum&gt;      ::= (&lt;alpha&gt;|&lt;digit&gt;)
--&nbsp;&nbsp;&nbsp;&lt;alpha&gt;         ::= (&lt;lowalpha&gt;|&lt;upalpha&gt;)
--&nbsp;&nbsp;&nbsp;&lt;lowalpha&gt;      ::= (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)
--&nbsp;&nbsp;&nbsp;&lt;upalpha&gt;       ::= (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)
--&nbsp;&nbsp;&nbsp;&lt;digit&gt;         ::= (0|1|2|3|4|5|6|7|8|9)</PRE
--></TD
--></TR
--></TABLE
-->
--   With &lt;ipv6_reference&gt; 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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;audio frame @ time 10
--&nbsp;&nbsp;&nbsp;video frame @ time 8
--&nbsp;&nbsp;&nbsp;audio frame @ time 11
--&nbsp;&nbsp;&nbsp;video frame @ time 9
--&nbsp;&nbsp;&nbsp;audio frame @ time 12
--&nbsp;&nbsp;&nbsp;   keyframe @ time 10
--&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;return "video/quicktime: mov,qt: Quicktime animation;"
--&nbsp;&nbsp;&nbsp;       "video/x-quicktime: mov,qt: Quicktime animation;"
--&nbsp;&nbsp;&nbsp;       "application/x-quicktimeplayer: qtl: Quicktime list;";</PRE
--></TD
--></TR
--></TABLE
-->
--   </P
--><P
-->    <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;buf_element_t *buf;
--&nbsp;&nbsp;&nbsp;
--&nbsp;&nbsp;&nbsp;buf = stream-&#62;video_fifo-&#62;buffer_pool_alloc(stream-&#62;video_fifo);
--&nbsp;&nbsp;&nbsp;buf-&#62;type = BUF_CONTROL_START;
--&nbsp;&nbsp;&nbsp;stream-&#62;video_fifo-&#62;put(stream-&#62;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"
-->&nbsp;&nbsp;&nbsp;buf-&#62;type = fourcc_to_buf_video((void*)this-&#62;avi-&#62;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;char *get_identifier(video_decoder_class_t *this);</PRE
--></TD
--></TR
--></TABLE
-->
--    <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;char *get_description(video_decoder_class_t *this);</PRE
--></TD
--></TR
--></TABLE
-->
--    <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;void dispose_class(video_decoder_class_t *this);</PRE
--></TD
--></TR
--></TABLE
-->
--    <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;void flush(video_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
--    <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;void reset(video_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
--    <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;void discontinuity(video_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
--    <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;void dispose(video_decoder_t *this_gen);</PRE
--></TD
--></TR
--></TABLE
-->
--    <TABLE
--BORDER="0"
--BGCOLOR="#E0E0E0"
--WIDTH="100%"
--><TR
--><TD
--><PRE
--CLASS="PROGRAMLISTING"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;vpts = metronom-&#62;got_spu_packet(metronom, buf-&#62;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;if (_x_post_dispose(this))
--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;post_video_port_t *_x_post_intercept_video_port(post_plugin_t *post,
--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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-&gt;open()</CODE
--> and use the macro
--     <CODE
--CLASS="FUNCTION"
-->_x_post_dec_usage()</CODE
--> after calling
--     <CODE
--CLASS="FUNCTION"
-->original_port-&gt;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"
-->&nbsp;&nbsp;&nbsp;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-&gt;new_manager</CODE
--> and stores the original
--     manager in <CODE
--CLASS="VARNAME"
-->port-&gt;original_manager</CODE
-->.
--    </P
--><P
-->     No matter how you intercepted the overlay manager, your own replacement
--     functions will receive <CODE
--CLASS="VARNAME"
-->port-&gt;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;vo_frame_t *_x_post_intercept_video_frame(vo_frame_t *frame, post_video_port_t *port);
--&nbsp;&nbsp;&nbsp;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-&gt;next</CODE
-->. This copy will be filled with your own
--     frame functions from <CODE
--CLASS="VARNAME"
-->port-&gt;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-&gt;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"
-->&nbsp;&nbsp;&nbsp;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-&gt;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"
-->&nbsp;&nbsp;&nbsp;_x_post_frame_copy_down(frame, frame-&gt;next);
--&nbsp;&nbsp;&nbsp;frame-&gt;next-&gt;draw(frame-&gt;next, stream);
--&nbsp;&nbsp;&nbsp;_x_post_frame_copy_up(frame, frame-&gt;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"
-->&nbsp;&nbsp;&nbsp;modified_frame = port-&gt;original_port-&gt;get_frame(port-&#62;original_port, ...);
--&nbsp;&nbsp;&nbsp;_x_post_frame_copy_down(frame, modified_frame);
--&nbsp;&nbsp;&nbsp;copy_and_modify(frame, modified_frame);
--&nbsp;&nbsp;&nbsp;skip = modified_frame-&gt;draw(modified_frame, stream);
--&nbsp;&nbsp;&nbsp;_x_post_frame_copy_up(frame, modified_frame);
--&nbsp;&nbsp;&nbsp;modified_frame-&gt;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-&gt;next-&gt;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;int get_property(vo_driver_t *self, int property);
--&nbsp;&nbsp;&nbsp;int set_property(vo_driver_t *self, int property, int value);
--&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;void overlay_begin(vo_driver_t *self, vo_frame_t *vo_img, int changed);
--&nbsp;&nbsp;&nbsp;void overlay_blend(vo_driver_t *self, vo_frame_t *vo_img, vo_overlay_t *overlay);
--&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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"
-->&nbsp;&nbsp;&nbsp;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