Made use of new libisoburn call to accelerate option -toc for large TOC

This commit is contained in:
Thomas Schmitt 2009-04-22 17:37:00 +00:00
parent cc66b5b3a4
commit 29a3048803
2 changed files with 6 additions and 3 deletions

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.04.22.173603" #define Xorriso_timestamP "2009.04.22.173648"

View File

@ -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 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 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 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; int num_payload= 0, num_wasted= 0, num_nondata= 0;
char profile_name[80],*respt,*devadr, *typetext= ""; char profile_name[80],*respt,*devadr, *typetext= "";
struct burn_toc_entry toc_entry; struct burn_toc_entry toc_entry;
@ -4380,6 +4380,9 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
if(flag&(1|4)) if(flag&(1|4))
ret= 0; ret= 0;
else { else {
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); ret= isoburn_read_iso_head(drive, lba, &image_blocks, volume_id, 1);
if(image_blocks > track_size) { if(image_blocks > track_size) {
sprintf(xorriso->info_text, sprintf(xorriso->info_text,