GeeXboX libplayer
A multimedia A/V abstraction layer API.


top Introduction

libplayer is a multimedia A/V abstraction layer API. Its goal is to interact with Enna Media Center.

libplayer provides a generic A/V API that relies on various multimedia player for Linux systems. It currently supports MPlayer, xine VLC and GStreamer only.

Its main goal is to provide an unique API that player frontends can use to control any kind of multimedia player underneath. For example, it provides a library to easily control MPlayer famous slave-mode.

libplayer is free software - it is licensed under the terms of the GNU Lesser General Public License (GNU/LGPL) version 2.1+.

top Latest News

libplayer is work in progress right now. If you're interested in its development, you're highly welcomed to join in.

Current stable release is 2.0.1, featuring with the following changes :

Changes in 2.0.0 :

Currently supported multimedia players :

Previous stable release

Changes in 1.0.0 :

libplayer is copyright (C) 2006-2010 Benjamin Zores, Mathieu Schroeter.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; If not, see <>.

top Documentation

More documentation will be provided in some time.
You can find the public API documentation HTML / PDF automatically generated from the libplayer source code, using Doxygen.

top Download

The currently available libplayer release is 2.0.1.
Sources can be downloaded here.

Development Tree

The latest libplayer development tree can be grabbed using Mercurial, a revision control system, similar in purpose to tools such as CVS, SCCS, SVN and Arch. It is used to keep track of the changes made to a source tree and to help programmers combine and otherwise manipulate changes made by multiple people or at different times.

There are currently 2 ways of accessing the Mercurial tree : via command-line or (to just have a look to some changes on a specific file, for example) You can directly access to the web interface with your browser from :

libplayer Mercurial

In order to access to Mercurial via command line, create and enter a new directory and do the following (be sure that you have installed the mercurial package).


The authors of libplayer and this document, can be contacted by e-mail.

Please send bug reports, suggestions, ideas, comments or patches to the GeeXboX devel mailing list :