First successful multi-session write to a sequential DVD-RW
This commit is contained in:
parent
eae1198606
commit
f39fff4e16
@ -1 +1 @@
|
||||
#define Cdrskin_timestamP "2007.01.30.165317"
|
||||
#define Cdrskin_timestamP "2007.01.30.191740"
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user