From 46ecc0780755d1c564878f143685cb5ba27a426d 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 --- libburn/trunk/cdrskin/cdrskin.c | 12 ++++++++++++ libburn/trunk/cdrskin/cdrskin_timestamp.h | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/libburn/trunk/cdrskin/cdrskin.c b/libburn/trunk/cdrskin/cdrskin.c index 194a0bfa..35038761 100644 --- a/libburn/trunk/cdrskin/cdrskin.c +++ b/libburn/trunk/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/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index 88ec7919..cd67de32 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2013.05.20.124520" +#define Cdrskin_timestamP "2013.05.21.081819"