Synchronization plays an important role in multimedia systems at
various levels of abstraction. In this paper, we propose a set of
powerful abstractions for controlling and synchronizing continuous
media streams in distributed environments. The proposed abstractions
are based on a very general computation model, which allows media
streams to be processed (i.e. produced, consumed or transformed) by
arbitrarily structured networks of linked components. Further,
compound components can be composed of existing ones to provide
higher levels of abstractions. The clock abstraction is provided to
control individual media streams, i.e. streams can be started,
paused or scaled by issuing the appropriate clock operations. Clock
hierarchies are used to hierarchically group related streams, where
each clock in the hierarchy identifies and controls a certain
(sub)group of streams. Control and synchronization requirements can
be expressed in a uniform manner by associating group members with
control or sync attributes. An important property of the concept of
clock hierarchies is that it can be combined in a natural way with
component nesting