diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 3581cef1..a5cdd7ce 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2009.04.22.173603" +#define Xorriso_timestamP "2009.04.22.173648" diff --git a/xorriso/xorrisoburn.c b/xorriso/xorrisoburn.c index 55b42288..7173c5dc 100644 --- a/xorriso/xorrisoburn.c +++ b/xorriso/xorrisoburn.c @@ -4216,7 +4216,7 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag) int num_sessions= 0, num_tracks= 0, lba= 0, nwa= -1, pmin, psec, pframe, ret; int track_count= 0, session_no, track_no, profile_no= -1, track_size; int last_track_start= 0, last_track_size= -1, num_data= 0, is_data= 0; - int is_inout_drive= 0, drive_role, status, num_formats; + int is_inout_drive= 0, drive_role, status, num_formats, emul_lba; int num_payload= 0, num_wasted= 0, num_nondata= 0; char profile_name[80],*respt,*devadr, *typetext= ""; struct burn_toc_entry toc_entry; @@ -4380,7 +4380,10 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag) if(flag&(1|4)) ret= 0; else { - ret= isoburn_read_iso_head(drive, lba, &image_blocks, volume_id, 1); + ret= isoburn_toc_track_get_emul(tracks[track_no], &emul_lba, + &image_blocks, volume_id, 0); + if(ret <= 0) + ret= isoburn_read_iso_head(drive, lba, &image_blocks, volume_id, 1); if(image_blocks > track_size) { sprintf(xorriso->info_text, "Session %d bears ISO image size %ds larger than track size %ds",