DAVE: a plug-and-play model for distributed multimedia application development

We created the Distributed Audio Video Environment for developing applications. DAVE is unique in that it provides a distributed plug-and-play application programming interface, is object-oriented, offers device and media extensibility, uses traditional Unix network facilities for transmission, and employs existing audio and video hardware commonly found on many workstations. To demonstrate DAVE's usefulness, we used it to develop two multimedia applications applicable to collaborative engineering: desktop videoconferencing and video broadcasting/receiving. DAVE's object-oriented techniques provide a high level of abstraction for devices. Application developers can treat media devices (such as cameras and microphones) as distributed resources, much as workstations treat graphics and windows. This flexibility and accessibility lets developers easily integrate multimedia into existing distributed environments. Through inheritance and data independence, developers can define additional devices and media types and integrate them into the environment. This plug-and-play approach provides easy access for application developers who want to avoid learning the details of media devices or who want to dynamically change their applications at runtime. >