Test macro for SL_V in mode page 05

This commit is contained in:
Thomas Schmitt 2009-11-03 18:45:08 +00:00
parent 3c2ad1be42
commit e78353b7dd
3 changed files with 18 additions and 11 deletions

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2009.10.30.134640"
#define Cdrskin_timestamP "2009.11.03.184626"

View File

@ -2750,7 +2750,7 @@ BURN_END_DECLS
#endif
/* Temporary facility for exploring Problems with Pioneer DVR-216D which
/* Temporary facility for exploring problems with Pioneer DVR-216D which
does not end writing of DVD-R.
This code does not hamper normal operations but causes some extra
messages to stderr and lots of text lines in File
@ -2760,14 +2760,11 @@ BURN_END_DECLS
# define Libburn_pioneer_dvr_216d_tesT 1
*/
/* Temporary facility to disable asynchronous execution of the final buffer
flush command SYNCHRONIZE CACHE. This is suspected to cycle endlessly
on Pioneer DVR-216D.
On the other hand, synchronous execution of the command blocks a P-ATA
controller for both eventually connected devices.
Move the next line outside this remark and remove all blanks up to "define".
# Libburn_pioneer_dvr_sync_not_immeD 1
/* Experiment for problems with Pioneer DVR-216D:
In mode page 05h set LS_V to 1 and Link Size to 16.
(This is done by growisofs and by wodim in DAO mode although MMC-5
specifies that they do not matter for DAO.)
# define Libburn_pioneer_dvr_216d_lsv_onE 1
*/

View File

@ -3736,7 +3736,6 @@ int mmc_compose_mode_page_5(struct burn_drive *d,
pd[4] = 8;
/* Link size dummy */
pd[5] = 0;
} else if ((d->current_profile == 0x14 || d->current_profile == 0x11 ||
d->current_profile == 0x15)
&& o->write_type == BURN_WRITE_SAO) {
@ -3753,6 +3752,13 @@ int mmc_compose_mode_page_5(struct burn_drive *d,
/* Data Block Type = 8 */
pd[4] = 8;
#ifdef Libburn_pioneer_dvr_216d_lsv_onE
pd[2] |= (1 << 5); /* LS_V = 1 */
pd[5] = 16; /* Link Size = 16 */
fprintf(stderr, "libburn_DEBUG: Libburn_pioneer_dvr_216d_lsv_onE , LS_V=1, Link Size=16\n");
#endif
} else if (d->current_profile == 0x14 || d->current_profile == 0x11 ||
d->current_profile == 0x15) {
/* ts A70128 : DVD-R[W][/DL] Incremental Streaming */
@ -3787,6 +3793,10 @@ int mmc_compose_mode_page_5(struct burn_drive *d,
/* Packet Size */
pd[13] = 16;
#ifdef Libburn_pioneer_dvr_216d_lsv_onE
fprintf(stderr, "libburn_DEBUG: Libburn_pioneer_dvr_216d_lsv_onE , LS_V= %d, Link Size= %d\n", !!(pd[2] & 32), (int) pd[5]);
#endif
} else if (d->current_profile == 0x1a || d->current_profile == 0x1b ||
d->current_profile == 0x2b || d->current_profile == 0x12 ||
d->current_profile == 0x41 || d->current_profile == 0x42 ||