Extended struct burn_multi_caps by .might_simulate
This commit is contained in:
parent
bbc91a6363
commit
1b90038fd5
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2007.05.28.132412"
|
#define Cdrskin_timestamP "2007.05.28.165630"
|
||||||
|
@ -1022,7 +1022,6 @@ int burn_drive_is_enumerable_adr(char *adr)
|
|||||||
#define BURN_DRIVE_MAX_LINK_DEPTH 20
|
#define BURN_DRIVE_MAX_LINK_DEPTH 20
|
||||||
|
|
||||||
/* ts A60922 ticket 33 */
|
/* ts A60922 ticket 33 */
|
||||||
/* Try to find an enumerated address with the given stat.st_rdev number */
|
|
||||||
int burn_drive_resolve_link(char *path, char adr[], int *recursion_count)
|
int burn_drive_resolve_link(char *path, char adr[], int *recursion_count)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
@ -1620,6 +1619,7 @@ int burn_disc_get_multi_caps(struct burn_drive *d, enum burn_write_types wt,
|
|||||||
o->selected_write_mode = wt;
|
o->selected_write_mode = wt;
|
||||||
o->current_profile = d->current_profile;
|
o->current_profile = d->current_profile;
|
||||||
o->current_is_cd_profile = d->current_is_cd_profile;
|
o->current_is_cd_profile = d->current_is_cd_profile;
|
||||||
|
o->might_simulate = 0;
|
||||||
|
|
||||||
if (s != BURN_DISC_BLANK && s != BURN_DISC_APPENDABLE) {
|
if (s != BURN_DISC_BLANK && s != BURN_DISC_APPENDABLE) {
|
||||||
return 0;
|
return 0;
|
||||||
@ -1649,6 +1649,9 @@ int burn_disc_get_multi_caps(struct burn_drive *d, enum burn_write_types wt,
|
|||||||
}
|
}
|
||||||
if (wt == BURN_WRITE_RAW)
|
if (wt == BURN_WRITE_RAW)
|
||||||
o->multi_session = o->multi_track = 0;
|
o->multi_session = o->multi_track = 0;
|
||||||
|
else if(wt == BURN_WRITE_NONE || wt == BURN_WRITE_SAO ||
|
||||||
|
wt == BURN_WRITE_TAO)
|
||||||
|
o->might_simulate = !!d->mdata->simulate;
|
||||||
} else if (d->current_profile == 0x11 || d->current_profile == 0x14 ||
|
} else if (d->current_profile == 0x11 || d->current_profile == 0x14 ||
|
||||||
d->current_profile == 0x15) {
|
d->current_profile == 0x15) {
|
||||||
/* DVD-R , sequential DVD-RW , DVD-R/DL Sequential */
|
/* DVD-R , sequential DVD-RW , DVD-R/DL Sequential */
|
||||||
@ -1667,6 +1670,9 @@ int burn_disc_get_multi_caps(struct burn_drive *d, enum burn_write_types wt,
|
|||||||
}
|
}
|
||||||
if (wt == BURN_WRITE_SAO)
|
if (wt == BURN_WRITE_SAO)
|
||||||
o->multi_session = o->multi_track = 0;
|
o->multi_session = o->multi_track = 0;
|
||||||
|
if (wt == BURN_WRITE_NONE || wt == BURN_WRITE_SAO ||
|
||||||
|
wt == BURN_WRITE_TAO)
|
||||||
|
o->might_simulate = 1;
|
||||||
} else if (d->current_profile == 0x12 || d->current_profile == 0x13 ||
|
} else if (d->current_profile == 0x12 || d->current_profile == 0x13 ||
|
||||||
d->current_profile == 0x1a) {
|
d->current_profile == 0x1a) {
|
||||||
/* DVD-RAM, overwriteable DVD-RW, DVD+RW */
|
/* DVD-RAM, overwriteable DVD-RW, DVD+RW */
|
||||||
|
@ -1411,6 +1411,7 @@ void burn_write_opts_set_fillup(struct burn_write_opts *opts,
|
|||||||
/* ts A70303 */
|
/* ts A70303 */
|
||||||
/** Eventually makes libburn ignore the failure of some conformance checks:
|
/** Eventually makes libburn ignore the failure of some conformance checks:
|
||||||
- the check wether CD write+block type is supported by the drive
|
- the check wether CD write+block type is supported by the drive
|
||||||
|
- the check wether the media profile supports simulated burning
|
||||||
@param opts The write opts to change
|
@param opts The write opts to change
|
||||||
@param use_force 1=ignore above checks, 0=refuse work on failed check
|
@param use_force 1=ignore above checks, 0=refuse work on failed check
|
||||||
*/
|
*/
|
||||||
@ -1599,6 +1600,10 @@ struct burn_multi_caps {
|
|||||||
|
|
||||||
/** Wether the current profile indicates CD media. 1=yes, 0=no */
|
/** Wether the current profile indicates CD media. 1=yes, 0=no */
|
||||||
int current_is_cd_profile;
|
int current_is_cd_profile;
|
||||||
|
|
||||||
|
/* ts A70528, added to version 0.3.7 */
|
||||||
|
/** Wether the current profile is able to perform simulated write */
|
||||||
|
int might_simulate;
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Allocates a struct burn_multi_caps (see above) and fills it with values
|
/** Allocates a struct burn_multi_caps (see above) and fills it with values
|
||||||
|
@ -312,6 +312,11 @@ int telltoc_media(struct burn_drive *drive)
|
|||||||
caps->advised_write_mode == BURN_WRITE_RAW ?
|
caps->advised_write_mode == BURN_WRITE_RAW ?
|
||||||
" (advised)" : "");
|
" (advised)" : "");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
printf("Write dummy : ");
|
||||||
|
if (caps->might_simulate)
|
||||||
|
printf("supposed to work with non-RAW modes\n");
|
||||||
|
else
|
||||||
|
printf("will not work\n");
|
||||||
o= burn_write_opts_new(drive);
|
o= burn_write_opts_new(drive);
|
||||||
if (o != NULL) {
|
if (o != NULL) {
|
||||||
burn_write_opts_set_perform_opc(o, 0);
|
burn_write_opts_set_perform_opc(o, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user