Fixed CD TAO multi-track -dummy bug reported by Philippe Rouquier

This commit is contained in:
Thomas Schmitt 2009-10-04 15:11:35 +00:00
parent 2c43e3ae76
commit f45a911e86
3 changed files with 22 additions and 5 deletions

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2009.09.22.192802"
#define Cdrskin_timestamP "2009.10.04.151239"

View File

@ -550,6 +550,7 @@ Range "scdbackup" : 0x00020000 to 0x0002ffff
0x00020170 (NOTE,HIGH) = Closing open session before writing new one
0x00020171 (NOTE,HIGH) = Closing BD-R with accidently open session
0x00020172 (SORRY,HIGH) = Read start address larger than number of readable blocks
0x00020173 (FAILURE,HIGH) = Drive tells NWA smaller than last written address
libdax_audioxtr:

View File

@ -769,8 +769,18 @@ int burn_write_track(struct burn_write_opts *o, struct burn_session *s,
libdax_msgs_submit(libdax_messenger, d->global_index, 0x000002,
LIBDAX_MSGS_SEV_DEBUG, LIBDAX_MSGS_PRIO_ZERO,
msg, 0, 0);
if (nwa > d->nwa)
d->nwa = nwa;
/* ts A91003 */
if (nwa < d->nwa) {
libdax_msgs_submit(libdax_messenger, d->global_index,
0x00020173,
LIBDAX_MSGS_SEV_FAILURE, LIBDAX_MSGS_PRIO_HIGH,
"Drive tells NWA smaller than last written address",
0, 0);
d->sync_cache(d);
return 0;
}
d->nwa = nwa;
}
@ -867,8 +877,14 @@ ex:;
d->sync_cache(d);
/* ts A61030 */
if (burn_write_close_track(o, s, tnum) <= 0)
ret = 0;
/* ts A91003 :
At least in simulation mode this causes NWA=0 for the
next track. cdrecord does not use CLOSE TRACK at all but
ends the tracks by SYNCHRONIZE CACHE alone.
*/
if (!o->simulate)
if (burn_write_close_track(o, s, tnum) <= 0)
ret = 0;
}
return ret;
}