Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Tree [6865a9] /
History



File Date Author Commit
m4 2008-06-02 nicodvb nicodvb [ee1f59] fixed building with autoshit
misc 2008-06-07 nicodvb nicodvb [1861b2] let misc/Makefile.common (included by all other...
msvc 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...
src 2008-06-08 nicodvb nicodvb [6865a9] remove inclusion that depended on DVDNAV_COMPIL...
.relignore 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...
AUTHORS 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...
COPYING 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...
ChangeLog 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...
DEVELOPMENT-POLICY.txt 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...
INSTALL 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...
Makefile 2008-06-01 nicodvb nicodvb [e066b0] fix configure2 and Makefile to compile libdvdread
Makefile.am 2008-06-07 nicodvb nicodvb [1861b2] let misc/Makefile.common (included by all other...
NEWS 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...
README 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...
TODO 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...
autogen.sh 2008-06-06 nicodvb nicodvb [7b107f] simplified try_libtool_executable()
configure.ac 2008-06-05 nicodvb nicodvb [bc02d0] gettimeofday() doesn't exist in windows, but re...
configure2 2008-06-01 nicodvb nicodvb [e066b0] fix configure2 and Makefile to compile libdvdread
version.sh 2008-06-01 nicodvb nicodvb [da6324] first split of dvdread; it's just a copy of dvd...

Read Me

What is this all about?
-----------------------

libdvdnav is a library that allows easy use of sophisticated DVD navigation
features such as DVD menus, multiangle playback and even interactive DVD games.
All this functionality is provided through a simple API which provides the
DVD playback as a single logical stream of blocks, intermitted by special
dvdnav events to report certain conditions. The main usage of libdvdnav is a
loop regularly calling a function to get the next block, surrounded by
additional calls to tell the library of user interaction.
The whole DVD virtual machine and internal playback states are completely
encapsulated.

Where does it come from?
------------------------

This library is based on a lot of code and expertise from the Ogle project.
Ogle was the first DVD player who implemented free DVD navigation. The
libdvdnav developers wish to express their gratitude to the Ogle people
for all the valuable research work they have done.

Initially, the dvdnav code was part of a plugin to the xine media player
called xine-dvdnav. Later on, the DVD VM specific code was split
from xine-dvdnav and went into the first version of libdvdnav.

Where is it now?
----------------

libdvdnav is hosted on http://www.mplayerhq.hu/MPlayer/releases/dvdnav/ .
Please report bugs to the developers mailinglist at
mailto:dvdnav-discuss@mplayerhq.hu .

We are still in beta stage, but libdvdnav is already quite usable. With
regular DVD playback, there should not be any serious issues. The library
also makes some limited effort to handle error situations gracefully, but
there are still assertions in the code that may trigger on some DVDs. Please
send a report to the developer mailinglist, if you encounter such problems.

How can I use it?
-----------------

libdvdnav is completely licensed under GPL. You may use it at wish within the
bounds of this license. See the file "COPYING" for a copy of the GPL.

Sources for documentation on libdvdnav are:
* the examples directory contains a simple program using libdvdnav
  this one is well-commented and therefore a good starting point
* the public header dvdnav.h documents the API
* the public header dvdnav_events.h documents the dvdnav events
* doc/library_layout contains some info on the internal working of libdvdnav

Sources for documentation on DVD terminology, structure and surrounding concepts:
* doc/dvd_structures briefly explains DVD terms and organization
* a more detailed description of DVD structures is available at
  http://www.mpucoder.com/dvd/
* the ifo_types.h and nav_types.h headers are also interesting if you
  are already used to the sometimes cryptical abbreviations