This part of ISO/IEC 14478 defines a standard set of multimedia system services that can be used by multimedia application developers in a variety of computing environments. The focus is on enabling multimedia applications in a heterogeneous, distributed computing environment. Throughout this part of ISO/IEC 14478, this component will also be referred to as "Multimedia Systems Services", and abbreviated as MSS.
The Multimedia Systems Services constitutes a framework of "middleware" - system software components lying in the region between the generic operating system and specific applications. As middleware, the Multimedia Systems Services marshals lower-level system resources to the task of supporting multimedia processing, providing a set of common services which can be used by multimedia application developers.
The Multimedia Systems Services encompasses the following characteristics:
a) provision of an abstract type for a media processing node, extensible through subtyping to support abstractions of real media processing hardware or software;
b) provision of an abstract type for the data flow path or the connection between media processing nodes, encapsulating low-level connection and transport semantics;
c) grouping of multiple processing nodes and connections into a single unit for purposes of resource reservation and stream control;
d) provision or a media dataflow abstraction. with support for a variety of position, time and/or synchronization capabilities;
e) separation of the media format abstractions from the dataflow abstraction;
f) synchronous exceptions and asynchronous events;
g) application visible characterization of object capabilities;
h) registration of objects in a distributed environment by location and capabilities;
i) retrieval of objects in a distributed environment by location and constraints;
j) definition of a Media Stream Protocol to support media independent transport and synchronization.
The Multimedia Systems Services rely on the object model of ISO/IEC 14478-1 (Fundamentals of PREMO) and the object types and non-object data types defined in TSO/IEC 14478-2 (PREMO Foundation Component).