GNU Compact Disc Input and Control Library
# GNU Compact Disc Input and Control Library

Die GNU Compact Disc Input and Control Library (deutsch: „GNU-CD-Lese-und-Steuerungs-Bibliothek“, libcdio) ist eine Programmbibliothek, die den Zugriff auf CD-ROM-Laufwerke und CD-Abbilder plattformübergreifend abstrahiert. Sie wird unter der Leitung von Rocky Bernstein im Rahmen des GNU-Projektes entwickelt.

Sie bietet eine umfassende Unterstützung gebräuchlicher CD-Formate:

* Audio-CD („Red-Book“-Standard aus den Rainbow Books) – einschließlich CD-Text und CD+G –,
* „Daten“-CD-ROM („Yellow Book“) – inklusive Mode-1-, Mode-2- und ISO-9660-Formate (Level 1 bis 3, Joliet- und Rockridge-Erweiterungen) –,
* CD-i („Green Book“) und
* Video-CD („White Book“).

Durch die Einbindung von cdparanoia können Audio-CDs auch fehlerkorrigiert ausgelesen werden. Falls installiert, nutzt die Bibliothek auch libcddb, um automatisch Metadaten zu Audio-CDs aus Onlinedatenbanken über das Internet zu beziehen. An CD-Abbild-Dateiformaten werden ISO-9660-Dateien (.iso), CUE/BIN (von CDRWIN), NRG (Nero Burning ROM) und TOC/BIN (cdrdao) unterstützt.

Es gibt Sprachanbindungen für die Programmiersprachen C++, Perl, Python und Ruby (rbcdio und rb_cdio). Es wird eine Reihe von Dienstprogrammen mitgeliefert.

Die Bibliothek wird in der Programmiersprache C entwickelt. Sie wird als Freie Software auch im Quelltext unter den Bedingungen von Version 2 oder höher der GNU General Public License (GPL) verbreitet. Sie ist plattformunabhängig lauffähig. Sie ist bei allen populären Linux-Distributionen direkt aus den Standard-Paketquellen installierbar. Eine Reihe Freier Software zur Audiowiedergabe greift zur Wiedergabe von Audio-CDs auf libcdio zurück, unter anderen VLC, GStreamer, xine, XMMS2 und Audacious.

libcdio entstand als Teil von VCDImager, aus dem sie um das Jahr 2002 ausgelagert wurde. Die erste eigenständige Version war Nummer 0.1. Der Name „libcdio“ steht für englisch „library for Compact Disk Input and Output“. Obwohl kein Schreiben, also keine Ausgabe auf CDs unterstützt wird oder je werden soll, wurde dennoch das „O“ als Bestandteil des Namens verwendet, um Assoziationen mit der CD-i zu vermeiden.

Im Herbst 2006 wurde libcdio nach einer Lizenzanalyse durch die Sun-Rechtsabteilung aus der Solaris-Distribution entfernt und im Frühjahr 2007 ein entsprechender Hinweis auf der GNOME-Mailingliste verbreitet.

