New -as cdrecord option --obs_pad. Automatic no_emul_toc with -as cdrecord.
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
|
||||
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
|
||||
|
||||
Copyright 2007-2020 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
Copyright 2007-2021 Thomas Schmitt, <scdbackup@gmx.net>
|
||||
|
||||
Provided under GPL version 2 or later.
|
||||
|
||||
@ -185,6 +185,7 @@ int Xorriso_make_write_options(
|
||||
else
|
||||
#endif
|
||||
burn_write_opts_set_dvd_obs(*burn_options, xorriso->dvd_obs);
|
||||
burn_write_opts_set_obs_pad(*burn_options, !!xorriso->do_obs_pad);
|
||||
|
||||
burn_write_opts_set_stdio_fsync(*burn_options, xorriso->stdio_sync);
|
||||
burn_write_opts_set_underrun_proof(*burn_options, 1);
|
||||
@ -194,6 +195,7 @@ int Xorriso_make_write_options(
|
||||
|
||||
/* @param flag bit0= do not write but only prepare and return size in sectors
|
||||
bit1= do not use isoburn wrappers, do not assume libisofs
|
||||
bit2= no_emul_toc : do not pad random access media to full 64 KB
|
||||
*/
|
||||
int Xorriso_sanitize_image_size(struct XorrisO *xorriso,
|
||||
struct burn_drive *drive, struct burn_disc *disc,
|
||||
@ -236,7 +238,7 @@ no_track:;
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||
}
|
||||
}
|
||||
if(xorriso->alignment == 0 && ! (xorriso->no_emul_toc & 1)) {
|
||||
if(xorriso->alignment == 0 && !((xorriso->no_emul_toc & 1) || flag & 4)) {
|
||||
ret= isoburn_needs_emulation(drive);
|
||||
if(ret > 0) {
|
||||
/* Take care that the session is padded up to the future NWA.
|
||||
@ -2398,7 +2400,7 @@ int Xorriso_burn_track(struct XorrisO *xorriso, off_t write_start_address,
|
||||
}
|
||||
}
|
||||
|
||||
ret= Xorriso_sanitize_image_size(xorriso, drive, disc, burn_options, 2);
|
||||
ret= Xorriso_sanitize_image_size(xorriso, drive, disc, burn_options, 2 | 4);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
|
||||
|
Reference in New Issue
Block a user