Wim Taymans | 213703e | 2002-03-31 15:28:51 +0000 | [diff] [blame] | 1 | <chapter id="cha-scheduler"> |
| 2 | <title>Understanding schedulers</title> |
| 3 | <para> |
Thomas Vander Stichele | ef63411 | 2002-09-14 14:13:34 +0000 | [diff] [blame] | 4 | The scheduler is responsible for managing the plugins at runtime. Its |
| 5 | main responsibilities are: |
Wim Taymans | 4992f1c | 2002-05-08 20:06:20 +0000 | [diff] [blame] | 6 | <itemizedlist> |
| 7 | <listitem> |
| 8 | <para> |
| 9 | Preparing the plugins so they can be scheduled. |
| 10 | </para> |
| 11 | </listitem> |
| 12 | <listitem> |
| 13 | <para> |
| 14 | Monitoring state changes and enabling/disabling the element in the |
| 15 | chain. |
| 16 | </para> |
| 17 | </listitem> |
| 18 | <listitem> |
| 19 | <para> |
| 20 | Choosing an element as the entry point for the pipeline. |
| 21 | </para> |
| 22 | </listitem> |
| 23 | <listitem> |
| 24 | <para> |
| 25 | Selecting and distributing the global clock. |
| 26 | </para> |
| 27 | </listitem> |
| 28 | </itemizedlist> |
| 29 | </para> |
| 30 | <para> |
Thomas Vander Stichele | 3b76597 | 2003-10-09 12:42:49 +0000 | [diff] [blame] | 31 | The scheduler is a pluggable component; this means that alternative |
Thomas Vander Stichele | 9f8ab3e | 2002-09-08 21:17:16 +0000 | [diff] [blame] | 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. |
Wim Taymans | 4992f1c | 2002-05-08 20:06:20 +0000 | [diff] [blame] | 35 | </para> |
| 36 | <para> |
Thomas Vander Stichele | 9f8ab3e | 2002-09-08 21:17:16 +0000 | [diff] [blame] | 37 | There is usually no need to interact with the scheduler directly, however |
Thomas Vander Stichele | ef63411 | 2002-09-14 14:13:34 +0000 | [diff] [blame] | 38 | in some cases it is feasible to set a specific clock or force a specific |
Thomas Vander Stichele | 9f8ab3e | 2002-09-08 21:17:16 +0000 | [diff] [blame] | 39 | plugin as the entry point in the pipeline. |
Wim Taymans | 213703e | 2002-03-31 15:28:51 +0000 | [diff] [blame] | 40 | </para> |
| 41 | |
| 42 | </chapter> |