summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am9
-rw-r--r--doc/README67
-rw-r--r--doc/README.config_en276
-rw-r--r--doc/README.dxr3316
-rw-r--r--doc/README.dxr3_pl319
-rw-r--r--doc/README.freebsd110
-rw-r--r--doc/README.irix31
-rw-r--r--doc/README.mrl (renamed from doc/MRLs)5
-rw-r--r--doc/README.opengl44
-rw-r--r--doc/README.solaris135
-rw-r--r--doc/README.syncfb290
-rw-r--r--doc/README.tvmode103
-rw-r--r--doc/faq/Makefile.am29
-rw-r--r--doc/faq/faq.txt1077
14 files changed, 2784 insertions, 27 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 352d8ec87..6d4232123 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,10 +1,13 @@
SUBDIRS = man hackersguide faq
-EXTRA_DIST = $(docs_DOCS) README README.plugins MRLs dataflow.dia README.dvb dvb_channels
-
+EXTRA_DIST = $(docs_DOCS)
docdir = $(prefix)/share/doc/xine
-docs_DOCS =
+docs_DOCS = README README.plugins dataflow.dia README.dvb dvb_channels\
+ README.config_en README.dxr3 README.dxr3_pl README.freebsd \
+ README.irix README.mrl README.opengl README.solaris README.syncfb \
+ README.tvmode
+
install-data-local:
@documentations='$(docs_DOCS)'; \
diff --git a/doc/README b/doc/README
index 437ef5540..9f06b08da 100644
--- a/doc/README
+++ b/doc/README
@@ -1,32 +1,55 @@
+xine-lib/doc/README
- ----------------------
- xine
- ----------------------
+This directory contains documentation for xine-lib (the xine engine).
+Parts of this documentation are targeted towards end-users, other parts
+toward developers.
- a free video player
+Some frontends (e.g. xine-ui) may come with additional, frontend-specific
+documentation. The documents in this directory try to talk about xine
+engine features common to all frontends.
----------------
-Build from CVS
----------------
+faq/
+ contains the xine engine FAQ
- 1). Run autogen.sh: ./autogen.sh (this will configure xine-lib to install
- to /usr/local/lib). You can change this location and other flags.
- Look at ./configure --help for more options.
+README.config_en
+ details about xine engine config options
- 2). Configure xine-lib running "./configure <configure flags>" if
- necessary.
+README.freebsd
+ hints on running xine on FreeBSD
- 3). Run "make" to start building an optimized version.
-
- OR
-
- Run "make debug" to start building a debug version.
+README.irix
+ hints on running xine on IRIX
- 4) Run "make install" to install xine-lib to the desired directory.
- If nothing was done this directory should be /usr/local/lib.
+README.opengl
+ how to use xine's OpenGL video output
- 5) Ensure that the desired directory path, e.g. /usr/local/lib, is
- in ld.so.conf. If not enter it and re-run ldconfig:
+README.solaris
+ hints on running xine on Solaris
- ldconfig -v
+README.syncfb
+ information about xine's SyncFB video output plugin
+README.tvmode
+ how to get tv output working
+
+README.dvb
+ instructions on how to get DVB (DigitalTV) working in xine
+
+README.dxr3
+README.dxr3_pl
+ instructions on how to get use the DXR3 (hollywood+) in xine
+
+README.mrl
+ defines exactly what MRLs (media resource locators) are
+
+README.plugins
+ information about plugin concepts in xine for developers
+
+man/
+ contains some general manpages about xine-lib
+
+hackersguide/
+ contains the xine hacker's guide for developers
+
+dvb_channels
+ sample channel file for DVB \ No newline at end of file
diff --git a/doc/README.config_en b/doc/README.config_en
new file mode 100644
index 000000000..75a7af23d
--- /dev/null
+++ b/doc/README.config_en
@@ -0,0 +1,276 @@
+ -------------------------
+ xine engine configuration
+ -------------------------
+
+These settings may be found on ~/.xine/config or ~/.gxine/config, depending on
+which frontend you're using. The config file itself contains comments documenting
+the config options as well so this might be an additional source of information.
+
+Some frontends (like xine-ui and gxine) also have nice graphical config dialogs
+which may be more convenient to use than editing the config file by hand. This
+also means that it is a bad idea to edit the config file while a xine frontend
+is running.
+
+Some settings on setup dialog will require xine to be restarted to take effect.
+
+
+
+Audio driver specific values:
+-----------------------------
+
+audio.alsa_default_device Device name used for mono.
+ (e.g. default)
+
+audio.alsa_front_device Device name used for stereo.
+ (e.g. front)
+
+audio.alsa_surround40_device Device name used for 4-channel.
+ (e.g. surround40)
+
+audio.alsa_surround50_device Device name used for 5-channel.
+ (e.g. surround50)
+
+audio.alsa_surround51_device Device name used for 6-channel.
+ (e.g. surround51)
+
+audio.alsa_a52_device Device name used for a/52 passthrough.
+ (e.g. iec958:AES0=0x6,AES1=0x82,AES2=0x0,AES3=0x2)
+
+audio.driver audio driver to use, same as command line
+ option -A
+ (e.g. alsa05, alsa09, arts, esd, sun)
+
+audio.force_rate If non-zero, force audio output rate to specified
+ value for systems with braindead audio drivers that
+ don't properly communicate back what audio rates they
+ do support. The default value of 0 attempts to
+ automatically detect the optimum audio output rate
+ (e.g. use 44100 to force 44.1 KHz audio)
+
+audio.resample_mode Adjust whether resampling is done or not.
+ 1 force off
+ 2 force on
+ Anything else sets it to auto.
+
+audio.esd_latency latency between time of audio sample
+ output to esd and actual playback
+ in audio samples (default 30000)
+ use this to manually adjust a/v sync
+ for esd output
+
+audio.five_lfe_channel 1/0 : enable 5.1-channel playback
+
+audio.five_channel 1/0 : enable 5-channel playback
+
+audio.four_channel 1/0 : enable 4-channel playback
+
+audio.mixer_name Name of mixer device.
+
+audio.mixer_volume 0..100%: Mixer volume.
+
+audio.oss_sync_method Type of audio/video synchronization desired
+ auto: System attempts to automatically
+ detect thhe optimal type of audio/
+ video synchronization, with the
+ preference order being GETODELAY,
+ GETOPTR, and finally SOFTSYNC
+ getodelay: Try to force use of the
+ SNDCTL_DSP_GETODELAY ioctl
+ to achieve true audio/video
+ synchronization, even if the
+ audio driver doesn't claim
+ to support real-time
+ getoptr: Try to force use of the
+ SNDCTL_DSP_GETOPTR ioctl
+ to achieve true audio/video
+ synchronization, even if the
+ system supports the preferred
+ SNDCTL_DSP_GETODELAY ioctl
+ softsync: Force use of the system real-time
+ clock for audio softsync with
+ the video, even if the audio
+ driver actually has support for
+ real-time - there may be audio/
+ video synchronization issues
+ with use of this setting
+ probebuffer: Probe sound card buffer size on
+ initialization to calculate the
+ audio latency for a/v sync.
+ Try this if your system doesn't
+ support the real-time ioctl's
+ and you experienced sync errors
+ after long playbacks.
+
+
+audio.oss_device_num -1, 0-16: Forces the OSS plugin to use the specified
+ dspX device, regardless of its capabilities.
+ If -1 (default) is specified, the audio device with
+ the best capabilities will be used.
+ Note: /dev/dsp is usually a symlink to /dev/dsp0
+
+audio.oss_latency For softsync you can manually adjust the default
+ a/v sync latency here. The units are in miliseconds,
+ so if the sound seems delayed 1 second from the video
+ set it to 1000. (default value = 0)
+
+audio.passthrough_offset the audio offset for passthrough output.
+ The unit is PTS (1/90000s), defaults to 10000.
+
+audio.sun_static_delay sun driver static delay (latency)
+
+
+
+codec specific values:
+----------------------
+
+codec.a52_dynrng 1/0: enable a/52 dynamic range compression
+ (normalize audio - flatten dynamics)
+
+codec.a52_level 0..~200% : a/52 volume control
+
+codec.a52_pass_through 1/0 : enable a/52 output via spdif port
+
+codec.a52_surround_downmix Enable audio downmixing to 2.0 surround stereo.
+ (0) off [default]
+ (1) on
+
+codec.divx4_XXX see README.divx4
+
+codec.ffmpeg_illegal_vlc 1/0: allow illegal vlc codes in mpeg4 streams.
+ allow playing videos created with MS ISO MPEG4 codec.
+ warning: error resilience will be disabled.
+
+codec.win32_path path to where you have installed win32
+ codec dlls for avi playback, e.g.
+ /usr/lib/win32
+
+dxr3.XXX see README.dxr3
+
+
+
+input plugins specific values:
+------------------------------
+
+input.dvd_device path to your local dvd device file
+ (e.g. /dev/hdc, /dev/cdrom, /dev/dvd)
+
+input.dvd_raw_device path to a raw device set up for dvd access
+ (option, e.g. /dev/rdvd)
+
+input.vcd_device path to your local vcd device file
+ (option, e.g. /dev/cdrom)
+
+input.cda_device path to your local cd audio device file
+ (option, e.g. /dev/cdaudio)
+
+input.cda_cddb_server cddbp server name (for quering audio cd track
+ names). (default: freedb.freedb.org)
+
+input.cda_cddb_port:8880 cddbp server port (default: 8880)
+
+input.cda_cddb_cachedir cddbp cache directory
+
+input.file_origin_path origin path to grab file mrls
+
+input.file_hidden_files hidden files displaying (filenames starting
+ with dot)
+
+
+miscelaneus values:
+-------------------
+
+misc.demux_strategy 0..3: Demuxer detection strategy.
+ (see xine.h for details about values).
+
+misc.memcpy_method Memcopy method to use in xine for large data chunks.
+ Will be probed on first xine run. possible values:
+ { probe glibc kernel mmx mmxext sse }
+
+misc.osd_text_palette Palette (foreground-border-background) to use
+ on subtitles (not DVD!) available options:
+ white-black-transparent
+ white-none-transparent
+ white-none-translucid
+ yellow-black-transparent
+
+misc.osd_display Show status on play, pause, ff, ...
+
+
+
+video driver specific values:
+-----------------------------
+
+video.deinterlace_method method to use for software-deinterlacing (currently
+ only supported on Xv driver):
+ 0 none
+ 1 bob: if movement is detected on interlaced lines
+ interpolate the pixels. lose resolution only on
+ moving pixels but should avoid zig-zag effects.
+ 2 weave: similar to bob with a tendency to preserve
+ original image (less interpolation). must be
+ good for high detail on low-movement scenes,
+ but usually has bad output.
+ 3 greedy: take either the older or newer weave pixel
+ depending upon which give the smaller comb factor,
+ and then clip to avoid large damage when wrong.
+ very good results for low or intermediate motion.
+ 4 onefield: always interpolate lines, not matter they
+ are static or moving. always lose resolution.
+ 5 onefieldxv: the same as onefield except we deliver
+ half of the lines to Xvideo driver and let it scale
+ for us. very low cpu usage. not all cards implement
+ bilinear scaling (interpolation) so this may be
+ the worst quality method, but it's the only that
+ don't require MMX.
+ 6 linearblend: does a kind of vertical blurring over
+ the image to remove interlace artifacts. simple but
+ reported to produce good results.
+
+
+video.syncfb_device Path to the syncfb device (default: /dev/syncfb)
+
+video.syncfb_default_repeat Specifies how many times a frame is repeated.
+ Defaults to 3.
+ (note: hardware deinterlacing will always use 1)
+
+video.driver video driver to use, same as command line
+ option -V
+ (e.g. aa, Syncfb, XShm, Xv)
+
+video.xshm_gamma gamma correction for XShm driver (-100..100)
+ note: in fact, it may be referred as brightness
+
+video.disable_scaling some drivers (like XShm) do image scaling by
+ software. disabling it will greatly improve
+ playback performance, but the video will never
+ be scaled to fit window size.
+
+*** NOTE: not all XV attributes are available for every video card/driver
+
+video.XV_COLORKEY -1000..1000: X11 XVideo COLORKEY property value.
+ colorkey to use, may be usefull to change
+ if parts of your desktop become transparent
+
+video.XV_BRIGHTNESS -1000..1000: X11 XVideo BRIGHTNESS property value.
+
+video.XV_CONTRAST -1000..1000: X11 XVideo CONTRAST property value.
+
+video.XV_SATURATION -1000..1000: X11 XVideo SATURATION property value.
+
+video.XV_HUE -1000..1000: X11 XVideo HUE property value.
+
+video.XV_FILTER Enable bilinear scaling mode on Permedia cards
+ (may impact on performance)
+ 0 = no filter
+ Permedia 2: 1 = enabled
+ Permedia 3: 1 = partial (x direction); 2 = full
+ No other cards seem to support this.
+
+video.XV_DOUBLE_BUFFER Enable double buffering to sync video on
+ monitor retrace. At least nvidia drivers
+ should support this.
+
+
+---
+version of this file:
+ $Id: README.config_en,v 1.1 2003/01/05 13:11:53 guenter Exp $
diff --git a/doc/README.dxr3 b/doc/README.dxr3
new file mode 100644
index 000000000..1a995f7e4
--- /dev/null
+++ b/doc/README.dxr3
@@ -0,0 +1,316 @@
+
+ ----------------------
+ xine
+ ----------------------
+
+ a free video player
+
+
+Introduction
+============
+
+This documentation is intended for users of a dxr3 decoder card
+from creative labs or a hollywood plus decoder card from sigma
+designs.
+
+This version of xine contains a plugin for the mentioned hardware
+decoders "out of the box". The missing part is the linux kernel
+driver. The driver can be obtained from the main dxr3/hw+ linux
+development site at
+
+ http://dxr3.sourceforge.net/
+
+The various release formats (tarball, RPMs) are listed on
+
+ http://dxr3.sourceforge.net/download.html
+
+As setting up the dxr3/hw+ driver is a little bit tricky, please
+consult also the HOWTO:
+
+ http://dxr3.sourceforge.net/howto.html
+
+The xine dxr3 plugin requires at least the version
+
+ em8300-0.8.1 of the linux drivers.
+
+
+Compilation
+===========
+
+It is important to compile and install the dxr3/hw+ driver
+*before* compiling xine-lib. No doing so will cause the
+configure script to exclude dxr3 support with a warning.
+
+In order to activate the plugin, em8300.h must be available in
+/usr/include/linux. If you have non-standard linux
+directory like /usr/src/linux-2.4.5, you can specify the
+location with
+
+./configure --with-linux-path=/usr/src/linux-2.4.5
+
+otherwise a ./configure without parameters will do.
+
+XINE dxr3 plugin
+=================
+
+There are two different ways in which xine can make use of the dxr3
+card.
+
+1. mpeg-1/mpeg-2 (DVD, VCD, ...) decoding and displaying.
+
+This is the normal use. Instead of doing the mpeg decoding in
+software, xine sets up the display (TV or overlay) and sends the mpeg
+data via the kernel driver to the mpeg decoder on the dxr3 card, very
+much like the Windows player that you problably got with the card. In
+this mode, you should be using the dxr3 video decoder plugin together
+with the dxr3 video out plugin.
+
+Xine should select the dxr3 video decoder plugin automatically when it
+encounters an mpeg stream, but it is possible it does not use the dxr3
+video out plugin by default. In that case, start xine with the
+"-V dxr3" argument to specify the dxr3 video out plugin. If you use
+another video out driver, such as Xv or XShm, xine won't be able
+to use the mpeg decoding capability of the dxr3 hardware and will
+use libmpeg2 instead.
+
+Here's a short overview what happens when you play a dvd with xine
+using the dxr3 video out driver:
+
+DVD -> split mpeg video and audio and audio streams
+-> send mpeg video to dxr3 -> image appears on screen
+
+2. displaying non-mpeg video on dxr3 hardware.
+
+Non-mpeg video may be AVI, quicktime, windows media files or whatever
+else xine can decode.
+
+This option must be compiled in and requires a supported mpeg encoder.
+At the moment there are two:
+- libfame from fame.sourceforge.net (very fast, good quality)
+- librte (version 0.4) from zapping.sourceforge.net (fast, very good quality)
+If configure finds one or both it will compile in encoding support into
+the dxr3 driver.
+
+In order to use this driver for output instead of, say, Xv, just start
+xine with the command line option "-V dxr3", for example
+% xine -V dxr3 my_movie.avi
+
+Unlike in case 1), where the card does the video decoding, in this
+case Xine does the decoding in software, as usual, and sends the
+decompressed image to the video out driver. The dxr3 video out
+driver encodes, in real time, this image as an mpeg-1 intra frame and
+sends it to the mpeg decoder on the card.
+
+Using this trick, we can display arbitrary video formats via the
+tv out port of the dxr3 card. Nifty huh? The only downside is that
+it requires extra computational power, because we have to both
+decode the original video and encode to mpeg-1 in software. The
+cpu power needed depends of course on the resolution and the source
+format, but as a rule of thumb it is recommended to do this on a
+system with at least 128 MB of RAM and a P-III/Athlon at 800 MHz.
+
+Here's an overview what happens when you play an AVI this way
+(compare this with the previous overview!)
+
+-> split video and audio streams -> decode video stream
+-> encode video as mpeg-1 -> send mpeg-1 stream to dxr3
+-> image appears on screen
+
+
+XINE run-time configuration
+===========================
+
+XINE has several configuration options in $HOME/.xine/config
+(see also doc/README.config_en)
+
+dxr3.devicename:
+ /dev/em8300-0 The absolute path to the dxr3 control device.
+
+dxr3.preferred_tvmode:
+ default Keep the current driver setting
+ ntsc NTSC 60Hz
+ pal PAL 50Hz
+ pal60 PAL 60Hz
+
+dxr3.videoout_mode:
+ letterboxed overlay
+ Overlay Video output on the VGA screen
+ with the option of switching on-the-fly
+ to tvout (see 'VGA Overlay Feature' below).
+ The overlay will be displayed with black borders
+ if it is anamorphic. This is only useful in
+ the rare case of a DVD subtitle that would
+ only display properly in letterbox mode.
+ A good example for that are the animated
+ commentator's silhouettes on "Ghostbusters".
+ widescreen overlay
+ Overlay Video output on the VGA screen
+ with the option of switching on-the-fly
+ to tvout (see 'VGA Overlay Feature' below).
+ The more common variant of dxr3 overlay.
+ letterboxed tv
+ Send video to the tv out connector only.
+ This is the mode used for the standard 4:3
+ television set. Anamorphic aspects will be displayed
+ letterboxed, pan&scan material will have the image
+ cropped.
+ widescreen tv
+ Send video to the tv out connector only.
+ This mode is intended for 16:9 widescreen tv sets.
+ Anamorphic and pan&scan content will fill the
+ entire screen, but you have to set the tv's aspect
+ manually.
+
+dxr3.keycolor: (overlay only)
+ 0x80a040 Hexadecimal RGB value of the key color. Should
+ not need to be changed.
+
+dxr3.color_interval: (overlay only)
+ 50.0 Tolerance for keycolor. A higher value allows higher
+ range of keycolors. Intended for compensation of
+ color errors on VGA output. Smaller value is better
+ for not using the "wrong" colors as overlay.
+ Meaningful range: 20.0 - 200.0
+
+dxr3.scr_priority:
+ 10 Priority of the dxr3 scr plugin. <5 means that the
+ unix system timer will be used. >5 forces to use
+ dxr3 as sync source. If you don't understand this
+ keep the default value.
+
+dxr3.decoder_priority:
+ 10 Priority of the dxr3 video decoder plugin. <5 means
+ that hardware decoding by the card will be disabled
+ and libmpeg2 will be used instead. Therefore all video
+ material including mpeg will pass the software
+ decoding and mpeg re-encoding stages.
+ (see also above explanation of the encoding mode)
+
+dxr3.contrast:
+dxr3.brightness:
+dxr3.saturation:
+ 500 Should not need to be changed manually. Use xine
+ to adjust these as necessary. Range: 100 - 900
+
+dxr3.alt_play_mode:
+ 1 Enables or disables an 'enhanced' buffer mode available
+ on at least some cards. Noticable improvements have been
+ seen with 'glitchy' streams with intermittant pauses.
+
+dxr3.sync_every_frame:
+ 0 Tries to set a synchronization timestamp for every frame.
+ Normally this is not necessary, because sync is sufficent
+ even when the timestamp is set only every now and then.
+
+dxr3.correct_durations:
+ 0 Enables a small logic that corrects the frame durations of
+ some mpeg streams with wrong framerate codes. Currently a
+ correction for ntsc streams erroneously labeled as pal
+ stream is implemented. Enable only, when you encounter
+ such streams.
+
+video.driver:
+ dxr3 The dxr3 video driver does all the necessary card setup
+ and the mpeg encoding when playing non-mpeg video.
+ (see above)
+
+audio.driver:
+ oss The em8300 audio output is available as an usual
+ OSS device. Therefore the audio driver must be
+ set to oss. Can also be specified using "-A oss"
+ on the command line.
+
+audio.oss_device_num:
+ 0-16 Machines with a dxr3 installed often have an usual
+ soundcard too. If audio playback occurs on the
+ wrong device, the demanded device can be set using
+ this option.
+
+The following settings only concern the mpeg encoding part:
+
+dxr3.enc_alt_play_mode:
+ 1 See dxr3.alt_play_mode. The difference is that it's
+ used for the encoding mode.
+
+dxr3.enc_swap_fields:
+ 0 Swaps the even and odd field of the image. Enable this
+ option for material which produces a vertical jitter on
+ screen.
+
+dxr3.enc_add_bars:
+ 1 Add black bars when the image has an aspect ratio
+ unhandled by the card. This is needed to maintain proper
+ proportions.
+
+dxr3.encoder:
+ Mpeg encoder backend to use.
+ Depending on what's compiled in, can be "fame" or "rte"
+ As a rule of thumb, you should try rte first because
+ it gives the best output quality. If you get much
+ dropped frames, switch to "fame" and find the optimum
+ fame_quality setting (see below) for your system.
+
+dxr3.fame_quality: (libfame encoder only)
+ 0-100 The quality setting of the fame mpeg1 encoding. Lower
+ is faster but gives noticeable artefacts. Higher is
+ better but slower. Values between 0 and 100, 90
+ is a good initial value.
+
+dxr3.rte_bitrate: (librte encoder only)
+ 1000-20000 The bitrate in kbit/s of the librte mpeg1 encoder
+ output. Lower is faster, but it the difference is not as
+ big as with libfame's quality setting. If you get dropped
+ frames, it's better to use the libfame encoder.
+
+It is recommented to run XINE one time before editing the config,
+since all options get written in .xine/config and have their default
+values. The dxr3 video driver can be forced using the "-V dxr3"
+command line option. Only the tvmode value has to be edited
+if the default driver setting is not correct. Of course you can also
+use xine-ui's setup dialog to edit your configuration.
+
+
+Zooming Feature (TVout Only)
+============================
+Pressing the 'z' key enables another tv-only mode which zooms into the
+centre of a 16:9 video to display much smaller (or none) black bars
+top & bottom. It crops the video on the left and right sides to
+maintain the correct aspect ratio. Use SHIFT-z to disable.
+
+
+TV mode Cycling Feature
+======================
+Pressing CTRL-o repeatedly will allow you to cycle between tv modes PAL,
+PAL60, & NTSC. The format selected will only remain valid for the
+current xine session, on startup the tv mode will revert to the default
+in .xine/config
+
+
+VGA overlay feature
+===================
+
+In previous versions of xine support, one had to use dxr3view in order
+to use the em8300 overlay mechanism. Now, since the xine 0.5 version,
+it is possible to output the em8300 overlay directly in the video
+out window.
+
+In order to activate it, "dxr3.videoout_mode" must be set to "overlay".
+But it won't work until the old dxr3view works too (just a check). Before
+a first use, "autocal" has to be run. This will store the right overlay
+parameters in "~/.overlay". For more information, please consult the
+dxr3 howto too.
+
+As of version 0.9.5, you can now switch between overlay and tv-out modes
+on-the-fly, simply by hiding the video_out window ('h' key by default,
+see the README file). If you want to start xine with video on the tv,
+you can run xine with the -H option to auto-hide the vo window, instead
+of changing the configuration (although you can still do that instead if you
+prefer, of course).
+
+Have a look at the previous explained configuration options dxr3.keycolor
+and dxr3.color_interval too.
+
+
+---
+version of this file:
+ $Id: README.dxr3,v 1.7 2003/01/05 13:11:53 guenter Exp $
diff --git a/doc/README.dxr3_pl b/doc/README.dxr3_pl
new file mode 100644
index 000000000..f25d01a04
--- /dev/null
+++ b/doc/README.dxr3_pl
@@ -0,0 +1,319 @@
+
+ ----------------------
+ xine
+ ----------------------
+
+ wolny odtwarzacz wideo
+
+
+Wstęp
+=====
+
+Ta dokumantacja jest przeznaczona dla użytkowników dekodera dxr3
+firmy Creative Labs lub Sigma Designs.
+
+Ta wersja xine domyślnie zawiera wtyczkę dla wsparcia wspomnianych
+dekoderów sprzętowych. Brakującym elementem jest moduł jądra systemu.
+Ten moduł jest dostępny na stronie głównej projektu dxr3/hw+ pod
+adresem
+
+ http://dxr3.sourceforge.net/
+
+Różne formaty dystrybucji (skompresowane, RPMy) są wyszczególnione
+pod adresem
+
+ http://dxr3.sourceforge.net/download.html
+
+Ponieważ konfiguracja sterownika dxr3/hw+ jest nieco skomplikowane,
+proszę zaglądnąć do dokumentu HOWTO:
+
+ http://dxr3.sourceforge.net/howto.html
+
+Wtyczka xine dxr3 wymaga przynajmniej wersji
+
+ em8300-0.8.1 sterownika kernela linuxa
+
+
+Kompilacja
+==========
+
+Bardzo ważnym jest skompilowanie i zainstalowanie sterwonika
+(modułu) dxr3/hw+ *przed* kompilacją xine-lib. Nie zachowanie
+wspomnianej zasady spowoduje wyłączenie obsługi dxr3 z ostrzeżeniem
+przez skryp ./configure.
+
+W celu aktywacji wtyczkę, plik em8300.h musi być dostępny
+w katalogu /usr/src/linux/include/linux. Jeśli masz niestandardowy
+katalog źródeł jądra linuxa np. /usr/src/linux-2.4.5, musisz
+podać go jako parametr:
+
+./configure --with-linux-path=/usr/src/linux-2.4.5
+
+Wtyczka dxr3 xine
+=================
+
+Są dwa sposoby użycia karty dxr3 przez xine.
+
+1. dekodowanie i wyświetlanie mpeg-1/mpeg-2 (DVD, VCD, ...).
+
+Jest to normalne użytkowanie. Zamiast dekodować mpeg programowo,
+xine ustawia wyświetlanie (TV albo overlay) i wysyła dane mpeg
+poprzez sterownik jądra do dekodera mpeg na karcie dxr3 bardzo
+podobnie do odtwarzacza windowsowego który prawdopodobnie otrzymałeś
+wraz z kartą. W tym trybie, powinieneś używać wtyczkę dekodera dxr3
+razem z wtyczką wyjścia obrazu dxr3.
+
+xine powinno wybrać wtyczkę dekodera dxr3 automatycznie gdy
+napotka strumień mpeg, lecz jest możliwe że nie użyje automatycznie
+wtyczki wyjścia obrazu dxr3. W takim przypadku, wystartuj xine
+z opcją "-V dxr3" aby zdefiniować wtyczkę wyjścia obrazu dxr3. Jeśli
+użyjesz innej wtyczki wyjścia obrazu, jak Xv lub XShm, xine nie
+będzie mógł użyć dekodujących własności sprzętu dxr3 i użyje
+zamiast tego biblioteki libmpeg2.
+
+ Oto uproszczony opis tego co dzieje się gdy odtwarzasz
+dvd z pomocą xine używającego sterownika wyjścia obrazu dxr3:
+
+DVD -> podział obrazu i dźwięku mpeg oraz strumieni dźwięku
+-> wysyłanie obrazu mpeg do dxr3 -> obraz pojawia się na ekranie
+
+2. wyświetlanie obrazu nie-mpeg na sprzęcie dxr3.
+
+Obraz nie-mpeg może być avi, quicktime, windows-media-files lub
+cokolwiek xine może odkodować.
+
+Ta opcja musi być wkompilowana i wymaga wspieranego kodera mpeg.
+W tym momencie istnieją dwa:
+- libfame z fame.sourceforge.net (bardzo szybki, dobrej jakości)
+- librte (versja 0.4) z zapping.sourceforge.net (szybki, bardzo
+dobrej jakości)
+Jeśli ./configure znajdzie jeden albo obydwa, wkompiluje
+wsparcie dla kodowania do sterownika dxr3.
+
+Aby użyć tego sterownika dla wyjścia obrazu zamiast, powiedzmy,
+Xv, wystartuj xine z linii poleceń z opcją "-V dxr3", np.
+$ xine -V dxr3 my_movie.avi
+
+W przeciwieństwie do przypadku 1), gdzie karta wykonuje
+dekodowanie obrazu, tutaj xine wykonuje dekodowanie programowo,
+jak zwykle i wysyła zdekompresowany obraz do sterownika wyjścia
+obrazu. Sterownik wyjścia dxr3 zakodowywuje, w czasie
+rzeczywistym, ten obraz jako wewnętrzną ramke mpeg-1 i wysyła
+to do dekodera mpeg na karcie.
+
+Używając tego triku, możemy wyświetlić dowolny format obrazu
+poprzez wyjście TV karty dxr3. Sprytne, nie? Jedyną wadą tego
+rozwiązania jest wymagana dodatkowa moc do przeliczenia tego
+odkodowania i zakodowania obrazu w czasie rzeczywistym
+programowo. Wymagana moc procesora zależy oczywiście od
+rozdzielczości formatu źródła, ale według reguły kciuka
+zalecany jest system z 128 MB pamięci RAM i P-III/Athlonem
+taktowanym zegarem 800 MHz.
+
+Oto opis tego co dzieje się gdy odgrywasz plik avi w ten
+sposób (porównaj do poprzedniego opisu!)
+
+-> oddzielenie strumienia obrazu i dźwięku -> dekodowanie
+strumienia obrazu -> zakodowywanie obrazu jako mpeg-1 ->
+wysyłanie strumienia mpeg-1 do dxr3 -> obraz wyświetlany
+na ekranie.
+
+konfiguracja xine
+=================
+
+xine posiada wiele opcji konfiguracyjnych w $HOME/.xine/config
+(zobacz również doc/README.config_en)
+
+dxr3.devicename:
+ /dev/em8300-0 Ścieżka bezwzględna do urządzenia dxr3.
+
+dxr3.preferred_tvmode:
+ default Użyj obecnych ustawień sterownika
+ ntsc NTSC 60Hz
+ pal PAL 50Hz
+ pal60 PAL 60Hz
+
+dxr3.videoout_mode:
+ letterboxed overlay
+ wyjście obrazu overlay na monitorze VGA z opcją
+ przełączania "w locie" do trybu TV. (patrz
+ 'Właściwość VGA overlay' poniżej). Overlay
+ będzie wyświetlany z czarnymi brzegami jeśli
+ obraz jest anamorficzny. To może być użyteczne
+ w rzadkim przypadku napisów które poprawnie
+ są wyświetlane tylko w trybie letterbox.
+ Dobrym tego przykładem są animowane
+ sylwetki komentatorów w "Ghostbusters".
+ widescreen overlay
+ wyjście obrazu overlay na monitorze VGA z
+ opcją przełączania w locie do trybu TV
+ (patrz 'Właściwość VGA overlay' poniżej).
+ Najpopularniejszy wariant trybu overlay dxr3.
+ letterboxed tv
+ wysyła obraz tylko do wyjścia TV karty.
+ To jest tryb używany dla standardowego
+ telewizora 4:3. Anamorficzne proporcje będą
+ wyświetlane letterboxed, materiał pan&scan
+ będzie miał obraz obcięty.
+ widescreen tv
+ wysyła obraz tylko do wyjścia TV karty. To
+ jest tryb przeznaczony dla telewizorów 16:9.
+ Zawartość anamorficzna i pan&scan wypełni obraz
+ ale będziesz musiał ustawić proporcje TV ręcznie.
+
+dxr3_keycolor: (tylko w trybie overlay)
+ 0x80a040 Szesnastkowa wartość RGB koloru kluczowego.
+ Nie powinna być zmieniana.
+
+dxr3.color_interval: (tylko w trybie overlay)
+ 50.0 Zakres tolerancji dla koloru kluczowego. Wyższa wartość
+ pozwala na większy zakres kolorów kluczowych. Używane
+ do korekcji błędów w wyświetlaniu kolorów na wyjściu VGA.
+ Mniejsza wartość jest zalecana aby nie używać "błędnych"
+ kolorów do trybu overlay. Rozsądny zakres to 20.0 - 200.0
+
+dxr3.scr_priority:
+ 10 Priorytet wtyczki dxr3 scr. <5 oznacza że czasomierz
+ systemowy ma być użyty. >5 narzuca użycie dxr3 jako
+ źródło synchronizacji. Jeśli tego nie rozumiesz
+ pozostaw ustawienia domyślne.
+
+dxr3.decoder_priority:
+ 10 Priorytet wtyczki dekodera dxr3. <5 oznacza że sprzętowe
+ dekodowanie będzie wyłączone i będzie użyte zamiast tego
+ libmpeg2. W ten sposób jakikolwiek materiał wideo,
+ włączając w to mpeg będzie przechodził przez programowe
+ dekodowanie i ponowne kodowanie do mpeg.
+
+dxr3.contrast:
+dxr3.brightness:
+dxr3.saturation:
+ 500 Nie powinno być potrzebne zmienianie ręczne. Użyj xine
+ do regulacji. Zakres 100 - 900
+
+dxr3.alt_play_mode:
+ 1 Włącz lub wyłącza rozszerzony tryb bufora dostępnego
+ przynajmniej na części kart. Znaczące polepszenie
+ było zaobserwowane z zakłuconymi strumieniami przerywanymi
+ pauzami.
+
+dxr3.sync_every_frame:
+ 0 Próbuje ustawić znaczniki czasu synchronizacji dla każdej
+ ramki. Zazwyczaj nie jest to wymagane, nawet jeśli
+ sychrnonizacyjne znaczniki czasu są ustawiane od czasu
+ czasu.
+
+dxr3.correct_durations:
+ 0 Włącza mały automat który koryguje czas trwania ramki
+ niektórych strumieni mpeg z błędnymi kodekami framerate.
+ Obecnie została zaimplementowana korekta dla ntsc błędnie
+ nazwana jako strumień pal. Włączaj tylko kiedy spotkasz
+ taki strumień.
+
+video.driver:
+ dxr3 Sterownik obrazu dxr3 robi całą niezbędną konfigurację
+ karty i kodowanie do mpeg gdy odtwarzany jest strumień
+ nie-mpeg (patrz wyżej)
+
+audio.driver:
+ oss wyjście em8300 audio jest dostępne jako zwykłe urządzenie
+ OSS. Sterownik audio musi więc być ustawione na oss.
+ Może być również ustawione przy użyciu "-A oss" jako
+ opcji w lini poleceń.
+
+audio.oss_device_num:
+ 0-16 komputery z zainstalowaną kartą dxr3 często mają również
+ zainstaloaną kartę dźwiękową. Jeśli odtwarzanie dźwięku
+ odbywa się za pomocą błędnego urządzenia, wymagane
+ urządzenie może być ustawione za pomocą tej opcji.
+
+Poniższe ustawienia dotyczą tylko części kodującej do mpeg:
+
+dxr3.enc_alt_play_mode:
+ 1 Patrz na dxr3.alt_play_mode. Różnica polega na tym
+ że ta jest używana w trybie kodowania.
+
+dxr3.enc_swap_fields:
+ 0 Zamienia parzyste pola z nieparzystymi obrazu. Włącz
+ tę opcję dla materiałów które generują pionowe skakanie
+ obrazu na ekranie.
+
+dxr3.enc_add_bars:
+ 1 Dodaj czarne pasy gdy obraz ma proporcje nie obsługiwane
+ przez kartę. Jest wymagane do utrzymania prawidłowych
+ proporcji.
+
+dxr3.encoder:
+ Program kodujący który ma być użyty.
+ Zależnie od tego co zostało wkompilowane może być "fame"
+ lub "rte". Według reguły kciuka, powinieneś spróbować
+ najpierw rte ponieważ daje on lepszą jakość obrazu. Jeśli
+ masz za dużo opuszczonych ramek, przełącz na "fame" i
+ znajdź optymalne ustawienie fame_quality (patrz niżej)
+ dla Twojego systemu.
+
+dxr3.fame_quality: (tylko koder libfame)
+ 0-100 Ustawienie jakości kodowania mpeg1 przez fame. Niższa
+ wartość jest szybsza ale daje znaczące zniekształcenia
+ Wyższa jest lepsza ale wolniejsza. Wartości pomiędzy
+ 0 a 100, 90 jest dobrą wartością początkową.
+
+dxr3.rte_bitrate: (tylko koder rte)
+ 1000-20000 Bitrate w kbit/s wyjścia kodera librte. Niższa wartość
+ jest szybsza, ale różnica nie jest tak duża jak w
+ ustawieniach libfame. Jeśli masz za dużo opuszczonych
+ ramek, lepiej użyj kodera libfame.
+
+Zalecane jest uruchomienie XINE przynajmniej raz przed edycją
+pliku konfiguracyjnego, ponieważ wszystkie opcje są zapisywane w
+pliku .xinerc i mają swoją domyślną wartość. Xine można zmusić do
+użycia sterownika dxr3 używając opcji "-V dxr3" w lini poleceń.
+Jeśli domyślne ustawienia sterownika są błędne - trzeba poprawić
+jedynie wartość opcji tvmode.
+
+Funkcjonalność zoom (tylko TVout)
+=================================
+Przyciskając klawisz 'z' włącza inną specyficzną dla trybu
+wyjścia TV które powiększa centralną część obrazu 16:9 aby
+wyświetlić dużo mniejsze (albo wogóle) czarne pasy na dole i
+górze. To obcina obraz na lewo i prawo aby zachować odpowiednie
+proporcje. Użyj SHIFT-z aby wyłączyć.
+
+Funkcjonalność przełączania trybu TV
+====================================
+Naciśnięcie kombinacji CTRL-o przełącza pomiędzy trybami TV pal,
+pal60, i NTSC. Wybrany format będzie działał tylko do końca
+aktualnej sesji xine, przy starcie tryb TV bedzie ustawione
+z powrotem do wartości w .xine/config
+
+Funkcjonalność VGA overlay
+==========================
+
+W poprzednich wersjach xine, trzeba było używać dxr3view by używać
+mechanizmu em8300 overlay. Teraz od wersji 0.5, można odtwarzać w trybie
+em8300 overlay bezbośrednio w oknie video xine.
+
+Pierwszy pomysł i poprawnie pracujący kod przyszedł od Mike Lampard
+<mjl@datafast.net.au>. Chwała mu za tą nową funkcjonalność.
+
+W celu aktywacji, "dxr3_tvmode" musi być ustawiony na "overlay".
+Ale to nie zadziała dopóki stary dxr3view też będzie uruchomiony
+(po prostu sprawdź). Przed pierwszym użyciem, musisz uruchomić "autocal".
+To zachowa parametry trybu overlay w pliku "~/.overlay". Więcej informacji
+również w HOWTO dxr3.
+
+Rzuć również okiem na wyżej opisane opcje xinerc dxr3_keycolor i
+dxr3_color_interval.
+
+
+---
+Wersja tego pliku:
+$Id: README.dxr3_pl,v 1.1 2003/01/05 13:11:53 guenter Exp $
+
+*********************************
+* Tłumaczenie: Bartłomiej Muryn *
+* Uwagi do tłumaczenia proszę *
+* przesyłać na adres *
+* _4ever_@irc.pl *
+*********************************
+
diff --git a/doc/README.freebsd b/doc/README.freebsd
new file mode 100644
index 000000000..fa2746231
--- /dev/null
+++ b/doc/README.freebsd
@@ -0,0 +1,110 @@
+
+ ----------------------
+ xine
+ ----------------------
+
+ a free video player
+
+
+
+This document contains FreeBSD related information about xine
+
+
+xine fails when allocating images
+---------------------------------
+
+Make sure you have enough shared memory enabled. This is very
+limited by default.
+
+Edit your /etc/sysctl.conf:
+
+kern.ipc.shmmax=67108864
+kern.ipc.shmall=32768
+
+
+mtrr on freebsd
+---------------
+
+setting up the caching behaviour of the memory on the graphics board.
+
+what is being done with the mtrr support on linux is to set the caching
+type of the memory of the graphics board to 'write-combine' mode.
+that way the performance of big writes into this memory should be faster.
+
+it seems that the same can be achieved on freebsd by executing:
+
+ memcontrol set -b <base-address> -l <length> write-combine
+
+for example on my system i executed:
+
+ memcontrol set -n 0xd8000000 -l 0x02000000 write-combine
+
+i got the base-adress by executing 'startx' and looking at the output.
+
+it seems to be dangerous to change the cache setting of the graphics memory
+while xfree is running - at least i managed to have my system freeze that
+way. so better do it on the commandline.
+
+this tip is still subject of research, so it might be incorrect - please
+report any further information on this topic to the xine-user list.
+please also report success or non-success on xine-user if you have the time.
+
+
+playing video cd on freebsd
+---------------------------
+
+currently (because of issues with the freebsd kernel) xine can only
+play video cd from atapi cdrom drives. not for scsi drives!
+
+currently (Jan 2001), FreeBSD-stable (and thus the current releases also)
+needs a patch to the kernel sources to make video cd work (please check
+the freebsd documentation if you are unsure on how to build a custom
+kernel with this patch included).
+
+the file you have to patch is /sys/dev/ata/atapi-cd.c:
+
+*** atapi-cd.c.orig Sun Jan 21 14:42:57 2001
+--- atapi-cd.c Sun Jan 21 14:47:13 2001
+***************
+*** 1163,1174 ****
+ return;
+ }
+ }
+! if (blocksize == 2048)
+! ccb[0] = ATAPI_READ_BIG;
+! else {
+! ccb[0] = ATAPI_READ_CD;
+! ccb[9] = 0x10;
+! }
+ }
+ else
+ ccb[0] = ATAPI_WRITE_BIG;
+--- 1163,1182 ----
+ return;
+ }
+ }
+! switch (blocksize) {
+! case 2048:
+! ccb[0] = ATAPI_READ_BIG;
+! break;
+!
+! case 2352:
+! ccb[0] = ATAPI_READ_CD;
+! ccb[9] = 0xf8;
+! break;
+!
+! default:
+! ccb[0] = ATAPI_READ_CD;
+! ccb[9] = 0x10;
+! }
+ }
+ else
+ ccb[0] = ATAPI_WRITE_BIG;
+
+------------------------------------------------------------------------
+
+
+
+---
+version of this file:
+ $Id: README.freebsd,v 1.6 2003/01/05 13:11:53 guenter Exp $
diff --git a/doc/README.irix b/doc/README.irix
new file mode 100644
index 000000000..d36dea8f5
--- /dev/null
+++ b/doc/README.irix
@@ -0,0 +1,31 @@
+building xine on IRIX
+---------------------
+
+* Choose gcc for compilation during configure,
+ e.g. 'env CC=gcc ./configure'
+
+* Compile xine with GNU make (gmake).
+
+
+Known Problems
+--------------
+
+* Cannot compile with IRIX cc
+
+ This is an unresolved issue with automake and dependencies.
+ Not likely to be fixed soon.
+
+* xine only opens a 16 bit visual and looks ugly
+
+ This is done intentionally (speedup on most architectures).
+ Choose an appropriate visual (with xdpyinfo) and select it
+ e.g. with 'xine --visual 0x33'.
+
+* Scaling is slow
+
+ Choose the opengl plugin instead of the xshm plugin.
+ However, this plugin is still highly experimental, expect
+ some crashes, and read README.opengl
+
+
+Matthias Hopf <mat@mshopf.de>
diff --git a/doc/MRLs b/doc/README.mrl
index 1ad3397b0..f2d343e28 100644
--- a/doc/MRLs
+++ b/doc/README.mrl
@@ -69,3 +69,8 @@ EBNF grammar for MRLs:
<lowalpha> ::= (a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z)
<upalpha> ::= (A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z)
<digit> ::= (0|1|2|3|4|5|6|7|8|9)
+
+
+---
+version of this file:
+ $Id: README.mrl,v 1.1 2003/01/05 13:11:53 guenter Exp $
diff --git a/doc/README.opengl b/doc/README.opengl
new file mode 100644
index 000000000..85fd68c85
--- /dev/null
+++ b/doc/README.opengl
@@ -0,0 +1,44 @@
+Please Note:
+
+The 'opengl' output plugin is still in alpha stage.
+Expect crashes and strange behaviour.
+Most times it seems to run fine, though.
+
+
+Startup
+-------
+
+Start xine with '-V opengl'. Note that xine might choose a visual with a
+different color depth than you would prefer. Choose an appropriate visual
+with 'glxinfo' and select it with '-V opengl --visual xyz' in this case.
+
+
+Known Problems
+--------------
+
+* Sometimes I only see a black screen and no image
+* Sometimes xine crashes when changing the stream or the position in the stream
+
+ This seems to relate to some race conditions that are still present
+ in the current code. This will change in time.
+
+ Jun. 25, 2002: I think this issue is resolved now. If you still encounter
+ any problems, please let me know. Otherwise I will remove this statement
+ in the future.
+
+* There is a (small) memory leak
+
+ This is known and - unfortunately - cannot be resolved right now.
+ Background: The output plugin does not get notified, when the XWindow
+ is destroyed. But even when it would be notified, this wouldn't help,
+ as the OpenGL context could only be destroyed by the render thread.
+
+* Expose events just display a black image when playback is paused.
+
+ This is known and cannot be resolved right now.
+ Background: The OpenGL context can only be used by the render thread and
+ not by the GUI thread. I tried to use a second context within the same
+ drawable, but this destabilized the plugin to an unusable state.
+
+
+Matthias Hopf <mat@mshopf.de>
diff --git a/doc/README.solaris b/doc/README.solaris
new file mode 100644
index 000000000..858910076
--- /dev/null
+++ b/doc/README.solaris
@@ -0,0 +1,135 @@
+
+ ----------------------
+ xine
+ ----------------------
+
+ a free video player
+
+
+building xine on solaris
+------------------------
+
+* The preferred make command to compile xine is GNU make (gmake,
+ /opt/sfw/bin/gmake).
+
+ Sun's make (/usr/ccs/bin/make, or dmake) may work, too.
+
+
+* On Solaris x86: When xine-lib code is build using GCC as the compiler,
+ xine-lib tries to use MMX/SSE/3DNOW! instructions of x86 CPUs, which
+ may not assemble using Solaris' /usr/ccs/bin/as.
+
+ Make sure to use the GNU assembler as the assembler backend for the
+ GNU C compiler and as a standalone assembler command.
+
+ A quick workaround when using the GCC from Sun's
+ "Software Companion" CD is to replace /usr/ccs/bin/as with a
+ link to GNU as, for example like this:
+
+ cd /usr/ccs/bin
+ ln -s /opt/sfw/bin/gas gnu-as
+ mv as sun-as
+ ln -s gnu-as as
+
+ (Use "ln -s gnu-as as" or "ln -s sun-as as" to switch between the
+ two assemblers)
+
+
+* To get VIS accelerated video decoding and colour space conversion
+ on Solaris SPARC with an UltraSPARC cpu, download and install Sun's
+ mediaLib 2.0 before compiling xine. mediaLib is available here:
+
+ http://www.sun.com/sparc/vis/mediaLib.html
+
+
+Known Problems
+--------------
+
+* Can't use MIT shared memory for local video display
+
+ The default value for the maximum allowed shared memory segment size
+ (1MByte) and the number of allowed shared memory segments (6)
+ is very small on solaris. You may want to increase both parameters.
+ Add the following lines to /etc/system to increase the shmmax parameter
+ to 8MBytes and the shmseg parameter to at least 32 [*]:
+
+ set shmsys:shminfo_shmmax=8388608
+ set shmsys:shminfo_shmseg=32
+
+ Reboot the machine after modifying /etc/system to activate the new
+ shared memory defaults.
+
+ [*] Note: 15 shared memory segments is the minimum requirement for
+ xine's "XShm" video output plugin; 32 gives a bit of extra room
+ for other applications. The GUI frontend might need more
+ shared memory segments, see below.
+
+
+* Warnings from xine-ui, when playlist / control / mrl browser panel
+ is opened (and broken skin image elements in these panels):
+
+ xiTK WARNING: X error received: 'BadShmSeg (invalid shared
+ segment parameter)'
+ xiTK WARNING: X error received: 'BadAccess (attempt to access
+ private resource denied)'
+ xiTK WARNING: XShmAttach() failed.
+
+ xine-ui tries to use even more shared memory segments for skin
+ images.
+
+
+ Workaround: The problem can be avoided with one of
+
+ - create a text file $HOME/.xitkrc (or /etc/xitkrc) and add the
+ following line into it
+
+ feature.shm = 0
+
+ - configure and build xine-ui with option "--disable-shm"
+
+ - increase shmsys:shminfo_shmseg to at least 768
+
+
+* When using an 8-bit display, xine aborts with the error message:
+
+ IMLIB ERROR: Cannot Find Palette. A Palette is required for this mode
+ Unable to initialize Imlib
+
+ xine expects an installed Imlib package, installed using the "prefix" /
+ xine is looking for the global Imlib config file in /etc/imrc.
+
+ If you have the solaris 8 companion CD installed, an Imlib package is
+ already installed on your system, but it uses the "prefix" /opt/sfw.
+
+ To work around the problem:
+
+ - install a symbolic link /etc/imrc, pointing to /opt/sfw/etc/imrc
+ (needs root permission)
+
+ # ln -s /opt/sfw/etc/imrc /etc
+
+ or
+
+ - install an ".imrc" file in your home directory,
+ with the following contents:
+
+ PaletteFile /opt/sfw/etc/im_palette.pal
+
+
+* On Solaris x86, you cannot reliably play DVDs using a capacity >4GB:
+
+ The sd(7D) driver on solaris x86 has a bug when accessing a disk
+ block >4GB on a device using a logical blocksize != DEV_BSIZE (i.e.
+ CDROM and DVD media). Due to a 32bit int overflow, a disk address
+ modulo 4GB is accessed.
+
+ There's no workaround available.
+
+ See the following message for more details about this bug:
+
+ http://groups.yahoo.com/group/solarisonintel/message/22516
+
+
+---
+version of this file:
+ $Id: README.solaris,v 1.13 2003/01/05 13:11:53 guenter Exp $
diff --git a/doc/README.syncfb b/doc/README.syncfb
new file mode 100644
index 000000000..c549e2e69
--- /dev/null
+++ b/doc/README.syncfb
@@ -0,0 +1,290 @@
+
+ ===== =====
+ XINE video output plugin for MATROX G200/G400/G450 cards *only*
+ ===== =====
+
+
+ VERSION
+ => $Id: README.syncfb,v 1.3 2003/01/05 13:11:53 guenter Exp $
+
+
+* WHAT IS THIS PLUGIN ABOUT and WHY SHOULD I EVEN CONSIDER TO USE IT? :)
+
+ This xine video output plugin uses the so called SyncFB driver (from
+ the Teletux project) which provides special hardware features of
+ Matrox G200 and newer cards like hardware deinterlacing, scaling and
+ synchronization of your video output to the vertical retrace of your
+ monitor - just to name a few. The plugin makes all those features
+ available to xine and because all this tasks are done by the graphic
+ card there is no need for xine to do them in software -- so you save
+ precious CPU time which you may gonna need for other things. :-)
+
+ Ok ok -- why should you want to have your video output synchronized to
+ something called the vertical retrace of your monitor?! Well... :)
+
+ In order to have an optimal DVD playback the update of the image needs
+ to be syncronized with the vertical refresh of the screen. Otherwise
+ you will sometimes see part of frame n and part of frame n+1 during
+ playback of a movie. Resulting in tearing artefacts on moving objects.
+
+ When using this plugin the update of the screen is done during the
+ vertical retrace of your monitor and those tearing artefacts are gone
+ forever.
+
+ Also the SyncFB kernel module and this plugin totally by-pass XFree86
+ for anything else but some data gathering routines needed to place the
+ overlay at the right spot. So on some machines you will gain some
+ performance too because of the different way the SyncFB kernel module
+ handles your video output.
+
+ Last but not least, you may ask what's so special about deinterlacing?
+ There are already several deinterlacing methods available in xine and
+ why should you care about another one? Well (again)... ;-))
+
+ All current deinterlacers in xine are done in software and therefore
+ will cost you some CPU power. The SyncFB video out plugin will use the
+ hardware deinterlacing support of your graphic card, thus saving your
+ CPU power because everything is done by your GPU...
+
+
+* WILL IT WORK WITH MY G200/G400/G450/... CARD?
+
+ So far the plugin and the kernel module itself are only being tested
+ on G400 cards by its developers thus we cannot tell about newer
+ or older generation chips.
+
+ Nevertheless we have received positive feedback that the SyncFB kernel
+ module and this plugin work fine with G450 cards too.
+
+ If you have got things working on older/newer chips, please let us
+ know about your success and we will place a note here... :-)
+
+
+* AND HOW DOES IT WORK?
+
+ The SyncFB driver is a kernel module you will have to load that makes
+ a special device (e.g. /dev/syncfb) available which is opened by the
+ plugin and controlled with certain ioctl calls. Easy, isn't it? ;-)
+
+ That module is based on the mga_vid driver from Aaron Holzmann and was
+ advanced (and reworked) by Matthias Oelmann.
+
+
+* OK I HEARD ENOUGH - HOW DO I INSTALL and USE IT? :)
+
+ Currently the Teletux project which maintains the kernel module seems
+ orphaned and therefore there hasn't been any progress nor release in a
+ fair amount of time. :( We will try to resolve this situation so that
+ the development continues again. As soon as there are any news on this
+ matter, this README will be updated accordingly. For the time being
+ you can still use the current Teletux SyncFB kernel module which works
+ just fine, so there is no need to worry. :-)
+
+ Back to the original subject. In order to install and use the SyncFB
+ kernel module, you *will* need a fresh CVS checkout of the sources
+ because the last official release is rather outdated.
+
+ This sounds more complicated than it actually is. You will only have
+ to execute the following two commands to get the sources in a sub-dir
+ called teletux. When you are asked for password, just press return.
+
+ cvs -d:pserver:anonymous@cvs.teletux.sf.net:/cvsroot/teletux login
+ cvs -d:pserver:anonymous@cvs.teletux.sf.net:/cvsroot/teletux co -P teletux
+
+ Now enter the directory teletux/syncfb, that's where the actual kernel
+ modul sources are located. Before you can compile the module, you will
+ have to change two lines in the Makefile itself to make it work.
+
+ In the second line, there is a phrase like "-I/usr/include" which you
+ have to change to "-I/usr/src/linux/include". In line seven, you need
+ to remove syncfbtv and syncfb_test from the OBJ list.
+
+ Now execute a "make" and the module will be compiled. Place the
+ resulting syncfb.o in your modules dir which is usually...
+
+ /lib/modules/KERNEL_VERSION/
+
+ ... and issue a "depmod -a" after it. That's it - the kernel module is
+ installed. To load the syncfb module, execute "modprobe syncfb" every
+ time you (re)start your computer. This will automatically create the
+ required /dev/syncfb device if you have devfs support, otherwise you
+ need to issue a "mknod /dev/syncfb c 178 0" once to create the
+ device yourself permanently.
+
+ Once the module is loaded, you can start xine with the "-V SyncFB"
+ option to use this plugin. xine automatically remembers the video out
+ plugin you last used, so you only have to use this option once too. :)
+ But don't forget, the module *always* has to be already loaded before
+ you start xine, otherwise xine will fallback to Xv/XShm or some other
+ available video out plugin.
+
+
+* THE VIDEO IS JERKING - WHAT'S THE MATTER?!
+
+ Playing back video material that is mastered for e.g. NTSC can cause
+ this jerking if your monitor is not running at a refresh rate that is
+ a multiple of 30 (PAL: 25).
+
+ You can try to fix that by switching your monitor to the appropriate
+ refresh rates (e.g. 50/75/100 Hz for PAL, 60/90/120 Hz for NTSC). You
+ will need to add so called modelines to your XFree86 config to make
+ those modes available, if you don't already have them.
+
+ Here is is a short listing of some sample modelines. Please add only
+ those two lines (for NTSC and PAL) which exactly fit the screensize
+ you are running your X Server with. You need to add those lines to the
+ monitor section of your XF86Config file as well as include their names
+ in the screen section (subsection display of the color depth your are
+ using).
+
+ USE THE FOLLOWING MODELINES AT YOUR OWN RISK. THEY COULD DAMAGE YOUR
+ MONITOR PERMANTELY - PLEASE TAKE CAUTION AND DON'T BLAME US. YOU HAVE
+ BEEN WARNED.
+
+ So much for the standard disclaimer. :)
+
+ Note: If you want to be on the safe side, generate your very own
+ modelines with an application like kvideogen for example.
+
+ Also the modelines may need some fine tuning for your setup. You
+ can use xvidtune (comes with XFree86) to do that.
+
+ # 1024x768
+
+ Modeline "1024x768pal" 64.94 1024 1040 1216 1328 768 768 775 802
+ Modeline "1024x768ntsc" 54.32 1024 1040 1216 1328 768 768 774 802
+
+ # 1152x864
+
+ Modeline "1152x864pal" 68.82 1152 1168 1384 1496 864 864 871 902
+ Modeline "1152x864ntsc" 80.93 1152 1168 1384 1496 864 864 872 902
+
+ # 1280x1024
+
+ none yet - might be added in the future
+
+ So before you run xine just turn to the appropriate refresh rate and
+ the jerking *should* be gone. (you may also want to have a look at the
+ XF86VidMode support included in xine which makes on-the-fly resolution
+ switching possible when fullscreen is toggled)
+
+
+* WHAT SCREENSIZE SHOULD I PREFER?
+
+ Well. It is important that the screensize you choose for DVD playback
+ is exactly the same screensize you're starting up your X Server with
+ if you are not using the XF86VidMode extension which will properly do
+ the switching for you and take care that the plugin is updated
+ accordingly. So you shouldn't switch down to 1024x768 yourself if you
+ are running 1280x1024 because that gives you a virtual screensize
+ of 1280x1024 in a resolution of 1024x768 - and the plugin can't handle
+ that - and probably never will... ok... never say never. ;)
+
+ You may want to have a look at the XF86VidMode support in xine which
+ will enable on-the-fly resolution switching when activating fullscreen.
+
+ Now back to the question. A screensize of 800x600 should be it for
+ non-anamorphic DVDs because their resolution is 720x576 for pal DVDs
+ and 720x480 for ntsc ones. If you've an anamorphic DVD, you should use
+ a higher resolution - 1024x768 will be best because the image only has
+ to be horizontally scaled to get back to the original geometry of 16:9
+ which is easier to be done.
+
+
+* WHAT ABOUT DEINTERLACING?!
+
+ Pressing 'i' during playback will toggle hardware deinterlacing. A
+ decrease in picture quality is a known side effect, yet you won't see
+ any artefacts caused by interlacing anymore. :-)
+
+ One more note, hardware deinterlacing uses BOB as deinterlacing method
+ and is totally independent from the software deinterlacing in xine. So
+ specifing a different deinterlacing method in your .xinerc won't have
+ any effect on this feature.
+
+ Nevertheless we are thinking about making software deinterlacing also
+ available as an option. It's on the TODO list... :)
+
+
+* HEY! THE OVERLAY TURNS OFF WHEN THE WINDOW IS PARTLY OFF THE DESKTOP!?
+
+ That's done on purpose. It prevents possible yet harmless screen
+ corruption. And by the way - why would you want to see a movie just
+ partly?! ;-)
+
+
+* MY DESKTOP BACKGROUND IMAGE GETS CORRUPTED WHEN USING THIS PLUGIN!
+
+ Even though it doesn't look nice, it's nevertheless harmless. So no
+ need to worry about it. XFree86 is using your free video memory as
+ cache for certain things. Now when you use this plugin that part of
+ your video memory could also be used by the syncfb module. So your
+ image data cached there will be corrupted. Unfortunately there is no
+ way to avoid it. Yet, like stated earlier, it is truely harmless and
+ just a cosmetical side effect.
+
+
+* THE XINE PANEL DOES NOT APPEAR WHEN I WATCH A MOVIE IN FULLSCREEN?!
+
+ Actually it does appear - you just don't see it. :) This is a side
+ effect of how SyncFB works. The X server can't display anything where
+ the actual overlay from SyncFB is being displayed because this area in
+ your video memory is constantly over written - so are the changes done
+ by your X Server (like a window graphic that is placed there).
+
+ This is just cosmetical and harmless, so no need to worry. If you want
+ to do something with the xine panel when the video overlay is taking
+ all your screen, just switch back to window mode and do what you have
+ to do and after that, back to fullscreen it goes. :-)
+
+
+* KNOWN BUGs
+
+ + the default_repeat config option is currently hardcoded to 0 because
+ any higher value than 1 will trigger a bug with the SyncFB kernel module
+ that results in a distorted picture (depending on video resolution)
+ [this bug is hard to trace, so don't hold your breath for now]
+
+ + SyncFB overlay won't turn off when video window is minimized or
+ somehow else hidden.
+ [currently there is no way for the SyncFB plugin to know about the
+ state of the video window except if the original xine-ui hide function
+ is used to hide the video window... this will be fixed soon]
+
+ + zooming feature is currently deactivated because it exposes a bug
+ with the SyncFB kernel module
+ [for now, don't expect this to be fixed soon - sorry]
+
+ + the syncfb kernel module needs updating pretty badly
+
+
+* WHAT IS ON THE TODO LIST?
+
+ + fix above listed bugs in the SyncFB kernel module
+
+ + make software deinterlacing available as an option
+
+ + RGB support
+ (unlikely at the moment because there is no need for it)
+
+ + check if the video source is not too big in terms of dimensions for
+ the video memory left (video memory - X reserved video memory)
+
+ + bug fixes
+ + more sanity checks
+ + new features
+ + optimizations
+
+
+* CONTACTS and FEEDBACK
+
+ Your first starting point should be this README followed by the FAQ. :-)
+ If you don't find your answers there or if you found a bug, please leave
+ a message on the xine user mailinglist (see the general README).
+
+ You can also reach the maintainers directly by mail (or you may consider
+ sending a message in bottle so we have some more time to find a good
+ excuse for the bug you may have found *grin*):
+
+ Matthias Dahl <matthew2k@web.de>
+ Joachim Koening <joachim.koenig@gmx.net>
diff --git a/doc/README.tvmode b/doc/README.tvmode
new file mode 100644
index 000000000..08efe18d0
--- /dev/null
+++ b/doc/README.tvmode
@@ -0,0 +1,103 @@
+xine now has pre-alpha support for nvtvd.
+
+The nvtvd daemon from Dirk Thierbach enables the TV output on many
+NVidia graphics cards. You need to run the nvtvd daemon before using
+this patch (it silently disables the support if it cannot connect to
+nvtvd).
+
+Source and binary distributions of nvtvd can be downloaded at
+
+http://nv-tv-out.sourceforge.net/
+
+
+TV output can be configured under the 'tv' tab of the configuration
+screen. The following options are available:
+
+TV System: Select the systems your TV supports.
+ Initially, 'no TV connected' is selected.
+ PAL has 25 Hz full frame refresh rate and PAL color information.
+ PAL60 has 30 Hz full frame refresh rate and PAL color information.
+ NTSC has 30 Hz full frame refresh rate and NTSC color information.
+
+Mode Selection Policy: Choose how the mode will be selected with respect
+ to the played movie.
+ Currently this will not work as desired,
+ as the UI does not yet know neither native stream
+ resolutions nor native frame rates.
+ This will change in the future.
+ FPS - Best Native Match:
+ First select by FPS (25 vs. 30 Hz), then by best
+ native resolution (576 vs. 480 lines)
+ Currently this will use 30 Hz for FILM (24 fps).
+ FPS - Best Match:
+ First select by FPS (25 vs. 30 Hz), then by best matching
+ resolution
+ FPS - List Order:
+ First select by FPS (25 vs. 30 Hz), then the first working
+ resolution in the list
+ Best Match - FPS:
+ Select the best matching resolution, if ambigous, choose
+ the best FPS
+ There is only a difference to 'FPS - Best Match' if your
+ TV supports both, 25 and 30 Hz modes.
+
+Modes: This is the list of known TV modes. You can enter '-' here
+ to use the default list.
+ Format is:
+ <width>x<height>[/<overscan>][*<fps>][, ...]
+ When no overscan mode is given, the following list is tried:
+ 'DVD', 'Interl', 'Huge', 'Large', 'Normal'
+ When no FPS value is given, mode is valid for both,
+ 25 Hz and 30 Hz.
+
+Prefer PAL: If the played movie does not match neither 25 Hz nor 30 Hz
+ nor a mulitple of these frame rates, xine will select 25 Hz
+ if this option is selected, 30 Hz otherwise.
+
+Verbose: xine will print out tons of information about mode testing.
+
+Screen Aspect Ratio: This is not yet working.
+
+
+vvvvv The following is not yet working (but will with the next version):
+
+xine will select the best mode for the current video stream. It will check
+the stream for jittered video frame rates, thus it may take a few frames
+until the correct video mode is selected.
+
+^^^^^
+
+You can switch between normal mode, fullscreen mode, and TV mode (which is
+fullscreen as well) with the 'f' key (configurable in ~/.xine/keymap) or
+the '-f' command line option. Both will cycle through these modes.
+
+When xine exits or you press 'f' again, the original X mode will be
+restored. When xine crashes, you should be able to restore the original
+X mode by pressing 'Ctrl-Alt-KEYPAD_PLUS' and 'Ctrl-Alt-KEYPAD_MINUS'.
+However, the tv encoder chip may continue to output its signal, and that
+will be no valid TV signal any more. Old or cheap TVs may be damaged if
+they are opposed to invalid singals for a longer time.
+You have been warned.
+
+
+There are two more things to be done to improve the look of interlaced
+material:
+- The video output has to be synchronized to vertical blank (SYNC extension)
+- The video output has to be synchronized to top field output
+
+The second synchronization issue may even be impossible without manual
+intervention for some TV encoder chips. Remember that some of these chips
+were never designed to be used for interlaced video output...
+
+Until these issues have been dealt with, I encourage you to use xine's
+deinterlacing feature on interlaced material.
+
+
+For a list of supported TV encoder chips, see doc/chips.txt in the nvtvd
+package. At the moment of writing Chrontel 700x, Booktree Bt8{68,69,70,71},
+Conexant CX2587{0,1}, and Philips SAA710{2,3,8,9} are supprorted. Currently
+only NVidia cards are supported. Work for Intel810 and Vodoo 3dfx is on its
+way, others may follow.
+
+
+Matthias Hopf <mat@mshopf.de>
diff --git a/doc/faq/Makefile.am b/doc/faq/Makefile.am
index 291e4718b..9a3d5079a 100644
--- a/doc/faq/Makefile.am
+++ b/doc/faq/Makefile.am
@@ -1,7 +1,32 @@
-EXTRA_DIST = README faq.sgml
-
+EXTRA_DIST = $(docs_DOCS) README faq.sgml
docdir = $(prefix)/share/doc/xine/faq
+docs_DOCS = faq.html faq.txt
+
+
+install-data-local:
+ @documentations='$(docs_DOCS)'; \
+ for doc in $$documentations; do \
+ destdir=$(DESTDIR)$(docdir); \
+ name=`echo $$doc` \
+ dir=$$destdir; \
+ $(mkinstalldirs) $$dir; \
+ $(INSTALL_DATA) $$doc $$dir/$$name; \
+ echo "installing $$doc as $$dir/$$name"; \
+ done
+
+uninstall-local:
+ @documentations='$(docs_DOCS)'; \
+ for doc in $$documentations; do \
+ destdir=$(DESTDIR)$(docdir); \
+ name=`echo $$doc` \
+ dir=$$destdir; \
+ rm -f $$dir/$$name; \
+ echo "removing $$dir/$$name" ; \
+ done
+
+debug:
+install-debug: install
mostlyclean-generic:
-rm -f *~ \#* .*~ .\#*
diff --git a/doc/faq/faq.txt b/doc/faq/faq.txt
new file mode 100644
index 000000000..13fc84625
--- /dev/null
+++ b/doc/faq/faq.txt
@@ -0,0 +1,1077 @@
+The xine engine FAQ
+
+Copyright Š 2001-2003 the xine project team
+
+-------------------------------------------------------------------------------
+
+Table of Contents
+1. 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?
+ What are those xine-lib, xine-ui, gxine, ... modules in cvs for?
+ Where and how do I get the latest development version?
+ Where can I find pre-compiled binaries, e.g. RPMs?
+
+2. Building and installing xine from source
+
+ What do I need to compile everything properly?
+ How do I compile xine?
+
+ Simple build instructions for beginners
+ Complete build instructions
+
+ Making your own RPM packages (xine-lib, xine-ui)
+ Can I provide additional CFLAGS for compilation?
+ Are there binaries for my AMD K7 (Athlon (TM) ) available? Can I build
+ them?
+ Build problems: xine engine (xine-lib)
+
+ The package doesn't compile at all!
+ The Xv video-out plugin fails to compile!
+
+ Build problems: frontend (gxine/xine-ui/...)
+
+ I have installed xine-lib but the frontend complains about not finding
+ it!
+
+ Can I install xine in my home directory (without being root) ?
+
+
+3. Playback of various stream types
+
+ DVD Playback with xine
+
+ How do I play back DVDs with xine?
+ DVD playback works, but it takes a long time until playback starts
+ I have problems setting up my RPC-2 drive for the right region!
+
+ Can I watch Video CDs (VCDs)? SVCDS ? CD-i?
+ Can I watch Quicktime (.mov, .mp4) files using xine?
+ Real Network files/streams
+
+ Can I watch Real (.rm, .ram) files using xine ?
+ What about (live) network streams (pnm://, rtsp:// style urls) ?
+
+ Can I watch Windows Media (.asf/.wmv) files using xine?
+ Can I watch Digital TV (Digital Video Broadcast) using xine ?
+ How do I play streams from STDIN?
+ How can I watch files with external AVI subtitles?
+
+4. Running xine
+
+ I have a lot of dropped frames - what can I do?
+ I have problems when using xine on FreeBSD, Solaris, ... !
+ What is aalib? How do I use it in xine?
+ What do all these ~/.xine/config entries mean?
+
+5. Audio related questions
+
+ What audio drivers does xine support? OSS? Alsa? Arts? Esd?
+ When I'm watching a movie, the sound effects ar much higher volume than the
+ voices
+ When I play this stream, xine shows video but there's no audio!
+ Can xine produce 4-/5-channel surround audio output?
+ What about ac3 output via spdif to an external ac3 decoder?
+ Changing the volume with the GUI control has not affect! What's up!?
+
+6. Video related questions
+
+ I can hear the audio - but I don't see a picture!
+ How can I make xine use the Xv extension and what drivers do I need?
+ Some parts of my X Desktop get transparent when xine plays the video!
+ The aspect ratio of the video is wrong!
+ What is the difference between discarded and skipped frames?
+
+7. Error Messages: What they mean and what you can do
+
+ Starting xine fails with complains about audio drivers/devices!
+ "no video port found"
+ Unable to open dvd drive (/dev/dvd)
+ "demux error! 00 00 00 (should be 0x000001)"
+ "audio driver 'oss' failed, using null driver instead"
+ video_out: throwing away image with pts xxx because it's too old
+ "No video plugin available to decode 'xxxxxx'."
+ "w32codec: decoder failed to start. Is 'xxxxxx' installed?"
+ xine just crashed on me - i didn't get any error message
+
+-------------------------------------------------------------------------------
+
+Chapter 1. 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.
+
+-------------------------------------------------------------------------------
+
+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 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 xine HOWTO and 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.
+
+-------------------------------------------------------------------------------
+
+What are those xine-lib, xine-ui, gxine, ... 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 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
+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.
+
+
+
+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: 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.
+
+To check out xine-modules from CVS, first do this:
+
+cvs -d :pserver:anonymous@cvs.xine.sourceforge.net:/cvsroot/xine login [empty
+password]
+
+then, to check out individual modules (e.g. xine-lib, gxine, xine-ui):
+
+cvs -d :pserver:anonymous@cvs.xine.sourceforge.net:/cvsroot/xine co modulename
+
+-------------------------------------------------------------------------------
+
+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 for further info. You can also find links to third parties
+providing xine RPMs on the xine homepage.
+
+See the next chapter of this FAQ for instructions on how to build xine from
+source.
+
+-------------------------------------------------------------------------------
+
+Chapter 2. 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
+iss 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
+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.
+
+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.
+
+Don't worry about this too much right now, xine's configure (see below) will
+check for all the stuff needed and will tell you what's missing (which means
+that you should check the output it produces carefully ;) )
+
+-------------------------------------------------------------------------------
+
+How do I compile xine?
+
+Simple build instructions for beginners
+
+Download the latest xine-lib and gxine/xine-ui tarballs, then follow these
+instruction. To unpack a tarball, use:
+
+ tar xfvz tarballname.tar.gz
+
+
+The following instructions will install xine in /usr/local for all users. You
+need root privileges to do this on most systems.
+
+First unpack xine-lib, then:
+
+ ./configure
+ make install
+
+
+Make sure your /etc/ld.so.conf contains /usr/local/lib, then:
+
+ ldconfig
+
+
+Now unpack your frontend (gxine or xine-ui or ...), then:
+
+ ./configure
+ make install
+
+-------------------------------------------------------------------------------
+
+Complete build instructions
+
+The build process is the same for all of the xine modules.
+
+You have to start with xine-lib. If built and installed successfully, you can
+continue with the frontend(s).
+
+If you have installed xine-lib to a non-standard prefix, make sure you that you
+have $prefix/bin in your PATH and that your linker finds libs in $prefix/lib -
+otherwise trying to build modules that rely on xine-lib will fail with
+configure complaining about not finding certain parts of libxine. Using bash
+you can do something like:
+
+ export PATH="$prefix/bin:$PATH"
+ export LD_LIBRARY_PATH="$prefix/lib:$LD_LIBRARY_PATH"
+
+
+to make sure libxine can be found by the frontend(s).
+
+Last but not least. Here the build instructions. As stated earlier, those are
+the same for every xine module.
+
+ ./cvscompile.sh [-> *only* if you checked your sources out of CVS]
+ ./configure
+ make
+ make install
+
+-------------------------------------------------------------------------------
+
+Making your own RPM packages (xine-lib, xine-ui)
+
+Basically you will only have to issue one command, if you have just downloaded
+a source tarball from our web site:
+
+rpm -ta THE_NAME_OF_YOUR_SOURCE_TAR_BALL
+
+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 /
+usr/src/RPM/RPMS/[YOUR_ARCHITECTURE] and a source RPM is written to your rpm
+source dir (e.g. /usr/src/RPM/SRPMS).
+
+In case that you have a fresh CVS checkout, you will need to do the following
+first in order to get a tarball release out of it which you can later use with
+the rpm -ta command above:
+
+./cvscompile.sh && make clean && make dist
+
+In any case, please keep in mind that you have to build and install xine-lib
+first before you can proceed with xine-ui.
+
+-------------------------------------------------------------------------------
+
+Can I provide additional CFLAGS for compilation?
+
+Yes, you can do so by setting the CFLAGS variable and then run configure again.
+
+This can be useful to specify additional include paths or library paths to the
+compiler.
+
+Example: export CFLAGS="-I/usr/include -L/home/guenter/xine_libs"
+
+-------------------------------------------------------------------------------
+
+Are there binaries for my AMD K7 (Athlon (TM) ) available? Can I build them?
+
+If you have a recent gcc you can try to compile "more" k7 support in (esp.
+better instruction scheduling). If the configure script should fail to detect
+your processor/gcc correctly, try setting the xine_BUILD envvar explicitly to a
+valid description string for your configuration, e.g.
+
+ export xine_BUILD=k7-pc-linux-gnu
+ rm -f config.cache
+ ./cvscompile.sh
+ make
+ make install
+
+-------------------------------------------------------------------------------
+
+Build problems: xine engine (xine-lib)
+
+The package doesn't compile at all!
+
+In order to be able to compile xine-lib, you need (amongst other things) the
+zlib compression library plus the appropriate headers, which are often found in
+a package called zlib-devel or similar.
+
+Read again carefully the output ./configure produced and/or compiler warnings
+and error reports, they often contain 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.
+
+-------------------------------------------------------------------------------
+
+The Xv video-out plugin fails to compile!
+
+If you want to have Xv support compiled in, make sure you either have a shared
+Xv library on your system, e.g. ls /usr/X11R6/lib/libXv* should give you some
+.so libs, like this:
+ /usr/X11R6/lib/libXv.a
+ /usr/X11R6/lib/libXv.so
+ /usr/X11R6/lib/libXv.so.1
+
+
+Alternatively you need to have libtool 1.4 or newer installed. If not and you
+only got libXv.a you can create the shared versions yourself:
+ ld --whole-archive -shared -o libXv.so.1 libXv.a
+ ln -s libXv.so.1 libXv.so
+ ldconfig
+
+
+Now you should be ready to build the Xv video-out plugin on your system.
+
+-------------------------------------------------------------------------------
+
+Build problems: frontend (gxine/xine-ui/...)
+
+I have installed xine-lib but the frontend complains about not finding it!
+
+First of all take a closer look at the compilation instructions above again.
+You will probably find your answer there right away.
+
+As stated there (there again that hint *grin*), make sure that you have $prefix
+/bin in your path and that your linker is able to find libraries installed in
+$prefix/lib (by the way, $prefix is where you installed your xine-lib to
+earlier (yes, installing xine-lib with make install would be a good idea before
+trying to compile the frontend ;)).
+
+-------------------------------------------------------------------------------
+
+Can I install xine in my home directory (without being root) ?
+
+yes. first set up a subdir where you install your private software, eg
+
+ $ mkdir ~/usr
+
+
+then you have to set a few environment variables - it's probably a good idea to
+add this to your ~/.bashrc (or somewhere similar):
+
+ export PATH="$HOME/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"
+
+
+now you can unpack tarballs e.g. in ~/usr/src (mkdir ~/usr/src if necessary)
+and do a
+
+ $ ./configure --prefix=$HOME/usr
+ $ make install
+
+-------------------------------------------------------------------------------
+
+-------------------------------------------------------------------------------
+
+Chapter 3. Playback of various stream types
+
+DVD Playback with xine
+
+How do I play back DVDs with xine?
+
+Newer xine (1.0.x) releases come with a full-featured DVD plugin that should be
+able to handle any unencrypted, non-locked DVD with full menu navigation
+support. No external plugins are required anymore here.
+
+To get DVD playback working, first make sure you have a symlink /dev/dvd
+pointing to your DVD device on your system. For example, if your DVD drive is
+the master ide drive on the second IDE channel, /dev/dvd should point to /dev/
+hdc. Please note that if you are using the ide-scsi emulation on your system,
+it is likely that 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
+cdrecord -scanbus ) to find out which device it got mapped to and set the
+symlink accordingly (should be something like /dev/scd0, /dev/scd1, ... in that
+case). Also make sure you (as a user) have sufficient (read) permissions on
+your dvd drive (this could mean you either have to change the device
+permissions or add your user to a special group (e.g. addgroup cdrom username),
+depending on your setup and/or distribution.
+
+It is highly recommended to switch DMA mode on for yout DVD drive (without it
+even very recent machines will have trouble producing smooth video output). Use
+a command like hdparm -d 1 device on your dvd device. Please note that even if
+you're using ide-scsi you will have to set the dma flag on the ide device node
+(e.g. /dev/hdc), not the mapped /dev/scd scsi device.
+
+To be able to play back encrypted dvds you need to have libdvdcss installed on
+your system (please check if this is legal where you live).
+
+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 http://www.linuxtv.org/download/dvd/
+dvd_disc_20000215.tar.gz.
+
+Once you have everything set up, try something like gxine dvd:// or xine -p
+dvd:// to start dvd playback. Some frontend also offer so-called autoplay
+buttons or menu entries that start dvd playback immediately.
+
+Important: do not try to mount the DVD. Just insert it and hit the DVD autoplay
+button or start xine from the command line.
+
+If things do not work as expected, try running the xine-check shellscript that
+comes with libxine to see if this gives you further hints on what could be
+wrong.
+
+-------------------------------------------------------------------------------
+
+DVD playback works, but it takes a long time until playback starts
+
+This points to a region code problem. Some versions of libdvdcss can play back
+DVDs from other regions than the RPC-2 DVD drive is set up for, but this
+usually means a cryptographic attack (which takes time) has to be used to
+access the DVD.
+
+You can download a tool to set the region code of RPC-Drives here: http://
+linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz
+
+Warning: Please be aware that the number of region code changes in RPC-2 drives
+is limited (usually about 5 times), after that your drive will stay locked to
+the region you last set it up for.
+
+-------------------------------------------------------------------------------
+
+I have problems setting up my RPC-2 drive for the right region!
+
+You can download a tool to set the region code of RPC-Drives here: http://
+linuxtv.org/download/dvd/dvd_disc_20000215_css.tar.gz
+
+Warning: Please be aware that the number of region code changes in RPC-2 drives
+is limited (usually about 5 times), after that your drive will stay locked to
+the region you last set it up for.
+
+-------------------------------------------------------------------------------
+
+Can I watch Video CDs (VCDs)? SVCDS ? CD-i?
+
+xine supports VCD and SVCD playback out-of-the box. Similar to DVDs, make sure
+you have a /dev/cdrom alias pointing to your CDROM drive which you will use to
+play back the (S)VCD.
+
+At the moment, CD-i formats are not supported by xine.
+
+Do not try to mount the (S)VCD. Simply insert it into your CDROM drive and hit
+the VCD autoplay button or start something like
+ gxine VCD://
+
+from the command line.
+
+-------------------------------------------------------------------------------
+
+Can I watch Quicktime (.mov, .mp4) files using xine?
+
+Quicktime is just a system layer (container format) which can contain various
+different audio and video formats. The system layer itself is fully supported
+in xine. However, 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.
+
+Possibly the most convenient way to get the Quicktime DLLs is to download them
+from the mplayer website http://www1.mplayerhq.hu/MPlayer/releases/codecs/. The
+package is called "QuickTime5 DLLs". Unpack it and move everything you find
+inside to /usr/lib/win32 (actually you can place them anywhere you want, e.g.
+someplace in your homedirectory, but then you'll have to set codec.win32_path
+in your xine config file accordingly). Restart xine then and you should be able
+to watch Quicktime trailers.
+
+-------------------------------------------------------------------------------
+
+Real Network files/streams
+
+Can I watch Real (.rm, .ram) files using xine ?
+
+The situation with real files and streams is pretty similar to the situation
+with Quicktime Streams (see above). 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.
+
+One way to get these codecs is to download and install RealPlayer from
+RealNetworks, for example in /usr/local/RealPlayer8 or /opt/RealPlayer8. 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 rv30.so.6.0
+which should reside in a directory called Codecs in the directory where you
+have installed RealPlayer in) and set codec.real_codecs_path in your xine
+config file accordingly.
+
+-------------------------------------------------------------------------------
+
+What about (live) network streams (pnm://, rtsp:// style urls) ?
+
+xine supports both pnm and rtsp streaming. However, digging out the actual pnm/
+rtsp url can be tricky as they're often packed into heavy JavaScript and HTML
+code on most websites. You can either use a combination of your browser's "save
+source" function and wget or use a xine browser plugin (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.
+
+-------------------------------------------------------------------------------
+
+Can I watch Windows Media (.asf/.wmv) files using xine?
+
+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).
+
+Possibly the most convenient way to get the windows DLLs is to download them
+from the mplayer website http://www1.mplayerhq.hu/MPlayer/releases/codecs/. The
+package is called "Win32 Codecpack". Unpack it and move everything you find
+inside to /usr/lib/win32 (actually you can place them anywhere you want, e.g.
+someplace in your homedirectory, but then you'll have to set codec.win32_path
+in your xine config file accordingly). Restart xine then and you should be able
+to watch windows media streams.
+
+-------------------------------------------------------------------------------
+
+Can I watch Digital TV (Digital Video Broadcast) using xine ?
+
+At the time of this writing DVB support is a very new and experimental feature
+in xine. The number of supported cards is pretty limited at the moment. See doc
+/README.dvb (in the xine-lib tarball) for details.
+
+-------------------------------------------------------------------------------
+
+How do I play streams from STDIN?
+
+Use something like:
+ cat stream.mpg | gxine stdin://
+
+
+-------------------------------------------------------------------------------
+
+How can I watch files with external AVI subtitles?
+
+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:
+ xine foo.avi%bar.sub
+
+
+-------------------------------------------------------------------------------
+
+Chapter 4. Running xine
+
+I have a lot of dropped frames - what can I do?
+
+Your hardware might be too slow for xine. Make sure you turn on all speed
+optimizing options. A few things you should check:
+
+ * first of all, run the xine-check script included in xine-lib package
+ (probably already installed in your system). xine-check will report several
+ of the most common problems listed here. Sample output from xine-check:
+ $ xine-check
+ Please be patient, this script may take a while to run...
+ [ good ] you're using Linux, doing specific tests
+ [ good ] looks like you have a /proc filesystem mounted.
+ [ good ] You seem to have a reasonable kernel version (2.4.18)
+ [ good ] intel compatible processor, checking MTRR support
+ [ good ] you have MTRR support and there are some ranges set.
+ [ good ] found the player at /usr/local/bin/xine
+ [ good ] /usr/local/bin/xine is in your PATH
+ [ good ] found /usr/local/bin/xine-config in your PATH
+ [ good ] plugin directory /usr/local/lib/xine/plugins exists.
+ [ good ] found input plugins
+ [ good ] found demux plugins
+ [ good ] found decoder plugins
+ [ good ] found video_out plugins
+ [ good ] found audio_out plugins
+ [ good ] skin directory /usr/local/share/xine/skins exists.
+ [ good ] found logo in /usr/local/share/xine/skins
+ [ good ] I even found some skins.
+ [ good ] /dev/cdrom points to /dev/hdc
+ [ good ] /dev/dvd points to /dev/hdc
+ [ good ] DMA is enabled for your DVD drive
+ [ good ] found xvinfo: X-Video Extension version 2.2
+ [ good ] your Xv extension supports YUV overlays (improves MPEG performance)
+ [ good ] your Xv extension supports packed YUV overlays
+ [ good ] Xv ports: YUY2 YV12 I420 UYVY
+
+
+ * use a recent kernel which is optimized for your hardware
+
+ * use the latest gas/gcc
+
+ * close other applications (use a tool like "top" to find out what
+ applications are using up CPU power)
+
+ * if you are not using Xv, make sure your display is set up to 16bpp, not 24
+ or higher (reduces memory bandwith)
+
+ * make sure the hard drive (or cdrom/dvd drive) which supplies the video data
+ is in DMA mode (if supported)
+
+ On most linux-based systems, you can use hdparm to check this. Example:
+ hdparm /dev/hda
+
+ ...
+ using_dma = 1 (on)
+ ...
+
+
+ You can enable DMA mode with the following command:
+ hdparm -d1 device_of_your_drive_that_supplies_video_data
+
+
+ More information about this may be found here: http://oreilly.linux.com/pub
+ /a/linux/2000/06/29/hdparm.html
+
+ * xine needs high speed memory access which depends on your chip set. Make
+ sure you enable all speed-improving options.
+
+ Especially the via apollo pro chipset is known to be quite weird, (most of
+ all on my gigabyte board). If you can't configure the ram access thoroughly
+ using the bios you might want to try some really nasty tricks, as explained
+ on (for example):
+
+ http://www.overclockers.com/tips105/index03.asp
+
+ This website centers around a windows-tool to tweak the chipset, you can do
+ the same on FreeBSD with pciconf. On some linux distributions there are
+ similar tools.
+
+ * a nice performance tuning tool can be found here: http://
+ powertweak.sourceforge.net
+
+ * enable MTRR support in your kernel. If you are still using XFree 3.x,
+ you'll have to tell the kernel yourself where the graphics memory is.
+ You'll find details about that in the linux dvd howto.
+
+ If you're using XFree 4.x, enabling MTRR support in your kernel should be
+ enough.
+
+ Try a cat /proc/mtrr - if the file exists and you find an entry
+ corresponding to the amount of graphics memory you have, everything should
+ be fine.
+
+ * set up and use raw devices for dvd access.
+
+ Raw devices should be available in linux kernel 2.4.x and there are patches
+ for older kernels available from: ftp://ftp.kernel.org/pub/linux/kernel/
+ people/sct/raw-io/
+
+ To use raw devices, first connect a free raw device to your dvd device, use
+ something like:
+ raw /dev/raw1 /dev/hdc
+
+
+ then create a link named "rdvd" pointing to that raw device:
+ raw /dev/raw1 /dev/hdc
+
+
+-------------------------------------------------------------------------------
+
+I have problems when using xine on FreeBSD, Solaris, ... !
+
+Check out the the corresponding README files in the directory xine-ui/doc
+
+-------------------------------------------------------------------------------
+
+What is aalib? How do I use it in xine?
+
+aalib is an ascii art library. xine comes with an aalib video output plugin so
+you can watch movies in your xterm, on the console or on your old vt100 - very
+cool ;>
+
+To use it make sure you have aalib installed correctly before you configure/
+build xine-lib and xine-ui. In addition to the xine binary a binary named
+aaxine should get built and installed. You can then use something like:
+ aaxine foo.mpg
+
+to use aalib video output.
+
+-------------------------------------------------------------------------------
+
+What do all these ~/.xine/config entries mean?
+
+You can find information about them in xine-ui/doc/README.config_en.
+
+-------------------------------------------------------------------------------
+
+Chapter 5. Audio related questions
+
+What audio drivers does xine support? OSS? Alsa? Arts? Esd?
+
+Currently xine support audio output via OSS (kernel audio drivers), ALSA 0.9.x
+(ALSA 0.5.x is no longer supported), arts (KDE's sound daemon) and esound (esd,
+gnome's sound daemon - not recommended because it has serious issues with a/v
+sync).
+
+-------------------------------------------------------------------------------
+
+When I'm watching a movie, the sound effects ar much higher volume than the
+voices
+
+Congratulations, you seem to have an original movie audio track there.
+
+Uhm. So you don't like it. Well, there are two things you can do:
+
+ * You can enable xine's audio compressor. Most frontends have a settings
+ window and in that you'll find a slider for the compressor setting. The
+ values are percent values, so a slider setting of 200 means that xine will
+ double the volume of silent parts of the movie (loud parts stay the same).
+
+ * If you have a dolby digital (AC3) soundtrack, you can try to enable
+ liba52's dynamic range compression setting
+ codec.a52_dynrng:1
+
+ in your xine config file (or use some gui config dialog).
+
+-------------------------------------------------------------------------------
+
+When I play this stream, xine shows video but there's no audio!
+
+Well, first try a different audio driver ( gxine -A oss , gxine -A arts ...).
+
+If this problem only occurs with one specific stream, maybe switching to a
+different audio channel (using the gui) helps. Some DVD streams have audio on
+strange channels.
+
+If all this doesn't help, maybe you're missing an audio codec or you found a
+bug. If you decide to post your problem on the xine-user mailing list, make
+sure to include all console output xine produced and also clearly state what
+type of stream you tried to play back or, even better, make a test stream
+available somewhere for developers to download and try.
+
+-------------------------------------------------------------------------------
+
+Can xine produce 4-/5-channel surround audio output?
+
+Yep, it can do that using OSS or ALSA drivers, provided that the driver
+supports it. On startup xine tells you what modes are supported by your audio
+driver, e.g:
+ 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)
+
+
+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.
+
+You can do this either in the config dialog while xine is running (press the
+config button on the xine panel and go to the AUDIO tab) or have it the
+complicated way by editing the config file yourself which is located in your
+home directory in .gxine/.xine:
+ # 4-channel:
+ audio.four_channel:1
+
+ # 5-channel:
+ audio.five_channel:1
+
+ # 5.1-channel
+ audio.five_lfe_channel:0
+
+
+-------------------------------------------------------------------------------
+
+What about ac3 output via spdif to an external ac3 decoder?
+
+xine can do that too. Pretty much the same story as for 4-/5-channel surround
+(see above). You can either use the config dialog or edit the config file (~
+/.xine/config/~/.gxine/config) yourself:
+ audio.a52_pass_through:1
+
+
+-------------------------------------------------------------------------------
+
+Changing the volume with the GUI control has not affect! What's up!?
+
+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.
+
+-------------------------------------------------------------------------------
+
+Chapter 6. Video related questions
+
+I can hear the audio - but I don't see a picture!
+
+Probably your hardware is simply too slow - see above for some hints on how to
+speed things up.
+
+-------------------------------------------------------------------------------
+
+How can I make xine use the Xv extension and what drivers do I need?
+
+xine will normally use Xv by default if it is available. In some cases you
+might need to choose Xv playback manually (when the ~/.xine/config file for
+some reason says that you want to use XShm):
+ xine -V Xv foo.mpg
+
+
+If this doesn't work for you, it may be possible that Xv is not present on your
+system.
+
+First you need to install/use XFree 4.x. Once you got that you have to make
+sure the XFree drivers you're using are supporting Xv on your hardware. Here
+are some locations to look for suitable drivers:
+ 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)
+
+
+-------------------------------------------------------------------------------
+
+Some parts of my X Desktop get transparent when xine plays the video!
+
+Looks like some colors on your GUI match the colorkey Xv uses. You can change
+the colorkey value to avoid this. There should be a line like:
+ video.XV_COLORKEY:2110
+
+in your ~/.xine/config file where you can change the color that's used by xine
+for the video overlay.
+
+-------------------------------------------------------------------------------
+
+The aspect ratio of the video is wrong!
+
+Try pressing "a" to change the aspect ratio
+
+-------------------------------------------------------------------------------
+
+What is the difference between discarded and skipped frames?
+
+Sometimes xine will output a message like that:
+ 200 frames delivered, XX frames skipped, YY frames discarded
+
+
+The difference between these counters is a little subtle for the non developer.
+There are two threads running in order to display video: the decoder thread
+will deliver frames to the video output thread. The later is responsible for
+scheduling the frames to be displayed at the right time.
+
+If your system can't keep up with decoding requirements, decoder will deliver
+overdue frames. Imagine if it finished decoding the frame tagged for displaying
+at 11:30 but xine clock marks 11:31. When this situation is detected, xine will
+try to skip decoding a few frames to recover. Not every decoder may support
+this feature.
+
+When the frame is decoded to be 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.
+
+Note that if a decoder can't skip frames for some reason, you would never see
+frames skipped (they would be all discarded).
+
+-------------------------------------------------------------------------------
+
+Chapter 7. Error Messages: What they mean and what you can do
+
+Starting xine fails with complains about audio drivers/devices!
+
+You can select the audio driver using the -A option. So try:
+ xine -A null
+
+If you have ALSA drivers installed, try:
+ xine -A alsa
+
+If you run ESD (not recommended), try:
+ xine -A esd
+
+If you run artsd, try:
+ xine -A arts
+
+
+-------------------------------------------------------------------------------
+
+"no video port found"
+
+You got the Xv extension, but your video card driver doesn't support it. First
+try to find a driver that does support Xv on your hardware (check your graphics
+card vendor). If your driver has Xv support but you can't get it working, try
+at a lower resolution (1024x768 is enough even for anamorphic mpeg-2).
+
+If all that fails, you can still use plain X11/XShm:
+ gxine -V XShm foo.vob
+
+
+-------------------------------------------------------------------------------
+
+Unable to open dvd drive (/dev/dvd)
+
+You probably don't have /dev/dvd (check that). If so, simply create a link /dev
+/dvd that points to your DVD device. Something like...
+ cd /dev
+ ln -s hdc dvd
+
+...should do the job.
+
+-------------------------------------------------------------------------------
+
+"demux error! 00 00 00 (should be 0x000001)"
+
+Probably xine can't access your input source. Most commonly this happens when
+you're trying to play locked/encrypted DVDs. Remember that xine can't play such
+DVDs out-of-the box for legal reasons (see above).
+
+If it is legal where you 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.
+
+Another reason could be that your (RPC-2) DVD drive isn't set up for the right
+region (see above).
+
+-------------------------------------------------------------------------------
+
+"audio driver 'oss' failed, using null driver instead"
+
+First of all, make sure that your OSS Audio drivers are working (i.e. you can
+play music with other software). Maybe you're using alsa? If so, try gxine -A
+alsa to see if this helps.
+
+The most common reason for oss not working is that some other program is
+accesing your audio device. If you're using linux, the command fuser /dev/dsp
+should give you the PID of the process.
+
+If you are using GNOME, chances are that this is caused by ESD. Now you have
+two possibilities. Either deactivate ESD (temporarily) by right clicking on the
+sound monitor applet and selecting "Place Esound in standby" or just kill it.
+Then xine will use OSS audio output. The other method is to make xine use ESD
+for audio output with:
+ gxine -A esd
+
+This may result in worse playback - exact syncronization is not possible with
+esd, so using oss should be preferred.
+
+If you are using KDE, there is the possibility that the aRts sound daemon is
+currently running and thus blocking your sound device. You can check that by
+starting the aRts control (in your KDE menu it should be under Multimedia). If
+it is running, you can either use the aRts audio output plugin:
+ gxine -A arts
+
+Or you suspend the aRts daemon by checking the appropriate option in your aRts
+control. (recommended)
+
+Newer versions of arts have an auto-suspend mode - this can lead to some
+nondeterministic behaviour of xine if it is set up to use the audio device
+directly. Using arts is recommended in that case, however you will loose the
+ability to do four/five channel audio output.
+
+-------------------------------------------------------------------------------
+
+video_out: throwing away image with pts xxx because it's too old
+
+This is a performance related problem. If you have a fast computer and this
+message shows from time to time playing dvd/cdrom, it's very likely that your
+drive is not DMA enabled.
+
+-------------------------------------------------------------------------------
+
+"No video plugin available to decode 'xxxxxx'."
+
+You have tried to play a stream using a unknown or unhandled codec. Possibly
+the file uses some obscure proprietary format and no information is available
+on how to decode it.
+
+If you're on an x86 platform (e.g. PC hardware) you might want to try
+installing binary-only windows medial, real networks and quicktime codecs (see
+above).
+
+-------------------------------------------------------------------------------
+
+"w32codec: decoder failed to start. Is 'xxxxxx' installed?"
+
+You probably don't have the win32 dll needed to decode this file.
+
+-------------------------------------------------------------------------------
+
+xine just crashed on me - i didn't get any error message
+
+OK, yes, that shouldn't happen and you're upset. We can understand that. But,
+to help you and of course to fix this, we need some information. So, let's go
+through the checklist and maybe prepare a nice bug report for the xine-user
+mailing list:
+
+ * did xine really crash (segfault) or did it hang (deadlock) ?
+
+ * can you reproduce the bug? (e.g. do you remember what you did and when you
+ do it again it crashes again?)
+
+ * check the console output (and include it in a bug report), maybe earlier
+ there is some output that points to the problem.
+
+ * Your X server just froze on you? unfortunately that's a know problem with
+ some chipsets and drivers (most commonly Savage chipsets) when using Xv.
+ You might want to try running gxine -V XShm to see if the problem is
+ related to the Xv driver. This will unfortunately be much slower, as lots
+ of things are now done in software instead of hardware scaling/colour space
+ conversion.
+
+ Maybe at the time you read this, there's an XFree upgrade which fixes this
+ for the Savage driver. If that works for you, please notify the xine crew
+ at < xine-user@lists.sf.net >, so they can update this FAQ!
+
+ * Even though we try to make each release as bug free as possible, xine is
+ still under heavy development (nice excuse, isn't it? *grin*).
+
+ If you write to the xine user mailing list <xine-user@lists.sourceforge.net
+ > make sure you include a the above information (when applicable) and also
+ some information about your machine (operating system, cpu type and speed,
+ gfx card, sound card, ...) and please use a meaningfull subject line ("xine
+ bug" is bad, "xine fails to play this quicktime trailer in fullscreen mode"
+ ist much better).
+
+ Thanks for taking the time to help improve xine.
+