The GNU Compact Disc Input and Control library (libcdio) contains a library for CD-ROM and CD image access. Applications wishing to be oblivious of the OS- and device-dependent properties of a CD-ROM or of the specific details of various CD-image formats may benefit from using this library.
Some support for on-disk CD-image types like CDRWIN's BIN/CUE format, cdrdao's TOC format, and Nero's NRG format is available. Therefore, applications that use this library can also read on-disk CD images as though they were CDs.
A library for working with ISO-9660 filesystems (libiso9660) is included. A generic interface for issuing MMC (multimedia commands) is also part of the libcdio library.
The cdparanoia library and cdparanoia command are included making this the only single-source cdparanoia that works on FreeBSD, OpenBSD, NetBSD, MacOS, MSYS2, Cygwin as well as the various GNU/Linux distributions across all kins of CPUs. See libcdio's cd-paranoia repology.org page.
This list of projects using libcdio can be consulted for an idea of the range of applications using the library.
With the distribution is an OO interface via C++. (The C routines are also directly callable from C++). Other language bindings: