More appropriate drive status during format and close of DVD+RW
This commit is contained in:
parent
1ce6ec4a3a
commit
7e30dbfc5a
@ -170,6 +170,7 @@ or
|
||||
#define Cdrskin_libburn_has_get_profilE 1
|
||||
#define Cdrskin_libburn_has_set_start_bytE 1
|
||||
#define Cdrskin_libburn_has_wrote_welL 1
|
||||
#define Cdrskin_libburn_has_bd_formattinG 1
|
||||
#endif /* Cdrskin_libburn_0_2_7 */
|
||||
|
||||
#ifndef Cdrskin_libburn_versioN
|
||||
@ -3981,7 +3982,7 @@ int Cdrskin_burn_pacifier(struct CdrskiN *skin,
|
||||
double elapsed_time,elapsed_total_time,current_time;
|
||||
double estim_time,estim_minutes,estim_seconds,percent;
|
||||
int ret,fifo_percent,fill,space,advance_interval=0,new_mb,old_mb,time_to_tell;
|
||||
int fs,bs,old_track_idx,buffer_fill;
|
||||
int fs,bs,old_track_idx,buffer_fill,formatting= 0;
|
||||
char fifo_text[80],mb_text[40];
|
||||
char *debug_mark= ""; /* use this to prepend a marker text for experiments */
|
||||
|
||||
@ -3993,6 +3994,11 @@ int Cdrskin_burn_pacifier(struct CdrskiN *skin,
|
||||
elapsed_time= current_time-*last_time;
|
||||
time_to_tell= (elapsed_time>=1.0)&&(elapsed_total_time>=1.0);
|
||||
|
||||
#ifdef Cdrskin_libburn_has_bd_formattinG
|
||||
if(drive_status==BURN_DRIVE_FORMATTING)
|
||||
formatting= 1;
|
||||
#endif
|
||||
|
||||
if(drive_status==BURN_DRIVE_WRITING) {
|
||||
;
|
||||
} else if(drive_status==BURN_DRIVE_WRITING_LEADIN
|
||||
@ -4000,15 +4006,14 @@ int Cdrskin_burn_pacifier(struct CdrskiN *skin,
|
||||
#ifdef Cdrskin_allow_libburn_taO
|
||||
|| drive_status==BURN_DRIVE_WRITING_PREGAP
|
||||
#endif
|
||||
|
||||
) {
|
||||
|| formatting) {
|
||||
if(time_to_tell || skin->is_writing) {
|
||||
if(skin->verbosity>=Cdrskin_verbose_progresS) {
|
||||
if(skin->is_writing)
|
||||
fprintf(stderr,"\n");
|
||||
fprintf(stderr,
|
||||
"\rcdrskin: working pre-track (burning since %.f seconds) ",
|
||||
elapsed_total_time);
|
||||
"\rcdrskin: %s (burning since %.f seconds) ",
|
||||
(formatting?"formatting":"working pre-track"), elapsed_total_time);
|
||||
}
|
||||
skin->is_writing= 0;
|
||||
advance_interval= 1;
|
||||
|
@ -1 +1 @@
|
||||
#define Cdrskin_timestamP "2006.12.23.141315"
|
||||
#define Cdrskin_timestamP "2006.12.23.184353"
|
||||
|
@ -229,7 +229,11 @@ enum burn_drive_status
|
||||
/** The drive is told to close a track (TAO only) */
|
||||
BURN_DRIVE_CLOSING_TRACK,
|
||||
/** The drive is told to close a session (TAO only) */
|
||||
BURN_DRIVE_CLOSING_SESSION
|
||||
BURN_DRIVE_CLOSING_SESSION,
|
||||
|
||||
/* ts A61223 */
|
||||
/** The drive is formatting media */
|
||||
BURN_DRIVE_FORMATTING
|
||||
|
||||
};
|
||||
|
||||
|
@ -870,6 +870,7 @@ int burn_disc_close_session_dvd_plus_rw(struct burn_write_opts *o,
|
||||
{
|
||||
struct burn_drive *d = o->drive;
|
||||
|
||||
d->busy = BURN_DRIVE_CLOSING_SESSION;
|
||||
/* This seems to be a quick end : "if (!dvd_compat)" */
|
||||
/* >>> Stop de-icing (ongoing background format) quickly
|
||||
by mmc_close() i(but with opcode[2]=0).
|
||||
@ -878,6 +879,7 @@ int burn_disc_close_session_dvd_plus_rw(struct burn_write_opts *o,
|
||||
*/
|
||||
/* Else: end eventual background format in a "DVD-RO" compatible way */
|
||||
d->close_track_session(d, 1, 0); /* same as CLOSE SESSION for CD */
|
||||
d->busy = BURN_DRIVE_WRITING;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -912,10 +914,12 @@ int burn_disc_setup_dvd_plus_rw(struct burn_write_opts *o,
|
||||
char msg[160];
|
||||
|
||||
if (d->bg_format_status==0 || d->bg_format_status==1) {
|
||||
d->busy = BURN_DRIVE_FORMATTING;
|
||||
/* start or re-start dvd_plus_rw formatting */
|
||||
ret = d->format_unit(d);
|
||||
if (ret <= 0)
|
||||
return 0;
|
||||
d->busy = BURN_DRIVE_WRITING;
|
||||
}
|
||||
d->nwa = 0;
|
||||
if (o->start_byte >= 0)
|
||||
|
Loading…
Reference in New Issue
Block a user