diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 6df2043..db39af1 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2009.12.05.111822" +#define Cdrskin_timestamP "2009.12.05.142309" diff --git a/libburn/libburn.h b/libburn/libburn.h index 9517bdc..502eb56 100644 --- a/libburn/libburn.h +++ b/libburn/libburn.h @@ -1581,9 +1581,11 @@ void burn_drive_cancel(struct burn_drive *drive); /* ts A61223 */ -/** Inquire whether the most recent write run was successful. Reasons for - non-success may be: rejection of burn parameters, abort during fatal errors - during write, a call to burn_drive_cancel() by the application thread. +/** Inquire whether the most recent asynchronous media job was successful. + This applies to burn_disc_erase(), burn_disc_format(), burn_disc_write(). + Reasons for non-success may be: rejection of burn parameters, abort due to + fatal errors during write, blank or format, a call to burn_drive_cancel() + by the application thread. @param d The drive to inquire. @return 1=burn seems to have went well, 0=burn failed @since 0.2.6 @@ -2905,25 +2907,19 @@ BURN_END_DECLS #endif -/* This solves a problem with Pioneer DVR-216D. - Writing of sequential DVD-R[W] happens unnaturally fast and leaves no - impact on the media. The drive stalls at the end of the burn run. Only a - power cycle makes it usable again. - - Apparent reason: - One may not read the buffer capacity more than once before it is full - and physical burning begun. Strangely this happens only with libburn and - cdrecord-2.01.01a64 -v which both write DVD-R in 32 KB chunks. With - wodim's 62 KB chunks there is no endless drive business. +/* ts A91205 */ +/* The following experiments may be interesting in future: */ -#define Libburn_pioneer_dvr_216d_read_buf_caP 1 - - -/* The following experiments did not solve the problem with Pioneer DVR-216D - but may nevertheless be interesting in future: +/* Perform OPC explicitely. # define Libburn_pioneer_dvr_216d_with_opC 1 +*/ + +/* Load mode page 5 and modify it rather than composing from scratch. # define Libburn_pioneer_dvr_216d_load_mode5 1 +*/ + +/* Inquire drive events and react by reading configuration or starting unit. # define Libburn_pioneer_dvr_216d_get_evenT 1 */ diff --git a/libburn/write.c b/libburn/write.c index b72ebeb..0d2b635 100644 --- a/libburn/write.c +++ b/libburn/write.c @@ -1395,15 +1395,11 @@ int burn_dvd_write_track(struct burn_write_opts *o, ret = burn_disc_open_track_dvd_minus_r(o, s, tnum); if (ret <= 0) goto ex; - -#ifdef Libburn_pioneer_dvr_216d_read_buf_caP /* Pioneer DVR-216D rev 1.09 hates multiple buffer inquiries before the drive buffer is full. */ first_buf_cap = 0; further_cap = -1; -#endif - } else if (d->current_profile == 0x1b || d->current_profile == 0x2b) { /* DVD+R , DVD+R/DL */ ret = burn_disc_open_track_dvd_plus_r(o, s, tnum);