Compare commits
2 Commits
555048a0a1
...
358262818e
Author | SHA1 | Date |
---|---|---|
Thomas Schmitt | 358262818e | |
Thomas Schmitt | 58e7eb0877 |
|
@ -265,6 +265,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
|||
m->do_stream_recording= 0;
|
||||
m->dvd_obs= 0;
|
||||
m->do_obs_pad= 0;
|
||||
m->bdr_obs_exempt= 0;
|
||||
m->modesty_on_drive= 0;
|
||||
m->min_buffer_usec= 5000;
|
||||
m->max_buffer_usec= 25000;
|
||||
|
|
|
@ -89,6 +89,7 @@ int Xorriso_cdrskin_help(struct XorrisO *xorriso, int flag)
|
|||
"\tuse_immed_bit=on|off|default\tcontrol use of Immed bit",
|
||||
"\tdvd_obs=default|32k|64k\t\tbytes per DVD/BD write operation",
|
||||
"\t--obs_pad\t\tpad DVD DAO and stdio to full 32k or 64k",
|
||||
"\t--bdr_obs_exempt\tpossibly exempt BD-R from padding to full 64k",
|
||||
"\tstdio_sync=on|off|end|number\twhether to fsync output to \"stdio:\"",
|
||||
"\t--no_rc\t\tDo not execute xorriso startup files",
|
||||
"\t-help\t\tprint this text to stderr and exit emulation",
|
||||
|
@ -293,6 +294,9 @@ no_volunteer:;
|
|||
Xorriso_option_dvd_obs(xorriso, cpt, 0);
|
||||
} else if(strcmp(argv[i], "--obs_pad") == 0) { /* intentional: argv[i] */
|
||||
xorriso->do_obs_pad= 1;
|
||||
} else if(strcmp(argv[i], "--bdr_obs_exempt") == 0) {
|
||||
/* intentional: argv[i] */
|
||||
xorriso->bdr_obs_exempt= 1;
|
||||
} else if(strcmp(argpt, "-eject")==0) {
|
||||
do_eject= 1;
|
||||
} else if(strncmp(argpt, "-fs=", 4)==0 || strncmp(argpt, "fs=", 3)==0) {
|
||||
|
|
|
@ -349,10 +349,27 @@ int Xorriso_option_dvd_obs(struct XorrisO *xorriso, char *obs, int flag)
|
|||
{
|
||||
double num;
|
||||
|
||||
if(strcmp(obs, "default") == 0)
|
||||
if(strcmp(obs, "obs_pad") == 0) {
|
||||
xorriso->do_obs_pad= 1;
|
||||
return(1);
|
||||
} else if(strcmp(obs, "no_obs_pad") == 0) {
|
||||
xorriso->do_obs_pad= 0;
|
||||
return(1);
|
||||
} else if(strcmp(obs, "bdr_obs_exempt")== 0) {
|
||||
xorriso->bdr_obs_exempt= 1;
|
||||
return(1);
|
||||
} else if(strcmp(obs, "no_bdr_obs_exempt")== 0) {
|
||||
xorriso->bdr_obs_exempt= 0;
|
||||
return(1);
|
||||
} else if(strcmp(obs, "default") == 0) {
|
||||
num= 0;
|
||||
else
|
||||
} else if(obs[0] >= '0' && obs[0] <= '9') {
|
||||
num = Scanf_io_size(obs,0);
|
||||
} else {
|
||||
sprintf(xorriso->info_text, "-dvd_obs : Unrecognized parameter.");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
|
||||
return(0);
|
||||
}
|
||||
if(num != 0 && num != 32768 && num != 65536) {
|
||||
sprintf(xorriso->info_text,
|
||||
"-dvd_obs : Bad size. Acceptable are 0, 32k, 64k");
|
||||
|
@ -2241,8 +2258,9 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
|||
" [:\"min_usec=\"number][:\"max_usec\"=number]",
|
||||
" [:\"timeout_sec=\"number]",
|
||||
" Keep drive buffer hungry to ease concurrent burn run.",
|
||||
" -dvd_obs \"default\"|\"32k\"|\"64k\"",
|
||||
" Set number of bytes per DVD/BD write operation.",
|
||||
" -dvd_obs \"default\"|\"32k\"|\"64k\"|\"obs_pad\"|\"bdr_obs_exempt\"",
|
||||
" Set number of bytes per DVD/BD write operation or control",
|
||||
" end alignment padding with DAO DVD-R[W] or BD-R.",
|
||||
" -use_immed_bit \"on\"|\"off\"|\"default\"",
|
||||
" Control whether long running SCSI commands shall run",
|
||||
" asynchronously with progress messages.",
|
||||
|
|
|
@ -3537,6 +3537,20 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
|||
sprintf(line,"-dvd_obs %s\n", mode);
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
is_default= (xorriso->do_obs_pad == 0);
|
||||
strcpy(mode, "no_obs_pad");
|
||||
if(xorriso->do_obs_pad)
|
||||
strcpy(mode, "obs_pad");
|
||||
sprintf(line,"-dvd_obs %s\n", mode);
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso, filter, fp, flag & 2);
|
||||
is_default= (xorriso->bdr_obs_exempt == 0);
|
||||
strcpy(mode, "no_bdr_obs_exempt");
|
||||
if(xorriso->bdr_obs_exempt)
|
||||
strcpy(mode, "bdr_obs_exempt");
|
||||
sprintf(line,"-dvd_obs %s\n", mode);
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso, filter, fp, flag & 2);
|
||||
|
||||
is_default= (xorriso->use_immed_bit == 0);
|
||||
strcpy(line, "-use_immed_bit ");
|
||||
|
|
|
@ -186,7 +186,8 @@ int Xorriso_make_write_options(
|
|||
#endif
|
||||
burn_write_opts_set_dvd_obs(*burn_options, xorriso->dvd_obs);
|
||||
burn_write_opts_set_obs_pad(*burn_options, !!xorriso->do_obs_pad);
|
||||
|
||||
burn_write_opts_set_bdr_obs_exempt(*burn_options,
|
||||
!!xorriso->bdr_obs_exempt);
|
||||
burn_write_opts_set_stdio_fsync(*burn_options, xorriso->stdio_sync);
|
||||
burn_write_opts_set_underrun_proof(*burn_options, 1);
|
||||
return(1);
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH XORRECORD 1 "Version 1.5.5, Aug 30, 2021"
|
||||
.TH XORRECORD 1 "Version 1.5.5, Sep 12, 2021"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
|
@ -613,16 +613,27 @@ The default depends on media type, option stream_recording=, and on compile
|
|||
time options.
|
||||
.TP
|
||||
\fB\--obs_pad\fR
|
||||
Pad the data of last write operation of a DVD\-R[W] DAO session or
|
||||
stdio: pseudo\-drive up to the full size of an output chunk.
|
||||
Pad the data of the last write operation of a DVD\-R[W] DAO session, or BD\-R
|
||||
session, or stdio: pseudo\-drive session up to the full size of an output chunk.
|
||||
This padding has to be applied automatically to the other DVD and BD media
|
||||
types, where it causes e.g. ISO images to have trailing unclaimed blocks.
|
||||
Whether it is applied automatically to BD\-R depends on option
|
||||
\-\-bdr_obs_exempt.
|
||||
.br
|
||||
Use this option if there is the suspicion that DAO sessions abort with
|
||||
your kernel and/or DVD drive, if their size is not a multiple of 16 blocks.
|
||||
Use this option if there is the suspicion that DVD\-R[W] DAO or BD\-R sessions
|
||||
abort with your kernel and/or DVD drive, if their size is not a multiple of
|
||||
16 blocks.
|
||||
.br
|
||||
This option may also get enabled at compile time of libburn.
|
||||
.TP
|
||||
\fB\--bdr_obs_exempt\fR
|
||||
Exempt BD\-R media from automatic unconditional transaction end padding,
|
||||
provided that this padding is not requested by \-\-obs_pad and that
|
||||
no stream_recording is requested.
|
||||
.br
|
||||
This is a new feature introduced with version 1.5.6. It might become default
|
||||
in later versions.
|
||||
.TP
|
||||
\fBmodesty_on_drive=parameter[:parameters]\fR
|
||||
Control whether the drive buffer shall be kept from getting completely filled.
|
||||
Parameter "on" (or "1") keeps the program from trying to write to the burner
|
||||
|
|
|
@ -571,14 +571,22 @@ dvd_obs="default"|"32k"|"64k"
|
|||
latency problems. The default depends on media type, option
|
||||
stream_recording=, and on compile time options.
|
||||
-obs_pad
|
||||
Pad the data of last write operation of a DVD-R[W] DAO session or
|
||||
stdio: pseudo-drive up to the full size of an output chunk. This
|
||||
padding has to be applied automatically to the other DVD and BD
|
||||
media types, where it causes e.g. ISO images to have trailing
|
||||
unclaimed blocks. .br Use this option if there is the suspicion
|
||||
that DAO sessions abort with your kernel and/or DVD drive, if their
|
||||
size is not a multiple of 16 blocks. .br This option may also get
|
||||
enabled at compile time of libburn.
|
||||
Pad the data of the last write operation of a DVD-R[W] DAO session,
|
||||
or BD-R session, or stdio: pseudo-drive session up to the full size
|
||||
of an output chunk. This padding has to be applied automatically
|
||||
to the other DVD and BD media types, where it causes e.g. ISO
|
||||
images to have trailing unclaimed blocks. Whether it is applied
|
||||
automatically to BD-R depends on option --bdr_obs_exempt. .br Use
|
||||
this option if there is the suspicion that DVD-R[W] DAO or BD-R
|
||||
sessions abort with your kernel and/or DVD drive, if their size is
|
||||
not a multiple of 16 blocks. .br This option may also get enabled
|
||||
at compile time of libburn.
|
||||
-bdr_obs_exempt
|
||||
Exempt BD-R media from automatic unconditional transaction end
|
||||
padding, provided that this padding is not requested by -obs_pad
|
||||
and that no stream_recording is requested.
|
||||
This is a new feature introduced with version 1.5.6. It might
|
||||
become default in later versions.
|
||||
modesty_on_drive=parameter[:parameters]
|
||||
Control whether the drive buffer shall be kept from getting
|
||||
completely filled. Parameter "on" (or "1") keeps the program from
|
||||
|
@ -910,6 +918,8 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
|
|||
|