From c4fe384b569f80c386b860be5d1e366c2b64b0ac Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 27 Dec 2006 13:28:40 +0000 Subject: [PATCH] Avoided self contradicting result of ATIP speed inquiry --- cdrskin/cdrskin_timestamp.h | 2 +- libburn/mmc.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 34f3d05..0c9b5d7 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2006.12.27.130239" +#define Cdrskin_timestamP "2006.12.27.132653" diff --git a/libburn/mmc.c b/libburn/mmc.c index 10b409b..433f6fe 100644 --- a/libburn/mmc.c +++ b/libburn/mmc.c @@ -636,12 +636,20 @@ void mmc_read_atip(struct burn_drive *d) d->start_lba= burn_msf_to_lba(data[8],data[9],data[10]); d->end_lba= burn_msf_to_lba(data[12],data[13],data[14]); if (data[6]&4) { - if (speed_value[(data[16]>>4)&7] > 0) + if (speed_value[(data[16]>>4)&7] > 0) { d->mdata->min_write_speed = speed_value[(data[16]>>4)&7]; - if (speed_value[(data[16])&15] > 0) + if (speed_value[(data[16])&15] <= 0) + d->mdata->max_write_speed = + speed_value[(data[16]>>4)&7]; + } + if (speed_value[(data[16])&15] > 0) { d->mdata->max_write_speed = speed_value[(data[16])&15]; + if (speed_value[(data[16]>>4)&7] <= 0) + d->mdata->min_write_speed = + speed_value[(data[16])&15]; + } } #ifdef Burn_mmc_be_verbous_about_atiP