2005-05-06 08:25:19 +00:00
|
|
|
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.
|
|
|
|
|
2005-06-30 09:33:45 +00:00
|
|
|
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.
|
|
|
|
|
2005-07-15 13:44:19 +00:00
|
|
|
Events other than EOS do not complete the preroll stage.
|
2005-06-30 09:33:45 +00:00
|
|
|
|
|
|
|
|
2005-05-06 08:25:19 +00:00
|
|
|
|