libMirage library
About
libMirage is a CD-ROM image access library. It is written in C and based on GLib. It's aim is to provide uniform access to the data stored in various image formats.
Features
- Written in C, based on GLib and its technologies, such as GObject and GModule.
- Disc layout representation via GObject-based objects representing disc, session, track, language, index, etc.
- Support for both CD-ROM and DVD-ROM images
- CD-TEXT, ISRC, MCN and DVD-ROM disc structures support
- Capable of generating information not provided by image file; for instance, if image provides only user data, sync pattern, header, ECC/EDC codes and subchannel are generated on fly when they are attempted to be accessed.
-
Currently supported image formats:
- Alcohol 120% (MDS, MDX) image format
- BlindWrite 5/6 (B5T, B6T) image format
- CloneCD (CCD, SUB, IMG) image format
- CDRwin (CUE, BIN) image format
- Cdrdao's (TOC, BIN) image format
- DiscJuggler (CDI) image format
- Easy CD Creator (CIF) image format
- Easy Media Creator/WinOnCD (C2D) file format
- ISO-9660 (ISO) image format
- Nero Burning ROM (NRG) image format
- ReadCD (TOC, BIN) image format
- Universal Disk Format (UDF) image format
- XCDRoast (TOC, BIN) image format
-
Currently supported container formats:
- Apple disk (DMG, CDR) image format
- Compressed ISO (CSO) image format
- Error Code Modeller (ECM) container format
- GZip (GZ) container format
- gBurner (GBI) image format
- libSndFile supported formats (WAV, FLAC etc.)
- PowerISO (DAA) image format
- UltraISO's (ISZ) image format
- Xz (XZ) container format
- Plug-in based system that allows simple addition of new image format parsers or data-file access fragments.
- Debugging; verbosity of debug traces can be adjusted on fly using special debug context objects. Therefore, amount of traces can be adjusted without the need to restart the application.
- Various utility functions for converting address from/to LBA and MSF, interleaving and deinterleaving subchannel data, ECC/EDC generation, etc.
Requirements
- CMake >= 2.8.5
- GLib >= 2.28
- libsndfile >= 1.0.0
- libsamplerate >= 0.1.0
- zlib >= 1.2.0
- libbz2 >= 1.0.0
- liblzma >= 5.0.0
- gtk-doc >= 1.4 (optional; for documentation building)
- gobject-introspection >= 1.0 (optional; for GObject introspection bindings)