## MMPM/2 Device Driver Reference

[prev][next][parent][TOC]

### Audio Sample for Vendor-Specific Drivers

OS/2 Warp, Version 3 provides sample files that assist in the creation of vendor-specific drivers (VSDs). The VSD defines a generic device driver- like interface that effectively decomposes high-level media control interface functions into more fundamental operations at the DLL level.

Note: VSD functionality is available for OS/2 Warp, Version 3 and is not downward compatible.

The following figure illustrates the program flow from the Media Device Manager (MDM) through the VSD and finally on to the audio adapter.

     [Artwork not shown]

1 Media Control Interface functions are passed from the Media Device Manager to the vendor-specific driver using VSD commands.

2 The VSD passes information to its device driver. This provides a Ring-3 interface to control audio devices. The VSD sample provided with the DDK should be adequate to cover all basic audio functions. If your audio adapter requires special processing, you might have to supplement the sample VSD. To install the VSD, update the VSDDriver= option in the generic install routines (or CARDINFO.RC).

3 The device driver controls the audio adapter.

4 After the audio adapter is initialized, the MDM passes control to the Audio Stream Handler through the SPI interface.

In order to play or record audio data, the audio stream handler sends VSD_ DDCMD messages to the VSD.

5 The SPI interface sends/receives audio data from the audio stream handler .

6 The Audio Stream Handler controls audio data passed to and from the VSD.

7 The VSD reports stream events (such as buffer completion) via the SHC_ REPORT_INT message.