|
|
|
@ -1291,6 +1291,8 @@ int isoburn_read_iso_head_parse(unsigned char *data,
|
|
|
|
|
0= do not return anything in info (do not even touch it)
|
|
|
|
|
1= copy volume id to info (info needs 33 bytes)
|
|
|
|
|
2= copy 64 kB header to info (needs 65536 bytes)
|
|
|
|
|
bit12= read even if the start of multi-session emulation
|
|
|
|
|
yielded a read error
|
|
|
|
|
bit13= do not read head from media but use first 64 kB from info
|
|
|
|
|
bit14= check both half buffers (not only second)
|
|
|
|
|
return 2 if found in first block
|
|
|
|
@ -1333,7 +1335,7 @@ int isoburn_read_iso_head(struct burn_drive *d, int lba,
|
|
|
|
|
if(ret > 0 && to_read >= (off_t) (36 * 1024)) {
|
|
|
|
|
ret= isoburn_find_emulator(&o, d, 0);
|
|
|
|
|
if(ret > 0)
|
|
|
|
|
if(o->media_read_error)
|
|
|
|
|
if(o->media_read_error && !(flag & (1 << 12)))
|
|
|
|
|
{ret= (-1 * !!(flag & (1 << 15))); goto ex;}
|
|
|
|
|
if(to_read >= (off_t) (64 * 1024))
|
|
|
|
|
to_read= 64 * 1024;
|
|
|
|
|