Allowed forceful blanking of blank media in burn_disc_erase()

This commit is contained in:
Thomas Schmitt 2007-02-17 08:56:41 +00:00
parent 6ccd359c93
commit c570e4868d
5 changed files with 29 additions and 14 deletions

View File

@ -279,6 +279,9 @@ complete "de-icing" so no reader slips on unwritten data areas.
deformat_sequential deformat_sequential
Like blank=all but with the additional ability to blank overwriteable DVD-RW. Like blank=all but with the additional ability to blank overwriteable DVD-RW.
This will destroy their formatting and make them sequentially recordable. This will destroy their formatting and make them sequentially recordable.
Another peculiarity is the ability to blank media which appear already blank.
This is similar to option -force but does not try to blank media other than
recognizable CD-RW and DVD-RW.
.br .br
(Note: blank=deformat_sequential* are not original cdrecord options.) (Note: blank=deformat_sequential* are not original cdrecord options.)
.TP .TP
@ -336,9 +339,10 @@ insecure about drive or media state. This includes the attempt to blank
media which are classified as unknown or unsuitable, and the attempt to use media which are classified as unknown or unsuitable, and the attempt to use
write modes which libburn believes they are not supported by the drive. write modes which libburn believes they are not supported by the drive.
.br .br
Another application is with blank=format_* to enforce re-formatting of media Another application is to enforce blanking or re-formatting of media
which appear to be sufficiently formatted already. which appear to be in the desired blank or format state already.
.br .br
.B Caution:
Use this only when in urgent need. Use this only when in urgent need.
.TP .TP
.BI fs= size .BI fs= size
@ -661,13 +665,16 @@ Disable fifo despite any fs=.
Use a separate fifo for each track. Use a separate fifo for each track.
.TP .TP
.BI \--fill_up_media .BI \--fill_up_media
.B Caution:
Option is still immature and likely to change.
Problems arose with sequential DVD-RW on one drive.
.br
Expand the last track of the session to occupy all remaining free space on Expand the last track of the session to occupy all remaining free space on
the media. the media.
This option overrides option -multi. .br
This option overrides option -multi. It will not fill up media if option -sao
is given with CD media.
.br
.B Caution:
This option might increase read compatibility with DVD-ROM drives but
with some DVD recorders and media types it might also fail to produce readable
media at all. "Your mileage may vary".
.TP .TP
.BI grab_drive_and_wait= seconds .BI grab_drive_and_wait= seconds
Open the addressed drive, wait the given number of seconds, release the drive, Open the addressed drive, wait the given number of seconds, release the drive,

View File

@ -3939,7 +3939,8 @@ int Cdrskin_blank(struct CdrskiN *skin, int flag)
if(s!=BURN_DISC_FULL && if(s!=BURN_DISC_FULL &&
(s!=BURN_DISC_APPENDABLE || skin->no_blank_appendable) && (s!=BURN_DISC_APPENDABLE || skin->no_blank_appendable) &&
!(profile_number == 0x13 && skin->prodvd_cli_compatible)) { (profile_number!=0x13 || !skin->prodvd_cli_compatible) &&
(s!=BURN_DISC_BLANK || !skin->force_is_set)) {
Cdrskin_release_drive(skin,0); Cdrskin_release_drive(skin,0);
if(s==BURN_DISC_BLANK) { if(s==BURN_DISC_BLANK) {
fprintf(stderr, fprintf(stderr,

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2007.02.17.085118" #define Cdrskin_timestamP "2007.02.17.085533"

View File

@ -236,10 +236,17 @@ void burn_disc_erase(struct burn_drive *drive, int fast)
/* ts A70103 moved up from burn_disc_erase_sync() */ /* ts A70103 moved up from burn_disc_erase_sync() */
/* ts A60825 : allow on parole to blank appendable CDs */ /* ts A60825 : allow on parole to blank appendable CDs */
/* ts A70131 : allow blanking of overwriteable DVD-RW (profile 0x13) */ /* ts A70131 : allow blanking of overwriteable DVD-RW (profile 0x13) */
if ( ! (drive->status == BURN_DISC_FULL || /* ts A70216 : allow blanking of CD-RW or DVD-RW in any regular state
(drive->status == BURN_DISC_APPENDABLE && and of any kind of full media */
! libburn_back_hack_42) || if ((drive->current_profile != 0x0a &&
drive->current_profile == 0x13 ) ) { drive->current_profile != 0x13 &&
drive->current_profile != 0x14 &&
drive->status != BURN_DISC_FULL)
||
(drive->status != BURN_DISC_FULL &&
drive->status != BURN_DISC_APPENDABLE &&
drive->status != BURN_DISC_BLANK)
) {
libdax_msgs_submit(libdax_messenger, drive->global_index, libdax_msgs_submit(libdax_messenger, drive->global_index,
0x00020130, 0x00020130,
LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH, LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH,

View File

@ -276,7 +276,7 @@ int libburner_blank_disc(struct burn_drive *drive, int blank_fast)
return 2; return 2;
} else if (disc_state == BURN_DISC_FULL || } else if (disc_state == BURN_DISC_FULL ||
disc_state == BURN_DISC_APPENDABLE) { disc_state == BURN_DISC_APPENDABLE) {
; /* this is what libburn is willing to blank */ ; /* this is what libburner is willing to blank */
} else if (disc_state == BURN_DISC_EMPTY) { } else if (disc_state == BURN_DISC_EMPTY) {
fprintf(stderr,"FATAL: No media detected in drive\n"); fprintf(stderr,"FATAL: No media detected in drive\n");
return 0; return 0;