Simple DirectMedia Layer (SDL) is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices.
SDL has the word "layer" in its title because it is actually a wrapper around operating-system-specific functions. The main purpose of SDL is to provide a common framework for accessing these functions. For further functionality beyond this goal, many libraries have been created to work on top of SDL.
Software developers use it to write computer games or other multimedia applications that can run on many operating systems including Android, AmigaOS, AmigaOS 4, FreeBSD, BeOS/Haiku, iOS, Linux, Mac OS 9, Mac OS X, MorphOS, OpenVMS, PlayStation Portable, Syllable, Symbian, webOS, and Windows. It manages video, events, digital audio, CD-ROM, sound, threads, shared object loading, networking and timers.
SDL itself is very simple; it merely acts as a thin, cross-platform wrapper, providing support for 2D pixel operations, sound, file access, event handling, timing, threading, and more. It is often used to complement OpenGL by setting up the graphical output and providing mouse and keyboard