From 1887b0b9381f8d233aa23f13ab1657bdb71398e3 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 21 May 2013 08:18:48 +0000 Subject: [PATCH] Defaulting -sao -multi to -tao -multi if -sao -multi is not possible --- cdrskin/cdrskin.c | 12 ++++++++++++ cdrskin/cdrskin_timestamp.h | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cdrskin/cdrskin.c b/cdrskin/cdrskin.c index 194a0bf..3503876 100644 --- a/cdrskin/cdrskin.c +++ b/cdrskin/cdrskin.c @@ -6648,6 +6648,18 @@ int Cdrskin_activate_write_mode(struct CdrskiN *skin, strcpy(skin->preskin->write_mode_name,"SAO"); skin->write_type= BURN_WRITE_SAO; skin->block_type= BURN_BLOCK_SAO; + /* cdrecord tolerates the combination of -sao and -multi. -multi wins. */ + burn_write_opts_set_write_type(opts,skin->write_type,skin->block_type); + ret = burn_precheck_write(opts,disc,reasons,0); + if(ret <= 0) { + if(strstr(reasons, "multi session capability lacking") != NULL) { + fprintf(stderr,"cdrskin: WARNING : Cannot do SAO/DAO. Reason: %s\n", + reasons); + fprintf(stderr,"cdrskin: Defaulting to TAO/Incremental.\n"); + skin->write_type= BURN_WRITE_TAO; + skin->block_type= BURN_BLOCK_MODE1; + } + } } if(!was_still_default) burn_write_opts_set_write_type(opts,skin->write_type,skin->block_type); diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 88ec791..cd67de3 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2013.05.20.124520" +#define Cdrskin_timestamP "2013.05.21.081819"