libburn 1.5.6
comments
Go to the documentation of this file.
1/**
2 @author Mario Danic, Thomas Schmitt
3
4 @mainpage Libburn Documentation Index
5
6 @section intro Introduction
7
8Libburnia is an open-source project for reading, mastering and writing
9optical discs. This page is about its capability to handle optical media.
10For now this means CD-R, CD-RW, DVD-RAM, DVD+RW, DVD+R, DVD+R/DL, DVD-RW,
11DVD-R, DVD-R/DL, BD-R, BD-RE.
12
13Our scope is currently Linux 2.4 and 2.6, FreeBSD, OpenSolaris, or NetBSD.
14For ports to other systems we would need : login on a development machine or
15an OS that is installable on an AMD 64-bit PC, advise from a system person
16about the equivalent of Linux sg or FreeBSD CAM, volunteers for testing of
17realistic use cases.
18
19libburn is the library by which preformatted data get onto optical media.
20Its code is independent of cdrecord. Its DVD capabilities are learned from
21studying the code of dvd+rw-tools and MMC-5 specs. No code but only the pure
22SCSI knowledge has been taken from dvd+rw-tools, though.
23
24cdrskin is a limited cdrecord compatibility wrapper for libburn.
25cdrecord is a powerful GPL'ed burn program included in Joerg Schilling's
26cdrtools. cdrskin strives to be a second source for the services traditionally
27provided by cdrecord. Additionally it provides libburn's DVD/BD capabilities,
28where only -sao is compatible with cdrecord.
29cdrskin does not contain any bytes copied from cdrecord's sources.
30Many bytes have been copied from the message output of cdrecord runs, though.
31See cdrskin/README for more.
32
33The burn API example of libburn is named test/libburner.c . The API for media
34information inquiry is demonstrated in test/telltoc.c .
35Explore these examples if you look for inspiration.
36
37SONAME:
38libburn.so.4 (since 0.3.4, March 2007),
39
40
41 @section using Using libburn
42
43Our build system is based on autotools.
44User experience tells us that you will need at least autotools version 1.7.
45
46To build libburn and its companion applications go into its toplevel directory
47and execute
48
49- ./bootstrap (needed if you downloaded from SVN)
50
51- ./configure
52
53- make
54
55To make the libraries accessible for running and developing applications
56
57- make install
58
59
60@section libburner Libburner
61
62libburner is a minimal demo application for the library libburn
63(see: libburn/libburn.h) as provided on http://libburnia-project.org .
64It can list the available devices, can burn to recordable CD, DVD, or BD,
65can blank a CD-RW or DVD-RW, and can format unformatted DVD-RW, BD-R, or BD-RE.
66
67It's main purpose, nevertheless, is to show you how to use libburn and also
68to serve the libburnia team as reference application. libburner does indeed
69define the standard way how above gestures can be implemented and stay upward
70compatible for a good while.
71
72 @subsection libburner-help Libburner --help
73<pre>
74Usage: test/libburner
75 [--drive address|driveno|"-"] [--audio]
76 [--blank_fast|--blank_full|--format] [--try_to_simulate]
77 [--multi] [one or more imagefiles|"-"]
78Examples
79A bus scan (needs rw-permissions to see a drive):
80 test/libburner --drive -
81Burn a file to drive chosen by number, leave appendable:
82 test/libburner --drive 0 --multi my_image_file
83Burn a file to drive chosen by persistent address, close:
84 test/libburner --drive /dev/hdc my_image_file
85Blank a used CD-RW (is combinable with burning in one run):
86 test/libburner --drive /dev/hdc --blank_fast
87Blank a used DVD-RW (is combinable with burning in one run):
88 test/libburner --drive /dev/hdc --blank_full
89Format a DVD-RW, BD-RE or BD-R:
90 test/libburner --drive /dev/hdc --format
91Burn two audio tracks (to CD only):
92 lame --decode -t /path/to/track1.mp3 track1.cd
93 test/dewav /path/to/track2.wav -o track2.cd
94 test/libburner --drive /dev/hdc --audio track1.cd track2.cd
95Burn a compressed afio archive on-the-fly:
96 ( cd my_directory ; find . -print | afio -oZ - ) | \
97 test/libburner --drive /dev/hdc -
98To be read from *not mounted* media via: afio -tvZ /dev/hdc
99</pre>
100libburner has two companions, telltoc and dewav, which help to perform some
101peripheral tasks of burning.
102
103telltoc prints a table of content (sessions, tracks and leadouts), it tells
104about type and state of media, and also is able to provide the necessary
105multi-session information for program mkisofs option -C. Especially helpful
106are its predictions with "Write multi" and "Write modes" where availability
107of "TAO" indicates that tracks of unpredicted length can be written.
108See: test/telltoc --help.
109
110dewav extracts raw byte-swapped audio data from files of format .wav (MS WAVE)
111or .au (SUN Audio). See example in libburner --help.
112
113 @subsection libburner-source Sourceode of libburner
114
115Click on blue names of functions, structures, variables, etc in oder to
116get to the according specs of libburn API or libburner sourcecode.
117
118@include libburner.c
119*/

Generated for libburn by  doxygen 1.12.0