New cdrskin option --bdr_obs_exempt

This commit is contained in:
Thomas Schmitt 2021-09-12 10:46:28 +02:00
parent 31591b8196
commit da44c706ea
3 changed files with 27 additions and 6 deletions

View File

@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH CDRSKIN 1 "Version 1.5.5, Jun 29, 2021"
.TH CDRSKIN 1 "Version 1.5.5, Sep 12, 2021"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -1640,16 +1640,27 @@ addresses which are not listed with cdrskin --devices but nevertheless point
to a usable drive. (Like /dev/sg0 using the same SCSI address as /dev/sr0.)
.TP
.BI \--obs_pad
Pad the data of last write operation of a DVD-R[W] DAO session or
stdio: pseudo-drive up to the full size of an output chunk.
Pad the data of the last write operation of a DVD-R[W] DAO session, or BD-R
session, or stdio: pseudo-drive session up to the full size of an output chunk.
This padding has to be applied automatically to the other DVD and BD media
types, where it causes e.g. ISO images to have trailing unclaimed blocks.
Whether it is applied automatically to BD-R depends on option
--bdr_obs_exempt.
.br
Use this option if there is the suspicion that DAO sessions abort with
your kernel and/or DVD drive, if their size is not a multiple of 16 blocks.
Use this option if there is the suspicion that DVD-R[W] DAO or BD-R sessions
abort with your kernel and/or DVD drive, if their size is not a multiple of
16 blocks.
.br
This option may also get enabled at compile time of libburn.
.TP
.BI \--bdr_obs_exempt
Exempt BD-R media from automatic unconditional transaction end padding,
provided that this padding is not requested by --obs_pad and that
no stream_recording is requested.
.br
This is a new feature introduced with version 1.5.6. It might become default
in later versions.
.TP
.BI \--old_pseudo_scsi_adr
Linux specific:
Use and report literal Bus,Target,Lun addresses rather than real SCSI and

View File

@ -2914,6 +2914,8 @@ set_dev:;
printf(
" --no_rc as first argument: do not read startup files\n");
printf(" --obs_pad pad DVD DAO to full 16 or 32 blocks\n");
printf(
" --bdr_obs_exempt possibly exempt BD-R from padding to full 64k\n");
printf(" --old_pseudo_scsi_adr use and report literal Bus,Target,Lun\n");
printf(" rather than real SCSI and pseudo ATA.\n");
printf(
@ -3391,6 +3393,9 @@ struct CdrskiN {
int stream_recording_is_set; /* see burn_write_opts_set_stream_recording() */
int dvd_obs; /* DVD write chunk size: 0, 32k or 64k */
int obs_pad; /* Whether to force obs end padding */
int bdr_obs_exempt; /* Whether to possibly exempt BD-R from automatic
obs_pad
*/
int stdio_sync; /* stdio fsync interval: -1, 0, >=32 */
int single_track;
int prodvd_cli_compatible;
@ -3665,6 +3670,7 @@ int Cdrskin_new(struct CdrskiN **skin, struct CdrpreskiN *preskin, int flag)
o->stream_recording_is_set= 0;
o->dvd_obs= 0;
o->obs_pad= 0;
o->bdr_obs_exempt= 0;
o->stdio_sync= 0;
o->single_track= 0;
o->prodvd_cli_compatible= 0;
@ -7697,6 +7703,7 @@ burn_failed:;
#endif
burn_write_opts_set_dvd_obs(o, skin->dvd_obs);
burn_write_opts_set_obs_pad(o, skin->obs_pad);
burn_write_opts_set_bdr_obs_exempt(o, skin->bdr_obs_exempt);
burn_write_opts_set_stdio_fsync(o, skin->stdio_sync);
if(skin->dummy_mode) {
@ -9169,6 +9176,9 @@ msifile_equals:;
} else if(strcmp(argv[i],"--obs_pad")==0) {
skin->obs_pad= 1;
} else if(strcmp(argv[i],"--bdr_obs_exempt")==0) {
skin->bdr_obs_exempt= 1;
} else if(strcmp(argv[i],"--old_pseudo_scsi_adr")==0) {
/* is handled in Cdrpreskin_setup() */;

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2021.09.12.084139"
#define Cdrskin_timestamP "2021.09.12.084556"