Clock slaves get assigned a clock by their containing pipeline. Their task is to make sure that media playback follows the time progress as represented by this clock as closely as possible. For most elements, that will simply mean to wait until the buffer running-time is reached before playing back their current sample.
The buffer running-time is derived from the buffer timestamp and the
newsegment event preceeding the buffer. A buffer is played synchronized
with the clock when the clock's running-time has reached exactly the
buffer running-time; this can be done with the function
gst_clock_id_wait ()
.
For more information on how to write elements that conform to this required behaviour, see the Plugin Writer's Guide.