Disabled write mode -raw96r

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

View File

@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" 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. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" 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 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=. again before the next track argument. About size specifiers, see option fs=.
.TP .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 .BI \-sao
Write CD in Session At Once mode or sequential DVD-R[W] in Disc-at-once Write CD in Session At Once mode or sequential DVD-R[W] in Disc-at-once
(DAO) mode. (DAO) mode.

View File

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

View File

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