Ogle -> Xine

libdvdread and libdvdnav started with the Ogle DVD player, in 1999.

Ogle split libdvdread from their player and released versions 0.8.0, 0.9.0, and 0.9.1 in 2001 and early 2002.

The code from Ogle was also imported and forked into the Xine project to create a xine plugin, named xine_dvdnav.

The code from Xine was split into a new library: libdvdnav, in March 2002. The CVS repository was hosted in a Sourceforge project and had an actual 1.0.0 release in May 2002. The project was quite active until October 2002, and then again in March-May 2003.

In April 2003, libdvdread was merged into libdvdnav, to simplify the integration for playback applications.

It then had regular updates, until June 2004, and then a few commits that arrived in 2005, then nothing.

In 2005, a project to create libdvdnav2 was created, but never took off...

MPlayer days

In April 2007, the MPlayer folks took over the project and forked it on the MPlayer infrastructure. They moved to C99, merged many MPlayer patches, cleaned up a bit the API and rewrote a buildsytem (sic!), and merged the OS X support.

The version numbers were upgraded to 4.1.1 from libdvdnav 0.1.10 and libdvdread 0.9.7.

In November 2007, the new maintainers started to split again libdvdread from libdvdnav, in 2 different libraries. The actual splitting work was done from April to August 2008.

After December 2008, the project was almost dead again.

At the end of 2009, but mostly in 2010, a bit of work was done by yours truly and the Handbrake guys, and, by almost by surprise, at the end of 2011 a release was done.


Then most of the work happened on the fork from Erik Hovland on Github.

At FOSDEM 2013, after a long discussion with VideoLAN developers, we decided to retake the repositories on VideoLAN infrastructure.

We simplified the buildsystem, thanks to Flameeyes and merged our VLC patches.

I spend then a long time merging the code from Erik and a few other forks, and in early 2014, rewrite the complete CVS/SVN history in order to account correctly to authors and move to Git:

Features and releases


One of the major problems we had with DVDs, was the introduction of the ARccOS protection system, in 2007, that started to be widespread in 2008.

Similar protections were added to DVDs to block libdvdread based players, notably DVDs with bogus titles, bogus chapters or with out-of-order valid titles.

Many of those protections (and some more) were crashing VLC, and are now fixed.

We also fixed and updated the support for various OSes, including Android, QNX and OS/2, cleaned the buildsystem and merged patches from downstream.

Those releases should not break the API, nor the ABI.


As I am now the maintainer of libdvdread, libdvdnav, and libdvdcss, I am happy to announce the new releases.

You can now find:

on the VideoLAN servers.