[ Previous | Next | Contents | Glossary | Home | Search ]
Ultimedia Services Version 2 for AIX: Programmer's Guide and Reference

Ultimedia Services Objects Library

Ultimedia Services uses System Object Model (SOM) technology and provides a multimedia programming interface as a class library of objects. The set of objects provides abstraction levels for applications, ranging from Player/Recorder objects to low-level device interface objects.

The Ultimedia Services library includes:

For introductory information, see Ultimedia Services Overview.

Media Handler Objects

Media Handler objects include the UMSAudioPlayer, UMSMoviePlayer, and UMSImagePlayer. These objects provide a high-level interface to allow application software to play and record audio files through an available audio device or to play and record movie files with synchronous audio to an AIX window and an available audio device and to view image files. These objects present methods, such as load, play, scan, and record, that provide a high-level interface similar in function to controls on familiar audio and video entertainment equipment.

The objects are implemented with multiple execution threads, providing an asynchronous interface that relieves the application of the complexities of managing synchronization and real time device control. These objects employ parent class implementations of other objects such as UMSAudioDevice, UMSAudioFile, UMSMovieFileReader, and UMSVideoDecoder. This allows the function of the media handler objects to be extended to new devices, new file formats, and new compression algorithms when new implementations of these base classes are available. The extensions are inherited automatically when the new objects are added to the configuration file.

File Access Objects

File access objects include UMSRiffReadWrite, UMSAVIReadWrite, and UMSAVSReadWrite. These objects provide the capability to read, write, and navigate the RIFF, AVI, and AVSS file formats, respectively, using methods appropriate for the file-type data organization. This provides applications easy access to the headers and data structures of these file types.

Also included are UMSAudioFile, UMSMovieFileReader, and UMSImageReader. These are the parent classes used by the UMSAudioPlayer, UMSMoviePlayer and UMSImagePlayer, respectively, for media file access. Specific implementations of the UMSAudioFile class include UMSWavFile, UMSSndFile, and UMSRawFile. A specific implementation of UMSMovieFileReader includes UMSAVIMovieFileReader. Specific implementations of UMSImageReader are UMSJPEGImageReader, UMSPCDOImageReader, and UMSPCDIPImageReader which support reading JPEG Photo CD overview and Image Pack files. These objects are useful to applications similarly desiring to abstract their access to media files.

UMSFiletypeDetector is also provided. This object employs the UMSConfig object and detection modules to identify the type of a given file.

Video Codec Objects

Video codec objects include video encoders and decoders provided for various compression types, including Ultimotion Matinee, RTV 2.0, MJPEG, and Indeo 2.1. The decoders are implementations of the UMSVideoDecoder base class and include UMSUMVideoDecoder UMSRTV2VideoDecoder, UMSJPEGVideoDecoder, and UMSIndeoVideoDecoder. The encoders do not share a common base class but are provided as UMSUMEncoder, UMSRTV2Encoder, UMSJPEGEncoder, and UMSIndeoEncoder.

Configuration Objects

The UMSConfig configuration object provides methods to access data from the Ultimedia Services configuration file (UMS_config). The UMSConfig configuration object is used extensively by MetaClass objects that access the configuration file data during object construction. The configuration file contains information on object availability and capabilities. For example, applications can access this information to determine which inputs are available on a specific audio device class or which video formats are valid within a specific movie file class.

Audio Filter Objects

Audio Filter objects include specific implementations of the UMSFilter parent class which defines an interface appropriate for audio data filters. Implementations are provided to convert to and from various data formats and to perform audio filter functions.

Audio Device Objects

Audio Device objects include specific implementations of the UMSAudioDevice class.

MetaClass Objects

MetaClass objects include UMSAudioDeviceMClass, UMSMovieFileReaderMClass, UMSAudioFileMClass, UMSVideoDecoderMClass, UMSFileReadWriteMClass, UMSImageReaderMClass, UMSImageWindowMClass, and UMSSImagePlayerMClass which provide methods to construct specific implementations of child objects. For example, UMSAudioFileMClass provides the method make_by_pathname which takes as input the pathname of a file, determines the file type, and constructs the appropriate implementation of UMSAudioFile. In general, MetaClasses frequently use the UMSConfig and UMSFiletypeDetector objects.

Audio Mix Object

The UMSMix object is a parent class that defines methods for audio mix objects. (Mix objects are similar to filter objects.) The UMSMix object enables setting and getting of audio parameters. Mix objects accept two streams of digital audio data as input and outputs a stream of mixed audio data.

Video Capture and VideoIO Objects

UMSVideoIO and UMSCapture enable the Ultimedia Video I/O Adapter. UMSVideoIO provides a low level device interface that can be used by applications. UMSCapture provides video capture capability with an interface similar to the Media Handler objects (similar to UMSMoviePlayer or UMSAudioPlayer).

For introductory information, see Ultimedia Services Overview.


[ Previous | Next | Contents | Glossary | Home | Search ]