From 9aaf2d5ad722efdc9d814d5b995b36dbe4996808 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Thu, 27 Jun 2013 12:56:20 +0000 Subject: [PATCH] New -format mode "without_spare" (for BD-RE) --- libisoburn/trunk/xorriso/opts_a_c.c | 4 +- libisoburn/trunk/xorriso/write_run.c | 6 +- libisoburn/trunk/xorriso/xorriso.1 | 10 +- libisoburn/trunk/xorriso/xorriso.info | 97 ++++++++++---------- libisoburn/trunk/xorriso/xorriso.texi | 10 +- libisoburn/trunk/xorriso/xorriso_timestamp.h | 2 +- 6 files changed, 76 insertions(+), 53 deletions(-) diff --git a/libisoburn/trunk/xorriso/opts_a_c.c b/libisoburn/trunk/xorriso/opts_a_c.c index f5171212..d6e4ac36 100644 --- a/libisoburn/trunk/xorriso/opts_a_c.c +++ b/libisoburn/trunk/xorriso/opts_a_c.c @@ -615,6 +615,8 @@ unusable_size:; if(size <= 0) goto unusable_size; mode_flag= 3; + } else if(strcmp(mode, "without_spare") == 0 && (flag & 1)) { + mode_flag= 32; } else { sprintf(xorriso->info_text, "%s: Unknown %s mode '%s'", @@ -630,7 +632,7 @@ unusable_size:; if(as_needed) ret= Xorriso_blank_as_needed(xorriso, (flag&1)<<2); else if(flag&1) - ret= Xorriso_format_media(xorriso, size, mode_flag & 0xff83); + ret= Xorriso_format_media(xorriso, size, mode_flag & 0xffa7); else ret= Xorriso_blank_media(xorriso, mode_flag&3); if(ret==0) diff --git a/libisoburn/trunk/xorriso/write_run.c b/libisoburn/trunk/xorriso/write_run.c index 443a3f91..8ac88f7d 100644 --- a/libisoburn/trunk/xorriso/write_run.c +++ b/libisoburn/trunk/xorriso/write_run.c @@ -1537,6 +1537,7 @@ int Xorriso_blank_media(struct XorrisO *xorriso, int flag) /* @param flag bit0= try to achieve faster formatting bit1= use parameter size (else use default size) bit2= do not re-aquire drive + bit5= try to disable Defect Management bit7= by_index mode: bit8 to bit15 contain the index of the format to use. @return 0=failure, did not touch medium , -1=failure, altered medium @@ -1569,6 +1570,9 @@ int Xorriso_format_media(struct XorrisO *xorriso, off_t in_size, int flag) } else { mode_flag= 4; /* format to full size */ } + if(flag & 32) + mode_flag|= 32; /* try to disable Defect Management */ + burn_disc_get_profile(drive, ¤t_profile, current_profile_name); if(flag&128) { /* by_index */ @@ -1627,7 +1631,7 @@ int Xorriso_format_media(struct XorrisO *xorriso, off_t in_size, int flag) mode_flag|= (1<<6); } else if(current_profile == 0x43) { /* BD-RE */ - if(!(flag & 2)) + if(!(flag & (2 | 32))) mode_flag= 6; /* format to default payload size */ if(flag&1) mode_flag|= (1<<6); diff --git a/libisoburn/trunk/xorriso/xorriso.1 b/libisoburn/trunk/xorriso/xorriso.1 index 25f4d7e3..b94e721f 100644 --- a/libisoburn/trunk/xorriso/xorriso.1 +++ b/libisoburn/trunk/xorriso/xorriso.1 @@ -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.3.1, Jun 02, 2013" +.TH XORRISO 1 "Version 1.3.1, Jun 27, 2013" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -2228,7 +2228,8 @@ newly purchased BD\-RE or BD\-R, re\-format DVD\-RAM or BD\-RE. .br Defined modes are: .br - as_needed, full, fast, by_index_, fast_by_index_ + as_needed, full, fast, by_index_, fast_by_index_, + by_size_, fast_by_size_, without_spare .br "as_needed" formats yet unformatted DVD\-RW, DVD\-RAM, BD\-RE, or blank unformatted BD\-R. Other media are left untouched. @@ -2246,9 +2247,14 @@ mode word. E.g: "by_index_3". "by_size_" selects a format out of the descriptor list which provides at least the given size. That size is to be appended to the mode word. E.g: "by_size_4100m". This applies to media with Defect Management. +On BD\-RE it will not choose format 0x31, which offers no Defect Management. .br "fast_by_size_" does the same as "by_size_" but tries to be quicker. .br +"without_spare" selects the largest format out of the descriptor list +which provides no Spare Area for Defect Management. On BD\-RE this +will be format 0x31. +.br The formatting action has no effect on media if \-dummy is activated. .br Formatting is normally needed only once during the lifetime of a medium, diff --git a/libisoburn/trunk/xorriso/xorriso.info b/libisoburn/trunk/xorriso/xorriso.info index d1386475..9c0a845a 100644 --- a/libisoburn/trunk/xorriso/xorriso.info +++ b/libisoburn/trunk/xorriso/xorriso.info @@ -1981,7 +1981,8 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Command DVD+RW, format newly purchased BD-RE or BD-R, re-format DVD-RAM or BD-RE. Defined modes are: - as_needed, full, fast, by_index_, fast_by_index_ + as_needed, full, fast, by_index_, fast_by_index_, + by_size_, fast_by_size_, without_spare "as_needed" formats yet unformatted DVD-RW, DVD-RAM, BD-RE, or blank unformatted BD-R. Other media are left untouched. "full" (re-)formats DVD-RW, DVD+RW, DVD-RAM, BD-RE, or blank @@ -1995,9 +1996,13 @@ File: xorriso.info, Node: Writing, Next: SetWrite, Prev: Filter, Up: Command "by_size_" selects a format out of the descriptor list which provides at least the given size. That size is to be appended to the mode word. E.g: "by_size_4100m". This applies to media with - Defect Management. + Defect Management. On BD-RE it will not choose format 0x31, which + offers no Defect Management. "fast_by_size_" does the same as "by_size_" but tries to be quicker. + "without_spare" selects the largest format out of the descriptor + list which provides no Spare Area for Defect Management. On BD-RE + this will be format 0x31. The formatting action has no effect on media if -dummy is activated. Formatting is normally needed only once during the lifetime of a @@ -4766,7 +4771,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -chown_r sets ownership in ISO image: Manip. (line 54) * -clone copies ISO directory tree: Insert. (line 180) * -close controls media closing: SetWrite. (line 335) -* -close_damaged closes damaged track and session: Writing. (line 158) +* -close_damaged closes damaged track and session: Writing. (line 163) * -close_filter_list bans filter registration: Filter. (line 52) * -commit writes pending ISO image: Writing. (line 29) * -commit_eject writes and ejects: Writing. (line 56) @@ -4837,9 +4842,9 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -list_delimiter replaces '--': Scripting. (line 60) * -list_extras lists compile time extra features: Scripting. (line 26) -* -list_formats lists available formats: Writing. (line 129) -* -list_profiles lists supported media: Writing. (line 172) -* -list_speeds lists available write speeds: Writing. (line 141) +* -list_formats lists available formats: Writing. (line 134) +* -list_profiles lists supported media: Writing. (line 177) +* -list_speeds lists available write speeds: Writing. (line 146) * -lns creates ISO symbolic link: Insert. (line 175) * -load addresses a particular session as input: Loading. (line 11) * -local_charset sets terminal character set: Charset. (line 47) @@ -4996,7 +5001,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Create, new ISO image, _definition: Methods. (line 6) * Cylinder alignment, _definition: Bootable. (line 198) * Cylinder size, _definition: Bootable. (line 187) -* Damaged track and session, close, -close_damaged: Writing. (line 158) +* Damaged track and session, close, -close_damaged: Writing. (line 163) * Delete, from ISO image, -rm: Manip. (line 21) * Delete, from ISO image, -rm_r: Manip. (line 28) * Delete, ISO directory, -rmdir: Manip. (line 32) @@ -5020,7 +5025,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Drive, for output, -outdev: AqDrive. (line 31) * Drive, get drive list, -device_links: Inquiry. (line 18) * Drive, get drive list, -devices: Inquiry. (line 7) -* Drive, list supported media, -list_profiles: Writing. (line 172) +* Drive, list supported media, -list_profiles: Writing. (line 177) * Drive, reduce activity, -calm_drive: Loading. (line 243) * Drive, report SCSI commands, -scsi_log: Scripting. (line 147) * Drive, write and eject, -commit_eject: Writing. (line 56) @@ -5103,8 +5108,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * MD5, control handling, -md5: Loading. (line 159) * Media, erase, -blank: Writing. (line 61) * Media, format, -format: Writing. (line 91) -* Media, list formats, -list_formats: Writing. (line 129) -* Media, list write speeds, -list_speeds: Writing. (line 141) +* Media, list formats, -list_formats: Writing. (line 134) +* Media, list write speeds, -list_speeds: Writing. (line 146) * MIPS boot file, activation: Bootable. (line 209) * mkisofs, Emulation: Emulation. (line 16) * Modifying, _definition: Methods. (line 27) @@ -5261,41 +5266,41 @@ Node: Manip65281 Node: CmdFind74790 Node: Filter89786 Node: Writing94342 -Node: SetWrite103730 -Node: Bootable122481 -Node: Jigdo138871 -Node: Charset143118 -Node: Exception145880 -Node: DialogCtl152000 -Node: Inquiry154598 -Node: Navigate160915 -Node: Verify169213 -Node: Restore178245 -Node: Emulation185332 -Node: Scripting195634 -Node: Frontend202791 -Node: Examples210866 -Node: ExDevices212044 -Node: ExCreate212703 -Node: ExDialog213988 -Node: ExGrowing215253 -Node: ExModifying216058 -Node: ExBootable216562 -Node: ExCharset217114 -Node: ExPseudo217935 -Node: ExCdrecord218833 -Node: ExMkisofs219150 -Node: ExGrowisofs220490 -Node: ExException221625 -Node: ExTime222079 -Node: ExIncBackup222538 -Node: ExRestore226518 -Node: ExRecovery227451 -Node: Files228021 -Node: Seealso229320 -Node: Bugreport230043 -Node: Legal230624 -Node: CommandIdx231635 -Node: ConceptIdx247937 +Node: SetWrite104039 +Node: Bootable122790 +Node: Jigdo139180 +Node: Charset143427 +Node: Exception146189 +Node: DialogCtl152309 +Node: Inquiry154907 +Node: Navigate161224 +Node: Verify169522 +Node: Restore178554 +Node: Emulation185641 +Node: Scripting195943 +Node: Frontend203100 +Node: Examples211175 +Node: ExDevices212353 +Node: ExCreate213012 +Node: ExDialog214297 +Node: ExGrowing215562 +Node: ExModifying216367 +Node: ExBootable216871 +Node: ExCharset217423 +Node: ExPseudo218244 +Node: ExCdrecord219142 +Node: ExMkisofs219459 +Node: ExGrowisofs220799 +Node: ExException221934 +Node: ExTime222388 +Node: ExIncBackup222847 +Node: ExRestore226827 +Node: ExRecovery227760 +Node: Files228330 +Node: Seealso229629 +Node: Bugreport230352 +Node: Legal230933 +Node: CommandIdx231944 +Node: ConceptIdx248246  End Tag Table diff --git a/libisoburn/trunk/xorriso/xorriso.texi b/libisoburn/trunk/xorriso/xorriso.texi index f3e2817f..798a5d1d 100644 --- a/libisoburn/trunk/xorriso/xorriso.texi +++ b/libisoburn/trunk/xorriso/xorriso.texi @@ -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.3.1, Jun 02, 2013" +@c man .TH XORRISO 1 "Version 1.3.1, Jun 27, 2013" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -2661,7 +2661,8 @@ newly purchased BD-RE or BD-R, re-format DVD-RAM or BD-RE. @* Defined modes are: @* - as_needed, full, fast, by_index_, fast_by_index_ + as_needed, full, fast, by_index_, fast_by_index_, + by_size_, fast_by_size_, without_spare @* "as_needed" formats yet unformatted DVD-RW, DVD-RAM, BD-RE, or blank unformatted BD-R. Other media are left untouched. @@ -2679,9 +2680,14 @@ mode word. E.g: "by_index_3". "by_size_" selects a format out of the descriptor list which provides at least the given size. That size is to be appended to the mode word. E.g: "by_size_4100m". This applies to media with Defect Management. +On BD-RE it will not choose format 0x31, which offers no Defect Management. @* "fast_by_size_" does the same as "by_size_" but tries to be quicker. @* +"without_spare" selects the largest format out of the descriptor list +which provides no Spare Area for Defect Management. On BD-RE this +will be format 0x31. +@* The formatting action has no effect on media if -dummy is activated. @* Formatting is normally needed only once during the lifetime of a medium, diff --git a/libisoburn/trunk/xorriso/xorriso_timestamp.h b/libisoburn/trunk/xorriso/xorriso_timestamp.h index 46144365..9f28ab7c 100644 --- a/libisoburn/trunk/xorriso/xorriso_timestamp.h +++ b/libisoburn/trunk/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2013.06.02.112720" +#define Xorriso_timestamP "2013.06.27.125407"