diff options
Diffstat (limited to 'doc/faq')
| -rw-r--r-- | doc/faq/Makefile.am | 12 | ||||
| -rw-r--r-- | doc/faq/README | 14 | ||||
| -rw-r--r-- | doc/faq/faq.html | 2690 | ||||
| -rw-r--r-- | doc/faq/faq.sgml | 1464 | 
4 files changed, 4180 insertions, 0 deletions
| diff --git a/doc/faq/Makefile.am b/doc/faq/Makefile.am new file mode 100644 index 000000000..291e4718b --- /dev/null +++ b/doc/faq/Makefile.am @@ -0,0 +1,12 @@ + +EXTRA_DIST = README faq.sgml + +docdir = $(prefix)/share/doc/xine/faq + +mostlyclean-generic: +	-rm -f *~ \#* .*~ .\#* + +maintainer-clean-generic: +	-@echo "This command is intended for maintainers to use;" +	-@echo "it deletes files that may require special tools to rebuild." +	-rm -f Makefile.in diff --git a/doc/faq/README b/doc/faq/README new file mode 100644 index 000000000..f44d8a6c3 --- /dev/null +++ b/doc/faq/README @@ -0,0 +1,14 @@ +This directory contains the new sgml xine engine FAQ. + +use a command like + +sgmltools -b onehtml faq.sgml + +or + +sgmltools -b txt faq.sgml + +to transform it into html/txt (sgmltools-lite package in debian). + +guenter Sat Jan  4 22:59:33 CET 2003 + diff --git a/doc/faq/faq.html b/doc/faq/faq.html new file mode 100644 index 000000000..2db4051bd --- /dev/null +++ b/doc/faq/faq.html @@ -0,0 +1,2690 @@ +<HTML +><HEAD +><TITLE +>The xine engine FAQ</TITLE +><META +NAME="GENERATOR" +CONTENT="Modular DocBook HTML Stylesheet Version 1.77+"></HEAD +><BODY +CLASS="BOOK" +><DIV +CLASS="BOOK" +><A +NAME="AEN1" +></A +><DIV +CLASS="TITLEPAGE" +><H1 +CLASS="TITLE" +><A +NAME="AEN2" +></A +>The xine engine FAQ</H1 +><P +CLASS="COPYRIGHT" +>Copyright © 2001-2003 the xine project team</P +><HR></DIV +><DIV +CLASS="TOC" +><DL +><DT +><B +>Table of Contents</B +></DT +><DT +>1. <A +HREF="#GENERAL" +>General questions about xine and this document</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN10" +>What is the xine engine?</A +></DT +><DT +><A +HREF="#AEN13" +>What's the aim and scope of this text?</A +></DT +><DT +><A +HREF="#AEN16" +>My question is not yet covered here - where can I ask for help?</A +></DT +><DT +><A +HREF="#AEN24" +>What are those xine-lib, xine-ui, gxine, ... modules in cvs for?</A +></DT +><DT +><A +HREF="#AEN34" +>Where and how do I get the latest development version?</A +></DT +><DT +><A +HREF="#AEN46" +>Where can I find pre-compiled binaries, e.g. RPMs?</A +></DT +></DL +></DD +><DT +>2. <A +HREF="#BUILDING" +>Building and installing xine from source</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN52" +>What do I need to compile everything properly?</A +></DT +><DT +><A +HREF="#AEN61" +>How do I compile xine?</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN63" +>Simple build instructions for beginners</A +></DT +><DT +><A +HREF="#AEN77" +>Complete build instructions</A +></DT +></DL +></DD +><DT +><A +HREF="#AEN88" +>Making your own RPM packages (xine-lib, xine-ui)</A +></DT +><DT +><A +HREF="#AEN101" +>Can I provide additional CFLAGS for compilation?</A +></DT +><DT +><A +HREF="#AEN107" +>Are there binaries for my AMD K7 (Athlon (TM) ) available? Can I build them?</A +></DT +><DT +><A +HREF="#AEN111" +>Build problems: xine engine (xine-lib)</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN113" +>The package doesn't compile at all!</A +></DT +><DT +><A +HREF="#AEN118" +>The Xv video-out plugin fails to compile!</A +></DT +></DL +></DD +><DT +><A +HREF="#AEN126" +>Build problems: frontend (gxine/xine-ui/...)</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN128" +>I have installed xine-lib but the frontend complains about not finding it!</A +></DT +></DL +></DD +><DT +><A +HREF="#AEN135" +>Can I install xine in my home directory (without being root) ?</A +></DT +><DT +><A +HREF="#AEN146" +></A +></DT +></DL +></DD +><DT +>3. <A +HREF="#PLAYBACK" +>Playback of various stream types</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN152" +>DVD Playback with xine</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN154" +>How do I play back DVDs with xine?</A +></DT +><DT +><A +HREF="#AEN178" +>DVD playback works, but it takes a long time until playback starts</A +></DT +><DT +><A +HREF="#AEN184" +>I have problems setting up my RPC-2 drive for the right region!</A +></DT +></DL +></DD +><DT +><A +HREF="#AEN189" +>Can I watch Video CDs (VCDs)? SVCDS ? CD-i?</A +></DT +><DT +><A +HREF="#AEN196" +>Can I watch Quicktime (.mov, .mp4) files using xine?</A +></DT +><DT +><A +HREF="#AEN203" +>Real Network files/streams</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN205" +>Can I watch Real (.rm, .ram) files using xine ?</A +></DT +><DT +><A +HREF="#AEN214" +>What about (live) network streams (pnm://, rtsp:// style urls) ?</A +></DT +></DL +></DD +><DT +><A +HREF="#AEN217" +>Can I watch Windows Media (.asf/.wmv) files using xine?</A +></DT +><DT +><A +HREF="#AEN224" +>Can I watch Digital TV (Digital Video Broadcast) using xine ?</A +></DT +><DT +><A +HREF="#AEN228" +>How do I play streams from STDIN?</A +></DT +><DT +><A +HREF="#AEN232" +>How can I watch files with external AVI subtitles?</A +></DT +></DL +></DD +><DT +>4. <A +HREF="#RUNNING" +>Running xine</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN238" +>I have a lot of dropped frames - what can I do?</A +></DT +><DT +><A +HREF="#AEN286" +>I have problems when using xine on FreeBSD, Solaris, ... !</A +></DT +><DT +><A +HREF="#AEN290" +>What is aalib? How do I use it in xine?</A +></DT +><DT +><A +HREF="#AEN297" +>What do all these ~/.xine/config entries mean?</A +></DT +></DL +></DD +><DT +>5. <A +HREF="#AUDIO" +>Audio related questions</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN303" +>What audio drivers does xine support? OSS? Alsa? Arts? Esd?</A +></DT +><DT +><A +HREF="#AEN306" +>When I'm watching a movie, the sound effects ar much higher volume than the voices</A +></DT +><DT +><A +HREF="#AEN316" +>When I play this stream, xine shows video but there's no audio!</A +></DT +><DT +><A +HREF="#AEN323" +>Can xine produce 4-/5-channel surround audio output?</A +></DT +><DT +><A +HREF="#AEN332" +>What about ac3 output via spdif to an external ac3 decoder?</A +></DT +><DT +><A +HREF="#AEN338" +>Changing the volume with the GUI control has not affect! What's up!?</A +></DT +></DL +></DD +><DT +>6. <A +HREF="#VIDEO" +>Video related questions</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN343" +>I can hear the audio - but I don't see a picture!</A +></DT +><DT +><A +HREF="#AEN346" +>How can I make xine use the Xv extension and what drivers do I need?</A +></DT +><DT +><A +HREF="#AEN354" +>Some parts of my X Desktop get transparent when xine plays the video!</A +></DT +><DT +><A +HREF="#AEN359" +>The aspect ratio of the video is wrong!</A +></DT +><DT +><A +HREF="#AEN362" +>What is the difference between discarded and skipped frames?</A +></DT +></DL +></DD +><DT +>7. <A +HREF="#ERRORS" +>Error Messages: What they mean and what you can do</A +></DT +><DD +><DL +><DT +><A +HREF="#AEN372" +>Starting xine fails with complains about audio drivers/devices!</A +></DT +><DT +><A +HREF="#AEN379" +>"no video port found"</A +></DT +><DT +><A +HREF="#AEN384" +>Unable to open dvd drive (/dev/dvd)</A +></DT +><DT +><A +HREF="#AEN388" +>"demux error! 00 00 00 (should be 0x000001)"</A +></DT +><DT +><A +HREF="#AEN393" +>"audio driver 'oss' failed, using null driver instead"</A +></DT +><DT +><A +HREF="#AEN404" +>video_out: throwing away image with pts xxx because it's too old</A +></DT +><DT +><A +HREF="#AEN407" +>"No video plugin available to decode 'xxxxxx'."</A +></DT +><DT +><A +HREF="#AEN411" +>"w32codec: decoder failed to start. Is 'xxxxxx' installed?"</A +></DT +><DT +><A +HREF="#AEN414" +>xine just crashed on me - i didn't get any error message</A +></DT +></DL +></DD +></DL +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="GENERAL" +></A +>Chapter 1. General questions about xine and this document</H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN10" +></A +>What is the xine engine?</H2 +><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 +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN13" +></A +>What's the aim and scope of this text?</H2 +><P +>      The primary goal of this FAQ is to cover all recurring questions related +      to the xine engine. Frontend specific questions are not covered here. +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN16" +></A +>My question is not yet covered here - where can I ask for help?</H2 +><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 xine HOWTO and 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: +     +      <TT +CLASS="EMAIL" +><<A +HREF="mailto:xine-user@lists.sourceforge.net" +>xine-user@lists.sourceforge.net</A +>></TT +> + +      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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN24" +></A +>What are those xine-lib, xine-ui, gxine, ... modules in cvs for?</H2 +><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 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 sinek and totem develop additional frontends. +      In the future you will likely see more and different types of apllications +      being developed which will use the xine engine for video processing +      and other multimedia purposes. +    </P +><P +>
    </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: <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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN34" +></A +>Where and how do I get the latest development version?</H2 +><P +>      Be advised that end-users should stick to the official xine releases. +      CVS is only intended for developers. +    </P +><P +>      To check out xine-modules from CVS, first do this: +    </P +><P +>     <B +CLASS="COMMAND" +> cvs -d :pserver:anonymous@cvs.xine.sourceforge.net:/cvsroot/xine login </B +> +     [empty password] +    </P +><P +>      then, to check out individual modules (e.g. <TT +CLASS="FILENAME" +>xine-lib</TT +>,  +      <TT +CLASS="FILENAME" +>gxine</TT +>, <TT +CLASS="FILENAME" +>xine-ui</TT +>): +    </P +><P +>    <B +CLASS="COMMAND" +>cvs -d :pserver:anonymous@cvs.xine.sourceforge.net:/cvsroot/xine co modulename</B +> +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN46" +></A +>Where can I find pre-compiled binaries, e.g. RPMs?</H2 +><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 for further info. +      You can also find links to third parties providing xine RPMs on +      the xine homepage. +    </P +><P +>      See the next chapter of this FAQ for instructions on how to build xine +      from source. +    </P +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="BUILDING" +></A +>Chapter 2.  Building and installing xine from source </H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN52" +></A +>What do I need to compile everything properly?</H2 +><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 iss 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 +      GTK 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.  +    </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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN61" +></A +>How do I compile xine?</H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN63" +></A +>Simple build instructions for beginners</H3 +><P +>        Download the latest xine-lib and gxine/xine-ui tarballs, then follow +        these instruction. To unpack a tarball, use: +      </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        tar xfvz tarballname.tar.gz +      </PRE +></TD +></TR +></TABLE +><P +>        The following instructions will install xine in <TT +CLASS="FILENAME" +>/usr/local</TT +> for all +        users. You need root privileges to do this on most systems. +      </P +><P +>        First unpack xine-lib, then: +      </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        ./configure +	make install +      </PRE +></TD +></TR +></TABLE +><P +>        Make sure your <TT +CLASS="FILENAME" +>/etc/ld.so.conf</TT +> contains  +	<TT +CLASS="FILENAME" +>/usr/local/lib</TT +>, then: +      </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        ldconfig +      </PRE +></TD +></TR +></TABLE +><P +>        Now unpack your frontend (gxine or xine-ui or ...), then: +      </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        ./configure +	make install +      </PRE +></TD +></TR +></TABLE +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN77" +></A +>Complete build instructions</H3 +><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 you +        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: +      </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>      export PATH="$prefix/bin:$PATH" +      export LD_LIBRARY_PATH="$prefix/lib:$LD_LIBRARY_PATH" +      </PRE +></TD +></TR +></TABLE +><P +>        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. +      </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>      ./cvscompile.sh [-> *only* if you checked your sources out of CVS] +      ./configure +      make +      make install +      </PRE +></TD +></TR +></TABLE +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN88" +></A +>Making your own RPM packages (xine-lib, xine-ui)</H2 +><P +>      Basically you will only have to issue one command, if you have just +      downloaded a source tarball from our web site: +    </P +><P +>      <B +CLASS="COMMAND" +> rpm -ta THE_NAME_OF_YOUR_SOURCE_TAR_BALL </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 +      usally <TT +CLASS="FILENAME" +>/usr/src/RPM/RPMS/[YOUR_ARCHITECTURE]</TT +> and a source RPM is written +      to your rpm source dir (e.g. <TT +CLASS="FILENAME" +>/usr/src/RPM/SRPMS</TT +>). +    </P +><P +>      In case that you have a fresh CVS checkout, you will need to do the +      following first in order to get a tarball release out of it which you +      can later use with the <B +CLASS="COMMAND" +> rpm -ta </B +> command above: +    </P +><P +>      <B +CLASS="COMMAND" +> ./cvscompile.sh && make clean && make dist </B +> +    </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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN101" +></A +>Can I provide additional CFLAGS for compilation?</H2 +><P +>      Yes, you can do so by setting the CFLAGS variable and then run +      configure again. +    </P +><P +>      This can be useful to specify additional include paths or library paths +      to the compiler. +    </P +><P +>      Example: <B +CLASS="COMMAND" +> export CFLAGS="-I/usr/include -L/home/guenter/xine_libs" </B +> +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN107" +></A +>Are there binaries for my AMD K7 (Athlon (TM) ) available? Can I build them?</H2 +><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 setting the xine_BUILD envvar +      explicitly to a valid description string for your configuration, e.g. +    </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>    export xine_BUILD=k7-pc-linux-gnu +    rm -f config.cache +    ./cvscompile.sh +    make +    make install +    </PRE +></TD +></TR +></TABLE +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN111" +></A +>Build problems: xine engine (xine-lib)</H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN113" +></A +>The package doesn't compile at all!</H3 +><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 +	helpfull 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="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN118" +></A +>The Xv video-out plugin fails to compile!</H3 +><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="PROGRAMLISTING" +>          /usr/X11R6/lib/libXv.a +          /usr/X11R6/lib/libXv.so +          /usr/X11R6/lib/libXv.so.1 +        </PRE +></TD +></TR +></TABLE +> +      </P +><P +>        Alternatively you need to have libtool 1.4 or newer installed. If not +        and you only got libXv.a you can create the shared versions yourself: +        <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>          ld --whole-archive -shared -o libXv.so.1 libXv.a +          ln -s libXv.so.1 libXv.so +          ldconfig +        </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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN126" +></A +>Build problems: frontend (gxine/xine-ui/...)</H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN128" +></A +>I have installed xine-lib but the frontend complains about not finding it!</H3 +><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 +> would be a good idea before trying to compile  +	the frontend ;)). +      </P +></DIV +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN135" +></A +>Can I install xine in my home directory (without being root) ?</H2 +><P +>      yes. first set up a subdir where you install your private software, eg +    </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>      $ mkdir ~/usr +    </PRE +></TD +></TR +></TABLE +><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): +    </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>      export PATH="$HOME/usr/bin:$PATH" +      export LD_LIBRARY_PATH="$HOME/usr/lib:$LD_LIBRARY_PATH" +      export CFLAGS="-I$HOME/usr/include -L$HOME/usr/lib -O3" +      export ACLOCAL_FLAGS="-I $HOME/usr/share/aclocal" +    </PRE +></TD +></TR +></TABLE +><P +>      now you can unpack tarballs e.g. in <TT +CLASS="FILENAME" +>~/usr/src</TT +>  +      (<B +CLASS="COMMAND" +>mkdir  ~/usr/src</B +> if necessary) and do a +    </P +><TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>      $ ./configure --prefix=$HOME/usr +      $ make install +    </PRE +></TD +></TR +></TABLE +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN146" +></A +></H2 +><P +>    </P +><P +>    </P +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="PLAYBACK" +></A +>Chapter 3. Playback of various stream types</H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN152" +></A +>DVD Playback with xine</H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN154" +></A +>How do I play back DVDs with xine?</H3 +><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 you 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) 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 yout DVD drive +        (without it even very recent machines will have trouble producing +        smooth video output). Use a command like +        <B +CLASS="COMMAND" +>hdparm -d 1 device</B +> +        on your dvd device. Please note that even if you're using ide-scsi +        you will have to set the dma flag on the ide device node (e.g.  +        <TT +CLASS="FILENAME" +>/dev/hdc</TT +>), not the mapped <TT +CLASS="FILENAME" +>/dev/scd</TT +> +        scsi device. +      </P +><P +>        To be able to play back encrypted dvds you need to have +        libdvdcss installed on your system (please check if this is legal where +        you live). +      </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 (most drives +        come with a factory setting of region 0 so they can only play back +        region 0 dvds and there are not many of those available). The easiest +        way to handle this is to use the regionset utility from +        <A +HREF="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz" +TARGET="_top" +>        http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz</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 libxine to see if this gives you further hints on +	what could be wrong. +      </P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN178" +></A +>DVD playback works, but it takes a long time until playback starts</H3 +><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://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz" +TARGET="_top" +>	 http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz +	 </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="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN184" +></A +>I have problems setting up my RPC-2 drive for the right region!</H3 +><P +>         You can download a tool to set the region code of RPC-Drives here: +	 <A +HREF="http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz" +TARGET="_top" +>	 http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz +	 </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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN189" +></A +>Can I watch Video CDs (VCDs)? SVCDS ? CD-i?</H2 +><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 +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>      gxine VCD:// +      </PRE +></TD +></TR +></TABLE +> +      from the command line. +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN196" +></A +>Can I watch Quicktime (.mov, .mp4) files using xine?</H2 +><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, only very few typically used quicktime audio/video codecs +       are 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://www1.mplayerhq.hu/MPlayer/releases/codecs/" +TARGET="_top" +>       http://www1.mplayerhq.hu/MPlayer/releases/codecs/</A +>. +       The package is called "QuickTime5 DLLs". Unpack it and move everything you find +       inside to <TT +CLASS="FILENAME" +>/usr/lib/win32</TT +> (actually you can place them +       anywhere you want, e.g. someplace in your homedirectory, but then you'll +       have to set <TT +CLASS="PARAMETER" +><I +>codec.win32_path</I +></TT +> in your +       xine config file accordingly). Restart xine then and you should be +       able to watch Quicktime trailers. +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN203" +></A +>Real Network files/streams</H2 +><DIV +CLASS="SECT2" +><H3 +CLASS="SECT2" +><A +NAME="AEN205" +></A +>Can I watch Real (.rm, .ram) files using xine ?</H3 +><P +>        The situation with real files and streams is pretty similar to the situation +	with Quicktime Streams (see above). Most newer real audio and video formats +	are only supported by using binary-only codecs which are available from +	real networks but are not included in xine. +      </P +><P +>        One way to get these codecs is to download and install RealPlayer from +	RealNetworks, for example in <TT +CLASS="FILENAME" +>/usr/local/RealPlayer8</TT +> or +	<TT +CLASS="FILENAME" +>/opt/RealPlayer8</TT +>. If you installed it in one of these +	places, xine should automatically find and use the real binary codecs. +	If it doesn't work, try to find out the exact path to where the real codecs +	are installed on your system (look for a file named <TT +CLASS="FILENAME" +>rv30.so.6.0</TT +> +	which should reside in a directory called <TT +CLASS="FILENAME" +>Codecs</TT +> in the +	directory where you have installed RealPlayer in) and set +	<TT +CLASS="PARAMETER" +><I +>codec.real_codecs_path</I +></TT +> in your xine config file +	accordingly. +      </P +></DIV +><DIV +CLASS="SECT2" +><HR><H3 +CLASS="SECT2" +><A +NAME="AEN214" +></A +>What about (live) network streams (pnm://, rtsp:// style urls) ?</H3 +><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 +	(currenlty 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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN217" +></A +>Can I watch Windows Media (.asf/.wmv) files using xine?</H2 +><P +>      While the container format (system layer) ASF (wmv is just an alias) +      is fully supported in xine, for newer windows media 8 and 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://www1.mplayerhq.hu/MPlayer/releases/codecs/" +TARGET="_top" +>       http://www1.mplayerhq.hu/MPlayer/releases/codecs/</A +>. +       The package is called "Win32 Codecpack". Unpack it and move everything you find +       inside to <TT +CLASS="FILENAME" +>/usr/lib/win32</TT +> (actually you can place them +       anywhere you want, e.g. someplace in your homedirectory, but then you'll +       have to set <TT +CLASS="PARAMETER" +><I +>codec.win32_path</I +></TT +> in your +       xine config file accordingly). Restart xine then and you should be +       able to watch windows media streams. +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN224" +></A +>Can I watch Digital TV (Digital Video Broadcast) using xine ?</H2 +><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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN228" +></A +>How do I play streams from STDIN?</H2 +><P +>      Use something like: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        cat stream.mpg | gxine stdin:// +      </PRE +></TD +></TR +></TABLE +>     +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN232" +></A +>How can I watch files with external AVI subtitles?</H2 +><P +>      This is not supported in current xine 1.0.x releases (but it is being +      actively worked on, so please be patient :) ). In xine 0.9.13 +      this used to be: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        xine foo.avi%bar.sub +      </PRE +></TD +></TR +></TABLE +>     +    </P +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="RUNNING" +></A +>Chapter 4.  Running xine </H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN238" +></A +>I have a lot of dropped frames - what can I do?</H2 +><P +>      Your hardware might be too slow for xine. Make sure you turn on all +      speed optimizing options. A few things you should check: + +      <P +></P +><UL +><LI +><P +>            first of all, run the <B +CLASS="COMMAND" +>xine-check</B +> script included in xine-lib +            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="PROGRAMLISTING" +>              $ 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       +            </PRE +></TD +></TR +></TABLE +> +	  </P +></LI +><LI +><P +>  	    use a recent kernel which is optimized for your hardware +	  </P +></LI +><LI +><P +>  	    use the latest gas/gcc +	  </P +></LI +><LI +><P +>	    close other applications (use a tool like "top" to find out +            what applications are using up CPU power) +	  </P +></LI +><LI +><P +>	    if you are not using Xv, make sure your display is set up +            to 16bpp, not 24 or higher (reduces memory bandwith) +	  </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.  +            Example: +	    <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="90%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>              hdparm /dev/hda + +              ... +              using_dma    =  1 (on) +              ... +	    </PRE +></TD +></TR +></TABLE +> +	  </P +><P +>  	    You can enable DMA mode with the following command: +	    <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="90%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>              hdparm -d1 device_of_your_drive_that_supplies_video_data +	    </PRE +></TD +></TR +></TABLE +> +	  </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 +>            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): +	  </P +><P +>	  <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 +>	    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. +	  </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 +>	    set up and use raw devices for dvd access. +	  </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="PROGRAMLISTING" +>  	      raw /dev/raw1 /dev/hdc +	    </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="PROGRAMLISTING" +>  	      raw /dev/raw1 /dev/hdc +	    </PRE +></TD +></TR +></TABLE +> +	  </P +></LI +></UL +> + +  </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN286" +></A +>I have problems when using xine on FreeBSD, Solaris, ... !</H2 +><P +>      Check out the the corresponding README files in the directory <TT +CLASS="FILENAME" +>xine-ui/doc</TT +> +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN290" +></A +>What is aalib? How do I use it in xine?</H2 +><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 ;> +    </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="PROGRAMLISTING" +>        aacine foo.mpg +      </PRE +></TD +></TR +></TABLE +> +      to use aalib video output. +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN297" +></A +>What do all these ~/.xine/config entries mean?</H2 +><P +>      You can find information about them in <TT +CLASS="FILENAME" +>xine-ui/doc/README.config_en</TT +>. +    </P +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="AUDIO" +></A +>Chapter 5.  Audio related questions </H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN303" +></A +>What audio drivers does xine support? OSS? Alsa? Arts? Esd?</H2 +><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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN306" +></A +>When I'm watching a movie, the sound effects ar much higher volume than the voices</H2 +><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 +></LI +><LI +><P +>	    If you have a dolby digital (AC3) soundtrack, you can try +	    to enable liba52's dynamic range compression setting +	    <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="90%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>	      codec.a52_dynrng:1 +	    </PRE +></TD +></TR +></TABLE +> +	    in your xine config file (or use some gui config dialog). +	  </P +></LI +></UL +> + +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN316" +></A +>When I play this stream, xine shows video but there's no audio!</H2 +><P +>      Well, first try a different audio driver (<B +CLASS="COMMAND" +> gxine -A oss </B +>, +      <B +CLASS="COMMAND" +> gxine -A arts </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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN323" +></A +>Can xine produce 4-/5-channel surround audio output?</H2 +><P +>      Yep, it can do that using OSS or ALSA drivers, provided that the driver +      supports it. On startup xine tells you what modes are supported by your +      audio driver, e.g: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        audio_alsa_out : supported modes are mono stereo (4-channel not enabled +          in xine config) (5-channel not enabled in xine config) (5.1-channel not +          enabled in xine config) (a/52 and DTS pass-through not enabled in xine +          config) +      </PRE +></TD +></TR +></TABLE +> +    </P +><P +>      On this machine 4-channel surround would be possible. 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 +>/<TT +CLASS="FILENAME" +>.xine</TT +>: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        # 4-channel: +          audio.four_channel:1 +  +        # 5-channel: +          audio.five_channel:1 + +        # 5.1-channel +          audio.five_lfe_channel:0 +      </PRE +></TD +></TR +></TABLE +> +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN332" +></A +>What about ac3 output via spdif to an external ac3 decoder?</H2 +><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 +>/<TT +CLASS="FILENAME" +>~/.gxine/config</TT +>)  +      yourself: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        audio.a52_pass_through:1 +      </PRE +></TD +></TR +></TABLE +> +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN338" +></A +>Changing the volume with the GUI control has not affect! What's up!?</H2 +><P +>      Some xine drivers do not support volume changing although the GUI +      will show the volume bar. Usually this is not xines 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 +></DIV +></DIV +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="VIDEO" +></A +>Chapter 6.  Video related questions </H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN343" +></A +>I can hear the audio - but I don't see a picture!</H2 +><P +>      Probably your hardware is simply too slow - see above for some +      hints on how to speed things up. +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN346" +></A +>How can I make xine use the Xv extension and what drivers do I need?</H2 +><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="PROGRAMLISTING" +>       xine -V Xv foo.mpg +      </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 locations to look for suitable drivers: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>       CARDS WITH OUT-OF-THE-BOX XV SUPPORT IN XFREE86 4.x: +        +         3dfx (voodoo)     (URL: ?) +         i815              (URL: ?) +         Matrox G200/G400  (URL: www.matrox.com) +         NVidia            (URL: www.nvidia.com) +         Permedia 2/3      (URL: ?) +        +       CARDS WITH YET UNKNOWN STATUS: +        +         ATI cards         (take a look at GATOS: www.linuxvideo.org/gatos/) +         Savage            (URL: www.probo.com/timr/savage40.html) +      </PRE +></TD +></TR +></TABLE +>       +  </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN354" +></A +>Some parts of my X Desktop get transparent when xine plays the video!</H2 +><P +>      Looks like some colors on your GUI match the colorkey Xv uses. You can +      change the colorkey value to avoid this. There should be a line like: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        video.XV_COLORKEY:2110 +      </PRE +></TD +></TR +></TABLE +> +      in your <TT +CLASS="FILENAME" +>~/.xine/config</TT +> file where you can change the color that's used +      by xine for the video overlay. +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN359" +></A +>The aspect ratio of the video is wrong!</H2 +><P +>    Try pressing "a" to change the aspect ratio +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN362" +></A +>What is the difference between discarded and skipped frames?</H2 +><P +>    Sometimes xine will output a message like that: +    <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>    200 frames delivered, XX frames skipped, YY frames discarded +    </PRE +></TD +></TR +></TABLE +> +    </P +><P +>      The difference between these counters is a little subtle for the non +      developer. There are two threads running in order to display video: +      the decoder thread will deliver frames to the video output thread.  +      The later 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 show 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 section 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 +><DIV +CLASS="CHAPTER" +><HR><H1 +><A +NAME="ERRORS" +></A +>Chapter 7.  Error Messages: What they mean and what you can do</H1 +><DIV +CLASS="SECT1" +><H2 +CLASS="SECT1" +><A +NAME="AEN372" +></A +>Starting xine fails with complains about audio drivers/devices!</H2 +><P +>      You can select the audio driver using the -A option. So try: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        xine -A null +      </PRE +></TD +></TR +></TABLE +> +      If you have ALSA drivers installed, try: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        xine -A alsa +      </PRE +></TD +></TR +></TABLE +> +      If you run ESD (not recommended), try: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        xine -A esd +      </PRE +></TD +></TR +></TABLE +> +      If you run artsd, try: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        xine -A arts +      </PRE +></TD +></TR +></TABLE +> +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN379" +></A +>"no video port found"</H2 +><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 mpeg-2).     +    </P +><P +>      If all that fails, you can still use plain X11/XShm: +      <TABLE +BORDER="0" +BGCOLOR="#E0E0E0" +WIDTH="100%" +><TR +><TD +><PRE +CLASS="PROGRAMLISTING" +>        gxine -V XShm foo.vob +      </PRE +></TD +></TR +></TABLE +> +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN384" +></A +>Unable to open dvd drive (/dev/dvd)</H2 +><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="PROGRAMLISTING" +>        cd /dev +        ln -s hdc dvd +      </PRE +></TD +></TR +></TABLE +> +       ...should do the job. +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN388" +></A +>"demux error! 00 00 00 (should be 0x000001)"</H2 +><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 life, 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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN393" +></A +>"audio driver 'oss' failed, using null driver instead"</H2 +><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="PROGRAMLISTING" +>        gxine -A esd +      </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="PROGRAMLISTING" +>        gxine -A arts +      </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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN404" +></A +>video_out: throwing away image with pts xxx because it's too old</H2 +><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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN407" +></A +>"No video plugin available to decode 'xxxxxx'."</H2 +><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="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN411" +></A +>"w32codec: decoder failed to start. Is 'xxxxxx' installed?"</H2 +><P +>      You probably don't have the win32 dll needed to decode this file. +    </P +></DIV +><DIV +CLASS="SECT1" +><HR><H2 +CLASS="SECT1" +><A +NAME="AEN414" +></A +>xine just crashed on me - i didn't get any error message</H2 +><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 +></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 +>	  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 know 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 +	  <TT +CLASS="EMAIL" +><<A +HREF="mailto: xine-user@lists.sf.net " +> xine-user@lists.sf.net </A +>></TT +>, 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 +>	  Please take a look at our bug report form which is located in the xine-lib +          package (doc/bug_report_form). Fill it out accordingly and sent it to our +          user mailing list: <TT +CLASS="EMAIL" +><<A +HREF="mailto:xine-user@lists.sourceforge.net" +>xine-user@lists.sourceforge.net</A +>></TT +> +	</P +><P +>          Thanks for taking the time to help improve xine. +	</P +></LI +></UL +></DIV +></DIV +></DIV +></BODY +></HTML +>
