Designing distributed multimedia applications raises temporal and spatial synchronization issues related to processing, transport, storage, retrieval and presentation of data, sound, still images and video. Within this framework, the paper aims to define a general-purpose multimedia synchronization mechanism, known as the conditional delivery mechanism, capable of addressing both intraand inter-stream synchronization issues. The proposed mechanism, based on the identification of causal relations among information units of one or several streams, is designed to ensure that these causal relations, expressed at the user's level, are satisfied when delivering the streams. The conditional delivery mechanism is analyzed in depth and both informal and formal specifications of the mechanism are provided. The formal specification refers to an extension of the standard formal description technique LOTOS (RT-LOTOS for real-time LOTOS). Validation results of the conditional delivery mechanism are finally presented for a distance and interactive training application.