From 190ad329fd6b7e61c0e6553cab71b14ca3f44df7 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 18 Sep 2007 20:40:14 +0000 Subject: [PATCH] Implemented emulation for cdrecord option -immed --- cdrskin/cdrskin.1 | 10 ++++++++++ cdrskin/cdrskin.c | 13 ++++++++++++- cdrskin/cdrskin_timestamp.h | 2 +- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/cdrskin/cdrskin.1 b/cdrskin/cdrskin.1 index 8513aa1..0ed8b12 100644 --- a/cdrskin/cdrskin.1 +++ b/cdrskin/cdrskin.1 @@ -447,6 +447,16 @@ option fifo_start_at=size. .BI gracetime= seconds Set the grace time before starting to write. (Default is 0) .TP +.BI -immed +Equivalent to: +.br +modesty_on_drive=1:min_percent=75:max_percent=95 +.br +The name of this cdrecord option stems from the "Immed" bit which can make some +long running drive commands asynchronous and thus eases the load on some +wiring hardware types. Regardless of option -immed, cdrskin uses asynchronous +commands where possible and appropriate. +.TP .BI -inq Print the identification of the drive and then exit. .TP diff --git a/cdrskin/cdrskin.c b/cdrskin/cdrskin.c index 08060ef..4fe06bf 100644 --- a/cdrskin/cdrskin.c +++ b/cdrskin/cdrskin.c @@ -2445,6 +2445,8 @@ see_cdrskin_eng_html:; fprintf(stderr, "\t-multi\t\tgenerate a TOC that allows multi session\n"); #endif + fprintf(stderr, + "\t-immed\t\tTry to use the SCSI IMMED flag with certain long lasting commands\n"); fprintf(stderr, "\t-force\t\tforce to continue on some errors to allow blanking\n"); #ifdef Cdrskin_allow_libburn_taO @@ -6382,7 +6384,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", "-waiti", - "-immed", "-raw", "-raw96p", "-raw16", + "-raw", "-raw96p", "-raw16", "-clone", "-text", "-mode2", "-xa", "-xa1", "-xa2", "-xamix", "-cdi", "-preemp", "-nopreemp", "-copy", "-nocopy", "-scms", "-shorttrack", "-noshorttrack", "-packet", "-noclose", @@ -6801,6 +6803,15 @@ gracetime_equals:; } else if(strcmp(argv[i],"--ignore_signals")==0) { /* is handled in Cdrpreskin_setup() */; + } else if(strcmp(argv[i],"-immed")==0) { +#ifdef Cdrskin_libburn_has_set_waitinG + skin->modesty_on_drive= 1; + skin->min_buffer_percent= 75; + skin->max_buffer_percent= 95; +#else + ; +#endif /* Cdrskin_libburn_has_set_waitinG */ + } else if(strcmp(argv[i],"-inq")==0) { skin->do_checkdrive= 2; diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index d149e14..2363b71 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2007.09.18.201556" +#define Cdrskin_timestamP "2007.09.18.204043"