Disabled write mode -raw96r

This commit is contained in:
Thomas Schmitt 2009-09-01 08:25:01 +00:00
parent d9fc6cc275
commit cf9a2031a4
3 changed files with 45 additions and 15 deletions

View File

@ -2,7 +2,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 CDRSKIN 1 "May 07, 2009"
.TH CDRSKIN 1 "Aug 30, 2009"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -679,13 +679,6 @@ Add the given amount of trailing zeros to the next data track. This option
gets reset to padsize=0 after that next track is written. It may be set
again before the next track argument. About size specifiers, see option fs=.
.TP
.BI \-raw96r
Write CD in RAW/RAW96R mode. This mode allows to put more payload bytes
into a CD sector but obviously at the cost of error correction. It can only
be used for tracks of fixely predicted size. Some drives allow this mode but
then behave strange or even go bad for the next few attempts to burn a CD.
One should use it only if inavoidable.
.TP
.BI \-sao
Write CD in Session At Once mode or sequential DVD-R[W] in Disc-at-once
(DAO) mode.

View File

@ -310,6 +310,15 @@ or
#define Cdrskin_all_tracks_with_sector_paD 1
/** ts A90901
The raw write modes of libburn depend in part on code borrowed from cdrdao.
Since this code is not understood by the current developers and since CDs
written with cdrskin -raw96r seem unreadable anyway, -raw96r is given up
for now.
*/
#define Cdrskin_disable_raw96R 1
/** A macro which is able to eat up a function call like printf() */
#ifdef Cdrskin_extra_leaN
#define ClN(x)
@ -2814,7 +2823,11 @@ see_cdrskin_eng_html:;
#endif
fprintf(stderr,"\t-dao\t\tWrite disk in SAO mode.\n");
fprintf(stderr,"\t-sao\t\tWrite disk in SAO mode.\n");
#ifndef Cdrskin_disable_raw96R
fprintf(stderr,"\t-raw96r\t\tWrite disk in RAW/RAW96R mode\n");
#endif
fprintf(stderr,"\ttsize=#\t\tannounces exact size of source data\n");
fprintf(stderr,"\tpadsize=#\tAmount of padding\n");
fprintf(stderr,"\t-audio\t\tSubsequent tracks are CD-DA audio tracks\n");
@ -2873,8 +2886,10 @@ see_cdrskin_eng_html:;
fprintf(stderr,
"cdrskin: NOTE : option --no_rc would only work as first argument.\n");
#ifndef Cdrskin_disable_raw96R
} else if(strcmp(argv[i],"-raw96r")==0) {
strcpy(o->write_mode_name,"RAW/RAW96R");
#endif
} else if(strcmp(argv[i],"-sao")==0 || strcmp(argv[i],"-dao")==0) {
strcpy(o->write_mode_name,"SAO");
@ -3203,7 +3218,7 @@ struct CdrskiN {
int do_burn;
int tell_media_space; /* actually do not burn but tell the available space */
int burnfree;
/** The write mode (like SAO or RAW96/R). See libburn.
/** The write mode (like SAO or TAO). See libburn.
Controled by preskin->write_mode_name */
enum burn_write_types write_type;
int block_type;
@ -4593,10 +4608,14 @@ int Cdrskin_checkdrive(struct CdrskiN *skin, char *profile_name, int flag)
printf(" TAO");
if(drive_info->sao_block_types & BURN_BLOCK_SAO)
printf(" SAO");
#ifndef Cdrskin_disable_raw96R
if((drive_info->raw_block_types & BURN_BLOCK_RAW96R) &&
strstr(profile_name,"DVD")!=profile_name &&
strstr(profile_name,"BD")!=profile_name)
printf(" RAW/RAW96R");
#endif /* ! Cdrskin_disable_raw96R */
printf("\n");
#else
@ -5771,19 +5790,28 @@ int Cdrskin_activate_write_mode(struct CdrskiN *skin,
goto report_failure;
}
skin->write_type= wt;
#ifndef Cdrskin_disable_raw96R
if(wt==BURN_WRITE_RAW)
strcpy(skin->preskin->write_mode_name,"RAW/RAW96R");
else if(wt==BURN_WRITE_TAO)
else
#endif /* ! Cdrskin_disable_raw96R */
if(wt==BURN_WRITE_TAO)
strcpy(skin->preskin->write_mode_name,"TAO");
else if(wt==BURN_WRITE_SAO)
strcpy(skin->preskin->write_mode_name,"SAO");
else
sprintf(skin->preskin->write_mode_name,"LIBBURN/%d", (int) wt);
}
#ifndef Cdrskin_disable_raw96R
if(strcmp(skin->preskin->write_mode_name,"RAW/RAW96R")==0) {
skin->write_type= BURN_WRITE_RAW;
skin->block_type= BURN_BLOCK_RAW96R;
} else if(strcmp(skin->preskin->write_mode_name,"TAO")==0) {
} else
#endif /* ! Cdrskin_disable_raw96R */
if(strcmp(skin->preskin->write_mode_name,"TAO")==0) {
skin->write_type= BURN_WRITE_TAO;
skin->block_type= BURN_BLOCK_MODE1;
} else if(strncmp(skin->preskin->write_mode_name,"LIBBURN/",8)==0) {
@ -5907,9 +5935,12 @@ int Cdrskin_activate_write_mode(struct CdrskiN *skin, enum burn_disc_status s,
strcpy(skin->preskin->write_mode_name,"SAO");
}
}
#ifndef Cdrskin_disable_raw96R
if(strcmp(skin->preskin->write_mode_name,"RAW/RAW96R")==0) {
skin->write_type= BURN_WRITE_RAW;
skin->block_type= BURN_BLOCK_RAW96R;
#endif /* ! Cdrskin_disable_raw96R */
#ifdef Cdrskin_allow_libburn_taO
} else if(strcmp(skin->preskin->write_mode_name,"TAO")==0) {
@ -5947,9 +5978,13 @@ check_with_drive:;
ok= 1;
if(skin->write_type==BURN_WRITE_TAO && might_do_tao)
ok= 1;
} else if(skin->write_type==BURN_WRITE_RAW)
#ifndef Cdrskin_disable_raw96R
} else if(skin->write_type==BURN_WRITE_RAW) {
ok= !!(drive_info->raw_block_types & BURN_BLOCK_RAW96R);
else if(skin->write_type==BURN_WRITE_SAO && !mixed_mode)
#endif
} else if(skin->write_type==BURN_WRITE_SAO && !mixed_mode)
ok= !!(drive_info->sao_block_types & BURN_BLOCK_SAO);
else if(skin->write_type==BURN_WRITE_TAO) {
block_type_demand= 0;
@ -7057,7 +7092,7 @@ int Cdrskin_setup(struct CdrskiN *skin, int argc, char **argv, int flag)
"-d", "-Verbose", "-V", "-silent", "-s", "-setdropts", "-prcap",
"-reset", "-abort", "-overburn", "-ignsize", "-useinfo",
"-fix", "-nofix",
"-raw", "-raw96p", "-raw16",
"-raw", "-raw96p", "-raw16", "-raw96r",
"-clone", "-text", "-mode2", "-xa", "-xa1", "-xa2", "-xamix",
"-cdi", "-preemp", "-nopreemp", "-copy", "-nocopy",
"-scms", "-shorttrack", "-noshorttrack", "-packet", "-noclose",
@ -7733,8 +7768,10 @@ set_padsize:;
} else if(strcmp(argv[i],"--prodvd_cli_compatible")==0) {
skin->prodvd_cli_compatible= 1;
#ifdef NIX
} else if(strcmp(argv[i],"-raw96r")==0) {
/* is handled in Cdrpreskin_setup() */;
#endif
} else if(strcmp(argv[i],"-sao")==0 || strcmp(argv[i],"-dao")==0) {
/* is handled in Cdrpreskin_setup() */;

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2009.08.27.143351"
#define Cdrskin_timestamP "2009.09.01.082602"