diff --git a/libburn/trunk/cdrskin/cdrskin.1 b/libburn/trunk/cdrskin/cdrskin.1 index 5b5d19f6..555f07ac 100644 --- a/libburn/trunk/cdrskin/cdrskin.1 +++ b/libburn/trunk/cdrskin/cdrskin.1 @@ -464,8 +464,9 @@ It might be necessary to format format_defectmgt_none first in order to get offered the most minmal spare blocks sizes for format_defectmgt_min. .TP format_defectmgt_none -Format DVD-RAM or BD to the largest available payload in the hope to disable +Format DVD-RAM or BD-RE to the largest available payload in the hope to disable defect management at all. This may or may not have a speed increasing effect. +Unformatted blank BD-R will be left unformatted. .TP format_defectmgt_payload_ Format DVD-RAM or BD. The text after "format_defectmgt_payload_" gives a diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index 6629c476..bf7103b0 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2008.12.11.072308" +#define Cdrskin_timestamP "2008.12.11.092204" diff --git a/libburn/trunk/libburn/async.c b/libburn/trunk/libburn/async.c index bb8babb8..abb03520 100644 --- a/libburn/trunk/libburn/async.c +++ b/libburn/trunk/libburn/async.c @@ -421,13 +421,21 @@ void burn_disc_format(struct burn_drive *drive, off_t size, int flag) ok = 0; if (!ok) { libdax_msgs_submit(libdax_messenger, - drive->global_index, 0x00020129, + drive->global_index, 0x00020162, LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH, "BD-R not unformatted blank any more. Cannot format.", 0, 0); drive->cancel = 1; return; } + if (flag & 32) { + libdax_msgs_submit(libdax_messenger, + drive->global_index, 0x00020163, + LIBDAX_MSGS_SEV_NOTE, LIBDAX_MSGS_PRIO_HIGH, + "Blank BD-R left unformatted for zero spare capacity.", + 0, 0); + return; + } } else if (drive->current_profile == 0x43) { ok = 1; /* BD-RE */ } diff --git a/libburn/trunk/libburn/libdax_msgs.h b/libburn/trunk/libburn/libdax_msgs.h index b89157ac..48a9ce38 100644 --- a/libburn/trunk/libburn/libdax_msgs.h +++ b/libburn/trunk/libburn/libdax_msgs.h @@ -534,7 +534,8 @@ Range "scdbackup" : 0x00020000 to 0x0002ffff 0x0002015f (MISHAP,HIGH) = Damaged CD table-of-content detected and truncated 0x00020160 (WARNING,HIGH) = Session without leadout encountered 0x00020161 (WARNING,HIGH) = Empty session deleted - 0x00020162 (SORRY, HIG) = BD-R not unformatted blank any more. Cannot format. + 0x00020162 (SORRY,HIGH) = BD-R not unformatted blank any more. Cannot format + 0x00020163 (NOTE,HIGH) = Blank BD-R left unformatted for zero spare capacity libdax_audioxtr: 0x00020200 (SORRY,HIGH) = Cannot open audio source file diff --git a/libburn/trunk/libburn/mmc.c b/libburn/trunk/libburn/mmc.c index a1d9abe0..4521ee34 100644 --- a/libburn/trunk/libburn/mmc.c +++ b/libburn/trunk/libburn/mmc.c @@ -3086,10 +3086,12 @@ no_suitable_formatting_type:; if (format_type != 0x00 && format_type != 0x32) continue; if (flag & 32) { /* No defect mgt */ - - /* >>> how to do this ? */ - - /* <<< */ + /* ts A81211 : MMC-5 6.5.4.2.17.1 + When formatted with Format Type 32h, + the BD-R disc is required to allocate + a non-zero number of spares. + */ + /* Zero-spare format impossible with BD-R */ goto no_suitable_formatting_type; } else if(size_mode == 2) { /* max payload size */