Browse Source

Took into respect deliberate lack of DVD-R/DL multi session capability

ZeroThreeEight
Thomas Schmitt 16 years ago
parent
commit
0c4cfdd359
  1. 2
      cdrskin/cdrskin.1
  2. 2
      cdrskin/cdrskin_timestamp.h
  3. 16
      libburn/drive.c
  4. 10
      libburn/write.c
  5. 12
      libburn/write.h

2
cdrskin/cdrskin.1

@ -633,7 +633,7 @@ This option is only needed for revoking eventual --ignore_signals or
.BI \--allow_untested_media
Enable the use of media profiles which have been implemented but not yet
tested. Currently this applies to : profile 0015h , DVD-R/DL Sequential
(will probably ignore -multi).
(will not allow -multi).
.br
If you really test such media, then please report the outcome on
libburn-hackers@pykix.org

2
cdrskin/cdrskin_timestamp.h

@ -1 +1 @@
#define Cdrskin_timestamP "2007.02.23.193427"
#define Cdrskin_timestamP "2007.02.25.112733"

16
libburn/drive.c

@ -32,6 +32,9 @@
/* ts A70219 : for burn_disc_get_write_mode_demands() */
#include "options.h"
/* A70225 : to learn about eventual Libburn_dvd_r_dl_multi_no_close_sessioN */
#include "write.h"
#include "libdax_msgs.h"
extern struct libdax_msgs *libdax_messenger;
@ -1649,7 +1652,11 @@ int burn_disc_get_multi_caps(struct burn_drive *d, enum burn_write_types wt,
o->advised_write_mode = BURN_WRITE_SAO;
}
if (d->current_has_feat21h) {
o->multi_session = o->multi_track = 1;
#ifndef Libburn_dvd_r_dl_multi_no_close_sessioN
if (d->current_profile != 0x15)
#endif
o->multi_session = 1;
o->multi_track = 1;
o->might_do_tao = 2;
o->advised_write_mode = BURN_WRITE_TAO;
}
@ -1687,6 +1694,13 @@ int burn_disc_get_multi_caps(struct burn_drive *d, enum burn_write_types wt,
o->might_do_sao = 4;
o->might_do_tao = 2;
o->advised_write_mode = BURN_WRITE_TAO;
} else if (d->current_profile == 0x1b || d->current_profile == 0x2b) {
/* DVD+R , DVD+R/DL */
o->multi_session = 1;
o->multi_track = 1;
o->might_do_tao = 2;
o->might_do_sao = 1;
o->advised_write_mode = BURN_WRITE_TAO;
} else /* unknown media */
return 0;

10
libburn/write.c

@ -6,16 +6,6 @@
/* ts A61009 */
/* #include <a ssert.h> */
/* mmc5r03c.pdf 6.3.3.3.3: DVD-R DL: Close Function 010b: Close Session
"When the recording mode is Incremental Recording,
the disc is single session."
Enable this macro to get away from growisofs which uses Close Session
but also states "// DVD-R DL Seq has no notion of multi-session".
#define Libburn_dvd_r_dl_multi_no_close_sessioN 1
*/
/* ts A61106 : Deliberate defect provocation macros
DO NOT DEFINE THESE IF YOU WANT SUCCESSFUL TAO !

12
libburn/write.h

@ -33,4 +33,16 @@ int burn_write_close_track(struct burn_write_opts *o, struct burn_session *s,
int tnum);
int burn_write_close_session(struct burn_write_opts *o,struct burn_session *s);
/* mmc5r03c.pdf 6.3.3.3.3: DVD-R DL: Close Function 010b: Close Session
"When the recording mode is Incremental Recording,
the disc is single session."
Enable this macro to get away from growisofs which uses Close Session
but also states "// DVD-R DL Seq has no notion of multi-session".
#define Libburn_dvd_r_dl_multi_no_close_sessioN 1
*/
#endif /* BURN__WRITE_H */

Loading…
Cancel
Save