From 396a743690fdae6c274b1e598fb4721bc4a401ab Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sun, 22 Nov 2009 20:52:40 +0000 Subject: [PATCH] Bug fix: DVD DAO track size was rounded up much too generously --- libburn/trunk/cdrskin/cdrskin_timestamp.h | 2 +- libburn/trunk/libburn/write.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index 655fd400..d35037fc 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2009.11.21.191717" +#define Cdrskin_timestamP "2009.11.22.115227" diff --git a/libburn/trunk/libburn/write.c b/libburn/trunk/libburn/write.c index ea8a05f9..c65d2800 100644 --- a/libburn/trunk/libburn/write.c +++ b/libburn/trunk/libburn/write.c @@ -1103,10 +1103,10 @@ int burn_disc_open_track_dvd_minus_r(struct burn_write_opts *o, if (o->write_type == BURN_WRITE_SAO) { /* DAO */ /* Round track size up to write chunk size and reserve track */ - size = ((off_t) burn_track_get_sectors(s->track[tnum])); + size = ((off_t) burn_track_get_sectors(s->track[tnum])) + * (off_t) 2048; if (size % o->obs) size += (off_t) (o->obs - (size % o->obs)); - size *= (off_t) 2048; ret = d->reserve_track(d, size); if (ret <= 0) { sprintf(msg, "Cannot reserve track of %.f bytes", @@ -1145,10 +1145,10 @@ int burn_disc_open_track_dvd_plus_r(struct burn_write_opts *o, if (o->write_type == BURN_WRITE_SAO && ! burn_track_is_open_ended(s->track[tnum])) { /* Round track size up to write chunk size and reserve track */ - size = ((off_t) burn_track_get_sectors(s->track[tnum])); + size = ((off_t) burn_track_get_sectors(s->track[tnum])) + * (off_t) 2048; if (size % o->obs) size += (off_t) (o->obs - (size % o->obs)); - size *= (off_t) 2048; ret = d->reserve_track(d, size); if (ret <= 0) { sprintf(msg, "Cannot reserve track of %.f bytes",