The mid level drivers are represented by some common API
mciSendString. Wine implements several
MCI mid level drivers.
Table 13-1. Wine MCI drivers
|MCI Name||DLL Name||Role||Location||Comments|
|CdAudio||mcicda||MCI interface to a CD audio player||dlls/mcicda|| Relies on NTDLL CD-ROM raw interface
|WaveAudio||mciwave||MCI interface for wave playback and record||dlls/mciwave||It uses the low level audio API.|
|Sequencer||mciseq||Midi Sequencer (playback)||dlls/mciseq||It uses the low level midi APIs|
|AviVideo||mciavi32||AVI playback and record||dlls/mciavi32||It rather heavily relies on msvfw32 DLL to work.|
The MCI Name column is the name of the MCI driver, as it is searched in configuration. The DLL Name column is the name of the DLL the configuration provides as a value. The name listed here is the default one (see the configuration section for the details).
Adding a new MCI driver is just a matter of writing the corresponding DLL with the correct interface (see existing MCI drivers for the details), and to provide the relevant setup information for wine.inf.