Chapter 13. Wine and Multimedia

This file contains information about the implementation of the multimedia layer of Wine.

The implementation can be mainly found in a number of directories:

  • dlls/mmdevapi, dlls/dsound and dlls/winmm for the main sound APIs.

  • dlls/msacm32 (for the audio compression/decompression manager)

  • dlls/msvfw32 (for the video compression/decompression manager).

13.1. Overview

  • the high level abstraction layer: mmdevapi, dsound and winmm DLLs.

  • the mid level layer: handles MCI commands, providing coarser grain operations (like playing a MIDI file, or playing a video stream).

  • the low level layer: device drivers, currently implemented in winealsa.drv, winecoreaudio.drv, and wineoss.drv DLLs. It also has some helper DLLs (like msacm32 and msvfw32), which can make use of external DLLs like mciavi32 or application-provided DLLs.

The low level layer may depend on current hardware and OS services (like OSS on Unix). It provides the core of playback/record using fine grain objects (audio/midi streams...).

The dsound and winmm legacy APIs are implemented on top of mmdevapi, the new Windows audio system introduced with Windows Vista (Multimedia Device API).