|
|
|
@ -2020,6 +2020,7 @@ int Xorriso_pacifier_callback(struct XorrisO *xorriso, char *what_done,
|
|
|
|
|
double current_time, since, interval_time, speed, speed_factor;
|
|
|
|
|
char count_text[80], byte_text[80], profile_name[80], *speed_unit;
|
|
|
|
|
int ret, profile_number;
|
|
|
|
|
off_t amount;
|
|
|
|
|
|
|
|
|
|
current_time= Sfile_microtime(0);
|
|
|
|
|
interval_time= current_time - xorriso->last_update_time;
|
|
|
|
@ -2056,13 +2057,17 @@ int Xorriso_pacifier_callback(struct XorrisO *xorriso, char *what_done,
|
|
|
|
|
(flag & (8 | 64)) ? "s" : "seconds");
|
|
|
|
|
}
|
|
|
|
|
speed= -1.0;
|
|
|
|
|
if(flag & 4)
|
|
|
|
|
amount= xorriso->pacifier_byte_count;
|
|
|
|
|
else
|
|
|
|
|
amount= count;
|
|
|
|
|
if((flag & 8)) {
|
|
|
|
|
if(flag & 32) {
|
|
|
|
|
if(since > 0)
|
|
|
|
|
speed= count / since;
|
|
|
|
|
} else if(count >= xorriso->pacifier_prev_count) {
|
|
|
|
|
speed= amount / since;
|
|
|
|
|
} else if(amount >= xorriso->pacifier_prev_count) {
|
|
|
|
|
if(interval_time > 0)
|
|
|
|
|
speed= (count - xorriso->pacifier_prev_count) / interval_time;
|
|
|
|
|
speed= (amount - xorriso->pacifier_prev_count) / interval_time;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(speed >= 0.0) {
|
|
|
|
@ -2082,7 +2087,7 @@ int Xorriso_pacifier_callback(struct XorrisO *xorriso, char *what_done,
|
|
|
|
|
sprintf(xorriso->info_text+strlen(xorriso->info_text), " %s %.1fx%s",
|
|
|
|
|
(flag & 32 ? "=" : ","), speed / speed_factor, speed_unit);
|
|
|
|
|
}
|
|
|
|
|
xorriso->pacifier_prev_count= count;
|
|
|
|
|
xorriso->pacifier_prev_count= amount;
|
|
|
|
|
if(current_object[0]!=0)
|
|
|
|
|
sprintf(xorriso->info_text+strlen(xorriso->info_text),
|
|
|
|
|
", now at %s", current_object);
|
|
|
|
|