From a420a9a9208db5bffb08012e25250ed2ae8a8947 Mon Sep 17 00:00:00 2001 From: Guenter Bartsch Date: Sun, 5 Jan 2003 13:11:53 +0000 Subject: fixing a copyright, bringing back the old READMEs to the xine-lib tarball, improve makefiles so hopefully documentation is installed in the right place, add text version of the faq CVS patchset: 3783 CVS date: 2003/01/05 13:11:53 --- doc/MRLs | 71 ---- doc/Makefile.am | 9 +- doc/README | 67 ++-- doc/README.config_en | 276 +++++++++++++ doc/README.dxr3 | 316 +++++++++++++++ doc/README.dxr3_pl | 319 +++++++++++++++ doc/README.freebsd | 110 ++++++ doc/README.irix | 31 ++ doc/README.mrl | 76 ++++ doc/README.opengl | 44 +++ doc/README.solaris | 135 +++++++ doc/README.syncfb | 290 ++++++++++++++ doc/README.tvmode | 103 +++++ doc/faq/Makefile.am | 29 +- doc/faq/faq.txt | 1077 ++++++++++++++++++++++++++++++++++++++++++++++++++ 15 files changed, 2855 insertions(+), 98 deletions(-) delete mode 100644 doc/MRLs create mode 100644 doc/README.config_en create mode 100644 doc/README.dxr3 create mode 100644 doc/README.dxr3_pl create mode 100644 doc/README.freebsd create mode 100644 doc/README.irix create mode 100644 doc/README.mrl create mode 100644 doc/README.opengl create mode 100644 doc/README.solaris create mode 100644 doc/README.syncfb create mode 100644 doc/README.tvmode create mode 100644 doc/faq/faq.txt (limited to 'doc') diff --git a/doc/MRLs b/doc/MRLs deleted file mode 100644 index 1ad3397b0..000000000 --- a/doc/MRLs +++ /dev/null @@ -1,71 +0,0 @@ -proposition of generic syntax of MRLs -===================================== - -This document defines a draft for a syntactic specification of MRLs as -used by xine-lib. The language of MRLs is designed to be a true subset -of the language of URIs as given in RFC2396. A type 2 grammar for the -language of MRLs is given in EBNF below. - -Semantically, MRLs consist of two distinct parts that are evaluated by -different components of the xine architecture. The first part, -derivable from the symbol in the given grammar, is -completely handed to the input plugins, with input plugins signaling -if they can handle the MRL. -The second part, derivable from and delimited from the -first by a crosshatch ('#') contains parameters that modify the -initialization and playback behaviour of the stream to which the MRL -is passed. The possible parameters are mentioned in the manpage to -xine-ui. - -The following definition should be regarded as a guideline only. -Of course any given input plugin only understands a subset of all -possible MRLs. On the other hand, invalid MRLs according to this -definition might be understood for convenience reasons. -Some user awareness is required at this point. - -EBNF grammar for MRLs: - - ::= [#] - ::= (|) - ::= :(|)[?] - ::= (|) - ::= //[] - ::= / - ::= [] - ::= {} - ::= (||;|@|&|=|+|$|,) - ::= {(||+|-|.)} - ::= (|) - ::= [[@][:]] - ::= {(||;|:|&|=|+|$|,)} - ::= (|) - ::= {.}[.] - ::= (|{(|-)}) - ::= (|{(|-)}) - ::= {}.{}.{}.{} - ::= {} - ::= {} - ::= (||;|:|@|&|=|+|$|,) - ::= {/} - ::= {}{;} - ::= {} - ::= (||:|@|&|=|+|$|,) - ::= {} - ::= ;{} - ::= (||novideo|noaudio|nospu) - ::= : - ::= {} - ::= {} - ::= {}:{} - ::= (||:|@|&|=|+|$|,) - ::= (||) - ::= (;|/|?|:|@|&|=|+|$|,) - ::= (|) - ::= (-|_|.|!|~|*|'|(|)) - ::= % - ::= (|A|B|C|D|E|F|a|b|c|d|e|f) - ::= (|) - ::= (|) - ::= (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) - ::= (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) - ::= (0|1|2|3|4|5|6|7|8|9) 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 " 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 +. 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 -l 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 diff --git a/doc/README.mrl b/doc/README.mrl new file mode 100644 index 000000000..f2d343e28 --- /dev/null +++ b/doc/README.mrl @@ -0,0 +1,76 @@ +proposition of generic syntax of MRLs +===================================== + +This document defines a draft for a syntactic specification of MRLs as +used by xine-lib. The language of MRLs is designed to be a true subset +of the language of URIs as given in RFC2396. A type 2 grammar for the +language of MRLs is given in EBNF below. + +Semantically, MRLs consist of two distinct parts that are evaluated by +different components of the xine architecture. The first part, +derivable from the symbol in the given grammar, is +completely handed to the input plugins, with input plugins signaling +if they can handle the MRL. +The second part, derivable from and delimited from the +first by a crosshatch ('#') contains parameters that modify the +initialization and playback behaviour of the stream to which the MRL +is passed. The possible parameters are mentioned in the manpage to +xine-ui. + +The following definition should be regarded as a guideline only. +Of course any given input plugin only understands a subset of all +possible MRLs. On the other hand, invalid MRLs according to this +definition might be understood for convenience reasons. +Some user awareness is required at this point. + +EBNF grammar for MRLs: + + ::= [#] + ::= (|) + ::= :(|)[?] + ::= (|) + ::= //[] + ::= / + ::= [] + ::= {} + ::= (||;|@|&|=|+|$|,) + ::= {(||+|-|.)} + ::= (|) + ::= [[@][:]] + ::= {(||;|:|&|=|+|$|,)} + ::= (|) + ::= {.}[.] + ::= (|{(|-)}) + ::= (|{(|-)}) + ::= {}.{}.{}.{} + ::= {} + ::= {} + ::= (||;|:|@|&|=|+|$|,) + ::= {/} + ::= {}{;} + ::= {} + ::= (||:|@|&|=|+|$|,) + ::= {} + ::= ;{} + ::= (||novideo|noaudio|nospu) + ::= : + ::= {} + ::= {} + ::= {}:{} + ::= (||:|@|&|=|+|$|,) + ::= (||) + ::= (;|/|?|:|@|&|=|+|$|,) + ::= (|) + ::= (-|_|.|!|~|*|'|(|)) + ::= % + ::= (|A|B|C|D|E|F|a|b|c|d|e|f) + ::= (|) + ::= (|) + ::= (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) + ::= (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) + ::= (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 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 + Joachim Koening 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: + x[/][*][, ...] + 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 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 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. + -- cgit v1.2.3