Bug fix: BD-R were not correctly finalized

This commit is contained in:
Thomas Schmitt 2009-01-07 15:44:30 +00:00
parent 01a825310e
commit 47dd4d8c09
2 changed files with 15 additions and 5 deletions

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2009.01.06.122808" #define Cdrskin_timestamP "2009.01.07.154414"

View File

@ -1159,19 +1159,29 @@ int burn_disc_close_track_dvd_minus_r(struct burn_write_opts *o,
int burn_disc_finalize_dvd_plus_r(struct burn_write_opts *o) int burn_disc_finalize_dvd_plus_r(struct burn_write_opts *o)
{ {
struct burn_drive *d = o->drive; struct burn_drive *d = o->drive;
char msg[80];
sprintf(msg, "Finalizing %s ...",
d->current_profile_text);
libdax_msgs_submit(libdax_messenger, d->global_index, libdax_msgs_submit(libdax_messenger, d->global_index,
0x00000002, 0x00000002,
LIBDAX_MSGS_SEV_DEBUG, LIBDAX_MSGS_PRIO_ZERO, LIBDAX_MSGS_SEV_DEBUG, LIBDAX_MSGS_PRIO_ZERO,
"Finalizing DVD+R ...", 0, 0); msg, 0, 0);
/* CLOSE SESSION, 101b, Finalize with minimal radius */ if(d->current_profile == 0x41) { /* BD-R */
d->close_track_session(d, 2, 1); /* (2<<1)|1 = 5 */ /* CLOSE SESSION, 110b, Finalize Disc */
d->close_track_session(d, 3, 0); /* (3<<1)|0 = 6 */
} else {
/* CLOSE SESSION, 101b, Finalize with minimal radius */
d->close_track_session(d, 2, 1); /* (2<<1)|1 = 5 */
}
sprintf(msg, "... finalizing %s done ",
d->current_profile_text);
libdax_msgs_submit(libdax_messenger, d->global_index, libdax_msgs_submit(libdax_messenger, d->global_index,
0x00000002, 0x00000002,
LIBDAX_MSGS_SEV_DEBUG, LIBDAX_MSGS_PRIO_ZERO, LIBDAX_MSGS_SEV_DEBUG, LIBDAX_MSGS_PRIO_ZERO,
"... finalizing DVD+R done ", 0, 0); msg, 0, 0);
return 1; return 1;
} }