Blame README

Packit 015a35
What is this all about?
Packit 015a35
-----------------------
Packit 015a35
Packit 015a35
libdvdnav is a library that allows easy use of sophisticated DVD navigation
Packit 015a35
features such as DVD menus, multiangle playback and even interactive DVD games.
Packit 015a35
All this functionality is provided through a simple API which provides the
Packit 015a35
DVD playback as a single logical stream of blocks, intermitted by special
Packit 015a35
dvdnav events to report certain conditions. The main usage of libdvdnav is a
Packit 015a35
loop regularly calling a function to get the next block, surrounded by
Packit 015a35
additional calls to tell the library of user interaction.
Packit 015a35
The whole DVD virtual machine and internal playback states are completely
Packit 015a35
encapsulated.
Packit 015a35
Packit 015a35
Where does it come from?
Packit 015a35
------------------------
Packit 015a35
Packit 015a35
This library is based on a lot of code and expertise from the Ogle project.
Packit 015a35
Ogle was the first DVD player who implemented free DVD navigation. The
Packit 015a35
libdvdnav developers wish to express their gratitude to the Ogle people
Packit 015a35
for all the valuable research work they have done.
Packit 015a35
Packit 015a35
Initially, the dvdnav code was part of a plugin to the xine media player
Packit 015a35
called xine-dvdnav. Later on, the DVD VM specific code was split
Packit 015a35
from xine-dvdnav and went into the first version of libdvdnav.
Packit 015a35
Packit 015a35
Where is it now?
Packit 015a35
----------------
Packit 015a35
Packit 015a35
libdvdnav is hosted on http://dvdnav.mplayerhq.hu/ .
Packit 015a35
Please report bugs to the developers mailinglist at
Packit 015a35
mailto:dvdnav-discuss@mplayerhq.hu .
Packit 015a35
Packit 015a35
We are still in beta stage, but libdvdnav is already quite usable. With
Packit 015a35
regular DVD playback, there should not be any serious issues. The library
Packit 015a35
also makes some limited effort to handle error situations gracefully, but
Packit 015a35
there are still assertions in the code that may trigger on some DVDs. Please
Packit 015a35
send a report to the developer mailinglist, if you encounter such problems.
Packit 015a35
Packit 015a35
How can I use it?
Packit 015a35
-----------------
Packit 015a35
Packit 015a35
libdvdnav is completely licensed under GPL. You may use it at wish within the
Packit 015a35
bounds of this license. See the file "COPYING" for a copy of the GPL.
Packit 015a35
Packit 015a35
Sources for documentation on libdvdnav are:
Packit 015a35
* the examples directory contains a simple program using libdvdnav
Packit 015a35
  this one is well-commented and therefore a good starting point
Packit 015a35
* the public header dvdnav.h documents the API
Packit 015a35
* the public header dvdnav_events.h documents the dvdnav events
Packit 015a35
* doc/library_layout contains some info on the internal working of libdvdnav
Packit 015a35
Packit 015a35
Sources for documentation on DVD terminology, structure and surrounding concepts:
Packit 015a35
* doc/dvd_structures briefly explains DVD terms and organization
Packit 015a35
* a more detailed description of DVD structures is available at
Packit 015a35
  http://www.mpucoder.com/dvd/
Packit 015a35
* the ifo_types.h and nav_types.h headers are also interesting if you
Packit 015a35
  are already used to the sometimes cryptical abbreviations