New stream_recording mode with start number

This commit is contained in:
Thomas Schmitt 2009-02-27 21:17:05 +00:00
parent 591c385489
commit 53e4483460
3 changed files with 20 additions and 9 deletions

View File

@ -1186,13 +1186,15 @@ Use and report literal Bus,Target,Lun addresses rather than real SCSI and
pseudo ATA addresses. This method is outdated and was never compatible with pseudo ATA addresses. This method is outdated and was never compatible with
original cdrecord. original cdrecord.
.TP .TP
.BI stream_recording="on"|"off" .BI stream_recording="on"|"off"|number
By setting "on" request that compliance to the desired speed setting is By setting "on" request that compliance to the desired speed setting is
preferred over management of write errors. With DVD-RAM and BD this can preferred over management of write errors. With DVD-RAM and BD this can
bring effective write speed near to the nominal write speed of the media. bring effective write speed near to the nominal write speed of the media.
But it will also disable the automatic use of replacement blocks But it will also disable the automatic use of replacement blocks
if write errors occur. It might as well be disliked or ignored by the drive. if write errors occur. It might as well be disliked or ignored by the drive.
.br .br
If a number is given, then error management stays enabled for all byte
addresses below that number. Any number below 16s is the same as "off".
.SH EXAMPLES .SH EXAMPLES
.SS .SS
.B Get an overview of drives and their addresses: .B Get an overview of drives and their addresses:

View File

@ -2692,10 +2692,13 @@ set_dev:;
" --single_track accept only last argument as source_address\n"); " --single_track accept only last argument as source_address\n");
#ifdef Cdrskin_libburn_has_stream_recordinG #ifdef Cdrskin_libburn_has_stream_recordinG
printf(" stream_recording=\"on\"|\"off\"|number\n");
printf( printf(
" stream_recording=\"on\"|\"off\" \"on\" requests to prefer speed\n"); " \"on\" requests to prefer speed over write\n");
printf( printf(
" over write error management.\n"); " error management. A number prevents this with\n");
printf(
" byte addresses below that number.\n");
#endif #endif
#ifdef Cdrskin_allow_libburn_taO #ifdef Cdrskin_allow_libburn_taO
@ -3120,7 +3123,7 @@ struct CdrskiN {
int gracetime; int gracetime;
int dummy_mode; int dummy_mode;
int force_is_set; int force_is_set;
int stream_recording_is_set; int stream_recording_is_set; /* see burn_write_opts_set_stream_recording() */
int single_track; int single_track;
int prodvd_cli_compatible; int prodvd_cli_compatible;
@ -6466,7 +6469,7 @@ burn_failed:;
burn_write_opts_set_force(o, !!skin->force_is_set); burn_write_opts_set_force(o, !!skin->force_is_set);
#endif #endif
#ifdef Cdrskin_libburn_has_stream_recordinG #ifdef Cdrskin_libburn_has_stream_recordinG
burn_write_opts_set_stream_recording(o, !!skin->stream_recording_is_set); burn_write_opts_set_stream_recording(o, skin->stream_recording_is_set);
#endif #endif
if(skin->dummy_mode) { if(skin->dummy_mode) {
@ -6988,7 +6991,7 @@ sorry_failed_to_eject:;
int Cdrskin_setup(struct CdrskiN *skin, int argc, char **argv, int flag) int Cdrskin_setup(struct CdrskiN *skin, int argc, char **argv, int flag)
{ {
int i,k,l,ret,source_has_size=0, idx= -1; int i,k,l,ret,source_has_size=0, idx= -1;
double value,grab_and_wait_value= -1.0; double value,grab_and_wait_value= -1.0, num;
char *cpt,*value_pt,adr[Cdrskin_adrleN],*blank_mode= ""; char *cpt,*value_pt,adr[Cdrskin_adrleN],*blank_mode= "";
struct stat stbuf; struct stat stbuf;
@ -7725,9 +7728,15 @@ set_speed:;
set_stream_recording:; set_stream_recording:;
if(strcmp(value_pt, "on")==0) if(strcmp(value_pt, "on")==0)
skin->stream_recording_is_set= 1; skin->stream_recording_is_set= 1;
else if(value_pt[0] >= '0' && value_pt[0] <= '9') {
num= Scanf_io_size(value_pt, 0);
num/= 2048.0;
if(num >= 16 && num <= 0x7FFFFFFF)
skin->stream_recording_is_set= num;
else else
skin->stream_recording_is_set= 0; skin->stream_recording_is_set= 0;
} else
skin->stream_recording_is_set= 0;
} else if(strcmp(argv[i],"-swab")==0) { } else if(strcmp(argv[i],"-swab")==0) {
skin->swap_audio_bytes= 0; skin->swap_audio_bytes= 0;

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2009.02.27.143100" #define Cdrskin_timestamP "2009.02.27.211707"