A media manager provides data flow management and other services for client
applications on devices coupled together within a network. Preferably,
these devices are coupled together within an IEEE 1394-1995 serial bus
network. A device control module is generated for each available device
for providing an abstraction for all of the capabilities and requirements
of the device including the appropriate control protocol, physical
connections and connection capabilities for the device. The media manager
also manages the flow and format of data transfers between the devices on
the network. Through an interface, a user accesses the media manager and
enters functions which are to be completed using the devices coupled
together on the network. If the appropriate devices are available, the
media manager controls and manages the completion of the requested task.
If the appropriate devices are not available, but the required subdevices
are available in multiple devices, the media manager forms a virtual
device from subdevices in multiple devices in order to complete the
requested task. Once the appropriate devices and subdevices are assigned
to a task, the media manager determines if the data to be transmitted
needs to be converted from one format into another format. If necessary,
the media manager will also control the format conversion during the data
transfer operation. The media manager also provides network enumeration
and registry searching capabilities for client applications to find
available services, physical devices and virtual devices.