Avoiding repeated PVD read attempts if first reading of PVD yielded error
This commit is contained in:
@ -1191,6 +1191,7 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
|
||||
int ret, info_mode, capacity, role;
|
||||
off_t data_count, to_read;
|
||||
enum burn_disc_status s;
|
||||
struct isoburn *o;
|
||||
|
||||
info_mode= flag&255;
|
||||
*image_blocks= 0;
|
||||
@ -1214,6 +1215,10 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
|
||||
}
|
||||
to_read= (off_t) capacity * ((off_t) 2048);
|
||||
if(ret > 0 && to_read >= (off_t) (36 * 1024)) {
|
||||
ret= isoburn_find_emulator(&o, d, 0);
|
||||
if(ret > 0)
|
||||
if(o->media_read_error)
|
||||
return(-1 * !!(flag & (1 << 15)));
|
||||
if(to_read >= (off_t) (64 * 1024))
|
||||
to_read= 64 * 1024;
|
||||
ret = burn_read_data(d, ((off_t) lba) * (off_t) 2048, (char *) buffer,
|
||||
|
Reference in New Issue
Block a user