New -as cdrecord option --multi_if_possible

This commit is contained in:
Thomas Schmitt 2013-10-28 15:15:39 +00:00
parent baedbd5379
commit b587178ff1
5 changed files with 111 additions and 68 deletions

View File

@ -67,6 +67,7 @@ int Xorriso_cdrskin_help(struct XorrisO *xorriso, int flag)
"\t-toc\t\tretrieve and print TOC/PMA data",
"\t-atip\t\tretrieve media state, print \"Is *erasable\"",
"\t-multi\t\tgenerate a TOC that allows multi session",
"\t--multi_if_possible\tapply -multi if the medium supports it",
"\t-waiti\t\twait until input is available before opening SCSI",
"\t-tao\t\tWrite disk in TAO mode.",
"\t-dao\t\tWrite disk in SAO mode.",
@ -108,6 +109,7 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
int do_atip= 0, do_checkdrive= 0, do_eject= 0, do_scanbus= 0;
int do_toc= 0, do_verbous= 0, do_version= 0, do_help= 0, do_waiti= 0;
int do_multi= 0, do_msinfo= 0, do_grow= 0, do_isosize= 0, do_xa1= 0;
int do_auto_close= 0;
double write_start_address= -1.0, tsize= -1.0, mem_auto_close;
char *track_source= NULL, *dev_adr= NULL, *cpt;
char mem_report_about_text[80], *report_about= "SORRY", blank_mode[80];
@ -298,6 +300,10 @@ no_volunteer:;
do_msinfo= 1;
} else if(strcmp(argpt, "-multi")==0) {
do_multi= 1;
do_auto_close= 0;
} else if(strcmp(argv[i], "--multi_if_possible") == 0) {
do_multi= 1;
do_auto_close= 1;
} else if(strcmp(argpt, "-nopad")==0) {
xorriso->padding= 0;
} else if(strcmp(argv[i], "--no_rc")==0) { /* intentional: argv[i] */
@ -511,10 +517,15 @@ no_volunteer:;
}
if(track_source[0]) {
xorriso->do_close= !do_multi;
xorriso->auto_close= 0;
xorriso->auto_close= do_auto_close;
ret= Xorriso_burn_track(xorriso, (off_t) write_start_address,
track_source, (off_t) tsize,
(!!do_grow) | ((!!do_isosize) << 1) | ((do_xa1 == 1) << 2));
if(ret == 2) {
ret= Xorriso_retry_burn_track(xorriso, (off_t) write_start_address,
track_source, (off_t) tsize,
(!!do_grow) | ((!!do_isosize) << 1) | ((do_xa1 == 1) << 2));
}
aq_ret= Xorriso_reaquire_outdev(xorriso, 2*(ret>0));
if(ret<=0 && ret<aq_ret)
goto ex;

View File

@ -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.3.3, Aug 07, 2013"
.TH XORRECORD 1 "Version 1.3.3, Oct 27, 2013"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -333,8 +333,9 @@ after the current session has been written.
Without it the disc gets closed and may not be written any more \- unless it
is a \-RW and gets blanked, which causes loss of its content.
.br
This option cannot be applied to DVD\-R DL and DVD\-RW which were blanked
by type deformat_quickest.
This option cannot be applied to DVD\-R DL or to DVD\-RW which were blanked
by mode "deformat_quickest". Option \-\-multi_if_possible
may automatically recognize and handle this situation.
.br
In order to have all filesystem content accessible, the eventual ISO\-9660
filesystem of a follow\-up
@ -539,6 +540,14 @@ appendable rather than as blank. I.e. options \-msinfo and \-toc will work.
\-toc will always show a single session with its size increasing with
every added ISO 9660 image.
.TP
\fB--multi_if_possible\fR
Apply option \-multi if the medium is suitable. Not suitable are DVD\-R DL
and DVD\-RW, which were blanked with mode "deformat_quickest".
.br
Not all drives correctly recognize such fast\-blanked DVD\-RW which need "on".
If there is well founded suspicion that a burn run failed due to
\-multi, then this causes a re\-try without \-multi.
.TP
\fBstream_recording="on"|"off"|number\fR
Mode "on" requests that compliance to the desired speed setting is
preferred over management of write errors. With DVD\-RAM and BD this can

View File

@ -335,8 +335,9 @@ blank=mode
appendable after the current session has been written. Without it
the disc gets closed and may not be written any more - unless it
is a -RW and gets blanked, which causes loss of its content.
This option cannot be applied to DVD-R DL and DVD-RW which were
blanked by type deformat_quickest.
This option cannot be applied to DVD-R DL or to DVD-RW which were
blanked by mode "deformat_quickest". Option -multi_if_possible may
automatically recognize and handle this situation.
In order to have all filesystem content accessible, the eventual
ISO-9660 filesystem of a follow-up session needs to be prepared in
a special way by the filesystem formatter program. mkisofs,
@ -533,6 +534,14 @@ File: xorrecord.info, Node: NonCdrecord, Next: ExDevices, Prev: Verbous, Up:
single session with its size increasing with every added ISO 9660
image.
--multi_if_possible
Apply option -multi if the medium is suitable. Not suitable are
DVD-R DL and DVD-RW, which were blanked with mode
"deformat_quickest".
Not all drives correctly recognize such fast-blanked DVD-RW which
need "on". If there is well founded suspicion that a burn run
failed due to -multi, then this causes a re-try without -multi.
stream_recording="on"|"off"|number
Mode "on" requests that compliance to the desired speed setting is
preferred over management of write errors. With DVD-RAM and BD
@ -828,42 +837,44 @@ File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --devices get list of drives: DriveAddr. (line 8)
* --grow_overwriteable_iso emulate ISO 9660 multi-session: NonCdrecord.
(line 13)
* --multi_if_possible apply -multi if medium is suitable: NonCdrecord.
(line 35)
* --no_rc do not execute xorriso startup files: NonCdrecord.
(line 8)
* -atip inquire medium state: Inquire. (line 16)
* -checkdrive inquire drive CD capabilities: Inquire. (line 12)
* -dao explicitely set write type SAO/DAO: SetBurn. (line 177)
* -data explicitely announce a data track: SetBurn. (line 159)
* -dummy control write simulation: SetBurn. (line 101)
* -eject finally eject drive tray: SetBurn. (line 213)
* -dao explicitely set write type SAO/DAO: SetBurn. (line 178)
* -data explicitely announce a data track: SetBurn. (line 160)
* -dummy control write simulation: SetBurn. (line 102)
* -eject finally eject drive tray: SetBurn. (line 214)
* -help print sparse overview of options: Verbous. (line 33)
* -inq inquire drive identifiers: Inquire. (line 8)
* -isosize obtain track size from ISO 9660 superblock: SetBurn.
(line 135)
(line 136)
* -msinfo retrieve multi-session info: Inquire. (line 48)
* -multi keep media appendable after burn run: SetBurn. (line 84)
* -nopad disable adding of bytes to end of track: SetBurn. (line 151)
* -pad add 15 blocks to end of track: SetBurn. (line 154)
* -sao explicitely set write type SAO/DAO: SetBurn. (line 172)
* -tao explicitely set write type TAO: SetBurn. (line 165)
* -nopad disable adding of bytes to end of track: SetBurn. (line 152)
* -pad add 15 blocks to end of track: SetBurn. (line 155)
* -sao explicitely set write type SAO/DAO: SetBurn. (line 173)
* -tao explicitely set write type TAO: SetBurn. (line 166)
* -toc inquire medium content: Inquire. (line 25)
* -v increase program verbosity: Verbous. (line 17)
* -V log SCSI command transactions to stderr: Verbous. (line 22)
* -version report emulation and xorriso version: Verbous. (line 8)
* -waiti access drive only after stdin delivers data: SetBurn.
(line 109)
(line 110)
* blank= make media re-usabable or format media: SetBurn. (line 27)
* dev= address the drive to be used: DriveAddr. (line 22)
* dvd_obs= set write transaction payload size: NonCdrecord. (line 46)
* fs= set program fifo size: SetBurn. (line 180)
* padsize= add bytes to end of track: SetBurn. (line 143)
* speed= set write speed: SetBurn. (line 196)
* stdio_sync= control stdio buffer: NonCdrecord. (line 61)
* dvd_obs= set write transaction payload size: NonCdrecord. (line 54)
* fs= set program fifo size: SetBurn. (line 181)
* padsize= add bytes to end of track: SetBurn. (line 144)
* speed= set write speed: SetBurn. (line 197)
* stdio_sync= control stdio buffer: NonCdrecord. (line 69)
* stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord.
(line 35)
* tsize= set a fixed track size: SetBurn. (line 123)
(line 43)
* tsize= set a fixed track size: SetBurn. (line 124)
* write_start_address= set block address for write start: NonCdrecord.
(line 54)
(line 62)

File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@ -874,22 +885,23 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
[index]
* Menu:
* Accessing drive, wait for stdin, -waiti: SetBurn. (line 109)
* Accessing drive, wait for stdin, -waiti: SetBurn. (line 110)
* Bugs, reporting: Bugreport. (line 6)
* Data track, announce, -data: SetBurn. (line 159)
* Defect management, control, stream_recording=: NonCdrecord. (line 35)
* Data track, announce, -data: SetBurn. (line 160)
* Defect management, control, stream_recording=: NonCdrecord. (line 43)
* Drive, address, dev=: DriveAddr. (line 22)
* Drive, get list of, --devices: DriveAddr. (line 8)
* Drive, inquire CD capabilities, -checkdrive: Inquire. (line 12)
* Drive, inquire identifiers, -inq: Inquire. (line 8)
* Eject, the tray, -eject: SetBurn. (line 213)
* Eject, the tray, -eject: SetBurn. (line 214)
* Examples: Examples. (line 6)
* Fifo, set size, fs=: SetBurn. (line 180)
* Fifo, set size, fs=: SetBurn. (line 181)
* Full speed, on DVD-RAM and BD, stream_recording=: NonCdrecord.
(line 35)
(line 43)
* Media types, _definiton: Standards. (line 23)
* Media, blank, blank=: SetBurn. (line 27)
* Media, format, blank=: SetBurn. (line 27)
* Media, keep appendable, --multi_if_possible: NonCdrecord. (line 35)
* Media, keep appendable, -multi: SetBurn. (line 84)
* Media, make re-usable, blank=: SetBurn. (line 27)
* medium content, inquire, -toc: Inquire. (line 25)
@ -900,30 +912,30 @@ File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 13)
* Options, overview, -help: Verbous. (line 33)
* Overwritable media, _definiton: Standards. (line 30)
* Padding, at end of track, padsize=: SetBurn. (line 143)
* Padding, disable, -nopad: SetBurn. (line 151)
* Padding, insufficient old, -pad: SetBurn. (line 154)
* Padding, at end of track, padsize=: SetBurn. (line 144)
* Padding, disable, -nopad: SetBurn. (line 152)
* Padding, insufficient old, -pad: SetBurn. (line 155)
* Problems, reporting: Bugreport. (line 6)
* SCSI commands, log, -V: Verbous. (line 22)
* Sequentially recordable media, _definiton: Standards. (line 25)
* Session, _definiton: Standards. (line 12)
* Speed, set for writing, speed=: SetBurn. (line 196)
* Speed, set for writing, speed=: SetBurn. (line 197)
* Startup files, do not execute, --no_rc: NonCdrecord. (line 8)
* Track size, obtain from ISO 9660, -isosize: SetBurn. (line 135)
* Track size, set fixed, tsize=: SetBurn. (line 123)
* Track size, obtain from ISO 9660, -isosize: SetBurn. (line 136)
* Track size, set fixed, tsize=: SetBurn. (line 124)
* Track, _definiton: Standards. (line 13)
* Transaction size, set, dvd_obs=: NonCdrecord. (line 46)
* Tray, eject, -eject: SetBurn. (line 213)
* Transaction size, set, dvd_obs=: NonCdrecord. (line 54)
* Tray, eject, -eject: SetBurn. (line 214)
* Verbosity, increase, -v: Verbous. (line 17)
* Verbosity, SCSI commands, -V: Verbous. (line 22)
* Version, report, -version: Verbous. (line 8)
* Write simulation , control, -dummy: SetBurn. (line 101)
* Write simulation , control, -dummy: SetBurn. (line 102)
* Write start address, set, write_start_address=: NonCdrecord.
(line 54)
* Write type, SAO/DAO, -dao: SetBurn. (line 177)
* Write type, SAO/DAO, -sao: SetBurn. (line 172)
* Write type, TAO, -tao: SetBurn. (line 165)
* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 61)
(line 62)
* Write type, SAO/DAO, -dao: SetBurn. (line 178)
* Write type, SAO/DAO, -sao: SetBurn. (line 173)
* Write type, TAO, -tao: SetBurn. (line 166)
* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 69)
* xorriso, mkisofs emulation: Xorriso. (line 6)
* xorriso, options: Options. (line 6)
@ -939,23 +951,23 @@ Node: Options5872
Node: DriveAddr6240
Node: Inquire7566
Node: SetBurn10436
Node: Verbous20646
Node: NonCdrecord22196
Node: Examples25362
Node: ExDevices26023
Node: ExMedium26241
Node: ExBlank26504
Node: ExFormat26725
Node: ExDeformat27239
Node: ExIsoSingle27506
Node: ExIsoMulti27790
Node: ExIsoFly29396
Node: ExAfio30059
Node: Files31040
Node: Seealso31587
Node: Bugreport31952
Node: Legal32533
Node: CommandIdx33460
Node: ConceptIdx36446
Node: Verbous20736
Node: NonCdrecord22286
Node: Examples25831
Node: ExDevices26492
Node: ExMedium26710
Node: ExBlank26973
Node: ExFormat27194
Node: ExDeformat27708
Node: ExIsoSingle27975
Node: ExIsoMulti28259
Node: ExIsoFly29865
Node: ExAfio30528
Node: Files31509
Node: Seealso32056
Node: Bugreport32421
Node: Legal33002
Node: CommandIdx33929
Node: ConceptIdx37061

