From 650ec68458a1ddc42ff7f423d1b8bfb3b043679d Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 12 Apr 2008 16:46:05 +0000 Subject: [PATCH] New option stream_recording=on|off --- libburn/trunk/cdrskin/cdrskin.1 | 23 ++++++++---- libburn/trunk/cdrskin/cdrskin.c | 44 +++++++++++++++++++++-- libburn/trunk/cdrskin/cdrskin_eng.html | 7 ++-- libburn/trunk/cdrskin/cdrskin_timestamp.h | 2 +- 4 files changed, 64 insertions(+), 12 deletions(-) diff --git a/libburn/trunk/cdrskin/cdrskin.1 b/libburn/trunk/cdrskin/cdrskin.1 index c41097a7..982926fe 100644 --- a/libburn/trunk/cdrskin/cdrskin.1 +++ b/libburn/trunk/cdrskin/cdrskin.1 @@ -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 "September 26, 2007" +.TH CDRSKIN 1 "April 12, 2008" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -1084,6 +1084,15 @@ Linux specific: Use and report literal Bus,Target,Lun addresses rather than real SCSI and pseudo ATA addresses. This method is outdated and was never compatible with original cdrecord. +.TP +.BI stream_recording="on"|"off" +By setting "on" request that compliance to the effective speed setting is +preferred over management of write errors. With DVD-RAM this can bring +effective write speed near to the nominal write speed of the media. But it +will also disable the automatic use of replacement blocks if write errors +occur. It might as well be disliked or ignored by the drive. +.br +Warning: This has been tested with DVD-RAM only. .br .SH EXAMPLES .SS @@ -1214,23 +1223,25 @@ Formatting data track sources for cdrskin: .br .BR mkisofs (8), .BR genisoimage (8), +.BR xorriso (1), .BR afio (1), .BR star (1) .br .TP -Other CD/DVD burn programs: +Other CD/DVD/BD burn programs: .br .BR cdrecord (1), -.BR wodim (1) +.BR wodim (1), +.BR xorriso (1) .br .TP -For DVD burning (also tutor of libburn's DVD capabilities): +For DVD/BD burning (also tutor of libburn's DVD/BD capabilities): .br .BR growisofs (1) .br .SH AUTHOR cdrskin was written by Thomas Schmitt . .PP -This manual page was written by George Danchev and -Thomas Schmitt, for the Debian project and for all others. +This manual page was started by George Danchev and +is now maintained by Thomas Schmitt. diff --git a/libburn/trunk/cdrskin/cdrskin.c b/libburn/trunk/cdrskin/cdrskin.c index 7dfc3c17..dbcc36d7 100644 --- a/libburn/trunk/cdrskin/cdrskin.c +++ b/libburn/trunk/cdrskin/cdrskin.c @@ -148,7 +148,9 @@ or Move them down to Cdrskin_libburn_from_pykix_svN on version leap */ -/* there are no novelties in 0.4.5 yet */ +#define Cdrskin_libburn_has_stream_recordinG 1 + +/* there are novelties in 0.4.5 yet */ #endif /* Cdrskin_libburn_0_4_5 */ @@ -2668,6 +2670,13 @@ set_dev:; printf( " --single_track accept only last argument as source_address\n"); +#ifdef Cdrskin_libburn_has_stream_recordinG + printf( + " stream_recording=\"on\"|\"off\" \"on\" requests to prefer speed\n"); + printf( + " over write error management.\n"); +#endif + #ifdef Cdrskin_allow_libburn_taO printf( " tao_to_sao_tsize= use num as fixed track size if in a\n"); @@ -3090,6 +3099,7 @@ struct CdrskiN { int gracetime; int dummy_mode; int force_is_set; + int stream_recording_is_set; int single_track; int prodvd_cli_compatible; @@ -3265,6 +3275,7 @@ int Cdrskin_new(struct CdrskiN **skin, struct CdrpreskiN *preskin, int flag) o->gracetime= 0; o->dummy_mode= 0; o->force_is_set= 0; + o->stream_recording_is_set= 0; o->single_track= 0; o->prodvd_cli_compatible= 0; o->do_devices= 0; @@ -5011,9 +5022,22 @@ int Cdrskin_blank(struct CdrskiN *skin, int flag) fprintf(stderr, "cdrskin: NOTE : blank=format_... : DVD+RW do not need this\n"); fprintf(stderr, - "cdrskin: HINT : For de-icing use option blank=format_overwrite_full"); + "cdrskin: HINT : For de-icing use option blank=format_overwrite_full\n"); {ret= 2; goto ex;} } + } else if((profile_number == 0x12 && skin->preskin->allow_untested_media) || + (profile_number == 0x43 && skin->preskin->allow_untested_media)) { + + fprintf(stderr, + "cdrskin: SORRY : Formatting of DVD-RAM and BD-RE is not implemented yet\n"); + {ret= 0; goto ex;} + + /* <<< for now strictly experimental */ + /* DVD-RAM , BD-RE */ + + /* >>> check whether the current format is already 0x00 of maximum size */ + /* >>> demand bit10 of blank_format_type or size>0 */; + } else { fprintf(stderr, "cdrskin: SORRY : blank=%s for now does DVD+/-RW only\n",fmt_text); @@ -5096,7 +5120,7 @@ unsupported_format_type:; #ifdef Cdrskin_libburn_has_burn_disc_formaT } else if(do_format==1 || do_format==3) { burn_disc_format(drive,(off_t) skin->blank_format_size, - ((skin->blank_format_type>>8)&0xff) | ((!!skin->force_is_set)<<4)); + ((skin->blank_format_type>>8)&7) | ((!!skin->force_is_set)<<4)); #endif } else { @@ -6237,6 +6261,9 @@ burn_failed:; #ifdef Cdrskin_libburn_has_set_forcE burn_write_opts_set_force(o, !!skin->force_is_set); #endif +#ifdef Cdrskin_libburn_has_stream_recordinG + burn_write_opts_set_stream_recording(o, !!skin->stream_recording_is_set); +#endif if(skin->dummy_mode) { fprintf(stderr, @@ -7436,6 +7463,17 @@ set_speed:; if(skin->verbosity>=Cdrskin_verbose_cmD) ClN(printf("cdrskin: speed : %f\n",skin->x_speed)); + } else if(strncmp(argv[i],"-stream_recording=",18)==0) { + value_pt= argv[i]+18; + goto set_stream_recording; + } else if(strncmp(argv[i],"stream_recording=",17)==0) { + value_pt= argv[i]+17; +set_stream_recording:; + if(strcmp(value_pt, "on")==0) + skin->stream_recording_is_set= 1; + else + skin->stream_recording_is_set= 0; + } else if(strcmp(argv[i],"-swab")==0) { skin->swap_audio_bytes= 0; diff --git a/libburn/trunk/cdrskin/cdrskin_eng.html b/libburn/trunk/cdrskin/cdrskin_eng.html index 1fd2f9bf..91fd9a23 100644 --- a/libburn/trunk/cdrskin/cdrskin_eng.html +++ b/libburn/trunk/cdrskin/cdrskin_eng.html @@ -237,7 +237,8 @@ cdrskin_0.4.2.pl00-x86-suse9_0-static.tar.gz, (310 KB), -static compiled, Enhancements towards previous stable version cdrskin-0.4.2:
  • Support for DVD+R/DL media is now official
  • -
  • Experimental code for BD-RE with --allow_untested_media
  • +
  • Experimental code for BD-RE with --allow_untested_media +(see bug fix in 0.4.5)
  • none yet
  • +--> +
  • Bug fix: experimental writing to formatted BD-RE refused to work
  • +
  • New option stream_recording=on can speed up DVD-RAM
  •  
    diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index 7f521f35..a2b63853 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2008.04.12.164244" +#define Cdrskin_timestamP "2008.04.12.164606"