\ No newline at end of file diff --git a/doc/faq/faq.sgml b/doc/faq/faq.sgml new file mode 100644 index 000000000..71c76eb67 --- /dev/null +++ b/doc/faq/faq.sgml @@ -0,0 +1,1464 @@ +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ +<!ENTITY intro SYSTEM "intro.sgml"> +]> + +<book> + +<bookinfo> +  <title>The xine engine FAQ</title> +  <titleabbrev>xine FAQ</titleabbrev> +  <copyright> +    <year>2001-2003</year> +    <holder>the xine project team</holder> +  </copyright> +</bookinfo> + +<chapter id="general"> + +  <title>General questions about xine and this document</title> + +  <sect1> + +    <title>What is the xine engine?</title> + +    <para>  +      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. +    </para> + +  </sect1> + +  <sect1> +     +    <title> What's the aim and scope of this text? </title> + +    <para> +      The primary goal of this FAQ is to cover all recurring questions related +      to the xine engine. Frontend specific questions are not covered here. +    </para> + +  </sect1> + +  <sect1> + +    <title> My question is not yet covered here - where can I ask for help? </title> + +    <para> +      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 xine HOWTO and documentation specific to +      the frontend (e.g. <command> xine-ui </command> or <command> gxine </command> or  +      <command> totem </command>). +    </para> +     +    <para> +      That said - you are welcome to mail to our user mailing list: +     +      <email>xine-user@lists.sourceforge.net</email> + +      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. +    </para> + +  </sect1> + +  <sect1> + +    <title> What are those xine-lib, xine-ui, gxine, ... modules in cvs for? </title> + +    <para> +      Some time ago xine just became too complex to be just one big program. +      Therefore it was split into two major parts. +    </para> +     +    <para> +      xine-lib is simply speaking the engine of xine. It contains all plugins +      and is necessary to run anything that relies on xine (this is the part that +      is covered in this FAQ). +    </para> + +    <para> +      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 sinek and totem develop additional frontends. +      In the future you will likely see more and different types of apllications +      being developed which will use the xine engine for video processing +      and other multimedia purposes. +    <para> + +    <para> +      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. +    </para> + +    <para> +      Other modules in CVS: <filename>xine-plugin</filename> a mozilla browser plugin +      for streaming media playback using xine, <filename>xine-www</filename> the +      xine project website sources. +    </para> + +  </sect1> + +  <sect1> + +    <title> Where and how do I get the latest development version? </title> + +    <para> +      Be advised that end-users should stick to the official xine releases. +      CVS is only intended for developers. +    </para> +     +    <para> +      To check out xine-modules from CVS, first do this: +    </para> +    <para> +     <command> cvs -d :pserver:anonymous@cvs.xine.sourceforge.net:/cvsroot/xine login </command> +     [empty password] +    </para> +    <para> +      then, to check out individual modules (e.g. <filename>xine-lib</filename>,  +      <filename>gxine</filename>, <filename>xine-ui</filename>): +    </para> +    <para> +    <command>cvs -d :pserver:anonymous@cvs.xine.sourceforge.net:/cvsroot/xine co modulename</command> +    </para> + +  </sect1> + +  <sect1> + +    <title> Where can I find pre-compiled binaries, e.g. RPMs? </title> + +    <para> +      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 for further info. +      You can also find links to third parties providing xine RPMs on +      the xine homepage. +    </para> +     +    <para> +      See the next chapter of this FAQ for instructions on how to build xine +      from source. +    </para> + +  </sect1> + +</chapter> + +<chapter id="building"> + +  <title> Building and installing xine from source </title> + +  <sect1> + +    <title> What do I need to compile everything properly? </title> + +    <para> +      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. +    </para> +     +    <para> +      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 iss required (including the appropriate header files, which are +      often found in a package called zlib-devel or similar.) +    </para> + +    <para> +      If you want to compile xine from CVS, you'll need to have the autobuild tools +      installed (automake, autoconf and libtool - in recent versions). +    </para> + +    <para> +      Frontends might need additional libraries, e.g. for gxine you'll need to have +      GTK 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. +    </para> + +    <para> +      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.  +    </para> + +    <para> +      Don't worry about this too much right now, xine's <command>configure</command> +      (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 ;) ) +    </para> +  </sect1> + +  <sect1> + +    <title> How do I compile xine? </title> + +    <sect2> +     +      <title> Simple build instructions for beginners </title> + +      <para> +        Download the latest xine-lib and gxine/xine-ui tarballs, then follow +        these instruction. To unpack a tarball, use: +      </para> +      <programlisting> +        tar xfvz tarballname.tar.gz +      </programlisting> +      <para> +        The following instructions will install xine in <filename>/usr/local</filename> for all +        users. You need root privileges to do this on most systems. +      </para> +      <para> +        First unpack xine-lib, then: +      </para> +      <programlisting> +        ./configure +	make install +      </programlisting> +      <para> +        Make sure your <filename>/etc/ld.so.conf</filename> contains  +	<filename>/usr/local/lib</filename>, then: +      </para> +      <programlisting> +        ldconfig +      </programlisting> +      <para> +        Now unpack your frontend (gxine or xine-ui or ...), then: +      </para> +      <programlisting> +        ./configure +	make install +      </programlisting> + +    </sect2>     + +    <sect2> +     +      <title> Complete build instructions </title> + +      <para> +        The build process is the same for all of the xine modules. +      </para> +      <para> +        You have to start with xine-lib. If built and installed successfully, you +        can continue with the frontend(s). +      </para> +      <para> +        If you have installed xine-lib to a non-standard prefix, make sure you +        that you have <filename>$prefix/bin</filename> in your PATH and that your linker finds +        libs in <filename> $prefix/lib </filename> - 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: +      </para> +      <programlisting> +      export PATH="$prefix/bin:$PATH" +      export LD_LIBRARY_PATH="$prefix/lib:$LD_LIBRARY_PATH" +      </programlisting> +      <para> +        to make sure libxine can be found by the frontend(s). +      </para> +      <para> +        Last but not least. Here the build instructions. As stated earlier, +        those are the same for every xine module. +      </para> +      <programlisting> +      ./cvscompile.sh [-> *only* if you checked your sources out of CVS] +      ./configure +      make +      make install +      </programlisting> + +    </sect2>     + +  </sect1> + +  <sect1> + +    <title> Making your own RPM packages (xine-lib, xine-ui) </title> + +    <para> +      Basically you will only have to issue one command, if you have just +      downloaded a source tarball from our web site: +    </para> +     +    <para> +      <command> rpm -ta THE_NAME_OF_YOUR_SOURCE_TAR_BALL </command> +    </para> +     +    <para> +      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 +      usally <filename>/usr/src/RPM/RPMS/[YOUR_ARCHITECTURE]</filename> and a source RPM is written +      to your rpm source dir (e.g. <filename>/usr/src/RPM/SRPMS</filename>). +    </para> +     +    <para> +      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 <command> rpm -ta </command> command above: +    </para> +     +    <para> +      <command> ./cvscompile.sh && make clean && make dist </command> +    </para> +     +    <para> +      In any case, please keep in mind that you have to build and install +      xine-lib first before you can proceed with xine-ui. +    </para> +     +  </sect1> + +  <sect1> + +    <title> Can I provide additional CFLAGS for compilation? </title> + +    <para> +      Yes, you can do so by setting the CFLAGS variable and then run +      configure again. +    </para> +     +    <para> +      This can be useful to specify additional include paths or library paths +      to the compiler. +    </para> + +    <para> +      Example: <command> export CFLAGS="-I/usr/include -L/home/guenter/xine_libs" </command> +    </para> + +  </sect1> + +  <sect1> + +    <title> Are there binaries for my AMD K7 (Athlon (TM) ) available? Can I build them? </title> + +    <para> +      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 setting the xine_BUILD envvar +      explicitly to a valid description string for your configuration, e.g. +    </para> +     +    <programlisting> +    export xine_BUILD=k7-pc-linux-gnu +    rm -f config.cache +    ./cvscompile.sh +    make +    make install +    </programlisting> + +  </sect1> + +  <sect1> + +    <title> Build problems: xine engine (xine-lib) </title> + +    <sect2> + +      <title> The package doesn't compile at all! </title> + +      <para> +        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. +      </para> +     +      <para> +        Read again carefully the output <command>./configure</command> +	produced and/or compiler warnings and error reports, they often contain +	helpfull 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. +      </para> + +    </sect2> +    <sect2> + +      <title> The Xv video-out plugin fails to compile! </title> + +      <para> +        If you want to have Xv support compiled in, make sure you either have +        a shared Xv library on your system, e.g.  +	<command> ls /usr/X11R6/lib/libXv* </command> +        should give you some .so libs, like this: +        <programlisting> +          /usr/X11R6/lib/libXv.a +          /usr/X11R6/lib/libXv.so +          /usr/X11R6/lib/libXv.so.1 +        </programlisting> +      </para> +     +      <para> +        Alternatively you need to have libtool 1.4 or newer installed. If not +        and you only got libXv.a you can create the shared versions yourself: +        <programlisting> +          ld --whole-archive -shared -o libXv.so.1 libXv.a +          ln -s libXv.so.1 libXv.so +          ldconfig +        </programlisting> +      </para> + +      <para> +        Now you should be ready to build the Xv video-out plugin on your system. +      </para> + +    </sect2> + +  </sect1> + +  <sect1> + +    <title> Build problems: frontend (gxine/xine-ui/...) </title> + +    <sect2> + +      <title> I have installed xine-lib but the frontend complains about not finding it!</title> + +      <para> +        First of all take a closer look at the compilation instructions above again.  +	You will probably find your answer there right away. +      </para> +     +      <para> +        As stated there (there again that hint *grin*), make sure that you +        have <filename> $prefix/bin </filename> in your path and that your  +	linker is able to find +        libraries installed in <filename>$prefix/lib</filename> (by the way, $prefix is where you +        installed your xine-lib to earlier (yes, installing xine-lib with +        <command> make install </command> would be a good idea before trying to compile  +	the frontend ;)). +      </para> + +    </sect2> +  </sect1> + +  <sect1> + +    <title> Can I install xine in my home directory (without being root) ? </title> + +    <para> +      yes. first set up a subdir where you install your private software, eg +    </para> +    <programlisting> +      $ mkdir ~/usr +    </programlisting> +    <para> +      then you have to set a few environment variables - it's probably a good +      idea to add this to your <filename> ~/.bashrc </filename> (or somewhere similar): +    </para> +    <programlisting> +      export PATH="$HOME/usr/bin:$PATH" +      export LD_LIBRARY_PATH="$HOME/usr/lib:$LD_LIBRARY_PATH" +      export CFLAGS="-I$HOME/usr/include -L$HOME/usr/lib -O3" +      export ACLOCAL_FLAGS="-I $HOME/usr/share/aclocal" +    </programlisting> +    <para> +      now you can unpack tarballs e.g. in <filename>~/usr/src</filename>  +      (<command>mkdir  ~/usr/src</command> if necessary) and do a +    </para> +    <programlisting> +      $ ./configure --prefix=$HOME/usr +      $ make install +    </programlisting> +  </sect1> + +  <sect1> + +    <title> </title> + +    <para> +    </para> +     +    <para> +    </para> + +  </sect1> + + +</chapter> + +<chapter id="playback"> + +  <title>Playback of various stream types</title> +   +  <sect1> + +    <title>DVD Playback with xine</title> + +    <sect2> + +      <title>How do I play back DVDs with xine?</title> +   +      <para> +        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. +      </para> + +      <para> +        To get DVD playback working, first make sure you have +        a symlink <filename>/dev/dvd</filename> pointing to your +        DVD device on your system. For example, if your DVD drive +        is the master ide drive on the second IDE channel, +        <filename>/dev/dvd</filename> should point to +        <filename>/dev/hdc</filename>. Please note that if you +        are using the ide-scsi emulation on your system, it is +        likely that you 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 <command> cdrecord -scanbus </command>) +        to find out which device it got mapped to and set the +        symlink accordingly (should be something like <filename>/dev/scd0</filename>, +        <filename>/dev/scd1</filename>, ... in that case). +        Also make sure you (as a user) have sufficient (read) 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. <command>addgroup cdrom username</command>), +        depending on your setup and/or distribution. +      </para> + +      <para> +        It is highly recommended to switch DMA mode on for yout DVD drive +        (without it even very recent machines will have trouble producing +        smooth video output). Use a command like +        <command>hdparm -d 1 device</command> +        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.  +        <filename>/dev/hdc</filename>), not the mapped <filename>/dev/scd</filename> +        scsi device. +      </para> + +      <para> +        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). +      </para> + +      <para>  +        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 (most drives +        come with a factory setting of region 0 so they can only play back +        region 0 dvds and there are not many of those available). The easiest +        way to handle this is to use the regionset utility from +        <ulink url="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz"> +        http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz</ulink>. +      </para> + +      <para> +        Once you have everything set up, try something like +	<command> gxine dvd:// </command> or <command> xine -p dvd:// </command> +	to start dvd playback. Some frontend also offer so-called autoplay +	buttons or menu entries that start dvd playback immediately.  +      </para> + +      <para> +        Important: do not try to mount the DVD. Just insert it and hit the DVD autoplay +	button or start xine from the command line. +      </para> + +      <para> +        If things do not work as expected, try running the <command> xine-check </command> +	shellscript that comes with libxine to see if this gives you further hints on +	what could be wrong. +      </para> + +    </sect2> + +    <sect2> +       <title> DVD playback works, but it takes a long time until playback starts </title> +       <para> +         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. +       </para> + +       <para> +         You can download a tool to set the region code of RPC-Drives here: +	 <ulink url="http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz"> +	 http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz +	 </ulink> +       </para> + +       <para> +         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. +       </para> +    </sect2>     + +    <sect2> +       <title>  I have problems setting up my RPC-2 drive for the right region! </title> +       <para> +         You can download a tool to set the region code of RPC-Drives here: +	 <ulink url="http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz"> +	 http://linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz +	 </ulink> +       </para> + +       <para> +         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. +       </para> +    </sect2>     +  </sect1> + +  <sect1> + +    <title> Can I watch Video CDs (VCDs)? SVCDS ? CD-i?</title> + +    <para> +      xine supports VCD and SVCD playback out-of-the box. Similar to DVDs, +      make sure you have a <filename>/dev/cdrom</filename> alias pointing +      to your CDROM drive which you will use to play back the (S)VCD. +    </para> + +    <para> +      At the moment, CD-i formats are not supported by xine. +    </para> + +    <para> +      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 +      <programlisting> +      gxine VCD:// +      </programlisting> +      from the command line. +    </para> + +  </sect1> + +  <sect1> + +    <title> Can I watch Quicktime (.mov, .mp4) files using xine? </title> + +    <para> +       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, only very few typically used quicktime audio/video codecs +       are 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. +    </para> + +    <para> +       Possibly the most convenient way to get the Quicktime DLLs is to download +       them from the mplayer website  +       <ulink url="http://www1.mplayerhq.hu/MPlayer/releases/codecs/"> +       http://www1.mplayerhq.hu/MPlayer/releases/codecs/</ulink>. +       The package is called "QuickTime5 DLLs". Unpack it and move everything you find +       inside to <filename>/usr/lib/win32</filename> (actually you can place them +       anywhere you want, e.g. someplace in your homedirectory, but then you'll +       have to set <parameter>codec.win32_path</parameter> in your +       xine config file accordingly). Restart xine then and you should be +       able to watch Quicktime trailers. +    </para>        + +  </sect1> + +  <sect1> + +    <title> Real Network files/streams </title> +     +    <sect2> +      <title> Can I watch Real (.rm, .ram) files using xine ? </title> + +      <para> +        The situation with real files and streams is pretty similar to the situation +	with Quicktime Streams (see above). Most newer real audio and video formats +	are only supported by using binary-only codecs which are available from +	real networks but are not included in xine. +      </para> + +      <para> +        One way to get these codecs is to download and install RealPlayer from +	RealNetworks, for example in <filename>/usr/local/RealPlayer8</filename> or +	<filename>/opt/RealPlayer8</filename>. If you installed it in one of these +	places, xine should automatically find and use the real binary codecs. +	If it doesn't work, try to find out the exact path to where the real codecs +	are installed on your system (look for a file named <filename>rv30.so.6.0</filename> +	which should reside in a directory called <filename>Codecs</filename> in the +	directory where you have installed RealPlayer in) and set +	<parameter>codec.real_codecs_path</parameter> in your xine config file +	accordingly. +      </para> + +    </sect2> + +    <sect2> +      <title> What about (live) network streams (pnm://, rtsp:// style urls) ? </title> + +      <para> +        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 +	(currenlty 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. +      </para> + +    </sect2> + +  <sect1> + +    <title> Can I watch Windows Media (.asf/.wmv) files using xine? </title> + +    <para> +      While the container format (system layer) ASF (wmv is just an alias) +      is fully supported in xine, for newer windows media 8 and 9 based streams +      you'll need to install windows binary codecs (.DLLs). +    </para> + +    <para> +       Possibly the most convenient way to get the windows DLLs is to download +       them from the mplayer website  +       <ulink url="http://www1.mplayerhq.hu/MPlayer/releases/codecs/"> +       http://www1.mplayerhq.hu/MPlayer/releases/codecs/</ulink>. +       The package is called "Win32 Codecpack". Unpack it and move everything you find +       inside to <filename>/usr/lib/win32</filename> (actually you can place them +       anywhere you want, e.g. someplace in your homedirectory, but then you'll +       have to set <parameter>codec.win32_path</parameter> in your +       xine config file accordingly). Restart xine then and you should be +       able to watch windows media streams. +    </para>        + +  </sect1> + +  <sect1> + +    <title> Can I watch Digital TV (Digital Video Broadcast) using xine ? </title> + +    <para> +      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 <filename>doc/README.dvb</filename> (in the xine-lib tarball) for details. +    </para> + +  </sect1> + +  <sect1> + +    <title>How do I play streams from STDIN?</title> +     +    <para> +      Use something like: +      <programlisting> +        cat stream.mpg | gxine stdin:// +      </programlisting>     +    </para> +  </sect1> + +  <sect1> + +    <title> How can I watch files with external AVI subtitles?</title> +     +    <para> +      This is not supported in current xine 1.0.x releases (but it is being +      actively worked on, so please be patient :) ). In xine 0.9.13 +      this used to be: +      <programlisting> +        xine foo.avi%bar.sub +      </programlisting>     +    </para> +  </sect1> + +</chapter> + +<chapter id="running"> + +  <title> Running xine </title> +   +  <sect1> + +    <title>I have a lot of dropped frames - what can I do?</title> +     +    <para> +      Your hardware might be too slow for xine. Make sure you turn on all +      speed optimizing options. A few things you should check: + +      <itemizedlist> +        <listitem> +	  <para> +            first of all, run the <command>xine-check</command> script included in xine-lib +            package (probably already installed in your system). +	    <command>xine-check</command> will report several of the most common problems +            listed here. Sample output from xine-check: +            <programlisting> +              $ 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       +            </programlisting> +	  </para> +  	</listitem> +	<listitem> +	  <para> +  	    use a recent kernel which is optimized for your hardware +	  </para> +  	</listitem> +	<listitem> +	  <para> +  	    use the latest gas/gcc +	  </para> +	</listitem> +	<listitem> +	  <para> +	    close other applications (use a tool like "top" to find out +            what applications are using up CPU power) +	  </para> +	</listitem> +	<listitem> +	  <para> +	    if you are not using Xv, make sure your display is set up +            to 16bpp, not 24 or higher (reduces memory bandwith) +	  </para> +	</listitem> +	<listitem> +	  <para> +	    make sure the hard drive (or cdrom/dvd drive) which supplies the +            video data is in DMA mode (if supported)  +	  </para> +	  <para> +	    On most linux-based systems, you can use hdparm to check this.  +            Example: +	    <programlisting> +              hdparm /dev/hda + +              ... +              using_dma    =  1 (on) +              ... +	    </programlisting> +	  </para> +	  <para> +  	    You can enable DMA mode with the following command: +	    <programlisting> +              hdparm -d1 device_of_your_drive_that_supplies_video_data +	    </programlisting> +	  </para> +	  <para> +            More information about this may be found here: +            <ulink url="http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html"> +	    http://oreilly.linux.com/pub/a/linux/2000/06/29/hdparm.html +	    </ulink> +	  </para> +	</listitem> +	<listitem> +  	  <para> +            xine needs high speed memory access which depends on your chip set. +            Make sure you enable all speed-improving options.  +	  </para> +	  <para> +	    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): +	  </para> +	  <para> +	  <ulink url="http://www.overclockers.com/tips105/index03.asp">http://www.overclockers.com/tips105/index03.asp</ulink> +	  </para> +	  <para> +	    This website centers around a windows-tool to tweak the chipset, you +            can do the same on FreeBSD with <command>pciconf</command>.  +	    On some linux distributions there are similar tools. +	  </para> +	</listitem> +	<listitem> +	  <para> +	     a nice performance tuning tool can be found here: +	     <ulink url="http://powertweak.sourceforge.net">http://powertweak.sourceforge.net</ulink> +	  </para> +	</listitem> +	<listitem> +	  <para> +	    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.	 +	  </para> +	  <para> +            If you're using XFree 4.x, enabling MTRR support in your kernel should +            be enough. +	  </para> +	  <para> +	    Try a <command> cat /proc/mtrr </command> - if the file exists and you find an entry +            corresponding to the amount of graphics memory you have, everything +            should be fine. +	  </para> +	</listitem> +	<listitem> +	  <para> +	    set up and use raw devices for dvd access. +	  </para> +	  <para> +            Raw devices should be available in linux kernel 2.4.x and there are +            patches for older kernels available from: +	    <ulink url="ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/"> +	    ftp://ftp.kernel.org/pub/linux/kernel/people/sct/raw-io/ +	    </ulink> +	  </para> +	  <para> +	    To use raw devices, first connect a free raw device to your dvd +            device, use something like: +	    <programlisting> +  	      raw /dev/raw1 /dev/hdc +	    </programlisting> +	  </para> +	  <para> +	    then create a link named "rdvd" pointing to that raw device: +	    <programlisting> +  	      raw /dev/raw1 /dev/hdc +	    </programlisting> +	  </para> +      </itemizedlist> + +  </sect1> + +  <sect1> + +    <title>I have problems when using xine on FreeBSD, Solaris, ... !</title> +     +    <para> +      Check out the the corresponding README files in the directory <filename>xine-ui/doc</filename> +    </para> +  </sect1> + + +  <sect1> + +    <title> What is aalib? How do I use it in xine? </title> +     +    <para> +      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 ;> +    </para> +    <para> +      To use it make sure you have aalib installed correctly before you +      configure/build xine-lib and xine-ui. In addition to the <command>xine</command> binary a +      binary named <command>aaxine</command> should get built and installed. You can then use +      something like:       +      <programlisting> +        aacine foo.mpg +      </programlisting> +      to use aalib video output. +    </para> +  </sect1> + +  <sect1> + +    <title>What do all these ~/.xine/config entries mean?</title> +     +    <para> +      You can find information about them in <filename>xine-ui/doc/README.config_en</filename>. +    </para> +  </sect1> +</chapter> + +<chapter id="audio"> + +  <title> Audio related questions </title> +   +  <sect1> + +    <title>What audio drivers does xine support? OSS? Alsa? Arts? Esd?</title> +     +    <para> +      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). +    </para> +  </sect1> + +  <sect1> + +    <title> When I'm watching a movie, the sound effects ar much higher volume than the voices</title> +     +    <para> +      Congratulations, you seem to have an original movie audio track there. +    </para> +    <para> +      Uhm. So you don't like it. Well, there are two things you can do: + +      <itemizedlist> +        <listitem> +	  <para> +	    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). +	  </para> +	</listitem> +        <listitem> +	  <para> +	    If you have a dolby digital (AC3) soundtrack, you can try +	    to enable liba52's dynamic range compression setting +	    <programlisting> +	      codec.a52_dynrng:1 +	    </programlisting> +	    in your xine config file (or use some gui config dialog). +	  </para> +	</listitem> +      </itemizedlist> + +    </para> +  </sect1> +  <sect1> + +    <title> When I play this stream, xine shows video but there's no audio!</title> +     +    <para> +      Well, first try a different audio driver (<command> gxine -A oss </command>, +      <command> gxine -A arts </command> ...).  +    </para> +    <para> +      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. +    </para> +    <para> +      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. +    </para> +  </sect1> +  <sect1> + +    <title>Can xine produce 4-/5-channel surround audio output?</title> +     +    <para> +      Yep, it can do that using OSS or ALSA drivers, provided that the driver +      supports it. On startup xine tells you what modes are supported by your +      audio driver, e.g: +      <programlisting> +        audio_alsa_out : supported modes are mono stereo (4-channel not enabled +          in xine config) (5-channel not enabled in xine config) (5.1-channel not +          enabled in xine config) (a/52 and DTS pass-through not enabled in xine +          config) +      </programlisting> +    </para> +    <para> +      On this machine 4-channel surround would be possible. However, since xine +      cannot detect if there are actually speakers connected to the additional +      channels, you'll have to activate that feature manually. +    </para> +    <para> +      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 <filename>.gxine</filename>/<filename>.xine</filename>: +      <programlisting> +        # 4-channel: +          audio.four_channel:1 +  +        # 5-channel: +          audio.five_channel:1 + +        # 5.1-channel +          audio.five_lfe_channel:0 +      </programlisting> +    </para> +  </sect1> +  <sect1> + +    <title>What about ac3 output via spdif to an external ac3 decoder?</title> +     +    <para> +      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 (<filename>~/.xine/config</filename>/<filename>~/.gxine/config</filename>)  +      yourself: +      <programlisting> +        audio.a52_pass_through:1 +      </programlisting> +    </para> +  </sect1> +  <sect1> + +    <title>Changing the volume with the GUI control has not affect! What's up!?</title> +     +    <para> +      Some xine drivers do not support volume changing although the GUI +      will show the volume bar. Usually this is not xines 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. +    </para> +  </sect1> + +</chapter> + +<chapter id="video"> + +  <title> Video related questions </title> +  <sect1> + +    <title>I can hear the audio - but I don't see a picture!</title> +     +    <para> +      Probably your hardware is simply too slow - see above for some +      hints on how to speed things up. +    </para> +  </sect1> + +  <sect1> + +    <title>How can I make xine use the Xv extension and what drivers do I need?</title> +     +    <para> +      xine will normally use Xv by default if it is available. In some cases +      you might need to choose Xv playback manually (when the <filename>~/.xine/config</filename> +      file for some reason says that you want to use XShm): +      <programlisting> +       xine -V Xv foo.mpg +      </programlisting> +    </para> +    <para> +      If this doesn't work for you, it may be possible that Xv is not present +      on your system. +    </para> +    <para> +      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 locations to look for suitable drivers: +      <programlisting> +       CARDS WITH OUT-OF-THE-BOX XV SUPPORT IN XFREE86 4.x: +        +         3dfx (voodoo)     (URL: ?) +         i815              (URL: ?) +         Matrox G200/G400  (URL: www.matrox.com) +         NVidia            (URL: www.nvidia.com) +         Permedia 2/3      (URL: ?) +        +       CARDS WITH YET UNKNOWN STATUS: +        +         ATI cards         (take a look at GATOS: www.linuxvideo.org/gatos/) +         Savage            (URL: www.probo.com/timr/savage40.html) +      </programlisting>       +  </sect1> +  <sect1> + +    <title>Some parts of my X Desktop get transparent when xine plays the video!</title> +     +    <para> +      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: +      <programlisting> +        video.XV_COLORKEY:2110 +      </programlisting> +      in your <filename>~/.xine/config</filename> file where you can change the color that's used +      by xine for the video overlay. +    </para> +  </sect1> +  <sect1> + +    <title>The aspect ratio of the video is wrong!</title> +     +    <para> +    Try pressing "a" to change the aspect ratio +    </para> +  </sect1> +  <sect1> + +    <title>What is the difference between discarded and skipped frames?</title> +     +    <para> +    Sometimes xine will output a message like that: +    <programlisting> +    200 frames delivered, XX frames skipped, YY frames discarded +    </programlisting> +    </para> +    <para> +      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 later is responsible for scheduling the frames to be displayed at +      the right time. +    </para> +    <para> +      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. +    </para> +    <para> +      When the frame is decoded to be show 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 section above. +    </para> +    <para> +      Note that if a decoder can't skip frames for some reason, you would +      never see frames skipped (they would be all discarded). +    </para> +  </sect1> + +</chapter> + +<chapter id="errors"> + +  <title> Error Messages: What they mean and what you can do</title> +  <sect1> + +    <title>Starting xine fails with complains about audio drivers/devices!</title> +     +    <para> +      You can select the audio driver using the -A option. So try: +      <programlisting> +        xine -A null +      </programlisting> +      If you have ALSA drivers installed, try: +      <programlisting> +        xine -A alsa +      </programlisting> +      If you run ESD (not recommended), try: +      <programlisting> +        xine -A esd +      </programlisting> +      If you run artsd, try: +      <programlisting> +        xine -A arts +      </programlisting> +    </para> +  </sect1> +  <sect1> + +    <title>"no video port found"</title> +     +    <para> +      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 mpeg-2).     +    </para> +    <para> +      If all that fails, you can still use plain X11/XShm: +      <programlisting> +        gxine -V XShm foo.vob +      </programlisting> +    </para> +  </sect1> +  <sect1> + +    <title>Unable to open dvd drive (/dev/dvd)</title> +     +    <para> +      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... +      <programlisting> +        cd /dev +        ln -s hdc dvd +      </programlisting> +       ...should do the job. +    </para> +  </sect1> +  <sect1> + +    <title>"demux error! 00 00 00 (should be 0x000001)"</title> +     +    <para> +      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). +    </para> +    <para> +      If it is legal where you life, 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. +    </para> +    <para> +      Another reason could be that your (RPC-2) DVD drive isn't set up +      for the right region (see above). +    </para> +  </sect1> +  <sect1> + +    <title>"audio driver 'oss' failed, using null driver instead"</title> +     +    <para> +       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 <command> gxine -A alsa </command> to see if this helps. +    </para> +    <para> +      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 <command>fuser /dev/dsp</command> +      should give you the PID of the process. +    </para> +    <para> +      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:       +      <programlisting> +        gxine -A esd +      </programlisting> +      This may result in worse playback - exact syncronization is not possible +      with esd, so using oss should be preferred. +    </para> +    <para> +      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: +      <programlisting> +        gxine -A arts +      </programlisting> +      Or you suspend the aRts daemon by checking the appropriate option in +      your aRts control. (recommended) +    </para> +    <para> +      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. +    </para> +  </sect1> +  <sect1> + +    <title>video_out: throwing away image with pts xxx because it's too old</title> +     +    <para> +      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.  +    </para> +  </sect1> +  <sect1> + +    <title>"No video plugin available to decode 'xxxxxx'."</title> +     +    <para> +      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. +    </para> +    <para> +      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). +    </para> +  </sect1> +  <sect1> + +    <title>"w32codec: decoder failed to start. Is 'xxxxxx' installed?"</title> +     +    <para> +      You probably don't have the win32 dll needed to decode this file. +    </para> +  </sect1> +  <sect1> + +    <title>xine just crashed on me - i didn't get any error message</title> +     +    <para> +      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: +    </para> + +    <itemizedlist> +      <listitem> +        <para> +	  did xine really crash (segfault) or did it hang (deadlock) ? +	</para> +      </listitem> +      <listitem> +        <para> +	  can you reproduce the bug? (e.g. do you remember what you +	  did and when you do it again it crashes again?)  +	</para> +      </listitem> +      <listitem> +        <para> +	  check the console output (and include it in a bug report), maybe earlier +	  there is some output that points to the problem. +	</para> +      </listitem> +      <listitem> +        <para> +	  Your X server just froze on you? unfortunately that's a know problem +	  with some chipsets and drivers (most commonly Savage chipsets) when +	  using Xv. You might want to try running <command> gxine -V XShm </command> +	  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. +	</para> +	<para> +  	  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 +	  <email> xine-user@lists.sf.net </email>, so they can update this FAQ! +	</para> +      </listitem> +      <listitem> +        <para> +	  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*). +	</para> +	<para> +	  Please take a look at our bug report form which is located in the xine-lib +          package (doc/bug_report_form). Fill it out accordingly and sent it to our +          user mailing list: <email>xine-user@lists.sourceforge.net</email> +	</para> +	<para> +          Thanks for taking the time to help improve xine. +	</para> +      </listitem> +    </itemizedlist> +  </sect1> +</chapter> + | 
