Experimental option --adjust_speed_to_drive. Caution: May vanish soon.
This commit is contained in:
parent
37868dec9b
commit
93f4de05dc
@ -132,6 +132,7 @@ or
|
|||||||
Move them down to Cdrskin_libburn_from_pykix_svN on version leap
|
Move them down to Cdrskin_libburn_from_pykix_svN on version leap
|
||||||
*/
|
*/
|
||||||
#define Cdrskin_libburn_has_set_waitinG 1
|
#define Cdrskin_libburn_has_set_waitinG 1
|
||||||
|
#define Cdrskin_libburn_has_get_best_speeD 1
|
||||||
|
|
||||||
#endif /* Cdrskin_libburn_0_3_7 */
|
#endif /* Cdrskin_libburn_0_3_7 */
|
||||||
|
|
||||||
@ -2161,6 +2162,10 @@ set_dev:;
|
|||||||
"blanking and burning see output of option -help rather than --help.\n");
|
"blanking and burning see output of option -help rather than --help.\n");
|
||||||
printf("Non-cdrecord options:\n");
|
printf("Non-cdrecord options:\n");
|
||||||
printf(" --abort_handler do not leave the drive in busy state\n");
|
printf(" --abort_handler do not leave the drive in busy state\n");
|
||||||
|
#ifdef Cdrskin_libburn_has_get_best_speeD
|
||||||
|
printf(
|
||||||
|
" --adjust_speed_to_drive set only speeds offered by drive and media\n");
|
||||||
|
#endif
|
||||||
printf(
|
printf(
|
||||||
" --allow_setuid disable setuid warning (setuid is insecure !)\n");
|
" --allow_setuid disable setuid warning (setuid is insecure !)\n");
|
||||||
printf(
|
printf(
|
||||||
@ -2583,6 +2588,7 @@ struct CdrskiN {
|
|||||||
/** Job: what to do, plus some parameters. */
|
/** Job: what to do, plus some parameters. */
|
||||||
int verbosity;
|
int verbosity;
|
||||||
double x_speed;
|
double x_speed;
|
||||||
|
int adjust_speed_to_drive;
|
||||||
int gracetime;
|
int gracetime;
|
||||||
int dummy_mode;
|
int dummy_mode;
|
||||||
int force_is_set;
|
int force_is_set;
|
||||||
@ -2736,6 +2742,7 @@ int Cdrskin_new(struct CdrskiN **skin, struct CdrpreskiN *preskin, int flag)
|
|||||||
o->preskin= preskin;
|
o->preskin= preskin;
|
||||||
o->verbosity= preskin->verbosity;
|
o->verbosity= preskin->verbosity;
|
||||||
o->x_speed= -1.0;
|
o->x_speed= -1.0;
|
||||||
|
o->adjust_speed_to_drive= 0;
|
||||||
o->gracetime= 0;
|
o->gracetime= 0;
|
||||||
o->dummy_mode= 0;
|
o->dummy_mode= 0;
|
||||||
o->force_is_set= 0;
|
o->force_is_set= 0;
|
||||||
@ -2964,6 +2971,18 @@ int Cdrskin_adjust_speed(struct CdrskiN *skin, int flag)
|
|||||||
if(skin->verbosity>=Cdrskin_verbose_debuG)
|
if(skin->verbosity>=Cdrskin_verbose_debuG)
|
||||||
ClN(fprintf(stderr,"cdrskin_debug: k_speed= %d\n",k_speed));
|
ClN(fprintf(stderr,"cdrskin_debug: k_speed= %d\n",k_speed));
|
||||||
|
|
||||||
|
#ifdef Cdrskin_libburn_has_get_best_speeD
|
||||||
|
if(skin->adjust_speed_to_drive && !skin->force_is_set) {
|
||||||
|
struct burn_speed_descriptor *best_descr;
|
||||||
|
burn_drive_get_best_speed(skin->drives[skin->driveno].drive,k_speed,
|
||||||
|
&best_descr,0);
|
||||||
|
if(best_descr!=NULL) {
|
||||||
|
k_speed= best_descr->write_speed;
|
||||||
|
skin->x_speed = ((double) k_speed) / Cdrskin_libburn_speed_factoR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif /* Cdrskin_libburn_has_get_best_speeD */
|
||||||
|
|
||||||
burn_drive_set_speed(skin->drives[skin->driveno].drive,k_speed,k_speed);
|
burn_drive_set_speed(skin->drives[skin->driveno].drive,k_speed,k_speed);
|
||||||
|
|
||||||
#ifdef Cdrskin_libburn_has_set_waitinG
|
#ifdef Cdrskin_libburn_has_set_waitinG
|
||||||
@ -5259,6 +5278,8 @@ burn_failed:;
|
|||||||
{ret= 1; goto ex;}
|
{ret= 1; goto ex;}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Cdrskin_adjust_speed(skin,0);
|
||||||
|
|
||||||
#ifndef Cdrskin_extra_leaN
|
#ifndef Cdrskin_extra_leaN
|
||||||
Cdrskin_wait_before_action(skin,0);
|
Cdrskin_wait_before_action(skin,0);
|
||||||
if(needs_early_fifo_fill==1)
|
if(needs_early_fifo_fill==1)
|
||||||
@ -5273,8 +5294,6 @@ fifo_filling_failed:;
|
|||||||
|
|
||||||
#endif /* ! Cdrskin_extra_leaN */
|
#endif /* ! Cdrskin_extra_leaN */
|
||||||
|
|
||||||
Cdrskin_adjust_speed(skin,0);
|
|
||||||
|
|
||||||
if(skin->verbosity>=Cdrskin_verbose_progresS && nwa>=0)
|
if(skin->verbosity>=Cdrskin_verbose_progresS && nwa>=0)
|
||||||
printf("Starting new track at sector: %d\n",nwa);
|
printf("Starting new track at sector: %d\n",nwa);
|
||||||
skin->drive_is_busy= 1;
|
skin->drive_is_busy= 1;
|
||||||
@ -5812,6 +5831,10 @@ set_abort_max_wait:;
|
|||||||
skin->abort_max_wait);
|
skin->abort_max_wait);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef Cdrskin_libburn_has_get_best_speeD
|
||||||
|
} else if(strcmp(argv[i],"--adjust_speed_to_drive")==0) {
|
||||||
|
skin->adjust_speed_to_drive= 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
} else if(strcmp(argv[i],"--allow_setuid")==0) {
|
} else if(strcmp(argv[i],"--allow_setuid")==0) {
|
||||||
/* is handled in Cdrpreskin_setup() */;
|
/* is handled in Cdrpreskin_setup() */;
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2007.07.14.112029"
|
#define Cdrskin_timestamP "2007.07.14.112326"
|
||||||
|
Loading…
Reference in New Issue
Block a user