|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
cdrskin.c , Copyright 2006-2010 Thomas Schmitt <scdbackup@gmx.net>
|
|
|
|
|
cdrskin.c , Copyright 2006-2011 Thomas Schmitt <scdbackup@gmx.net>
|
|
|
|
|
Provided under GPL version 2 or later.
|
|
|
|
|
|
|
|
|
|
A cdrecord compatible command line interface for libburn.
|
|
|
|
@ -7081,6 +7081,10 @@ int Cdrskin_burn(struct CdrskiN *skin, int flag)
|
|
|
|
|
double put_counter, get_counter, empty_counter, full_counter;
|
|
|
|
|
int total_min_fill, fifo_percent;
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef Cdrskin_libburn_has_get_spacE
|
|
|
|
|
off_t free_space;
|
|
|
|
|
char msg[80];
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
if(skin->tell_media_space)
|
|
|
|
|
doing= "estimating";
|
|
|
|
@ -7324,17 +7328,12 @@ burn_failed:;
|
|
|
|
|
/* write capacity estimation and return without actual burning */
|
|
|
|
|
|
|
|
|
|
#ifdef Cdrskin_libburn_has_get_spacE
|
|
|
|
|
{
|
|
|
|
|
off_t free_space;
|
|
|
|
|
char msg[80];
|
|
|
|
|
|
|
|
|
|
free_space= burn_disc_available_space(drive,o);
|
|
|
|
|
sprintf(msg,"%d\n",(int) (free_space/(off_t) 2048));
|
|
|
|
|
if(skin->preskin->result_fd>=0) {
|
|
|
|
|
write(skin->preskin->result_fd,msg,strlen(msg));
|
|
|
|
|
} else
|
|
|
|
|
printf("%s",msg);
|
|
|
|
|
}
|
|
|
|
|
free_space= burn_disc_available_space(drive,o);
|
|
|
|
|
sprintf(msg,"%d\n",(int) (free_space/(off_t) 2048));
|
|
|
|
|
if(skin->preskin->result_fd>=0) {
|
|
|
|
|
write(skin->preskin->result_fd,msg,strlen(msg));
|
|
|
|
|
} else
|
|
|
|
|
printf("%s",msg);
|
|
|
|
|
#endif /* Cdrskin_libburn_has_get_spacE */
|
|
|
|
|
|
|
|
|
|
if(skin->track_counter>0)
|
|
|
|
@ -7344,6 +7343,23 @@ burn_failed:;
|
|
|
|
|
{ret= 1; goto ex;}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef Cdrskin_libburn_has_get_spacE
|
|
|
|
|
if(skin->fixed_size > 0 && !skin->force_is_set) {
|
|
|
|
|
free_space= burn_disc_available_space(drive,o);
|
|
|
|
|
if(skin->fixed_size > free_space && free_space > 0) {
|
|
|
|
|
fprintf(stderr,
|
|
|
|
|
"cdrskin: FATAL : predicted session size %lus does not fit on media (%lus)\n",
|
|
|
|
|
(unsigned long) ((skin->fixed_size + 2047.0) / 2048.0),
|
|
|
|
|
(unsigned long) ((free_space + 2047) / 2048));
|
|
|
|
|
ClN(fprintf(stderr,
|
|
|
|
|
"cdrskin: HINT : This test may be disabled by option -force\n");)
|
|
|
|
|
{ret= 0; goto ex;}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif /* Cdrskin_libburn_has_get_spacE */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cdrskin_adjust_speed(skin,0);
|
|
|
|
|
|
|
|
|
|
#ifndef Cdrskin_extra_leaN
|
|
|
|
|