Bug fix: -blank force:all on DVD+RW had no effect

This commit is contained in:
Thomas Schmitt 2014-05-03 11:50:48 +00:00
parent f8fb13591a
commit a803264cd0
2 changed files with 19 additions and 2 deletions

View File

@ -686,6 +686,21 @@ int isoburn_disc_erasable(struct burn_drive *d)
} }
static int isoburn_is_overwritable(struct burn_drive *drive, int flag)
{
char name[80];
int profile, ret;
ret= burn_disc_get_profile(drive, &profile, name);
if(ret <= 0)
return(0);
if(profile == 0x12 || profile == 0x13 || profile == 0x1a || profile == 0x43)
return(1);
return(0);
}
void isoburn_disc_erase(struct burn_drive *drive, int fast) void isoburn_disc_erase(struct burn_drive *drive, int fast)
{ {
int ret, do_pseudo_blank= 0, role; int ret, do_pseudo_blank= 0, role;
@ -719,7 +734,9 @@ void isoburn_disc_erase(struct burn_drive *drive, int fast)
} }
if(o->emulation_mode > 0) { /* might be readonly with emulated sessions */ if(o->emulation_mode > 0) { /* might be readonly with emulated sessions */
ret= burn_disc_get_multi_caps(drive, BURN_WRITE_NONE, &caps, 0); ret= burn_disc_get_multi_caps(drive, BURN_WRITE_NONE, &caps, 0);
if(ret > 0 && caps->start_adr) if(ret <= 0) /* Maybe because of burn_disc_pretend_full() */
do_pseudo_blank= isoburn_is_overwritable(drive, 0); /* known profiles */
else if(caps->start_adr)
do_pseudo_blank= 1; do_pseudo_blank= 1;
} }
if(do_pseudo_blank) { if(do_pseudo_blank) {

View File

@ -1 +1 @@
#define Xorriso_timestamP "2014.05.03.114930" #define Xorriso_timestamP "2014.05.03.115011"