End Tag Table

View File

@ -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.3.3, Aug 07, 2013"
@c man .TH XORRECORD 1 "Version 1.3.3, Oct 27, 2013"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -229,7 +229,7 @@ options does not matter.
All pending actions get performed in a fixed sequence before the program
run ends resp. before cdrecord emulation ends.
@c man .SS
@node Options, Examples, Xorriso, top
@node Options, Examples, Xorriso, Top
@chapter Options
@cindex xorriso, options
@c man .br
@ -484,8 +484,9 @@ after the current session has been written.
Without it the disc gets closed and may not be written any more - unless it
is a -RW and gets blanked, which causes loss of its content.
@*
This option cannot be applied to DVD-R DL and DVD-RW which were blanked
by type deformat_quickest.
This option cannot be applied to DVD-R DL or to DVD-RW which were blanked
by mode "deformat_quickest". Option --multi_if_possible
may automatically recognize and handle this situation.
@*
In order to have all filesystem content accessible, the eventual ISO-9660
filesystem of a follow-up
@ -742,6 +743,16 @@ appendable rather than as blank. I.e. options -msinfo and -toc will work.
-toc will always show a single session with its size increasing with
every added ISO 9660 image.
@c man .TP
@item @minus{}@minus{}multi_if_possible
@kindex @minus{}@minus{}multi_if_possible apply -multi if medium is suitable
@cindex Media, keep appendable, @minus{}@minus{}multi_if_possible
Apply option -multi if the medium is suitable. Not suitable are DVD-R DL
and DVD-RW, which were blanked with mode "deformat_quickest".
@*
Not all drives correctly recognize such fast-blanked DVD-RW which need "on".
If there is well founded suspicion that a burn run failed due to
-multi, then this causes a re-try without -multi.
@c man .TP
@item stream_recording="on"|"off"|number
@kindex stream_recording= try to get full speed on DVD-RAM, BD
@cindex Full speed, on DVD-RAM and BD, stream_recording=
@ -1078,7 +1089,7 @@ Compliments towards Joerg Schilling whose cdrtools served me for ten years.
@chapter Alphabetic Command List
@printindex ky
@node ConceptIdx,, CommandIdx, top
@node ConceptIdx,, CommandIdx, Top
@chapter Alphabetic List of Concepts and Objects
@printindex cp

View File

@ -1 +1 @@
#define Xorriso_timestamP "2013.10.28.150924"
#define Xorriso_timestamP "2013.10.28.151434"