Compile time option for obs_pad

This commit is contained in:
Thomas Schmitt 2012-04-13 20:26:35 +00:00
parent f77094073a
commit f81990c703
5 changed files with 26 additions and 3 deletions

View File

@ -1484,8 +1484,10 @@ stdio: pseudo-drive 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.
.br
There are reports that DAO sessions of a size that is not a multiple of 16
blocks abort on some Linux kernels and/or DVD drives.
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.
.br
This option may also get enabled at compile time of libburn.
.TP
.BI \--old_pseudo_scsi_adr
Linux specific:

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2012.04.13.112832"
#define Cdrskin_timestamP "2012.04.13.202654"

View File

@ -228,6 +228,19 @@ else
fi
CFLAGS="$LIBBURN_DVD_OBS_64K $CFLAGS"
dnl ts B20413
AC_ARG_ENABLE(dvd-obs-pad,
[ --enable-dvd-obs-pad pad DVD DAO sessions to 32 resp. 64 KB, default=no],
, enable_dvd_obs_pad=no)
if test x$enable_dvd_obs_pad = xyes; then
LIBBURN_DVD_OBS_PAD="-DLibburn_dvd_always_obs_paD"
echo "enabled padding of DVD DAO sessions to 32 resp. 64 KB"
else
LIBBURN_DVD_OBS_64K=
echo "disabled padding of DVD DAO sessions to 32 resp. 64 KB"
fi
CFLAGS="$LIBBURN_DVD_OBS_PAD $CFLAGS"
dnl ts A91218
AC_ARG_ENABLE(libcdio,
[ --enable-libcdio Enable EXPERIMENTAL use of libcdio as system adapter, default=no],

View File

@ -3083,6 +3083,8 @@ void burn_write_opts_set_dvd_obs(struct burn_write_opts *opts, int obs);
/* ts B20406 */
/** Overrides the automatic decision whether to pad up the last write chunk to
its full size. This applies to DVD, BD and stdio: pseudo-drives.
Note: This override may get enabled fixely already at compile time by
defining macro Libburn_dvd_always_obs_paD .
@param opts The write opts to change
@param pad 1 means to pad up in any case, 0 means automatic decision.
@since 1.2.4

View File

@ -46,7 +46,13 @@ struct burn_write_opts *burn_write_opts_new(struct burn_drive *drive)
opts->underrun_proof = drive->mdata->underrun_proof;
opts->perform_opc = 1;
opts->obs = -1;
#ifdef Libburn_dvd_always_obs_paD
opts->obs_pad = 1;
#else
opts->obs_pad = 0;
#endif
opts->start_byte = -1;
opts->fill_up_media = 0;
opts->force_is_set = 0;