Improved error messages if DVD-RW media can only be written with -close on
This commit is contained in:
parent
96cc0a529c
commit
f319668212
@ -58,6 +58,60 @@
|
||||
#include "write_run.h"
|
||||
|
||||
|
||||
/* @param flag bit0= talk of -as cdrecord -multi rather than of -close
|
||||
*/
|
||||
int Xorriso_check_multi(struct XorrisO *xorriso, struct burn_drive *drive,
|
||||
int flag)
|
||||
{
|
||||
int profile_no= 0, ret;
|
||||
struct burn_multi_caps *caps= NULL;
|
||||
char profile_name[80];
|
||||
|
||||
if(!xorriso->do_close) {
|
||||
burn_disc_get_profile(drive, &profile_no, profile_name);
|
||||
if(profile_no == 0x14) { /* DVD-RW sequential */
|
||||
ret= burn_disc_get_multi_caps(drive, BURN_WRITE_TAO, &caps, 0);
|
||||
if(caps != NULL)
|
||||
burn_disc_free_multi_caps(&caps);
|
||||
if(ret == 0) {
|
||||
if(flag & 1) {
|
||||
sprintf(xorriso->info_text,
|
||||
"This DVD-RW media can only be written without option -multi");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
sprintf(xorriso->info_text,
|
||||
"Possibly it was blanked by blank=deformat_quickest");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "HINT", 0);
|
||||
sprintf(xorriso->info_text,
|
||||
"After writing a session without -multi, apply blank=all");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "HINT", 0);
|
||||
} else {
|
||||
sprintf(xorriso->info_text,
|
||||
"This DVD-RW media can only be written with -close \"on\"");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
sprintf(xorriso->info_text,
|
||||
"Possibly it was blanked by -blank \"deformat_quickest\"");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "HINT", 0);
|
||||
sprintf(xorriso->info_text,
|
||||
"After writing a session with -closed \"on\", apply -blank \"all\"");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "HINT", 0);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
} else if(profile_no == 0x15) { /* DVD-RW DL */
|
||||
if(flag & 1)
|
||||
sprintf(xorriso->info_text,
|
||||
"DVD-R DL media can only be written without option -multi");
|
||||
else
|
||||
sprintf(xorriso->info_text,
|
||||
"DVD-R DL media can only be written with -close \"on\"");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
int Xorriso_make_write_options(
|
||||
struct XorrisO *xorriso, struct burn_drive *drive,
|
||||
struct burn_write_opts **burn_options, int flag)
|
||||
@ -634,6 +688,10 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
else if(ret == 3)
|
||||
pacifier_speed= 2;
|
||||
|
||||
ret= Xorriso_check_multi(xorriso, drive, 0);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
|
||||
ret= isoburn_igopt_new(&sopts, 0);
|
||||
if(ret<=0) {
|
||||
Xorriso_process_msg_queues(xorriso, 0);
|
||||
@ -1668,6 +1726,10 @@ int Xorriso_burn_track(struct XorrisO *xorriso, off_t write_start_address,
|
||||
"on attempt to burn track", 2);
|
||||
if(ret<=0)
|
||||
{ret= 0; goto ex;}
|
||||
|
||||
ret= Xorriso_check_multi(xorriso, drive, 1);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
ret= Xorriso_make_write_options(xorriso, drive, &burn_options, 0);
|
||||
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 XORRISO 1 "Version 1.0.9, May 16, 2011"
|
||||
.TH XORRISO 1 "Version 1.0.9, May 29, 2011"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -1978,7 +1978,10 @@ overwriteable ISO images. "all" might work more thoroughly and need more time.
|
||||
.br
|
||||
"deformat_quickest" is a faster way to deformat or blank DVD\-RW
|
||||
but produces media which are only suitable for a single session.
|
||||
\fBxorriso\fR will write onto them only if option \-close is set to "on".
|
||||
Some drives announce this state by not offering feature 21h,
|
||||
but some drives offer it anyway.
|
||||
If feature 21h is missing, then \fBxorriso\fR
|
||||
will refuse to write on DVD\-RW if not option \-close is set to "on".
|
||||
.br
|
||||
The progress reports issued by some drives while blanking are
|
||||
quite unrealistic. Do not conclude success or failure from the
|
||||
|
@ -1769,8 +1769,10 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Options
|
||||
"deformat" converts overwriteable DVD-RW into unformatted ones.
|
||||
"deformat_quickest" is a faster way to deformat or blank DVD-RW
|
||||
but produces media which are only suitable for a single session.
|
||||
`xorriso' will write onto them only if option -close is set to
|
||||
"on".
|
||||
Some drives announce this state by not offering feature 21h, but
|
||||
some drives offer it anyway. If feature 21h is missing, then
|
||||
`xorriso' will refuse to write on DVD-RW if not option -close is
|
||||
set to "on".
|
||||
The progress reports issued by some drives while blanking are
|
||||
quite unrealistic. Do not conclude success or failure from the
|
||||
reported percentages. Blanking was successful if no SORRY event or
|
||||
@ -4234,7 +4236,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -findx traverses disk tree: Navigate. (line 105)
|
||||
* -follow softlinks and mount points: SetInsert. (line 76)
|
||||
* -for_backup -acl,-xattr,-hardlinks,-md5: Loading. (line 184)
|
||||
* -format formats media: Writing. (line 70)
|
||||
* -format formats media: Writing. (line 72)
|
||||
* -fs sets size of fifo: SetWrite. (line 255)
|
||||
* -getfacl shows ACL in ISO image: Navigate. (line 69)
|
||||
* -getfacl_r shows ACL in ISO image: Navigate. (line 76)
|
||||
@ -4252,8 +4254,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -jigdo clears JTE or or adds parameter to JTE: Jigdo. (line 34)
|
||||
* -joliet enables production of Joliet tree: SetWrite. (line 10)
|
||||
* -list_delimiter replaces '--': Scripting. (line 42)
|
||||
* -list_formats lists available formats: Writing. (line 108)
|
||||
* -list_profiles lists supported media: Writing. (line 120)
|
||||
* -list_formats lists available formats: Writing. (line 110)
|
||||
* -list_profiles lists supported media: Writing. (line 122)
|
||||
* -load addresses a particular session as input: Loading. (line 11)
|
||||
* -local_charset sets terminal character set: Charset. (line 47)
|
||||
* -logfile logs output channels to file: Frontend. (line 20)
|
||||
@ -4416,7 +4418,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Drive, for input, -indev: AqDrive. (line 22)
|
||||
* Drive, for output, -outdev: AqDrive. (line 29)
|
||||
* Drive, get drive list, -devices: Inquiry. (line 7)
|
||||
* Drive, list supported media, -list_profiles: Writing. (line 120)
|
||||
* Drive, list supported media, -list_profiles: Writing. (line 122)
|
||||
* Drive, reduce activity, -calm_drive: Loading. (line 235)
|
||||
* Drive, report SCSI commands, -scsi_log: Scripting. (line 125)
|
||||
* Drive, write and eject, -commit_eject: Writing. (line 40)
|
||||
@ -4486,8 +4488,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* MBR, set, -boot_image system_area=: Bootable. (line 123)
|
||||
* MD5, control handling, -md5: Loading. (line 155)
|
||||
* Media, erase, -blank: Writing. (line 45)
|
||||
* Media, format, -format: Writing. (line 70)
|
||||
* Media, list formats, -list_formats: Writing. (line 108)
|
||||
* Media, format, -format: Writing. (line 72)
|
||||
* Media, list formats, -list_formats: Writing. (line 110)
|
||||
* MIPS boot file, activation: Bootable. (line 178)
|
||||
* mkisofs, Emulation: Emulation. (line 16)
|
||||
* Modifying, _definition: Methods. (line 27)
|
||||
@ -4632,41 +4634,41 @@ Node: Manip60375
|
||||
Node: CmdFind69060
|
||||
Node: Filter80363
|
||||
Node: Writing84720
|
||||
Node: SetWrite91018
|
||||
Node: Bootable105064
|
||||
Node: Jigdo118384
|
||||
Node: Charset122648
|
||||
Node: Exception125407
|
||||
Node: DialogCtl131547
|
||||
Node: Inquiry134134
|
||||
Node: Navigate138517
|
||||
Node: Verify146457
|
||||
Node: Restore155052
|
||||
Node: Emulation161712
|
||||
Node: Scripting171585
|
||||
Node: Frontend177735
|
||||
Node: Examples179034
|
||||
Node: ExDevices180205
|
||||
Node: ExCreate180843
|
||||
Node: ExDialog182117
|
||||
Node: ExGrowing183379
|
||||
Node: ExModifying184181
|
||||
Node: ExBootable184682
|
||||
Node: ExCharset185231
|
||||
Node: ExPseudo186059
|
||||
Node: ExCdrecord186957
|
||||
Node: ExMkisofs187272
|
||||
Node: ExGrowisofs188610
|
||||
Node: ExException189745
|
||||
Node: ExTime190199
|
||||
Node: ExIncBackup190658
|
||||
Node: ExRestore194582
|
||||
Node: ExRecovery195551
|
||||
Node: Files196117
|
||||
Node: Seealso197415
|
||||
Node: Bugreport198003
|
||||
Node: Legal198584
|
||||
Node: CommandIdx199514
|
||||
Node: ConceptIdx214182
|
||||
Node: SetWrite91164
|
||||
Node: Bootable105210
|
||||
Node: Jigdo118530
|
||||
Node: Charset122794
|
||||
Node: Exception125553
|
||||
Node: DialogCtl131693
|
||||
Node: Inquiry134280
|
||||
Node: Navigate138663
|
||||
Node: Verify146603
|
||||
Node: Restore155198
|
||||
Node: Emulation161858
|
||||
Node: Scripting171731
|
||||
Node: Frontend177881
|
||||
Node: Examples179180
|
||||
Node: ExDevices180351
|
||||
Node: ExCreate180989
|
||||
Node: ExDialog182263
|
||||
Node: ExGrowing183525
|
||||
Node: ExModifying184327
|
||||
Node: ExBootable184828
|
||||
Node: ExCharset185377
|
||||
Node: ExPseudo186205
|
||||
Node: ExCdrecord187103
|
||||
Node: ExMkisofs187418
|
||||
Node: ExGrowisofs188756
|
||||
Node: ExException189891
|
||||
Node: ExTime190345
|
||||
Node: ExIncBackup190804
|
||||
Node: ExRestore194728
|
||||
Node: ExRecovery195697
|
||||
Node: Files196263
|
||||
Node: Seealso197561
|
||||
Node: Bugreport198149
|
||||
Node: Legal198730
|
||||
Node: CommandIdx199660
|
||||
Node: ConceptIdx214328
|
||||
|
||||
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 XORRISO 1 "Version 1.0.9, May 16, 2011"
|
||||
@c man .TH XORRISO 1 "Version 1.0.9, May 29, 2011"
|
||||
@c man .\" Please adjust this date whenever revising the manpage.
|
||||
@c man .\"
|
||||
@c man .\" Some roff macros, for reference:
|
||||
@ -2384,7 +2384,10 @@ overwriteable ISO images. "all" might work more thoroughly and need more time.
|
||||
@*
|
||||
"deformat_quickest" is a faster way to deformat or blank DVD-RW
|
||||
but produces media which are only suitable for a single session.
|
||||
@command{xorriso} will write onto them only if option -close is set to "on".
|
||||
Some drives announce this state by not offering feature 21h,
|
||||
but some drives offer it anyway.
|
||||
If feature 21h is missing, then @command{xorriso}
|
||||
will refuse to write on DVD-RW if not option -close is set to "on".
|
||||
@*
|
||||
The progress reports issued by some drives while blanking are
|
||||
quite unrealistic. Do not conclude success or failure from the
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2011.05.29.095524"
|
||||
#define Xorriso_timestamP "2011.05.29.100055"
|
||||
|
Loading…
Reference in New Issue
Block a user