The waveform audio device will create new waveforms according to the RIFF WAVE data standard. It is possible, however to play other data formats using OS/2 multimedia if the appropriate MMIO procedure has been supplied. The selection of the appropriate I/O procedure (IOProc) is transparent to the application if the IOProc has been installed.
One example of this feature is OS/2 multimedia's ability to play waveform audio files that were created using IBM's AVC application and the M-Audio card. Note that the AVC support provides playback capabilities only. The waveform audio device will temporarily report FALSE to the save and record capabilities of the device capabilities (MCI_GETDEVCAPS) function when the underlying I/O procedure does not support the creation of files. Applications should check the device capabilities to appropriately display a user interface that reflects the true capabilities of the waveaudio driver and its associated I/O procedure.
For example, a waveform editor application should grey out its record button when an AVC file is loaded, as only playback operations are supported. Querying the device capabilities would return FALSE for can record. If a waveform file in the RIFF WAVE format is subsequently loaded, the record button should be enabled, because the same can record query will now return TRUE. In all instances, by using the high-level OS/2 multimedia mciSendString or mciSendCommand interface to reference device capabilities, the application is shielded from the underlying implementation.