The xine engine FAQ


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: 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