GeeXboX Valhalla
A tiny media scanner API.


top Introduction

libvalhalla is a library written in C. It is a media scanner, that stores various information in an SQLite database and relies on FFmpeg (libavformat and libavutil) and libcurl. It features many Internet grabbers that allows automatic download of covers, lyrics, informations on media files, tags retrival in video and music files and so on.

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

top Latest News

libvalhalla 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.1.0, featuring with the following changes :

Supported grabbers :

Previous stable release

Changes in 2.0.0 :

Changes in 1.0.1 :

Changes in 1.0.0 :

libvalhalla is copyright (C) 2009-2010 Mathieu Schroeter, Benjamin Zores.

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 libvalhalla source code, using Doxygen.

top Download

The currently available libvalhalla release is 2.1.0.
Sources can be downloaded here.

Development Tree

The latest libvalhalla 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 :

libvalhalla 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 author of libvalhalla and this document, Mathieu Schroeter, can be contacted by e-mail.

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