summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/faq/faq.sgml76
-rw-r--r--doc/hackersguide/internals.sgml80
-rw-r--r--doc/hackersguide/output.sgml2
-rw-r--r--doc/hackersguide/overview.sgml24
-rw-r--r--doc/hackersguide/stream.sgml10
5 files changed, 96 insertions, 96 deletions
diff --git a/doc/faq/faq.sgml b/doc/faq/faq.sgml
index 5a713e306..23ff8ebb8 100644
--- a/doc/faq/faq.sgml
+++ b/doc/faq/faq.sgml
@@ -43,7 +43,7 @@
</sect2>
<sect2 id="wheretogethelp">
- <title>My question is not yet covered here - where can I ask for help?</title>
+ <title>My question is not yet covered here &ndash; where can I ask for help?</title>
<para>
First of all be sure that your question is really not covered here and
that you haven't just been a bit too lazy to read through all of this
@@ -52,7 +52,7 @@
<command>totem</command>).
</para>
<para>
- That said - you are welcome to mail to our user mailing list:
+ That said &ndash; you are welcome to mail to our user mailing list:
<email>xine-user@lists.sourceforge.net</email>
Please provide some info about your setup so people have a chance to
help you, e.g. include information about your audio/video hardware
@@ -75,7 +75,7 @@
</sect2>
<sect2 id="modules">
- <title>What are those xine-lib, xine-ui, gnome-xine, ... modules in cvs for?</title>
+ <title>What are those xine-lib, xine-ui, gnome-xine, &hellip; modules in cvs for?</title>
<para>
Some time ago xine just became too complex to be just one big program.
Therefore it was split into two major parts.
@@ -86,7 +86,7 @@
is covered in this FAQ.)
</para>
<para>
- Then there are frontends - applications that use xine. The most
+ Then there are frontends &ndash; 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,
@@ -152,7 +152,7 @@
<para>
First, make sure that you're using a current development version
(see above) or at least the current release version. Then, once you're
- ready to send the patch...
+ ready to send the patch&hellip;
</para>
<para>
Generate your patch using either <command>cvs diff -u &gt;
@@ -162,17 +162,17 @@
patch. Your patch should be applicable using <command>patch -p0 -i
my.patch</command> or, preferably, <command>patch -p1 -i
my.patch</command> from the top-level directory in the source tree
- (i.e. where configure.ac is) - this is fairly important for our
+ (i.e. where configure.ac is) &ndash; this is fairly important for our
Mercurial-based repositories since it makes importing your patch that
much easier (hg import defaults to -p1).
</para>
<para>
Alternatively, if you've been hacking away at a module which is
- maintained using mercurial, you can make them available as diffs - use
+ maintained using mercurial, you can make them available as diffs &ndash; use
<command>hg export</command> or, if you have several patches, you could
use <command>hg bundle</command> instead (both require extra
parameters; <command>hg help export</command> and <command>hg help
- bundle</command> for more details) - or via HTTP by using <command>hg
+ bundle</command> for more details) &ndash; or via HTTP by using <command>hg
serve</command>. In the latter case, you'll need to post a URL from
which a developer can pull the changes.
</para>
@@ -194,8 +194,8 @@
<para>
The xine project does not provide pre-compiled binaries for legal
reasons (some parts of xine may be covered by patents in some countries).
- Some OS projects/vendors (e.g. debian, freebsd, ...) offer binaries
- for their distributions - please contact them or use their package search
+ Some OS projects/vendors (e.g. Debian, FreeBSD, &hellip;) offer binaries
+ for their distributions &ndash; please contact them or use their package search
tools for further info.
You can also find links to third parties providing xine RPMs on
the xine homepage at
@@ -221,13 +221,13 @@
</para>
<para>
Furthermore you'll have to use GNU make to compile xine. On most GNU/Linux
- systems "make" is GNU make - on other platforms use "gmake" instead.
+ systems "make" is GNU make &ndash; on other platforms use "gmake" instead.
Also, zlib is required (including the appropriate header files, which are
often found in a package called zlib-devel or similar.)
</para>
<para>
If you want to compile xine from CVS, you'll need to have the autobuild tools
- installed (automake, autoconf and libtool - in recent versions).
+ installed (automake, autoconf and libtool &ndash; in recent versions).
</para>
<para>
Frontends might need additional libraries, e.g. for gxine you'll need to have
@@ -274,7 +274,7 @@
<screen>&nbsp;&nbsp;&nbsp;<command>ldconfig</command></screen>
</para>
<para>
- Now unpack your frontend (gxine or xine-ui or ...), then:
+ Now unpack your frontend (gxine or xine-ui or &hellip;), then:
<screen>
&nbsp;&nbsp;&nbsp;<command>./configure</command>
&nbsp;&nbsp;&nbsp;<command>make install</command></screen>
@@ -292,7 +292,7 @@
<para>
If you have installed xine-lib to a non-standard prefix, make sure
that you have <filename>$prefix/bin</filename> in your PATH and that your linker finds
- libs in <filename>$prefix/lib</filename> - otherwise trying to build modules that
+ libs in <filename>$prefix/lib</filename> &ndash; 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:
<screen>
@@ -304,7 +304,7 @@
Last but not least. Here the build instructions. As stated earlier,
those are the same for every xine module.
<screen>
-&nbsp;&nbsp;&nbsp;<command>./autogen.sh</command> [-> *only* if you checked your sources out of CVS]
+&nbsp;&nbsp;&nbsp;<command>./autogen.sh</command> [&rarr; <emphasis>only</emphasis> if you checked your sources out of CVS]
&nbsp;&nbsp;&nbsp;<command>./configure</command>
&nbsp;&nbsp;&nbsp;<command>make</command>
&nbsp;&nbsp;&nbsp;<command>make install</command></screen>
@@ -477,7 +477,7 @@
</sect2>
<sect2>
- <title>Build problems in frontends (gxine/xine-ui/...)</title>
+ <title>Build problems in frontends (gxine/xine-ui/&hellip;)</title>
<sect3 id="xinelibnotfound">
<title>I have installed xine-lib but the frontend complains about not finding it!</title>
<para>
@@ -504,7 +504,7 @@
<screen>&nbsp;&nbsp;&nbsp;<command>mkdir ~/xine</command></screen>
</para>
<para>
- Then you have to set a few environment variables - it's probably a good
+ Then you have to set a few environment variables &ndash; it's probably a good
idea to add this to your <filename>~/.bashrc</filename> (or somewhere similar):
<screen>
&nbsp;&nbsp;&nbsp;<command>export PATH="$HOME/xine/bin:$PATH"</command>
@@ -561,7 +561,7 @@
check out you boot/kernel logs (or run <command>cdrecord -scanbus</command>)
to find out which device it got mapped to and set the
symlink accordingly (should be something like <filename>/dev/scd0</filename>,
- <filename>/dev/scd1</filename>, ... in that case).
+ <filename>/dev/scd1</filename>, &hellip; in that case).
Also make sure you (as a user) have sufficient (read and write) permissions
on your DVD drive. This could mean you either have to change the device
permissions or add your user to a special group
@@ -954,7 +954,7 @@
<title>Running xine</title>
<sect2 id="speedup">
- <title>I have a lot of dropped frames - what can I do?</title>
+ <title>I have a lot of dropped frames &ndash; what can I do?</title>
<para>
Your hardware might be too slow for xine. Make sure you turn on all
speed optimizing options. A few things you should check (in order of
@@ -1062,7 +1062,7 @@
be enough (use a recent kernel!).
</para>
<para>
- Try a <command>cat /proc/mtrr</command> - if the file exists and you find an entry
+ Try a <command>cat /proc/mtrr</command> &ndash; if the file exists and you find an entry
corresponding to the amount of graphics memory you have, everything
should be fine.
</para>
@@ -1077,7 +1077,7 @@
<para>
Use the "top" utility and verify under the "NI" column if
the X process has a negative value, this indicates a higher priority.
- See "The X Window User HOWTO - Performance considerations" for
+ See "The X Window User HOWTO &ndash; Performance considerations" for
further instructions
<ulink url="http://www.tldp.org/HOWTO/XWindow-User-HOWTO/performance.html">
http://www.tldp.org/HOWTO/XWindow-User-HOWTO/performance.html
@@ -1194,7 +1194,7 @@
</sect2>
<sect2 id="ports">
- <title>I have problems when using xine on FreeBSD, Solaris, ... !</title>
+ <title>I have problems when using xine on FreeBSD, Solaris, &hellip; !</title>
<para>
Check out the the corresponding README files in the directory <filename>xine-lib/doc</filename>.
</para>
@@ -1205,7 +1205,7 @@
<para>
aalib is an ascii art library. xine comes with an aalib video output
plugin so you can watch movies in your xterm, on the console or on your
- old vt100 - very cool ;> ... another nice option is to preview movies
+ old vt100 &ndash; very cool ;> &hellip; another nice option is to preview movies
on a remote server in your shell over ssh.
</para>
<para>
@@ -1240,7 +1240,7 @@
<para>
Currently xine support audio output via OSS (kernel audio drivers),
ALSA 0.9.x (ALSA 0.5.x is no longer supported), arts (KDE's sound daemon)
- and esound (esd, gnome's sound daemon - not recommended because it has
+ and esound (esd, gnome's sound daemon &ndash; not recommended because it has
serious issues with a/v sync).
</para>
</sect2>
@@ -1284,7 +1284,7 @@
<para>
If this happens with any video, first try a different audio driver
(<command>gxine -A oss</command>, <command>gxine -A arts</command>,
- <command>xine -A alsa</command> ...).
+ <command>xine -A alsa</command> &hellip;).
</para>
<para>
If this problem only occurs with one specific stream, maybe switching to
@@ -1506,8 +1506,8 @@
</para>
<para>
Another, whole different possibility is that you have some background
- process running which is messing with the clock (like some ntp client -
- chronny, ntpd, ...).
+ process running which is messing with the clock (like some ntp client &ndash;
+ chrony, ntpd, &hellip;).
</para>
<para>
Occasional messages of "fixing sound card drift" may happen on start and
@@ -1545,9 +1545,9 @@
<title>Video related questions</title>
<sect2 id="novideo">
- <title>I can hear the audio - but I don't see a picture!</title>
+ <title>I can hear the audio &ndash; but I don't see a picture!</title>
<para>
- Probably your hardware is simply too slow - see above for some
+ Probably your hardware is simply too slow &ndash; see above for some
hints on how to speed things up.
</para>
<para>
@@ -1846,7 +1846,7 @@
</para>
<para>
Drivers that access hardware directly includes VIDIX (warning: requires
- root priviledges or kernel helper) and SyncFB (requires kernel helper - Matrox only).
+ root priviledges or kernel helper) and SyncFB (requires kernel helper &ndash; Matrox only).
User may try one of those, but should be warned that with root access
they can cause the system to crash hard. The support is also limited to
a couple of graphics cards only.
@@ -1995,7 +1995,7 @@
<para>
The font for text subtitles is selected via config option
<parameter>subtitles.separate.font</parameter>. You can specify xine font name
- (<parameter>sans</parameter>, <parameter>serif</parameter>, ...)
+ (<parameter>sans</parameter>, <parameter>serif</parameter>, &hellip;)
or file name of the TTF font. The directories
<filename>$prefix/share/xine/libxine1/fonts</filename> and
<filename>~/.xine/fonts</filename> are searched for the fonts, with
@@ -2032,7 +2032,7 @@
</para>
<para>
Syntax is:
- <screen>&nbsp;&nbsp;&nbsp;<command>./xine-fontconf font.ttf font_name [encoding1 [encoding2 [...]]]</command></screen>
+ <screen>&nbsp;&nbsp;&nbsp;<command>./xine-fontconf font.ttf font_name [encoding1 [encoding2 [&hellip;]]]</command></screen>
</para>
<para>
For example default font <filename>sans</filename> was generated with
@@ -2129,9 +2129,9 @@
<title>"Unable to open dvd drive (/dev/dvd)"</title>
<para>
You probably don't have /dev/dvd (check that). If so, simply create a
- link /dev/dvd that points to your DVD device. Something like...
+ link /dev/dvd that points to your DVD device. Something like&hellip;
<screen>&nbsp;&nbsp;&nbsp;<command>ln -s hdc /dev/dvd</command></screen>
- ...should do the job. Also make sure you have read and write access on
+ &hellip; should do the job. Also make sure you have read and write access on
the device the symlink points to.
See the <link linkend="dvdplayback">dvd playback section</link>
for more information.
@@ -2183,7 +2183,7 @@
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:
<screen>&nbsp;&nbsp;&nbsp;<command>gxine -A esd</command></screen>
- This may result in worse playback - exact syncronization is not possible
+ This may result in worse playback &ndash; exact syncronization is not possible
with esd, so using oss should be preferred.
</para>
<para>
@@ -2197,7 +2197,7 @@
your aRts control. (recommended)
</para>
<para>
- Newer versions of arts have an auto-suspend mode - this can lead to
+ Newer versions of arts have an auto-suspend mode &ndash; 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 lose the ability to do four/five channel audio output.
@@ -2236,7 +2236,7 @@
</sect2>
<sect2 id="xinecrashed">
- <title>xine just crashed on me - i didn't get any error message</title>
+ <title>xine just crashed on me &ndash; i didn't get any error message</title>
<para>
OK, yes, that shouldn't happen and you're upset. We can understand that.
But, to help you and of course to fix this, we need some information.
@@ -2290,7 +2290,7 @@
If you write to the <ulink url="http://bugs.xine-project.org/">xine bug tracker</ulink>
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
+ speed, gfx card, sound card, &hellip;) and please use a meaningfull subject
line ("xine bug" is bad, "xine fails to play this quicktime trailer in fullscreen mode"
ist much better).
</para>
diff --git a/doc/hackersguide/internals.sgml b/doc/hackersguide/internals.sgml
index 9bd1ec684..8ffef06cd 100644
--- a/doc/hackersguide/internals.sgml
+++ b/doc/hackersguide/internals.sgml
@@ -64,7 +64,7 @@
<para>
support for multiple plugin directories
(<filename>$prefix/lib/xine/plugins</filename>,
- <filename>$HOME/.xine/plugins</filename>, ...)
+ <filename>$HOME/.xine/plugins</filename>, &hellip;)
</para>
</listitem>
<listitem>
@@ -124,7 +124,7 @@
&nbsp;&nbsp;&nbsp; demux_mpeg_block.so
&nbsp;&nbsp;&nbsp; decode_mpeg.so
&nbsp;&nbsp;&nbsp; video_out_xv.so
-&nbsp;&nbsp;&nbsp; ...
+&nbsp;&nbsp;&nbsp; &hellip;
&nbsp;&nbsp;&nbsp; xine-vcdnav-0.9.11
&nbsp;&nbsp;&nbsp; input_vcdnav.so
&nbsp;&nbsp;&nbsp; xine-lib-1.2
@@ -135,21 +135,21 @@
&nbsp;&nbsp;&nbsp; demuxers
&nbsp;&nbsp;&nbsp; fli.so
&nbsp;&nbsp;&nbsp; avi.so
-&nbsp;&nbsp;&nbsp; ...
+&nbsp;&nbsp;&nbsp; &hellip;
&nbsp;&nbsp;&nbsp; decoders
&nbsp;&nbsp;&nbsp; ffmpeg.so
&nbsp;&nbsp;&nbsp; mpeg.so (may contain mpeg 1/2 audio and video decoders)
&nbsp;&nbsp;&nbsp; pcm.so
-&nbsp;&nbsp;&nbsp; ...
+&nbsp;&nbsp;&nbsp; &hellip;
&nbsp;&nbsp;&nbsp; output
&nbsp;&nbsp;&nbsp; video_xv.so
&nbsp;&nbsp;&nbsp; audio_oss.so
-&nbsp;&nbsp;&nbsp; ...
+&nbsp;&nbsp;&nbsp; &hellip;
&nbsp;&nbsp;&nbsp; xine-lib-3.0
&nbsp;&nbsp;&nbsp; avi.so (avi demuxer)
&nbsp;&nbsp;&nbsp; mpeg.so (contains mpeg demuxers and audio/video decoders)
&nbsp;&nbsp;&nbsp; video_out_xv.so (Xv video out)
-&nbsp;&nbsp;&nbsp; ...</screen>
+&nbsp;&nbsp;&nbsp; &hellip;</screen>
</para>
<para>
As you can see, every package is free to organize plugins at will
@@ -244,12 +244,12 @@
13, found in xine-lib 2.13.7 would then define this plugin list:
<programlisting>
&nbsp;&nbsp;&nbsp;#include &lt;xine/plugin.h&gt;
-&nbsp;&nbsp;&nbsp;...
+&nbsp;&nbsp;&nbsp;&hellip;
&nbsp;&nbsp;&nbsp;plugin_t *init_api12(void) {
&nbsp;&nbsp;&nbsp; input_plugin_t *this;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; this = malloc(sizeof(input_plugin_t));
-&nbsp;&nbsp;&nbsp; ...
+&nbsp;&nbsp;&nbsp; &hellip;
&nbsp;&nbsp;&nbsp; return (plugin_t *)this;
&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;/* same thing, with different initialization for API 13 */
@@ -380,7 +380,7 @@
<para>
Another problem xine must handle is the sound card clock drift. vpts are
compared to the system clock (or even to a different clock provided by a scr plugin)
- for presentation but sound card is sampling audio by it's own clocking
+ for presentation but sound card is sampling audio by its own clocking
mechanism, so a small drift may occur. As the playback goes on this
error will accumulate possibly resulting in audio gaps or audio drops. To avoid that
annoying effect, two countermeasures are available (switchable with xine config
@@ -396,7 +396,7 @@
&nbsp;&nbsp;&nbsp; * smoothing algorithms to correct sound card clock drifts.
&nbsp;&nbsp;&nbsp; * obs: previously this error was added to xine scr.
&nbsp;&nbsp;&nbsp; *
-&nbsp;&nbsp;&nbsp; * audio buf ---> metronom --> audio fifo --> (buf->vpts - hw_vpts)
+&nbsp;&nbsp;&nbsp; * audio buf ---&gt; metronom --&gt; audio fifo --&gt; (buf-&gt;vpts - hw_vpts)
&nbsp;&nbsp;&nbsp; * (vpts_offset + error) gap
&nbsp;&nbsp;&nbsp; * <---------- control --------------|
&nbsp;&nbsp;&nbsp; *
@@ -448,7 +448,7 @@
In order to optimize to the most common case, xine's internal format for screen overlays
is a similar representation to the 'spu' data. This brings not only performance
benefit (since blending functions may skip large image areas due to RLE) but also
- compatibility: it's possible to reencode any xine overlay to the original spu format
+ compatibility: it's possible to re-encode any xine overlay to the original spu format
for displaying with mpeg hardware decoders like DXR3.
</para>
<para>
@@ -486,38 +486,38 @@
<programlisting>
&nbsp;&nbsp;&nbsp;video_overlay_event_t event;
&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;event.object.handle = this->video_overlay->get_handle(this->video_overlay,0);
+&nbsp;&nbsp;&nbsp;event.object.handle = this-&gt;video_overlay-&gt;get_handle(this-&gt;video_overlay,0);
&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;memset(this->event.object.overlay, 0, sizeof(*this->event.object.overlay));
+&nbsp;&nbsp;&nbsp;memset(this-&gt;event.object.overlay, 0, sizeof(*this-&gt;event.object.overlay));
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* set position and size for this overlay */
-&nbsp;&nbsp;&nbsp;event.object.overlay->x = 0;
-&nbsp;&nbsp;&nbsp;event.object.overlay->y = 0;
-&nbsp;&nbsp;&nbsp;event.object.overlay->width = 100;
-&nbsp;&nbsp;&nbsp;event.object.overlay->height = 100;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;x = 0;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;y = 0;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;width = 100;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;height = 100;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* clipping region is mostly used by dvd menus for highlighting buttons */
-&nbsp;&nbsp;&nbsp;event.object.overlay->clip_top = 0;
-&nbsp;&nbsp;&nbsp;event.object.overlay->clip_bottom = image_height;
-&nbsp;&nbsp;&nbsp;event.object.overlay->clip_left = 0;
-&nbsp;&nbsp;&nbsp;event.object.overlay->clip_right = image_width;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;clip_top = 0;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;clip_bottom = image_height;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;clip_left = 0;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;clip_right = image_width;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* the hard part: provide a RLE image */
-&nbsp;&nbsp;&nbsp;event.object.overlay->rle = your_rle;
-&nbsp;&nbsp;&nbsp;event.object.overlay->data_size = your_size;
-&nbsp;&nbsp;&nbsp;event.object.overlay->num_rle = your_rle_count;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;rle = your_rle;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;data_size = your_size;
+&nbsp;&nbsp;&nbsp;event.object.overlay-&gt;num_rle = your_rle_count;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* palette must contain YUV values for each color index */
-&nbsp;&nbsp;&nbsp;memcpy(event.object.overlay->clip_color, color, sizeof(color));
+&nbsp;&nbsp;&nbsp;memcpy(event.object.overlay-&gt;clip_color, color, sizeof(color));
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* this table contains transparency levels for each color index.
&nbsp;&nbsp;&nbsp; 0 = completely transparent, 15 - completely opaque */
-&nbsp;&nbsp;&nbsp;memcpy(event.object.overlay->clip_trans, trans, sizeof(trans));
+&nbsp;&nbsp;&nbsp;memcpy(event.object.overlay-&gt;clip_trans, trans, sizeof(trans));
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* set the event type and time for displaying */
&nbsp;&nbsp;&nbsp;event.event_type = EVENT_SHOW_SPU;
&nbsp;&nbsp;&nbsp;event.vpts = 0; /* zero is a special vpts value, it means 'now' */
-&nbsp;&nbsp;&nbsp;video_overlay->add_event(video_overlay, &amp;event);</programlisting>
+&nbsp;&nbsp;&nbsp;video_overlay-&gt;add_event(video_overlay, &amp;event);</programlisting>
</para>
</sect2>
<sect2>
@@ -535,7 +535,7 @@
<programlisting>
&nbsp;&nbsp;&nbsp;osd_object_t osd;
&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;osd = this->osd_renderer->new_object(osd_renderer, 300, 200);</programlisting>
+&nbsp;&nbsp;&nbsp;osd = this-&gt;osd_renderer-&gt;new_object(osd_renderer, 300, 200);</programlisting>
<para>
Now we may want to set font and color for text rendering. Although we will
refer to fonts over this document, in fact the OSD can be any kind of bitmap. Font
@@ -547,22 +547,22 @@
</para>
<programlisting>
&nbsp;&nbsp;&nbsp;/* set sans serif 24 font */
-&nbsp;&nbsp;&nbsp;osd_renderer->set_font(osd, "sans", 24);
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;set_font(osd, "sans", 24);
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* copy pre-defined colors for white, black border, transparent background to
&nbsp;&nbsp;&nbsp; starting at the index used by the first text palette */
-&nbsp;&nbsp;&nbsp;osd_renderer->set_text_palette(osd, TEXTPALETTE_WHITE_BLACK_TRANSPARENT, OSD_TEXT1);
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;set_text_palette(osd, TEXTPALETTE_WHITE_BLACK_TRANSPARENT, OSD_TEXT1);
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* copy pre-defined colors for white, no border, translucid background to
&nbsp;&nbsp;&nbsp; starting at the index used by the second text palette */
-&nbsp;&nbsp;&nbsp;osd_renderer->set_text_palette(osd, TEXTPALETTE_WHITE_NONE_TRANSLUCID, OSD_TEXT2);</programlisting>
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;set_text_palette(osd, TEXTPALETTE_WHITE_NONE_TRANSLUCID, OSD_TEXT2);</programlisting>
<para>
Now render the text and show it:
<programlisting>
-&nbsp;&nbsp;&nbsp;osd_renderer->render_text(osd, 0, 0, "white text, black border", OSD_TEXT1);
-&nbsp;&nbsp;&nbsp;osd_renderer->render_text(osd, 0, 30, "white text, no border", OSD_TEXT2);
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;render_text(osd, 0, 0, "white text, black border", OSD_TEXT1);
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;render_text(osd, 0, 30, "white text, no border", OSD_TEXT2);
&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;osd_renderer->show(osd, 0); /* 0 stands for 'now' */</programlisting>
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;show(osd, 0); /* 0 stands for 'now' */</programlisting>
</para>
<para>
There's a 1:1 mapping between OSD objects and overlays, therefore the
@@ -572,11 +572,11 @@
</para>
<programlisting>
&nbsp;&nbsp;&nbsp;for( i=0; i &lt; 100; i+=10 ) {
-&nbsp;&nbsp;&nbsp; osd_renderer->set_position(osd, i, i );
-&nbsp;&nbsp;&nbsp; osd_renderer->show(osd, 0);
+&nbsp;&nbsp;&nbsp; osd_renderer-&gt;set_position(osd, i, i );
+&nbsp;&nbsp;&nbsp; osd_renderer-&gt;show(osd, 0);
&nbsp;&nbsp;&nbsp; sleep(1);
&nbsp;&nbsp;&nbsp;}
-&nbsp;&nbsp;&nbsp;osd_renderer->hide(osd, 0);</programlisting>
+&nbsp;&nbsp;&nbsp;osd_renderer-&gt;hide(osd, 0);</programlisting>
<para>
For additional functions please check osd.h or the public header.
</para>
@@ -618,13 +618,13 @@
</para>
<programlisting>
&nbsp;&nbsp;&nbsp;/* obtains size the text will occupy */
-&nbsp;&nbsp;&nbsp;renderer->get_text_size(osd, text, &amp;width, &amp;height);
+&nbsp;&nbsp;&nbsp;renderer-&gt;get_text_size(osd, text, &amp;width, &amp;height);
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* draws a box using font background color (translucid) */
-&nbsp;&nbsp;&nbsp;renderer->filled_rect(osd, x1, y1, x1+width, y1+height, OSD_TEXT2 + 1);
+&nbsp;&nbsp;&nbsp;renderer-&gt;filled_rect(osd, x1, y1, x1+width, y1+height, OSD_TEXT2 + 1);
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;/* render text */
-&nbsp;&nbsp;&nbsp;renderer->render_text(osd, x1, y1, text, OSD_TEXT2);</programlisting>
+&nbsp;&nbsp;&nbsp;renderer-&gt;render_text(osd, x1, y1, text, OSD_TEXT2);</programlisting>
</sect3>
<sect3>
<title>OSD text and palette FAQ</title>
diff --git a/doc/hackersguide/output.sgml b/doc/hackersguide/output.sgml
index 806e89d0a..57781c05e 100644
--- a/doc/hackersguide/output.sgml
+++ b/doc/hackersguide/output.sgml
@@ -267,7 +267,7 @@
a deep copy of the frame, because the decoder might still use the frame as
a reference frame for future decoding. The usual procedure is:
<programlisting>
-&nbsp;&nbsp;&nbsp;modified_frame = port-&gt;original_port-&gt;get_frame(port->original_port, ...);
+&nbsp;&nbsp;&nbsp;modified_frame = port-&gt;original_port-&gt;get_frame(port-&gt;original_port, &hellip;);
&nbsp;&nbsp;&nbsp;_x_post_frame_copy_down(frame, modified_frame);
&nbsp;&nbsp;&nbsp;copy_and_modify(frame, modified_frame);
&nbsp;&nbsp;&nbsp;skip = modified_frame-&gt;draw(modified_frame, stream);
diff --git a/doc/hackersguide/overview.sgml b/doc/hackersguide/overview.sgml
index c8d15a4f9..eb62e5bd3 100644
--- a/doc/hackersguide/overview.sgml
+++ b/doc/hackersguide/overview.sgml
@@ -460,7 +460,7 @@
<para>
Contains various video output driver plugins. Video output drivers
are thin abstraction layers over various video output platforms
- (e.g. X11, directfb, directX,...). Video output driver plugins
+ (e.g. X11, directfb, directX, &hellip;). Video output driver plugins
provide functions like frame allocation and drawing and handle
stuff like hardware acceleration, scaling and colorspace conversion
if necessary. They do not handle a/v sync since this is done
@@ -497,7 +497,7 @@
<term><filename>xine-engine</filename></term>
<listitem>
<para>
- The heart of xine - it's engine. Contains code to
+ The heart of xine &ndash; its engine. Contains code to
load and handle all the plugins, the configuration repository
as well as the generic decoding loops and code for synchronized output.
A lot of helper functions for plugins to use live here as well.
@@ -573,7 +573,7 @@
<programlisting>
&nbsp;&nbsp;&nbsp;static void push (my_stack_t *this_gen, int i) {
&nbsp;&nbsp;&nbsp; intstack_t *this = (intstack_t *)this_gen;
-&nbsp;&nbsp;&nbsp; this->values[MAX_STACK_SIZE - ++this->stack_size] = i;
+&nbsp;&nbsp;&nbsp; this-&gt;values[MAX_STACK_SIZE - ++this-&gt;stack_size] = i;
&nbsp;&nbsp;&nbsp;}</programlisting>
</para>
<para>
@@ -613,15 +613,15 @@
&nbsp;&nbsp;&nbsp; this = malloc(sizeof(intstack_t));
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; /* fill in methods */
-&nbsp;&nbsp;&nbsp; this->push = push;
-&nbsp;&nbsp;&nbsp; this->add = add;
-&nbsp;&nbsp;&nbsp; this->pop = pop;
+&nbsp;&nbsp;&nbsp; this-&gt;push = push;
+&nbsp;&nbsp;&nbsp; this-&gt;add = add;
+&nbsp;&nbsp;&nbsp; this-&gt;pop = pop;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; /* init data fields */
-&nbsp;&nbsp;&nbsp; this->stack_size = 0;
+&nbsp;&nbsp;&nbsp; this-&gt;stack_size = 0;
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; /* return public part */
-&nbsp;&nbsp;&nbsp; return &amp;this->stack;
+&nbsp;&nbsp;&nbsp; return &amp;this-&gt;stack;
&nbsp;&nbsp;&nbsp;}</programlisting>
</para>
<sect2>
@@ -686,7 +686,7 @@
<listitem>
<para>
use something like
- <programlisting>&nbsp;&nbsp;&nbsp;printf("module: ..."[,...]);</programlisting>
+ <programlisting>&nbsp;&nbsp;&nbsp;printf("module: ..."[,&hellip;]);</programlisting>
for console output. All console output goes to stdout and
must be prefixed by the module name which generates the
output (see example above).
@@ -714,7 +714,7 @@
<para>
Output which is done thru this function will be
displayed for the end user by the frontend.
- If <varname>xine->verbosity</varname> is not 0 the messages will also
+ If <varname>xine-&gt;verbosity</varname> is not 0 the messages will also
be displayed on the console. Ideally these strings
are translated.
This function is for information which the user should
@@ -727,7 +727,7 @@
<sect2>
<title>xprintf</title>
<para>
- This macro uses the <varname>xine->verbosity</varname> value to decide
+ This macro uses the <varname>xine-&gt;verbosity</varname> value to decide
if the string should be printed to the console. Possible
values are XINE_VERBOSITY_NONE, XINE_VERBOSITY_LOG or
XINE_VERBOSITY_DEBUG. By default nothing is printed.
@@ -821,7 +821,7 @@
committing it locally and using
<command>hg export <parameter>.</parameter> &gt;<filename>foo.patch</filename></command>
to create the file to be attached is acceptable (but note that the first
- line - up to the first line feed - of the commit message is regarded as
+ line &ndash; up to the first line feed &ndash; of the commit message is regarded as
the patch summary; if you're not sure, check with
<command>hg log -r<parameter>.</parameter></command>.
Alternatively, use <token>From:</token> and <token>Subject:</token> lines
diff --git a/doc/hackersguide/stream.sgml b/doc/hackersguide/stream.sgml
index d05bbba65..d9a5471bd 100644
--- a/doc/hackersguide/stream.sgml
+++ b/doc/hackersguide/stream.sgml
@@ -392,9 +392,9 @@
<programlisting>
&nbsp;&nbsp;&nbsp;buf_element_t *buf;
&nbsp;&nbsp;&nbsp;
-&nbsp;&nbsp;&nbsp;buf = stream->video_fifo->buffer_pool_alloc(stream->video_fifo);
-&nbsp;&nbsp;&nbsp;buf->type = BUF_CONTROL_START;
-&nbsp;&nbsp;&nbsp;stream->video_fifo->put(stream->video_fifo, buf);</programlisting>
+&nbsp;&nbsp;&nbsp;buf = stream-&gt;video_fifo-&gt;buffer_pool_alloc(stream-&gt;video_fifo);
+&nbsp;&nbsp;&nbsp;buf-&gt;type = BUF_CONTROL_START;
+&nbsp;&nbsp;&nbsp;stream-&gt;video_fifo-&gt;put(stream-&gt;video_fifo, buf);</programlisting>
<para>
Buffers must have set the <varname>type</varname> field as shown. All buffer types are
defined in <filename>xine-engine/buffer.h</filename>.
@@ -410,7 +410,7 @@
To help finding out buffer types for known codecs, functions from <filename>buffer_types.c</filename>
may be used to convert "FOURCC" codes or audio format tags (as used in AVI files) to the xine
byffer type:
- <programlisting>&nbsp;&nbsp;&nbsp;buf->type = fourcc_to_buf_video((void*)this->avi->bih.biCompression);</programlisting>
+ <programlisting>&nbsp;&nbsp;&nbsp;buf-&gt;type = fourcc_to_buf_video((void*)this-&gt;avi-&gt;bih.biCompression);</programlisting>
</para>
</sect2>
</sect1>
@@ -620,7 +620,7 @@
video, subtitles do not form a continuous stream. The decoder will therefore
only be called once in a while. The metronom call for timestamping,
which for audio and video is done by the engine, has to be done manually for SPU:
- <programlisting>&nbsp;&nbsp;&nbsp;vpts = metronom->got_spu_packet(metronom, buf->pts);</programlisting>
+ <programlisting>&nbsp;&nbsp;&nbsp;vpts = metronom-&gt;got_spu_packet(metronom, buf-&gt;pts);</programlisting>
</para>
<para>
Another difference is that while both audio and video decoders are automatically