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->do_stream_recording= 0;
|
||||||
m->dvd_obs= 0;
|
m->dvd_obs= 0;
|
||||||
m->do_obs_pad= 0;
|
m->do_obs_pad= 0;
|
||||||
|
m->bdr_obs_exempt= 0;
|
||||||
m->modesty_on_drive= 0;
|
m->modesty_on_drive= 0;
|
||||||
m->min_buffer_usec= 5000;
|
m->min_buffer_usec= 5000;
|
||||||
m->max_buffer_usec= 25000;
|
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",
|
"\tuse_immed_bit=on|off|default\tcontrol use of Immed bit",
|
||||||
"\tdvd_obs=default|32k|64k\t\tbytes per DVD/BD write operation",
|
"\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--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:\"",
|
"\tstdio_sync=on|off|end|number\twhether to fsync output to \"stdio:\"",
|
||||||
"\t--no_rc\t\tDo not execute xorriso startup files",
|
"\t--no_rc\t\tDo not execute xorriso startup files",
|
||||||
"\t-help\t\tprint this text to stderr and exit emulation",
|
"\t-help\t\tprint this text to stderr and exit emulation",
|
||||||
|
@ -293,6 +294,9 @@ no_volunteer:;
|
||||||
Xorriso_option_dvd_obs(xorriso, cpt, 0);
|
Xorriso_option_dvd_obs(xorriso, cpt, 0);
|
||||||
} else if(strcmp(argv[i], "--obs_pad") == 0) { /* intentional: argv[i] */
|
} else if(strcmp(argv[i], "--obs_pad") == 0) { /* intentional: argv[i] */
|
||||||
xorriso->do_obs_pad= 1;
|
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) {
|
} else if(strcmp(argpt, "-eject")==0) {
|
||||||
do_eject= 1;
|
do_eject= 1;
|
||||||
} else if(strncmp(argpt, "-fs=", 4)==0 || strncmp(argpt, "fs=", 3)==0) {
|
} 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;
|
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;
|
num= 0;
|
||||||
else
|
} else if(obs[0] >= '0' && obs[0] <= '9') {
|
||||||
num = Scanf_io_size(obs,0);
|
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) {
|
if(num != 0 && num != 32768 && num != 65536) {
|
||||||
sprintf(xorriso->info_text,
|
sprintf(xorriso->info_text,
|
||||||
"-dvd_obs : Bad size. Acceptable are 0, 32k, 64k");
|
"-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]",
|
" [:\"min_usec=\"number][:\"max_usec\"=number]",
|
||||||
" [:\"timeout_sec=\"number]",
|
" [:\"timeout_sec=\"number]",
|
||||||
" Keep drive buffer hungry to ease concurrent burn run.",
|
" Keep drive buffer hungry to ease concurrent burn run.",
|
||||||
" -dvd_obs \"default\"|\"32k\"|\"64k\"",
|
" -dvd_obs \"default\"|\"32k\"|\"64k\"|\"obs_pad\"|\"bdr_obs_exempt\"",
|
||||||
" Set number of bytes per DVD/BD write operation.",
|
" 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\"",
|
" -use_immed_bit \"on\"|\"off\"|\"default\"",
|
||||||
" Control whether long running SCSI commands shall run",
|
" Control whether long running SCSI commands shall run",
|
||||||
" asynchronously with progress messages.",
|
" 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);
|
sprintf(line,"-dvd_obs %s\n", mode);
|
||||||
if(!(is_default && no_defaults))
|
if(!(is_default && no_defaults))
|
||||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
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);
|
is_default= (xorriso->use_immed_bit == 0);
|
||||||
strcpy(line, "-use_immed_bit ");
|
strcpy(line, "-use_immed_bit ");
|
||||||
|
|
|
@ -186,7 +186,8 @@ int Xorriso_make_write_options(
|
||||||
#endif
|
#endif
|
||||||
burn_write_opts_set_dvd_obs(*burn_options, xorriso->dvd_obs);
|
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_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_stdio_fsync(*burn_options, xorriso->stdio_sync);
|
||||||
burn_write_opts_set_underrun_proof(*burn_options, 1);
|
burn_write_opts_set_underrun_proof(*burn_options, 1);
|
||||||
return(1);
|
return(1);
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
.\" First parameter, NAME, should be all caps
|
.\" First parameter, NAME, should be all caps
|
||||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||||
.\" other parameters are allowed: see man(7), man(1)
|
.\" 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.
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
.\"
|
.\"
|
||||||
.\" Some roff macros, for reference:
|
.\" Some roff macros, for reference:
|
||||||
|
@ -613,16 +613,27 @@ The default depends on media type, option stream_recording=, and on compile
|
||||||
time options.
|
time options.
|
||||||
.TP
|
.TP
|
||||||
\fB\--obs_pad\fR
|
\fB\--obs_pad\fR
|
||||||
Pad the data of last write operation of a DVD\-R[W] DAO session or
|
Pad the data of the last write operation of a DVD\-R[W] DAO session, or BD\-R
|
||||||
stdio: pseudo\-drive up to the full size of an output chunk.
|
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
|
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.
|
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
|
.br
|
||||||
Use this option if there is the suspicion that DAO sessions abort with
|
Use this option if there is the suspicion that DVD\-R[W] DAO or BD\-R sessions
|
||||||
your kernel and/or DVD drive, if their size is not a multiple of 16 blocks.
|
abort with your kernel and/or DVD drive, if their size is not a multiple of
|
||||||
|
16 blocks.
|
||||||
.br
|
.br
|
||||||
This option may also get enabled at compile time of libburn.
|
This option may also get enabled at compile time of libburn.
|
||||||
.TP
|
.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
|
\fBmodesty_on_drive=parameter[:parameters]\fR
|
||||||
Control whether the drive buffer shall be kept from getting completely filled.
|
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
|
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
|
latency problems. The default depends on media type, option
|
||||||
stream_recording=, and on compile time options.
|
stream_recording=, and on compile time options.
|
||||||
-obs_pad
|
-obs_pad
|
||||||
Pad the data of last write operation of a DVD-R[W] DAO session or
|
Pad the data of the last write operation of a DVD-R[W] DAO session,
|
||||||
stdio: pseudo-drive up to the full size of an output chunk. This
|
or BD-R session, or stdio: pseudo-drive session up to the full size
|
||||||
padding has to be applied automatically to the other DVD and BD
|
of an output chunk. This padding has to be applied automatically
|
||||||
media types, where it causes e.g. ISO images to have trailing
|
to the other DVD and BD media types, where it causes e.g. ISO
|
||||||
unclaimed blocks. .br Use this option if there is the suspicion
|
images to have trailing unclaimed blocks. Whether it is applied
|
||||||
that DAO sessions abort with your kernel and/or DVD drive, if their
|
automatically to BD-R depends on option --bdr_obs_exempt. .br Use
|
||||||
size is not a multiple of 16 blocks. .br This option may also get
|
this option if there is the suspicion that DVD-R[W] DAO or BD-R
|
||||||
enabled at compile time of libburn.
|
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]
|
modesty_on_drive=parameter[:parameters]
|
||||||
Control whether the drive buffer shall be kept from getting
|
Control whether the drive buffer shall be kept from getting
|
||||||
completely filled. Parameter "on" (or "1") keeps the program from
|
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
|
||||||
|