GeeXboX libdlna
Reference DLNA open-source implementation for Linux

Enjoy your music, photos and videos, anywhere anytime ...

top Introduction

libdlna aims at being the reference open-source implementation of DLNA (Digital Living Network Alliance) standards. Its primary goal is to provide DLNA support to uShare, an embedded DLNA & UPnP A/V Media Server, but it will be used to build both DLNA servers and players in the long term.

libdlna is written in C and relies on FFMPEG librairies (libavformat and libavcodec) to handle and demux A/V streams. You still need libupnp to provide basic UPnP support to your project.

libdlna is based on official DLNA specifications and aims at providing a complete respect of the defined standards. Right now, libdlna can be used to build compliant DLNA Media Servers.

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

top Latest News

By lack of spare time, motivation and interest, libldna development is currently discontinued (this may change though). Don't expect release anytime soon :-(

Changes in 0.2.4: Changes in 0.2.3: Changes in 0.2.2: Changes in 0.2.1: Changes in 0.2.0: Changes in 0.1.4:
libdlna is copyright (C) 2007-2008 Benjamin Zores.

This program 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 of the License, or (at your option) any later version.

This program 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 program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

top Download

The currently available libdlna release is 0.2.4.
Sources can be downloaded here.

Development Tree
The latest libdlna development tree can be grabbed using Mercurial, a revision control system, similar in purpose to tools such as CVS, SCCS, and Subversion. 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 web interface (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:

libdlna 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).

top Supported Devices

Currently supported DLNA profiles: libdlna has been tested successfully with the following devices:

top Development Roadmap

libdlna is work in progress right now. If you're interested in its development, you're highly welcomed to join in.
Development roadmap focuses on the following:

top Projects using libdlna

If you're running a project featuring libdlna, don't hesitate to notify about it. Below is a list of applications based on libdlna:

top Sponsors and Donations

Many people have indirectly contributed to libdlna by sponsoring its development or by having donated DLNA certified hardware to test it with.
My eternal thanks go to these people who done so much for this project:

top DLNA Mailing List

If you're interested in OpenSource DLNA related programs, applications, libraries (and development as a whole), you may want to join the DLNA-Dev mailing List. This list however is not meant to support libdlna development.

top Feedback

The author of libdlna and this document, Benjamin Zores, can be contacted by e-mail.

Please send bug reports, suggestions, ideas, comments or patches to :