1 <chapter id="cha-scheduler">
2 <title>Understanding schedulers</title>
4 The scheduler is responsible for managing the plugins at runtime. Its
5 main responsibilities are:
9 Preparing the plugins so they can be scheduled.
14 Monitoring state changes and enabling/disabling the element in the
20 Choosing an element as the entry point for the pipeline.
25 Selecting and distributing the global clock.
31 The scheduler is a plugable component; this means that alternative
32 schedulers can be written and plugged into GStreamer. The default scheduler
33 uses cothreads to schedule the plugins in a pipeline. Cothreads are fast
34 and lightweight user-space threads.
37 There is usually no need to interact with the scheduler directly, however
38 in some cases it is feasible to set a specific clock or force a specific
39 plugin as the entry point in the pipeline.