gstreamer/docs/design/part-element-sink.txt
Wim Taymans 41b9a5264d docs/design/: Some more tweeks and additions to the docs.
Original commit message from CVS:
* docs/design/part-clocks.txt:
* docs/design/part-element-sink.txt:
* docs/design/part-events.txt:
* docs/design/part-preroll.txt:
* docs/design/part-states.txt:
Some more tweeks and additions to the docs.
2005-06-30 09:33:45 +00:00

31 lines
819 B
Text

Sink elements
-------------
Sink elements consume data. They normally have no source pads.
typical sink elements include:
- audio/video renderers
- network sinks
- filesinks
Sinks are harder to construct than other element types as they are
treated specially by the GStreamer core.
state changes
-------------
A sink always returns ASYNC from the state change to PAUSED, this
includes a state change from READY->PAUSED and PLAYING->PAUSED. The
reason for this is that this way we can detect when the first buffer
or event arrives in the sink when the state change completes.
A sink should block on the first event or buffer received in the
PAUSED state before commiting the state to PAUSED.
FLUSHING events have to be handled out of sync with the buffer flow
and take no part in the preroll procedure.