New -as cdrecord option --obs_pad. Automatic no_emul_toc with -as cdrecord.
This commit is contained in:
parent
e489c877bd
commit
3f2b61932b
@ -3,7 +3,7 @@
|
||||
|
||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||
|
||||
Copyright 2007-2020 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
|
||||
Provided under GPL version 2 or later.
|
||||
|
||||
@ -264,6 +264,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
m->alignment= 0;
|
||||
m->do_stream_recording= 0;
|
||||
m->dvd_obs= 0;
|
||||
m->do_obs_pad= 0;
|
||||
m->modesty_on_drive= 0;
|
||||
m->min_buffer_usec= 5000;
|
||||
m->max_buffer_usec= 25000;
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||
|
||||
Copyright 2007-2020 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
|
||||
Provided under GPL version 2 or later.
|
||||
|
||||
@ -81,13 +81,14 @@ int Xorriso_cdrskin_help(struct XorrisO *xorriso, int flag)
|
||||
"\t-pad\t\tpadsize=30k",
|
||||
"\t-nopad\t\tDo not pad",
|
||||
"\tminbuf=\t\tKeep drive buffer hungry",
|
||||
"\tmodesty_on_drive=\tLike minbuf=, but with more parameters",
|
||||
"\t-immed\t\tEquivalent to minbuf=75",
|
||||
"\tmodesty_on_drive=\tLike minbuf=, but with more parameters",
|
||||
"\t--grow_overwriteable_iso\temulate multi-session on DVD+RW, BD-RE",
|
||||
"\twrite_start_address=#\t\twrite to byte address on DVD+RW, BD-RE",
|
||||
"\tstream_recording=on|number\ttry to get full speed on DVD-RAM, BD",
|
||||
"\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",
|
||||
"\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",
|
||||
@ -290,6 +291,8 @@ no_volunteer:;
|
||||
strncmp(argpt, "dvd_obs=", 8)==0) {
|
||||
cpt= strchr(argpt, '=') + 1;
|
||||
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(argpt, "-eject")==0) {
|
||||
do_eject= 1;
|
||||
} else if(strncmp(argpt, "-fs=", 4)==0 || strncmp(argpt, "fs=", 3)==0) {
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||
|
||||
Copyright 2007-2020 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
|
||||
Provided under GPL version 2 or later.
|
||||
|
||||
@ -185,6 +185,7 @@ int Xorriso_make_write_options(
|
||||
else
|
||||
#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_stdio_fsync(*burn_options, xorriso->stdio_sync);
|
||||
burn_write_opts_set_underrun_proof(*burn_options, 1);
|
||||
@ -194,6 +195,7 @@ int Xorriso_make_write_options(
|
||||
|
||||
/* @param flag bit0= do not write but only prepare and return size in sectors
|
||||
bit1= do not use isoburn wrappers, do not assume libisofs
|
||||
bit2= no_emul_toc : do not pad random access media to full 64 KB
|
||||
*/
|
||||
int Xorriso_sanitize_image_size(struct XorrisO *xorriso,
|
||||
struct burn_drive *drive, struct burn_disc *disc,
|
||||
@ -236,7 +238,7 @@ no_track:;
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
}
|
||||
}
|
||||
if(xorriso->alignment == 0 && ! (xorriso->no_emul_toc & 1)) {
|
||||
if(xorriso->alignment == 0 && !((xorriso->no_emul_toc & 1) || flag & 4)) {
|
||||
ret= isoburn_needs_emulation(drive);
|
||||
if(ret > 0) {
|
||||
/* Take care that the session is padded up to the future NWA.
|
||||
@ -2398,7 +2400,7 @@ int Xorriso_burn_track(struct XorrisO *xorriso, off_t write_start_address,
|
||||
}
|
||||
}
|
||||
|
||||
ret= Xorriso_sanitize_image_size(xorriso, drive, disc, burn_options, 2);
|
||||
ret= Xorriso_sanitize_image_size(xorriso, drive, disc, burn_options, 2 | 4);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
|
||||
|
@ -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, Jan 30, 2021"
|
||||
.TH XORRECORD 1 "Version 1.5.5, Aug 30, 2021"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -605,12 +605,23 @@ 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".
|
||||
.TP
|
||||
\fBdvd_obs="default"|"32k"|"64k"\fR
|
||||
Linux specific:
|
||||
Set the number of bytes to be transmitted with each write operation to DVD
|
||||
or BD media. Tracks get padded up to the next multiple of this write
|
||||
size. A number of 64 KB may improve throughput with bus systems which
|
||||
show latency problems. The default depends on media type, option
|
||||
stream_recording=, and on compile time options.
|
||||
or BD media. With most write types, tracks get padded up to the next
|
||||
multiple of this write size (see option \-\-obs_pad). A number of 64 KB may
|
||||
improve throughput with bus systems which show latency problems.
|
||||
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.
|
||||
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.
|
||||
.TP
|
||||
\fBmodesty_on_drive=parameter[:parameters]\fR
|
||||
Control whether the drive buffer shall be kept from getting completely filled.
|
||||
|
@ -564,12 +564,21 @@ stream_recording="on"|"off"|number
|
||||
byte addresses below that number. Any number below 16s is the same
|
||||
as "off".
|
||||
dvd_obs="default"|"32k"|"64k"
|
||||
Linux specific: Set the number of bytes to be transmitted with each
|
||||
write operation to DVD or BD media. Tracks get padded up to the
|
||||
next multiple of this write size. A number of 64 KB may improve
|
||||
throughput with bus systems which show latency problems. The
|
||||
default depends on media type, option stream_recording=, and on
|
||||
compile time options.
|
||||
Set the number of bytes to be transmitted with each write operation
|
||||
to DVD or BD media. With most write types, tracks get padded up to
|
||||
the next multiple of this write size (see option -obs_pad). A
|
||||
number of 64 KB may improve throughput with bus systems which show
|
||||
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.
|
||||
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
|
||||
@ -908,6 +917,7 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
|
||||
* --multi_if_possible apply -multi if medium is suitable: NonCdrecord.
|
||||
(line 57)
|
||||
* --no_rc do not execute xorriso startup files: NonCdrecord. (line 8)
|
||||
* --obs_pad write transaction end padding: NonCdrecord. (line 81)
|
||||
* -atip inquire medium state: Inquire. (line 14)
|
||||
* -checkdrive inquire drive CD capabilities: Inquire. (line 11)
|
||||
* -dao explicitly set write type SAO/DAO: SetBurn. (line 172)
|
||||
@ -919,7 +929,7 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
|
||||
* -inq inquire drive identifiers: Inquire. (line 8)
|
||||
* -isosize obtain track size from ISO 9660 superblock: SetBurn.
|
||||
(line 137)
|
||||
* -modesty_on_drive keep drive buffer hungry: NonCdrecord. (line 81)
|
||||
* -modesty_on_drive keep drive buffer hungry: NonCdrecord. (line 90)
|
||||
* -msinfo retrieve multi-session info: Inquire. (line 43)
|
||||
* -multi keep media appendable after burn run: SetBurn. (line 89)
|
||||
* -nopad disable adding of bytes to end of track: SetBurn. (line 151)
|
||||
@ -941,13 +951,13 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
|
||||
* minbuf= keep drive buffer hungry: SetBurn. (line 205)
|
||||
* padsize= add bytes to end of track: SetBurn. (line 144)
|
||||
* speed= set write speed: SetBurn. (line 189)
|
||||
* stdio_sync= control stdio buffer: NonCdrecord. (line 133)
|
||||
* stdio_sync= control stdio buffer: NonCdrecord. (line 142)
|
||||
* stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord.
|
||||
(line 64)
|
||||
* tsize= set a fixed track size: SetBurn. (line 126)
|
||||
* use_immed_bit= control use of Immed bit: NonCdrecord. (line 118)
|
||||
* use_immed_bit= control use of Immed bit: NonCdrecord. (line 127)
|
||||
* write_start_address= set block address for write start: NonCdrecord.
|
||||
(line 127)
|
||||
(line 136)
|
||||
|
||||
|
||||
File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
@ -959,7 +969,7 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Menu:
|
||||
|
||||
* Accessing drive, wait for stdin, -waiti: SetBurn. (line 113)
|
||||
* Blank, format, Immed bit, use_immed_bit=: NonCdrecord. (line 118)
|
||||
* Blank, format, Immed bit, use_immed_bit=: NonCdrecord. (line 127)
|
||||
* Bugs, reporting: Bugreport. (line 6)
|
||||
* Data track, announce, -data: SetBurn. (line 157)
|
||||
* Defect management, control, stream_recording=: NonCdrecord. (line 64)
|
||||
@ -1003,20 +1013,21 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Track size, set fixed, tsize=: SetBurn. (line 126)
|
||||
* Track, _definiton: Standards. (line 13)
|
||||
* Transaction size, set, dvd_obs=: NonCdrecord. (line 74)
|
||||
* Transaction size, set, dvd_obs= <1>: NonCdrecord. (line 81)
|
||||
* Tray, eject, -eject: SetBurn. (line 214)
|
||||
* Verbosity, increase, -v: Verbose. (line 16)
|
||||
* Verbosity, SCSI commands, -V: Verbose. (line 20)
|
||||
* Version, report, -version: Verbose. (line 8)
|
||||
* Write simulation , control, -dummy: SetBurn. (line 106)
|
||||
* Write start address, set, write_start_address=: NonCdrecord.
|
||||
(line 127)
|
||||
(line 136)
|
||||
* Write type, SAO/DAO, -dao: SetBurn. (line 172)
|
||||
* Write type, SAO/DAO, -sao: SetBurn. (line 168)
|
||||
* Write type, TAO, -tao: SetBurn. (line 162)
|
||||
* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 133)
|
||||
* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 142)
|
||||
* Write, drive buffer, -immed: SetBurn. (line 208)
|
||||
* Write, drive buffer, minbuf=: SetBurn. (line 205)
|
||||
* Write, drive buffer, modesty_on_drive=: NonCdrecord. (line 81)
|
||||
* Write, drive buffer, modesty_on_drive=: NonCdrecord. (line 90)
|
||||
* xorriso, mkisofs emulation: Xorriso. (line 6)
|
||||
* xorriso, options: Options. (line 6)
|
||||
|
||||
@ -1034,21 +1045,21 @@ Node: Inquire7618
|
||||
Node: SetBurn10487
|
||||
Node: Verbose21111
|
||||
Node: NonCdrecord22661
|
||||
Node: Examples30471
|
||||
Node: ExDevices31132
|
||||
Node: ExMedium31350
|
||||
Node: ExBlank31613
|
||||
Node: ExFormat31834
|
||||
Node: ExDeformat32352
|
||||
Node: ExIsoSingle32619
|
||||
Node: ExIsoMulti32903
|
||||
Node: ExIsoFly34647
|
||||
Node: ExAfio35839
|
||||
Node: Files36837
|
||||
Node: Seealso37393
|
||||
Node: Bugreport37756
|
||||
Node: Legal38347
|
||||
Node: CommandIdx39276
|
||||
Node: ConceptIdx42839
|
||||
Node: Examples31044
|
||||
Node: ExDevices31705
|
||||
Node: ExMedium31923
|
||||
Node: ExBlank32186
|
||||
Node: ExFormat32407
|
||||
Node: ExDeformat32925
|
||||
Node: ExIsoSingle33192
|
||||
Node: ExIsoMulti33476
|
||||
Node: ExIsoFly35220
|
||||
Node: ExAfio36412
|
||||
Node: Files37410
|
||||
Node: Seealso37966
|
||||
Node: Bugreport38329
|
||||
Node: Legal38920
|
||||
Node: CommandIdx39849
|
||||
Node: ConceptIdx43485
|
||||
|
||||
End Tag Table
|
||||
|
@ -50,7 +50,7 @@
|
||||
@c man .\" First parameter, NAME, should be all caps
|
||||
@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 .TH XORRECORD 1 "Version 1.5.5, Jan 30, 2021"
|
||||
@c man .TH XORRECORD 1 "Version 1.5.5, Aug 30, 2021"
|
||||
@c man .\" Please adjust this date whenever revising the manpage.
|
||||
@c man .\"
|
||||
@c man .\" Some roff macros, for reference:
|
||||
@ -823,12 +823,25 @@ addresses below that number. Any number below 16s is the same as "off".
|
||||
@item dvd_obs="default"|"32k"|"64k"
|
||||
@kindex dvd_obs= set write transaction payload size
|
||||
@cindex Transaction size, set, dvd_obs=
|
||||
Linux specific:
|
||||
Set the number of bytes to be transmitted with each write operation to DVD
|
||||
or BD media. Tracks get padded up to the next multiple of this write
|
||||
size. A number of 64 KB may improve throughput with bus systems which
|
||||
show latency problems. The default depends on media type, option
|
||||
stream_recording=, and on compile time options.
|
||||
or BD media. With most write types, tracks get padded up to the next
|
||||
multiple of this write size (see option --obs_pad). A number of 64 KB may
|
||||
improve throughput with bus systems which show latency problems.
|
||||
The default depends on media type, option stream_recording=, and on compile
|
||||
time options.
|
||||
@c man .TP
|
||||
@item --obs_pad
|
||||
@kindex --obs_pad write transaction end padding
|
||||
@cindex Transaction size, set, dvd_obs=
|
||||
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.
|
||||
@c man .TP
|
||||
@item modesty_on_drive=parameter[:parameters]
|
||||
@kindex -modesty_on_drive keep drive buffer hungry
|
||||
|
@ -2,7 +2,7 @@
|
||||
/* Command line oriented batch and dialog tool which creates, loads,
|
||||
manipulates and burns ISO 9660 filesystem images.
|
||||
|
||||
Copyright 2007-2020 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
|
||||
Provided under GPL version 2 or later.
|
||||
|
||||
@ -406,6 +406,7 @@ struct XorrisO { /* the global context of xorriso */
|
||||
>=16 means yes with number as start LBA */
|
||||
|
||||
int dvd_obs; /* DVD write chunk size: 0, 32k or 64k */
|
||||
int do_obs_pad; /* 1= pad up end on all media types */
|
||||
|
||||
int modesty_on_drive; /* "enable" of burn_drive_set_buffer_waiting()
|
||||
0= disable , 1= enable waiting ,
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2021.08.30.094939"
|
||||
#define Xorriso_timestamP "2021.08.30.103430"
|
||||
|
Loading…
Reference in New Issue
Block a user