xine was started in 2000 by Günter Bartsch shortly after LinuxTag. At that time playing DVDs in Linux was described as a tortuous process since one had to manually create audio and video named pipes and start their separated decoder processes.
Günter realized the OMS (Open Media System) or LiViD approach had obvious shortcomings in terms of audio and video synchronization, so xine was born as an experiment trying to get it right. The project evolved into a modern media player multi-threaded architecture.
During xine development, some effort was dedicated to making a clear separation of the player engine (xine-lib) and front-end (xine-ui). Since the 1.0 release (2004-12-25) the API of xine-lib is considered stable and several applications and players rely on it.
Günter left the project in 2003 when he officially announced the new project leaders, Miguel Freitas, Michael Roitzsch, Mike Melanson and Thibaut Mattern.
To prevent a screensaver from starting, xine sends a scroll lock key signal to the environment to pretend keyboard interaction took place. This can often lead to issues with other programs running as they receive the scroll lock key as normal input. One example is the Konsole terminal emulator, which changes the behaviour of the arrow keys when scroll lock is used.
The shared library 'xine-lib' used and developed by xine is also used by other projects. For example, it can be used instead of GStreamer as a backend for the Phonon media framework used by KDE and Qt.