<para>
The input thread spawns the appropriate decoder modules from <filename>
-src/input/input_dec.c</filename>. The <function>Dec_CreateThread</funcion>
+src/input/input_dec.c</filename>. The <function>Dec_CreateThread</function>
function selects the more accurate decoder module. Each decoder module
looks at decoder_config.i_type and returns a score [ see the modules
-section ]. It then launches <function> module.pf_RunThread()</function>,
-with an <type>decoder_config_t</type> (audio) or an <type> vdec_config_t
-</type>, described in <filename> include/input_ext-dec.h</filename>.
+section ]. It then launches <function> module.pf_run()</function>,
+with a <type>decoder_config_t</type>, described in <filename>
+include/input_ext-dec.h</filename>.
</para>
<para>
<mediaobject>
<imageobject>
- <imagedata fileref="ps.eps" format="EPS" scalefit="1" scale="95" />
+ <imagedata fileref="ps.png" format="PNG" scalefit="1" scale="95" />
</imageobject>
<imageobject>
<imagedata fileref="ps.gif" format="GIF" />
<mediaobject>
<imageobject>
- <imagedata fileref="ts.eps" format="EPS" scalefit="1" scale="95" />
+ <imagedata fileref="ts.png" format="PNG" scalefit="1" scale="95" />
</imageobject>
<imageobject>
<imagedata fileref="ts.gif" format="GIF" />
<para>
VLC already features an MPEG layer 1 and 2 audio decoder, an MPEG MP@ML
video decoder, an AC3 decoder (borrowed from LiViD), a DVD SPU decoder,
-and an LPCM decoder [not functional yet]. You can write your own
-decoder, just mimic the video parser.
+and an LPCM decoder. You can write your own decoder, just mimic the
+video parser.
</para>
<note> <title> Limitations in the current design </title>
<para>
-Currently, decoders are not "plug-ins", that is they are not dynamically
-loadable. The way the input chooses a decoder is also not final - it
-is hard-wired in <filename> src/input/input_programs.c</filename>.
+To add a new decoder, you'll still have to add the stream type as there's
+still a a hard-wired piece of code in <filename> src/input/input_programs.c
+</filename>.
</para> </note>
<para>
<sect1> <title> The MPEG video decoder </title>
<para>
-VideoLAN Client provides an MPEG-1, and an MPEG-2 Main Profile @
+VLC media player provides an MPEG-1, and an MPEG-2 Main Profile @
Main Level decoder. It has been natively written for VLC, and is quite
mature. Its status is a bit special, since it is splitted between two
logicial entities : video parser and video decoder.