The xine engine FAQ

Copyright (C) 2001-2003 the xine project team

-------------------------------------------------------------------------------

Table of Contents
 

    General questions about xine and this document

        What is the xine engine?
        What's the aim and scope of this text?
        My question is not yet covered here - where can I ask for help?
        How do I pronounce "xine"?
        What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for?
        Where and how do I get the latest development version?
        Why is gxine's CVS module named "gnome-xine"?
        Where can I find pre-compiled binaries, e.g. RPMs?

    Building and installing xine from source

        What do I need to compile everything properly?

General questions about xine and this document

What is the xine engine?

The xine engine is a free media player engine. It comes in the form of a shared
libarary and is typically used by media player frontends and other multimedia
applications for playback of multimedia streams such as movies, radio/tv
network streams, DVDs, VCDs.

Since there are several frontends for the xine library available, this document
has a problem when it comes to examples. The two most common frontends xine-ui
and gxine are mixed in command line examples throughout this FAQ. When you use
a different frontend, some of these will not work for you. The filename of the
config file also varies amongst frontends. If you get confused, I recommend you
try with one of xine-ui or gxine.

-------------------------------------------------------------------------------

What's the aim and scope of this text?

The primary goal of this FAQ is to cover all recurring questions related to the
xine engine. Frontend specific questions are usually not covered here.

-------------------------------------------------------------------------------

My question is not yet covered here - where can I ask for help?

First of all be sure that your question is really not covered here and that you
haven't just been a bit too lazy to read through all of this text. ;-). Also
check out the documentation specific to the frontend (e.g. xine-ui or gxine or
totem).

That said - you are welcome to mail to our user mailing list: <
xine-user@lists.sourceforge.net> Please provide some info about your setup so
people have a chance to help you, e.g. include information about your audio/
video hardware and drivers you use, operating system, cpu type and some console
output/any error messages. Also include command line parameters you have
specified and information about the type of stream you're trying to play back.
Also very important is the version of xine you're using and information about
any additional plugins you may have installed on your system.

-------------------------------------------------------------------------------

How do I pronounce "xine"?

As long as people know what you are talking about, you are free to pronounce it
the way you like, but the official pronounciation is [ksi:n], like the name
"Maxine" with the "Ma" removed.

-------------------------------------------------------------------------------

What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for?

Some time ago xine just became too complex to be just one big program.
Therefore it was split into two major parts.

xine-lib is simply speaking the engine of xine. It contains all basic plugins
and is necessary to run anything that relies on xine. (This is the part that is
covered in this FAQ.)

Then there are frontends - applications that use xine. The most common frontend
is that of a media player. There are currently two frontends being developed in
the xine project, xine-ui (skinned dvd-player style frontend directly based on
xlib) and gxine, a desktop media-player style frontend using the standard gtk
widget set and comes with a mozilla browser plugin. External projects like
kaffeine, sinek and totem develop additional frontends. In the future you will
likely see more and different types of applications being developed which will
use the xine engine for video processing and other multimedia purposes.

If you simply want a media/dvd player, you'll need to install xine-lib first
and then choose and install a player frontend like xine-ui or gxine.

Other modules in CVS are: xine-plugin a mozilla browser plugin for streaming
media playback using xine, xine-www the xine project website sources.

-------------------------------------------------------------------------------

Where and how do I get the latest development version?

Be advised that end-users should stick to the official xine releases. CVS is
only intended for developers and for others who know why they use it.

To check out xine-modules from CVS, first do this:

   cvs -d :pserver:anonymous@xine.cvs.sourceforge.net:/cvsroot/xine login

The password is empty, just press Enter.

Then, to check out individual modules (e.g. xine-lib or xine-ui):

   cvs -d :pserver:anonymous@xine.cvs.sourceforge.net:/cvsroot/xine co <modulename>

gxine's primary repository is at http://zap.tartarus.org/~ds/hg/gxine/. Its CVS
module is updated from this from time to time. To check out the source:

   hg clone http://zap.tartarus.org/~ds/hg/gxine/ gxine

-------------------------------------------------------------------------------

Why is gxine's CVS module named "gnome-xine"?

Historical reasons: gxine was originally named gnome-xine.

-------------------------------------------------------------------------------

Where can I find pre-compiled binaries, e.g. RPMs?

The xine project does not provide pre-compiled binaries for legal reasons (some
parts of xine may be covered by patents in some countries). Some OS projects/
vendors (e.g. debian, freebsd, ...) offer binaries for their distributions -
please contact them or use their package search tools for further info. You can
also find links to third parties providing xine RPMs on the xine homepage at
http://xinehq.de/index.php/releases.

See the next section of this FAQ for instructions on how to build xine from
source.

-------------------------------------------------------------------------------

Building and installing xine from source

What do I need to compile everything properly?

First of all an official and stable release of gcc. Also be aware that patched
gcc versions may break parts of xine and are therefore not supported by the
xine project.

Furthermore you'll have to use GNU make to compile xine. On most GNU/Linux
systems "make" is GNU make - on other platforms use "gmake" instead. Also, zlib
is required (including the appropriate header files, which are often found in a
package called zlib-devel or similar.)

If you want to compile xine from CVS, you'll need to have the autobuild tools
installed (automake, autoconf and libtool - in recent versions).

Frontends might need additional libraries, e.g. for gxine you'll need to have
GTK2 installed. Make sure you have not only the shared libraries themselves but
also the header files (often packaged seperately as so-called -dev packages) on
your system.

Some plugins that come with the xine engine need additional libraries
(otherwise they will not be built). For example, libogg and libvorbis (plus
their include files) are needed for ogg/vorbis support. Most notably, if you
want to see an

