New -as cdrecord option --bdr_obs_exempt

This commit is contained in:
Thomas Schmitt 2021-09-12 11:33:50 +02:00
parent 58e7eb0877
commit 358262818e
5 changed files with 85 additions and 45 deletions

View File

@ -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) {

View File

@ -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

View File

@ -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
[index] [index]
* Menu: * Menu:
* --bdr_obs_exempt write transaction end padding: NonCdrecord.
(line 92)
* --devices get list of drives: DriveAddr. (line 8) * --devices get list of drives: DriveAddr. (line 8)
* --drive_not_exclusive use drive even if busy: NonCdrecord. (line 12) * --drive_not_exclusive use drive even if busy: NonCdrecord. (line 12)
* --grow_overwriteable_iso emulate ISO 9660 multi-session: NonCdrecord. * --grow_overwriteable_iso emulate ISO 9660 multi-session: NonCdrecord.
@ -929,7 +939,7 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -inq inquire drive identifiers: Inquire. (line 8) * -inq inquire drive identifiers: Inquire. (line 8)
* -isosize obtain track size from ISO 9660 superblock: SetBurn. * -isosize obtain track size from ISO 9660 superblock: SetBurn.
(line 137) (line 137)
* -modesty_on_drive keep drive buffer hungry: NonCdrecord. (line 90) * -modesty_on_drive keep drive buffer hungry: NonCdrecord. (line 98)
* -msinfo retrieve multi-session info: Inquire. (line 43) * -msinfo retrieve multi-session info: Inquire. (line 43)
* -multi keep media appendable after burn run: SetBurn. (line 89) * -multi keep media appendable after burn run: SetBurn. (line 89)
* -nopad disable adding of bytes to end of track: SetBurn. (line 151) * -nopad disable adding of bytes to end of track: SetBurn. (line 151)
@ -951,13 +961,13 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* minbuf= keep drive buffer hungry: SetBurn. (line 205) * minbuf= keep drive buffer hungry: SetBurn. (line 205)
* padsize= add bytes to end of track: SetBurn. (line 144) * padsize= add bytes to end of track: SetBurn. (line 144)
* speed= set write speed: SetBurn. (line 189) * speed= set write speed: SetBurn. (line 189)
* stdio_sync= control stdio buffer: NonCdrecord. (line 142) * stdio_sync= control stdio buffer: NonCdrecord. (line 150)
* stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord. * stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord.
(line 64) (line 64)
* tsize= set a fixed track size: SetBurn. (line 126) * tsize= set a fixed track size: SetBurn. (line 126)
* use_immed_bit= control use of Immed bit: NonCdrecord. (line 127) * use_immed_bit= control use of Immed bit: NonCdrecord. (line 135)
* write_start_address= set block address for write start: NonCdrecord. * write_start_address= set block address for write start: NonCdrecord.
(line 136) (line 144)
 
File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@ -969,7 +979,7 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Menu: * Menu:
* Accessing drive, wait for stdin, -waiti: SetBurn. (line 113) * Accessing drive, wait for stdin, -waiti: SetBurn. (line 113)
* Blank, format, Immed bit, use_immed_bit=: NonCdrecord. (line 127) * Blank, format, Immed bit, use_immed_bit=: NonCdrecord. (line 135)
* Bugs, reporting: Bugreport. (line 6) * Bugs, reporting: Bugreport. (line 6)
* Data track, announce, -data: SetBurn. (line 157) * Data track, announce, -data: SetBurn. (line 157)
* Defect management, control, stream_recording=: NonCdrecord. (line 64) * Defect management, control, stream_recording=: NonCdrecord. (line 64)
@ -1012,22 +1022,24 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Track size, obtain from ISO 9660, -isosize: SetBurn. (line 137) * Track size, obtain from ISO 9660, -isosize: SetBurn. (line 137)
* Track size, set fixed, tsize=: SetBurn. (line 126) * Track size, set fixed, tsize=: SetBurn. (line 126)
* Track, _definiton: Standards. (line 13) * Track, _definiton: Standards. (line 13)
* Transaction end padding, BD-R, -bdr_obs_exempt: NonCdrecord.
(line 92)
* Transaction end padding, enforce, -obs_pad: NonCdrecord. (line 81)
* Transaction size, set, dvd_obs=: NonCdrecord. (line 74) * Transaction size, set, dvd_obs=: NonCdrecord. (line 74)
* Transaction size, set, dvd_obs= <1>: NonCdrecord. (line 81)
* Tray, eject, -eject: SetBurn. (line 214) * Tray, eject, -eject: SetBurn. (line 214)
* Verbosity, increase, -v: Verbose. (line 16) * Verbosity, increase, -v: Verbose. (line 16)
* Verbosity, SCSI commands, -V: Verbose. (line 20) * Verbosity, SCSI commands, -V: Verbose. (line 20)
* Version, report, -version: Verbose. (line 8) * Version, report, -version: Verbose. (line 8)
* Write simulation , control, -dummy: SetBurn. (line 106) * Write simulation , control, -dummy: SetBurn. (line 106)
* Write start address, set, write_start_address=: NonCdrecord. * Write start address, set, write_start_address=: NonCdrecord.
(line 136) (line 144)
* Write type, SAO/DAO, -dao: SetBurn. (line 172) * Write type, SAO/DAO, -dao: SetBurn. (line 172)
* Write type, SAO/DAO, -sao: SetBurn. (line 168) * Write type, SAO/DAO, -sao: SetBurn. (line 168)
* Write type, TAO, -tao: SetBurn. (line 162) * Write type, TAO, -tao: SetBurn. (line 162)
* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 142) * Write, buffer syncing, stdio_sync=: NonCdrecord. (line 150)
* Write, drive buffer, -immed: SetBurn. (line 208) * Write, drive buffer, -immed: SetBurn. (line 208)
* Write, drive buffer, minbuf=: SetBurn. (line 205) * Write, drive buffer, minbuf=: SetBurn. (line 205)
* Write, drive buffer, modesty_on_drive=: NonCdrecord. (line 90) * Write, drive buffer, modesty_on_drive=: NonCdrecord. (line 98)
* xorriso, mkisofs emulation: Xorriso. (line 6) * xorriso, mkisofs emulation: Xorriso. (line 6)
* xorriso, options: Options. (line 6) * xorriso, options: Options. (line 6)
@ -1045,21 +1057,21 @@ Node: Inquire7618
Node: SetBurn10487 Node: SetBurn10487
Node: Verbose21111 Node: Verbose21111
Node: NonCdrecord22661 Node: NonCdrecord22661
Node: Examples31044 Node: Examples31491
Node: ExDevices31705 Node: ExDevices32152
Node: ExMedium31923 Node: ExMedium32370
Node: ExBlank32186 Node: ExBlank32633
Node: ExFormat32407 Node: ExFormat32854
Node: ExDeformat32925 Node: ExDeformat33372
Node: ExIsoSingle33192 Node: ExIsoSingle33639
Node: ExIsoMulti33476 Node: ExIsoMulti33923
Node: ExIsoFly35220 Node: ExIsoFly35667
Node: ExAfio36412 Node: ExAfio36859
Node: Files37410 Node: Files37857
Node: Seealso37966 Node: Seealso38413
Node: Bugreport38329 Node: Bugreport38776
Node: Legal38920 Node: Legal39367
Node: CommandIdx39849 Node: CommandIdx40296
Node: ConceptIdx43485 Node: ConceptIdx44068
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1) @c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRECORD 1 "Version 1.5.5, Aug 30, 2021" @c man .TH XORRECORD 1 "Version 1.5.5, Sep 12, 2021"
@c man .\" Please adjust this date whenever revising the manpage. @c man .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -832,17 +832,30 @@ time options.
@c man .TP @c man .TP
@item --obs_pad @item --obs_pad
@kindex --obs_pad write transaction end padding @kindex --obs_pad write transaction end padding
@cindex Transaction size, set, dvd_obs= @cindex Transaction end padding, enforce, --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, 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
@minus{}@minus{}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.
@c man .TP @c man .TP
@item --bdr_obs_exempt
@kindex --bdr_obs_exempt write transaction end padding
@cindex Transaction end padding, BD-R, --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.
@c man .TP
@item modesty_on_drive=parameter[:parameters] @item modesty_on_drive=parameter[:parameters]
@kindex -modesty_on_drive keep drive buffer hungry @kindex -modesty_on_drive keep drive buffer hungry
@cindex Write, drive buffer, modesty_on_drive= @cindex Write, drive buffer, modesty_on_drive=

View File

@ -1 +1 @@
#define Xorriso_timestamP "2021.09.12.092738" #define Xorriso_timestamP "2021.09.12.093333"