diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index be244b6..f2fa6ce 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2007.01.30.165317" +#define Cdrskin_timestamP "2007.01.30.191740" diff --git a/libburn/mmc.c b/libburn/mmc.c index a46d673..bb5117c 100644 --- a/libburn/mmc.c +++ b/libburn/mmc.c @@ -45,11 +45,11 @@ extern struct libdax_msgs *libdax_messenger; /* ts A70129 >>> EXPERIMENTAL UNTESTED -#define Libburn_support_dvd_r_seQ 1 */ +#define Libburn_support_dvd_r_seQ 1 -/* Progress report (with Libburn_support_dvd_plus_rW defined): +/* Progress report: ts A61219 : It seems to work with a used (i.e. thoroughly formatted) DVD+RW. Error messages of class DEBUG appear because of inability to read TOC or track info. Nevertheless, the written images verify. @@ -70,6 +70,14 @@ extern struct libdax_msgs *libdax_messenger; ts A70101 : Formatted DVD-RW media. Success is varying with media, but dvd+rw-format does not do better with the same media. ts A70112 : Support for writing to DVD-RAM. + ts A70130 : Burned a first non-multi sequential DVD-RW. Feature 0021h + Incremental Recording vanishes after that and media thus gets + not recognized as suitable any more. + After a run with -multi another disc still offers 0021h . + dvd+rw-mediainfo shows two tracks. The second, an afio archive + is readable by afio. Third and forth veryfy too. Suddenly + dvd+rw-mediainfo sees lba 0 with track 2. But #2 still verifies + if one knows its address. Todo: Determine first free lba for appending data. diff --git a/libburn/write.c b/libburn/write.c index 5fc8c6a..f792da5 100644 --- a/libburn/write.c +++ b/libburn/write.c @@ -894,11 +894,17 @@ int burn_disc_close_track_dvd_minus_r(struct burn_write_opts *o, struct burn_session *s, int tnum) { struct burn_drive *d = o->drive; + char msg[80]; /* only DVD-R or sequential DVD-RW */ if (d->current_has_feat21h != 1) /* only with Incremental writing */ return 2; + sprintf(msg, "Closing track %2.2d (absolute track number %d)", + tnum + 1, d->last_track_no); + libdax_msgs_submit(libdax_messenger, o->drive->global_index,0x00020119, + LIBDAX_MSGS_SEV_DEBUG, LIBDAX_MSGS_PRIO_HIGH, msg,0,0); + d->busy = BURN_DRIVE_CLOSING_SESSION; /* Ignoring tnum here and hoping that d->last_track_no is correct */ d->close_track_session(d, 0, d->last_track_no); /* CLOSE TRACK, 001b */ @@ -1023,6 +1029,10 @@ int burn_disc_close_session_dvd_minus_r(struct burn_write_opts *o, if (d->current_has_feat21h != 1) return 2; /* only for Incremental writing */ + libdax_msgs_submit(libdax_messenger, o->drive->global_index,0x00020119, + LIBDAX_MSGS_SEV_DEBUG, LIBDAX_MSGS_PRIO_HIGH, + "Closing session", 0, 0); + d->busy = BURN_DRIVE_CLOSING_SESSION; d->close_track_session(d, 1, 0); /* CLOSE SESSION, 010b */ d->busy = BURN_DRIVE_WRITING;