LinuX MultiMedia Project provides a generic, powerful API for all kinds of multimedia. It can be used by any application for graph and sound output (e.g., games), but the API is designed especially for audio/video playback and editing. It has a modular structure, so formats, codecs, and output devices can be added very easily. To make it modular, the project is based on plugins. It supports lots of formats, including AIFF, ASF, AU, AVI, CDDA, Tracker Formats, MPEG (audio) layer 1/2/3, JPEG pictures/lists, VOC, Ogg/Vorbis, and WAV.