2002-03-31 15:28:51 +00:00
|
|
|
<chapter id="cha-scheduler">
|
|
|
|
<title>Understanding schedulers</title>
|
|
|
|
<para>
|
2002-09-14 14:13:34 +00:00
|
|
|
The scheduler is responsible for managing the plugins at runtime. Its
|
|
|
|
main responsibilities are:
|
2002-05-08 20:06:20 +00:00
|
|
|
<itemizedlist>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Preparing the plugins so they can be scheduled.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Monitoring state changes and enabling/disabling the element in the
|
|
|
|
chain.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Choosing an element as the entry point for the pipeline.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
<listitem>
|
|
|
|
<para>
|
|
|
|
Selecting and distributing the global clock.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
<para>
|
2003-10-09 12:42:49 +00:00
|
|
|
The scheduler is a pluggable component; this means that alternative
|
2002-09-08 21:17:16 +00:00
|
|
|
schedulers can be written and plugged into GStreamer. The default scheduler
|
|
|
|
uses cothreads to schedule the plugins in a pipeline. Cothreads are fast
|
|
|
|
and lightweight user-space threads.
|
2002-05-08 20:06:20 +00:00
|
|
|
</para>
|
|
|
|
<para>
|
2002-09-08 21:17:16 +00:00
|
|
|
There is usually no need to interact with the scheduler directly, however
|
2002-09-14 14:13:34 +00:00
|
|
|
in some cases it is feasible to set a specific clock or force a specific
|
2002-09-08 21:17:16 +00:00
|
|
|
plugin as the entry point in the pipeline.
|
2002-03-31 15:28:51 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
</chapter>
|