mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 23:06:49 +00:00
design: gstpipeline: fix missing markup
Fix a few other minor issues too.
This commit is contained in:
parent
bb1170ee76
commit
df3b67ab9d
1 changed files with 16 additions and 16 deletions
|
@ -5,7 +5,7 @@ with a clock.
|
||||||
|
|
||||||
A `GstPipeline` also provides a toplevel `GstBus` (see [gstbus](design/gstbus.md))
|
A `GstPipeline` also provides a toplevel `GstBus` (see [gstbus](design/gstbus.md))
|
||||||
|
|
||||||
The pipeline also calculates the running\_time based on the selected
|
The pipeline also calculates the `running_time` based on the selected
|
||||||
clock (see also clocks.txt and [synchronisation](design/synchronisation.md)).
|
clock (see also clocks.txt and [synchronisation](design/synchronisation.md)).
|
||||||
|
|
||||||
The pipeline will calculate a global latency for the elements in the
|
The pipeline will calculate a global latency for the elements in the
|
||||||
|
@ -17,31 +17,31 @@ In addition to the normal state change procedure of its parent class
|
||||||
`GstBin`, the pipeline performs the following actions during a state
|
`GstBin`, the pipeline performs the following actions during a state
|
||||||
change:
|
change:
|
||||||
|
|
||||||
- NULL → READY:
|
- `NULL` → `READY`:
|
||||||
- set the bus to non-flushing
|
- set the bus to non-flushing
|
||||||
- READY → PAUSED:
|
- `READY` → `PAUSED`:
|
||||||
- reset the running_time to 0
|
- reset the `running_time` to 0
|
||||||
- PAUSED → PLAYING:
|
- `PAUSED` → `PLAYING`:
|
||||||
- Select and a clock.
|
- Select a clock.
|
||||||
- calculate base_time using the running_time.
|
- calculate `base_time` using the `running_time`.
|
||||||
- calculate and distribute latency.
|
- calculate and distribute latency.
|
||||||
- set clock and base_time on all elements before performing the state
|
- set clock and `base_time` on all elements before performing the state
|
||||||
change.
|
change.
|
||||||
- PLAYING → PAUSED:
|
- `PLAYING` → `PAUSED`:
|
||||||
- calculate the running_time when the pipeline was PAUSED.
|
- calculate the `running_time` when the pipeline was `PAUSED`.
|
||||||
- READY → NULL:
|
- `READY` → `NULL`:
|
||||||
- set the bus to flushing (when auto-flushing is enabled)
|
- set the bus to flushing (when auto-flushing is enabled)
|
||||||
|
|
||||||
The running_time represents the total elapsed time, measured in clock
|
The `running_time` represents the total elapsed time, measured in clock
|
||||||
units, that the pipeline spent in the PLAYING state (see
|
units, that the pipeline spent in the PLAYING state (see
|
||||||
[synchronisation](design/synchronisation.md)). The running_time is set to 0 after a
|
[synchronisation](design/synchronisation.md)). The `running_time` is set to 0 after a
|
||||||
flushing seek.
|
flushing seek.
|
||||||
|
|
||||||
## Clock selection
|
## Clock selection
|
||||||
|
|
||||||
Since all of the children of a `GstPipeline` must use the same clock, the
|
Since all of the children of a `GstPipeline` must use the same clock, the
|
||||||
pipeline must select one. This clock selection happens when the
|
pipeline must select one. This clock selection happens when the
|
||||||
pipeline goes to the PLAYING state.
|
pipeline goes to the `PLAYING` state.
|
||||||
|
|
||||||
The default clock selection algorithm works as follows:
|
The default clock selection algorithm works as follows:
|
||||||
|
|
||||||
|
@ -50,14 +50,14 @@ The default clock selection algorithm works as follows:
|
||||||
- Use the clock of the most upstream element that can provide one.
|
- Use the clock of the most upstream element that can provide one.
|
||||||
This selection is performed by iterating the element starting from
|
This selection is performed by iterating the element starting from
|
||||||
the sinks going upstream.
|
the sinks going upstream.
|
||||||
- since this selection procedure happens in the PAUSED→PLAYING
|
- since this selection procedure happens in the `PAUSED` → `PLAYING`
|
||||||
state change, all the sinks are prerolled and we can thus be
|
state change, all the sinks are prerolled and we can thus be
|
||||||
sure that each sink is linked to some upstream element.
|
sure that each sink is linked to some upstream element.
|
||||||
- in the case of a live pipeline (`NO_PREROLL`), the sink will not
|
- in the case of a live pipeline (`NO_PREROLL`), the sink will not
|
||||||
yet be prerolled and the selection process will select the clock
|
yet be prerolled and the selection process will select the clock
|
||||||
of a more upstream element.
|
of a more upstream element.
|
||||||
|
|
||||||
- use `GstSystemClock`, this only happens when no element provides a
|
- Use `GstSystemClock`, this only happens when no element provides a
|
||||||
usable clock.
|
usable clock.
|
||||||
|
|
||||||
The application can influence this clock selection with two methods:
|
The application can influence this clock selection with two methods:
|
||||||
|
|
Loading…
Reference in a new issue