2002-03-31 15:28:51 +00:00
|
|
|
<chapter id="cha-scheduler">
|
|
|
|
<title>Understanding schedulers</title>
|
|
|
|
<para>
|
2002-05-08 20:06:20 +00:00
|
|
|
The scheduler is responsible for managing the plugins at runtime. The
|
|
|
|
main responsabilities are:
|
|
|
|
<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>
|
|
|
|
The scheduler is a plugable component, this means that alternative 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.
|
|
|
|
</para>
|
|
|
|
<para>
|
|
|
|
There is usually no need to interact with the scheduler directly, however it some
|
|
|
|
cases it is feasable to set a specific clock or force a specific plugin as the
|
|
|
|
entry point in the pipeline.
|
2002-03-31 15:28:51 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
</chapter>
|