From 99769680f52a2eaadfaea6f5e865a28f5b78e270 Mon Sep 17 00:00:00 2001 From: Rich J Wareham Date: Sat, 9 Feb 2002 13:43:11 +0000 Subject: Small changes to the English in the introduction -- only tiny 'native-speaker' issues. CVS patchset: 1489 CVS date: 2002/02/09 13:43:11 --- doc/hackersguide/hackersguide.sgml | 52 ++++++++++++++++++++------------------ doc/hackersguide/intro.sgml | 19 +++++++++----- 2 files changed, 40 insertions(+), 31 deletions(-) diff --git a/doc/hackersguide/hackersguide.sgml b/doc/hackersguide/hackersguide.sgml index b0ae908e0..632e883d5 100644 --- a/doc/hackersguide/hackersguide.sgml +++ b/doc/hackersguide/hackersguide.sgml @@ -309,42 +309,52 @@ - xine engine from inside + The xine engine from the inside Plugin architecture - xine plugins are basically shared libraries that export one - public function init_*_plugin (exact function name depends on plugin type). - This function returns a pointer to freshly malloced - struct containing mainly - function pointers, the "methods" of the plugin. - If you think this is pretty much an object-oriented aproach, you're right. + xine plugins are built as shared libraries that export at least one + public function named init_type_plugin, where + type reflects the function of the plugin (video, + audio, etc). This function returns a pointer to freshly allocated (typically + via malloc()) structure containing mainly + function pointers; these are the "methods" of the plugin. + If you think this is pretty much an object-oriented aproach, + then you're right. + + + All plugins are installed in a special xine plugins directory + which can be found using the xine-config --plugindir + command. You'll find exact definitions of public functions and plugin structs - in the appropriate header files (e.g. demux/demux.h, input/input_plugin.h, - xine-engine/video_out.h,...). + in the appropriate header files for each plugin type + (e.g. demux/demux.h, input/input_plugin.h, + xine-engine/video_out.h, etc) within the xine source-code. - Most plugins will need some additional "private" data fields. - These should be simply added at the end of the plugin struct, - e.g. a demuxer plugin called "foo" with two private - fields "xine" and "count" - would have a plugin struct like + Many plugins will need some additional "private" data fields. + These should be simply added at the end of the plugin structure. + For example a demuxer plugin called "foo" with two private + fields "xine" and "count" may have a plugin structure declared in + the following way: typedef struct { /* public fields "inherited" from demux.h */ demux_plugin_t demux_plugin; - xine_t *xine; - int count; } demux_foo_t; + + The plugin would then access public fields via the + demux_plugin field and private fields directly. + @@ -464,17 +474,9 @@ struct demux_plugin_s Adding support for a new type of video output (e.g. framebuffer device) - - The xine plugin system makes it easy to create a new video - output target for xine. Video output plugins, like all - plugins are installed in a special xine plugins directory - which can be found using the - xine-config --plugindir - command. - In order to allow for device-dependant acceleration features, xine - calls on the video output plugin for more than just displaying + calls upon the video output plugin for more than just displaying images. The tasks performed by the video plugins are: diff --git a/doc/hackersguide/intro.sgml b/doc/hackersguide/intro.sgml index de9df59c2..b2bcfa909 100644 --- a/doc/hackersguide/intro.sgml +++ b/doc/hackersguide/intro.sgml @@ -1,9 +1,10 @@ Where am I ? -You are currently looking at a piece of documentation for xine. +You are currently looking at a piece of documentation for xine. xine is a free video player. It lives on -http://xine.sf.net. +http://xine.sf.net. Specifically +this document goes under the moniker of the 'xine Hackers' Guide'. @@ -13,12 +14,18 @@ xine is a free video player. It lives on This document should help xine hackers to find their way through xine's architecture and source code. It's a pretty free-form document containing a loose collection of articles describing various aspects -of xine's internals. +of xine's internals. It has been written by a number of people who work +on xine themselves and is intended to provide the important concepts and +methods used within xine. Readers should not consider this document to be +an exhausative description of the internals of xine. As with all projects +which provide access, the source-code should be considered the definative source +of information. -This document has no intention to and therefore will never be complete or -current in any way. +This document has no intention to be, and therefore never will be, complete or +current in any way. Instead it should be considered a read-map pointing the +casual hacker to the correct location in the xine source. @@ -45,4 +52,4 @@ All comments, error reports, additional information and criticism of all sorts should be directed to the xine developer mailing list xine-devel@lists.sourceforge.net. - \ No newline at end of file + -- cgit v1.2.3