Catching BD-R zero spare formatting with NOTE rather than SORRY
This commit is contained in:
@ -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 */
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
Reference in New Issue
Block a user