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
|
/* 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.
|
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
|
Error messages of class DEBUG appear because of inability to
|
||||||
read TOC or track info. Nevertheless, the written images verify.
|
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
|
ts A70101 : Formatted DVD-RW media. Success is varying with media, but
|
||||||
dvd+rw-format does not do better with the same media.
|
dvd+rw-format does not do better with the same media.
|
||||||
ts A70112 : Support for writing to DVD-RAM.
|
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:
|
Todo:
|
||||||
Determine first free lba for appending data.
|
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_session *s, int tnum)
|
||||||
{
|
{
|
||||||
struct burn_drive *d = o->drive;
|
struct burn_drive *d = o->drive;
|
||||||
|
char msg[80];
|
||||||
|
|
||||||
/* only DVD-R or sequential DVD-RW */
|
/* only DVD-R or sequential DVD-RW */
|
||||||
if (d->current_has_feat21h != 1) /* only with Incremental writing */
|
if (d->current_has_feat21h != 1) /* only with Incremental writing */
|
||||||
return 2;
|
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;
|
d->busy = BURN_DRIVE_CLOSING_SESSION;
|
||||||
/* Ignoring tnum here and hoping that d->last_track_no is correct */
|
/* 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 */
|
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)
|
if (d->current_has_feat21h != 1)
|
||||||
return 2; /* only for Incremental writing */
|
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->busy = BURN_DRIVE_CLOSING_SESSION;
|
||||||
d->close_track_session(d, 1, 0); /* CLOSE SESSION, 010b */
|
d->close_track_session(d, 1, 0); /* CLOSE SESSION, 010b */
|
||||||
d->busy = BURN_DRIVE_WRITING;
|
d->busy = BURN_DRIVE_WRITING;
|
||||||
|
Loading…
Reference in New Issue
Block a user