Re-enabled overwriteable pseudo-pseudo-SAO with unpredicted track size

This commit is contained in:
Thomas Schmitt 2007-02-22 07:26:41 +00:00
parent fa6849374a
commit 8182be7824
4 changed files with 9 additions and 6 deletions

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2007.02.21.205244" #define Cdrskin_timestamP "2007.02.22.072700"

View File

@ -1677,7 +1677,7 @@ int burn_disc_get_multi_caps(struct burn_drive *d, enum burn_write_types wt,
d->best_format_size - 2048; d->best_format_size - 2048;
} }
} }
o->might_do_sao = 3; o->might_do_sao = 4;
o->might_do_tao = 2; o->might_do_tao = 2;
o->advised_write_mode = BURN_WRITE_TAO; o->advised_write_mode = BURN_WRITE_TAO;
} else /* unknown media */ } else /* unknown media */

View File

@ -1518,7 +1518,8 @@ struct burn_multi_caps {
off_t start_range_high; off_t start_range_high;
/** Potential availability of write modes /** Potential availability of write modes
3= allowed but not to be chosen automatically 4= needs no size prediction, not to be chosen automatically
3= needs size prediction, not to be chosen automatically
2= available, no size prediction necessary 2= available, no size prediction necessary
1= available, needs exact size prediction 1= available, needs exact size prediction
0= not available 0= not available

View File

@ -241,7 +241,8 @@ no_caps:;
strcat(reasons, "appended session capability lacking, "); strcat(reasons, "appended session capability lacking, ");
if (demands.multi_track && !caps->multi_track) if (demands.multi_track && !caps->multi_track)
strcat(reasons, "multi track capability lacking, "); strcat(reasons, "multi track capability lacking, ");
if (demands.unknown_track_size == 1) if (demands.unknown_track_size == 1 &&
(caps->might_do_sao == 1 || caps->might_do_sao == 3))
strcat(reasons, "track size unpredictable, "); strcat(reasons, "track size unpredictable, ");
if (demands.mixed_mode) if (demands.mixed_mode)
strcat(reasons, "tracks of different modes mixed, "); strcat(reasons, "tracks of different modes mixed, ");
@ -256,10 +257,11 @@ no_caps:;
if (strcmp(reason_pt, "SAO: ") != 0) if (strcmp(reason_pt, "SAO: ") != 0)
goto no_sao; goto no_sao;
would_do_sao = 1; would_do_sao = 1;
if (demands.unknown_track_size == 2 && !(flag & 1)) { if (demands.unknown_track_size == 2 && (!(flag & 1)) &&
(caps->might_do_sao == 1 || caps->might_do_sao == 3)) {
strcat(reasons, "would have to use default track sizes, "); strcat(reasons, "would have to use default track sizes, ");
goto no_sao; goto no_sao;
} else if (caps->might_do_sao == 3 && !(flag & 1)) } else if (caps->might_do_sao >= 3 && !(flag & 1))
goto try_tao; goto try_tao;
do_sao:; do_sao:;
if (!(flag & 1)) if (!(flag & 1))