|
|
|
@ -499,7 +499,7 @@ int Xorriso_create_empty_iso(struct XorrisO *xorriso, int flag)
|
|
|
|
|
*/
|
|
|
|
|
int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
|
|
|
|
{
|
|
|
|
|
int ret, hret, not_writeable= 0, has_what;
|
|
|
|
|
int ret, hret, not_writeable= 0, has_what, aquire_flag;
|
|
|
|
|
uint32_t size;
|
|
|
|
|
struct burn_drive_info *dinfo= NULL, *out_dinfo, *in_dinfo;
|
|
|
|
|
struct burn_drive *drive, *out_drive, *in_drive;
|
|
|
|
@ -550,7 +550,8 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(dinfo==NULL) {
|
|
|
|
|
ret= isoburn_drive_aquire(&dinfo, libburn_adr, 1|((flag&(8|4))>>1));
|
|
|
|
|
aquire_flag= 1 | ((flag&(8|4))>>1) | ((xorriso->toc_emulation_flag&1)<<3);
|
|
|
|
|
ret= isoburn_drive_aquire(&dinfo, libburn_adr, aquire_flag);
|
|
|
|
|
Xorriso_process_msg_queues(xorriso,0);
|
|
|
|
|
if(ret<=0) {
|
|
|
|
|
sprintf(xorriso->info_text,"Cannot aquire drive '%s'", adr);
|
|
|
|
@ -2336,7 +2337,7 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
|
|
|
|
|
#ifdef Xorriso_new_toc_formaT
|
|
|
|
|
|
|
|
|
|
sprintf(respt, "TOC layout : %3s , %9s , %10s , %s\n",
|
|
|
|
|
"Idx", "Start LBA", "Size", "Volume Id");
|
|
|
|
|
"Idx", "sbsector=", "Size", "Volume Id");
|
|
|
|
|
if(!(flag&1))
|
|
|
|
|
Xorriso_result(xorriso,0);
|
|
|
|
|
#endif
|
|
|
|
@ -2359,7 +2360,10 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
|
|
|
|
|
|
|
|
|
|
#ifdef Xorriso_new_toc_formaT
|
|
|
|
|
|
|
|
|
|
ret= isoburn_read_iso_head(drive, 0, &image_blocks, volume_id, 1);
|
|
|
|
|
if(flag&1)
|
|
|
|
|
ret= 0;
|
|
|
|
|
else
|
|
|
|
|
ret= isoburn_read_iso_head(drive, 0, &image_blocks, volume_id, 1);
|
|
|
|
|
if(ret>0) {
|
|
|
|
|
sprintf(respt, "ISO session : %3d , %9d , %9ds , %s\n",
|
|
|
|
|
1, 0, image_blocks, volume_id);
|
|
|
|
@ -2374,7 +2378,6 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
|
|
|
|
|
sprintf(respt+strlen(respt), "track %2d %s lba: %8d\n", 1, "data ", 0);
|
|
|
|
|
if(!(flag&1))
|
|
|
|
|
Xorriso_result(xorriso,0);
|
|
|
|
|
last_track_start= lba;
|
|
|
|
|
sprintf(respt, "Media content: session %2d ", 1);
|
|
|
|
|
sprintf(respt+strlen(respt), "leadout lba: %9d\n", nwa);
|
|
|
|
|
|
|
|
|
@ -2382,6 +2385,7 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
|
|
|
|
|
|
|
|
|
|
if(!(flag&1))
|
|
|
|
|
Xorriso_result(xorriso,0);
|
|
|
|
|
last_track_start= lba;
|
|
|
|
|
num_payload= num_data= last_track_size= nwa;
|
|
|
|
|
num_sessions= 1;
|
|
|
|
|
} else {
|
|
|
|
@ -2445,7 +2449,10 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag)
|
|
|
|
|
|
|
|
|
|
#ifdef Xorriso_new_toc_formaT
|
|
|
|
|
|
|
|
|
|
ret= isoburn_read_iso_head(drive, lba, &image_blocks, volume_id, 1);
|
|
|
|
|
if(flag&1)
|
|
|
|
|
ret= 0;
|
|
|
|
|
else
|
|
|
|
|
ret= isoburn_read_iso_head(drive, lba, &image_blocks, volume_id, 1);
|
|
|
|
|
if(ret>0 && track_no==num_tracks-1) {
|
|
|
|
|
sprintf(respt, "ISO session : %3d , %9d , %9ds , %s\n",
|
|
|
|
|
session_no+1, lba, image_blocks , volume_id);
|
|
|
|
|