From 368b0590e240e319f0805a29d4e1ba2aad4b61e1 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 23 Sep 2015 10:59:45 +0000 Subject: [PATCH] Bug fix: burn_disc_get_multi_caps() returned 2048 bytes too many in .start_range_high --- cdrskin/cdrskin_timestamp.h | 2 +- libburn/drive.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 676d3d8..07816d0 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2015.09.17.160121" +#define Cdrskin_timestamP "2015.09.23.110012" diff --git a/libburn/drive.c b/libburn/drive.c index 132252a..d5f1277 100644 --- a/libburn/drive.c +++ b/libburn/drive.c @@ -2865,7 +2865,7 @@ int burn_disc_get_multi_caps(struct burn_drive *d, enum burn_write_types wt, size = d->media_capacity_remaining; burn_os_stdio_capacity(d->devname, 0, &size); burn_drive_set_media_capacity_remaining(d, size); - o->start_range_high = d->media_capacity_remaining; + o->start_range_high = d->media_capacity_remaining - 2048; o->start_alignment = 2048; /* imposting a drive, not a file */ o->might_do_sao = 4; o->might_do_tao = 2; @@ -2880,7 +2880,7 @@ int burn_disc_get_multi_caps(struct burn_drive *d, enum burn_write_types wt, /* >>> start_range_low = file size rounded to 2048 */; - o->start_range_high = d->media_capacity_remaining; + o->start_range_high = d->media_capacity_remaining - 2048; o->start_alignment = 2048; /* imposting a drive, not a file */ if (s == BURN_DISC_APPENDABLE) { if (wt == BURN_WRITE_SAO || wt == BURN_WRITE_RAW) @@ -2961,7 +2961,7 @@ int burn_disc_get_multi_caps(struct burn_drive *d, enum burn_write_types wt, &num_formats); if (ret == 1) { if (status == BURN_FORMAT_IS_FORMATTED) - o->start_range_high = size; + o->start_range_high = size - 2048; if (d->current_profile == 0x13) { o->start_alignment = 32 * 1024; for (i = 0; i < num_formats; i++) {