Avoided random percentage display at start of blanking
This commit is contained in:
parent
471a0d0058
commit
255e5362f9
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2010.02.16.194147"
|
#define Cdrskin_timestamP "2010.02.17.141409"
|
||||||
|
@ -232,6 +232,22 @@ static void *scan_worker_func(struct w_list *w)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void reset_progress(struct burn_drive *d, int sessions, int tracks,
|
||||||
|
int indices, int sectors, int flag)
|
||||||
|
{
|
||||||
|
/* reset the progress indicator */
|
||||||
|
d->progress.session = 0;
|
||||||
|
d->progress.sessions = sessions;
|
||||||
|
d->progress.track = 0;
|
||||||
|
d->progress.tracks = tracks;
|
||||||
|
d->progress.index = 0;
|
||||||
|
d->progress.indices = indices;
|
||||||
|
d->progress.start_sector = 0;
|
||||||
|
d->progress.sectors = sectors;
|
||||||
|
d->progress.sector = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int burn_drive_scan(struct burn_drive_info *drives[], unsigned int *n_drives)
|
int burn_drive_scan(struct burn_drive_info *drives[], unsigned int *n_drives)
|
||||||
{
|
{
|
||||||
struct scan_opts o;
|
struct scan_opts o;
|
||||||
@ -314,6 +330,7 @@ void burn_disc_erase(struct burn_drive *drive, int fast)
|
|||||||
/* a ssert(drive); */
|
/* a ssert(drive); */
|
||||||
/* a ssert(!SCAN_GOING()); */
|
/* a ssert(!SCAN_GOING()); */
|
||||||
/* a ssert(!find_worker(drive)); */
|
/* a ssert(!find_worker(drive)); */
|
||||||
|
|
||||||
if((drive == NULL)) {
|
if((drive == NULL)) {
|
||||||
libdax_msgs_submit(libdax_messenger, drive->global_index,
|
libdax_msgs_submit(libdax_messenger, drive->global_index,
|
||||||
0x00020104,
|
0x00020104,
|
||||||
@ -329,6 +346,9 @@ void burn_disc_erase(struct burn_drive *drive, int fast)
|
|||||||
0, 0);
|
0, 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reset_progress(drive, 1, 1, 1, 0x10000, 0);
|
||||||
|
|
||||||
/* A70103 : will be set to 0 by burn_disc_erase_sync() */
|
/* A70103 : will be set to 0 by burn_disc_erase_sync() */
|
||||||
drive->cancel = 1;
|
drive->cancel = 1;
|
||||||
|
|
||||||
@ -383,6 +403,8 @@ void burn_disc_format(struct burn_drive *drive, off_t size, int flag)
|
|||||||
int ok = 0, ret;
|
int ok = 0, ret;
|
||||||
char msg[160];
|
char msg[160];
|
||||||
|
|
||||||
|
reset_progress(drive, 1, 1, 1, 0x10000, 0);
|
||||||
|
|
||||||
if ((SCAN_GOING()) || find_worker(drive) != NULL) {
|
if ((SCAN_GOING()) || find_worker(drive) != NULL) {
|
||||||
libdax_msgs_submit(libdax_messenger, drive->global_index,
|
libdax_msgs_submit(libdax_messenger, drive->global_index,
|
||||||
0x00020102,
|
0x00020102,
|
||||||
@ -547,6 +569,9 @@ void burn_disc_write(struct burn_write_opts *opts, struct burn_disc *disc)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reset_progress(d, disc->sessions, disc->session[0]->tracks,
|
||||||
|
disc->session[0]->track[0]->indices, 0, 0);
|
||||||
|
|
||||||
/* For the next lines any return indicates failure */
|
/* For the next lines any return indicates failure */
|
||||||
d->cancel = 1;
|
d->cancel = 1;
|
||||||
|
|
||||||
|
@ -621,8 +621,9 @@ void burn_disc_erase_sync(struct burn_drive *d, int fast)
|
|||||||
d->idata->product);
|
d->idata->product);
|
||||||
|
|
||||||
d->cancel = 0;
|
d->cancel = 0;
|
||||||
d->busy = BURN_DRIVE_ERASING;
|
|
||||||
d->erase(d, fast);
|
#ifdef Libburn_reset_progress_asynC
|
||||||
|
/* <<< This is now done in async.c */
|
||||||
/* reset the progress */
|
/* reset the progress */
|
||||||
d->progress.session = 0;
|
d->progress.session = 0;
|
||||||
d->progress.sessions = 1;
|
d->progress.sessions = 1;
|
||||||
@ -633,6 +634,11 @@ void burn_disc_erase_sync(struct burn_drive *d, int fast)
|
|||||||
d->progress.start_sector = 0;
|
d->progress.start_sector = 0;
|
||||||
d->progress.sectors = 0x10000;
|
d->progress.sectors = 0x10000;
|
||||||
d->progress.sector = 0;
|
d->progress.sector = 0;
|
||||||
|
#endif /* Libburn_reset_progress_asynC */
|
||||||
|
|
||||||
|
d->erase(d, fast);
|
||||||
|
d->busy = BURN_DRIVE_ERASING;
|
||||||
|
|
||||||
/* read the initial 0 stage */
|
/* read the initial 0 stage */
|
||||||
while (!d->test_unit_ready(d) && d->get_erase_progress(d) == 0)
|
while (!d->test_unit_ready(d) && d->get_erase_progress(d) == 0)
|
||||||
sleep(1);
|
sleep(1);
|
||||||
@ -659,6 +665,8 @@ void burn_disc_format_sync(struct burn_drive *d, off_t size, int flag)
|
|||||||
char msg[80];
|
char msg[80];
|
||||||
struct buffer buf, *buf_mem = d->buffer;
|
struct buffer buf, *buf_mem = d->buffer;
|
||||||
|
|
||||||
|
#ifdef Libburn_reset_progress_asynC
|
||||||
|
/* <<< This is now done in async.c */
|
||||||
/* reset the progress */
|
/* reset the progress */
|
||||||
d->progress.session = 0;
|
d->progress.session = 0;
|
||||||
d->progress.sessions = 1;
|
d->progress.sessions = 1;
|
||||||
@ -669,6 +677,8 @@ void burn_disc_format_sync(struct burn_drive *d, off_t size, int flag)
|
|||||||
d->progress.start_sector = 0;
|
d->progress.start_sector = 0;
|
||||||
d->progress.sectors = 0x10000;
|
d->progress.sectors = 0x10000;
|
||||||
d->progress.sector = 0;
|
d->progress.sector = 0;
|
||||||
|
#endif /* Libburn_reset_progress_asynC */
|
||||||
|
|
||||||
stages = 1 + ((flag & 1) && size > 1024 * 1024);
|
stages = 1 + ((flag & 1) && size > 1024 * 1024);
|
||||||
d->cancel = 0;
|
d->cancel = 0;
|
||||||
d->busy = BURN_DRIVE_FORMATTING;
|
d->busy = BURN_DRIVE_FORMATTING;
|
||||||
|
@ -942,6 +942,8 @@ int burn_disc_init_write_status(struct burn_write_opts *o,
|
|||||||
|
|
||||||
d->cancel = 0;
|
d->cancel = 0;
|
||||||
|
|
||||||
|
#ifdef Libburn_reset_progress_asynC
|
||||||
|
/* <<< This is now done in async.c */
|
||||||
/* init progress before showing the state */
|
/* init progress before showing the state */
|
||||||
d->progress.session = 0;
|
d->progress.session = 0;
|
||||||
d->progress.sessions = disc->sessions;
|
d->progress.sessions = disc->sessions;
|
||||||
@ -956,6 +958,7 @@ int burn_disc_init_write_status(struct burn_write_opts *o,
|
|||||||
d->progress.sectors = 0;
|
d->progress.sectors = 0;
|
||||||
d->progress.sector = 0;
|
d->progress.sector = 0;
|
||||||
d->progress.track = 0;
|
d->progress.track = 0;
|
||||||
|
#endif /* Libburn_reset_progress_asynC */
|
||||||
|
|
||||||
/* ts A61023 */
|
/* ts A61023 */
|
||||||
d->progress.buffer_capacity = 0;
|
d->progress.buffer_capacity = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user