diff --git a/libburn/trunk/cdrskin/cdrskin.1 b/libburn/trunk/cdrskin/cdrskin.1 index f9a276d0..b138fc25 100644 --- a/libburn/trunk/cdrskin/cdrskin.1 +++ b/libburn/trunk/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 diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index 5218821d..6226065d 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2007.02.23.193427" +#define Cdrskin_timestamP "2007.02.25.112733" diff --git a/libburn/trunk/libburn/drive.c b/libburn/trunk/libburn/drive.c index 9ae46c50..fc1d95aa 100644 --- a/libburn/trunk/libburn/drive.c +++ b/libburn/trunk/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; diff --git a/libburn/trunk/libburn/write.c b/libburn/trunk/libburn/write.c index e28a37a8..8adf5564 100644 --- a/libburn/trunk/libburn/write.c +++ b/libburn/trunk/libburn/write.c @@ -6,16 +6,6 @@ /* ts A61009 */ /* #include */ -/* 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 ! diff --git a/libburn/trunk/libburn/write.h b/libburn/trunk/libburn/write.h index f221326a..d5b1b32d 100644 --- a/libburn/trunk/libburn/write.h +++ b/libburn/trunk/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 */