Bug fix: cdrskin multi-track burning was slow and stalled after track 1. Regression introduced in version 1.5.0 by commit 84fad99
, 2018.02.05
This commit is contained in:
parent
ba9b69b1df
commit
91f7d4d34a
@ -28,7 +28,20 @@
|
|||||||
#ifndef Cdrfifo_standalonE
|
#ifndef Cdrfifo_standalonE
|
||||||
/* for burn_os_alloc_buffer() */
|
/* for burn_os_alloc_buffer() */
|
||||||
#include "../libburn/libburn.h"
|
#include "../libburn/libburn.h"
|
||||||
#define Libburn_has_open_trac_srC 1
|
|
||||||
|
/* ts B91124:
|
||||||
|
DISABLED, because this spoils multi-track burning by slowing down first
|
||||||
|
track and stalling before the second track begins. Obviously a problem
|
||||||
|
with chained input and waiting for full O_DRIECT suitable read chunks.
|
||||||
|
DO NOT ENABLE before the wait code in this source file is fixed.
|
||||||
|
That long, ./configure option --enable-track-src-odirect must not
|
||||||
|
get into effect in libburn. NO -DLibburn_read_o_direcT either.
|
||||||
|
|
||||||
|
For extra safety, O_DIRECT has been banned in libburn/sg-linux.c too.
|
||||||
|
|
||||||
|
# def ine Libburn_has_open_trac_srC 1
|
||||||
|
*/
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "cdrfifo.h"
|
#include "cdrfifo.h"
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2019.10.28.155736"
|
#define Cdrskin_timestamP "2019.11.25.091234"
|
||||||
|
@ -218,11 +218,12 @@ CFLAGS="$STATVFS_DEF $CFLAGS"
|
|||||||
|
|
||||||
dnl ts A91122
|
dnl ts A91122
|
||||||
AC_ARG_ENABLE(track-src-odirect,
|
AC_ARG_ENABLE(track-src-odirect,
|
||||||
[ --enable-track-src-odirect Enable use of O_DIRECT with track input, default=no],
|
[ --enable-track-src-odirect Banned for now: (Enable use of O_DIRECT with track input, default=no)],
|
||||||
, enable_track_src_odirect=no)
|
, enable_track_src_odirect=no)
|
||||||
if test x$enable_track_src_odirect = xyes; then
|
if test x$enable_track_src_odirect = xyes; then
|
||||||
LIBBURN_O_DIRECT_DEF="-DLibburn_read_o_direcT"
|
# LIBBURN_O_DIRECT_DEF="-DLibburn_read_o_direcT"
|
||||||
echo "enabled use of O_DIRECT with track input"
|
# echo "enabled use of O_DIRECT with track input"
|
||||||
|
echo "REFUSED to enable use of O_DIRECT with track input because of cdrskin multi-track bug"
|
||||||
else
|
else
|
||||||
LIBBURN_O_DIRECT_DEF=
|
LIBBURN_O_DIRECT_DEF=
|
||||||
echo "disabled use of O_DIRECT with track input"
|
echo "disabled use of O_DIRECT with track input"
|
||||||
|
@ -111,6 +111,15 @@ Hint: You should also look into sg-freebsd-port.c, which is a younger and
|
|||||||
|
|
||||||
/** PORTING : ------- OS dependent headers and definitions ------ */
|
/** PORTING : ------- OS dependent headers and definitions ------ */
|
||||||
|
|
||||||
|
#ifdef Libburn_read_o_direcT
|
||||||
|
/* ts B91124:
|
||||||
|
DISABLED, because this spoils multi-track burning of cdrskin by a hard to
|
||||||
|
fix bug in cdrskin/cdrfifo.c
|
||||||
|
DO NOT ENABLE before the wait code in that source file is fixed.
|
||||||
|
*/
|
||||||
|
#undef Libburn_read_o_direcT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef Libburn_read_o_direcT
|
#ifdef Libburn_read_o_direcT
|
||||||
# ifndef _GNU_SOURCE
|
# ifndef _GNU_SOURCE
|
||||||
|
Loading…
Reference in New Issue
Block a user