- update to 0.116.1, mostly stability/reliability fixes
- add sndio backend playback under aucat server is pretty solid. for full-duplex, starting aucat with 'aucat -l -b 2048' and jackd with just 'jackd -d sndio' seems to work best for me. we want low latency anyway, right ;)
This commit is contained in:
parent
4aec4e0c11
commit
5f8648a46b
@ -1,10 +1,12 @@
|
||||
# $OpenBSD: Makefile,v 1.5 2008/06/28 05:49:30 jakemsr Exp $
|
||||
# $OpenBSD: Makefile,v 1.6 2009/01/11 10:51:45 jakemsr Exp $
|
||||
|
||||
SHARED_ONLY = Yes
|
||||
|
||||
COMMENT = low latency sound server
|
||||
|
||||
DISTNAME = jack-0.112.0.2524
|
||||
V = 0.116.1
|
||||
DISTNAME = jack-audio-connection-kit-${V}
|
||||
PKGNAME = jack-${V}
|
||||
|
||||
SHARED_LIBS += jack 0.0 # 0.28
|
||||
SHARED_LIBS += jackserver 0.0 # 0.28
|
||||
@ -20,11 +22,9 @@ PERMIT_PACKAGE_FTP = Yes
|
||||
PERMIT_DISTFILES_CDROM = Yes
|
||||
PERMIT_DISTFILES_FTP = Yes
|
||||
|
||||
WANTLIB = c m pthread readline termcap
|
||||
WANTLIB = c m pthread readline sndio termcap
|
||||
|
||||
#MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=jackit/}
|
||||
# using a subversion snapshot for now
|
||||
MASTER_SITES = http://jakemsr.trancell.org/distfiles/
|
||||
MASTER_SITES = ${HOMEPAGE}downloads/
|
||||
|
||||
LIB_DEPENDS = sndfile.>=1::audio/libsndfile \
|
||||
samplerate.>=1::audio/libsamplerate
|
||||
@ -38,6 +38,7 @@ BUILD_DEPENDS += ${MODGNU_AUTOCONF_DEPENDS} \
|
||||
${MODGNU_AUTOMAKE_DEPENDS}
|
||||
CONFIGURE_STYLE = gnu
|
||||
CONFIGURE_ARGS += ${CONFIGURE_SHARED} \
|
||||
--with-default-tmpdir=/var/tmp \
|
||||
--disable-portaudio \
|
||||
--disable-optimize \
|
||||
--enable-dynsimd
|
||||
@ -51,9 +52,19 @@ CONFIGURE_ENV = CPPFLAGS="-I${LOCALBASE}/include" \
|
||||
CONFIGURE_ARGS += --enable-debug
|
||||
.endif
|
||||
|
||||
post-extract:
|
||||
mkdir -p ${WRKSRC}/drivers/sndio
|
||||
cp ${FILESDIR}/Makefile.am ${FILESDIR}/sndio_driver.{c,h} \
|
||||
${WRKSRC}/drivers/sndio
|
||||
|
||||
post-patch:
|
||||
cd ${WRKSRC} && ${SETENV} AUTOCONF_VERSION=${AUTOCONF_VERSION} \
|
||||
AUTOMAKE_VERSION=${AUTOMAKE_VERSION} ${AUTOCONF} \
|
||||
./autogen.sh --no-conf
|
||||
cd ${WRKSRC} && AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \
|
||||
AUTOCONF_VERSION=${AUTOCONF_VERSION} aclocal
|
||||
cd ${WRKSRC} && AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \
|
||||
AUTOCONF_VERSION=${AUTOCONF_VERSION} autoheader
|
||||
cd ${WRKSRC} && AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \
|
||||
AUTOCONF_VERSION=${AUTOCONF_VERSION} automake --add-missing --foreign
|
||||
cd ${WRKSRC} && AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \
|
||||
AUTOCONF_VERSION=${AUTOCONF_VERSION} autoconf
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -1,5 +1,5 @@
|
||||
MD5 (jack-0.112.0.2524.tar.gz) = QDNzmIm9FkKxTAFN9XMU4Q==
|
||||
RMD160 (jack-0.112.0.2524.tar.gz) = P4RU9P7fIoAFrKNjy038uIF3QjY=
|
||||
SHA1 (jack-0.112.0.2524.tar.gz) = so7zOMD4f6vpkHI4+xrMVkrGsYI=
|
||||
SHA256 (jack-0.112.0.2524.tar.gz) = B3wPJ6rWJXyu86LpEAoihYwgciHtc7yKzn6rSqFv6+g=
|
||||
SIZE (jack-0.112.0.2524.tar.gz) = 374515
|
||||
MD5 (jack-audio-connection-kit-0.116.1.tar.gz) = 8q60Y0ZghN/cC6Q2C0mYqg==
|
||||
RMD160 (jack-audio-connection-kit-0.116.1.tar.gz) = oTqyC3R9DP2FUeXih0/SSRhAeNA=
|
||||
SHA1 (jack-audio-connection-kit-0.116.1.tar.gz) = L7HkvMP+jPGAJNPq2T605PzvXmk=
|
||||
SHA256 (jack-audio-connection-kit-0.116.1.tar.gz) = 2j5hM+TwMF2KB1lWOwdHIquXiUqBuJJaBYvEcU9+T9k=
|
||||
SIZE (jack-audio-connection-kit-0.116.1.tar.gz) = 943593
|
||||
|
13
audio/jack/files/Makefile.am
Normal file
13
audio/jack/files/Makefile.am
Normal file
@ -0,0 +1,13 @@
|
||||
MAINTAINCLEANFILES = Makefile.in
|
||||
|
||||
AM_CFLAGS = $(JACK_CFLAGS)
|
||||
|
||||
plugindir = $(ADDON_DIR)
|
||||
|
||||
plugin_LTLIBRARIES = jack_sndio.la
|
||||
|
||||
jack_sndio_la_LDFLAGS = -module -avoid-version
|
||||
jack_sndio_la_LIBADD = $(SNDIO_LIBS)
|
||||
jack_sndio_la_SOURCES = sndio_driver.c sndio_driver.h
|
||||
|
||||
noinst_HEADERS = sndio_driver.h
|
1093
audio/jack/files/sndio_driver.c
Normal file
1093
audio/jack/files/sndio_driver.c
Normal file
File diff suppressed because it is too large
Load Diff
87
audio/jack/files/sndio_driver.h
Normal file
87
audio/jack/files/sndio_driver.h
Normal file
@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright (c) 2009 Jacob Meuser <jakemsr@sdf.lonestar.org>
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef __JACK_SNDIO_DRIVER_H__
|
||||
#define __JACK_SNDIO_DRIVER_H__
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <pthread.h>
|
||||
#include <semaphore.h>
|
||||
|
||||
#include <jack/types.h>
|
||||
#include <jack/jslist.h>
|
||||
#include <jack/driver.h>
|
||||
#include <jack/jack.h>
|
||||
|
||||
#define SNDIO_DRIVER_DEF_DEV "/dev/audio"
|
||||
#define SNDIO_DRIVER_DEF_FS 44100
|
||||
#define SNDIO_DRIVER_DEF_BLKSIZE 1024
|
||||
#define SNDIO_DRIVER_DEF_NPERIODS 2
|
||||
#define SNDIO_DRIVER_DEF_BITS 16
|
||||
#define SNDIO_DRIVER_DEF_INS 2
|
||||
#define SNDIO_DRIVER_DEF_OUTS 2
|
||||
|
||||
typedef jack_default_audio_sample_t jack_sample_t;
|
||||
|
||||
typedef struct _sndio_driver
|
||||
{
|
||||
JACK_DRIVER_NT_DECL
|
||||
|
||||
jack_nframes_t sample_rate;
|
||||
jack_nframes_t period_size;
|
||||
jack_nframes_t orig_period_size;
|
||||
unsigned int nperiods;
|
||||
unsigned int orig_nperiods;
|
||||
int bits;
|
||||
int sample_bytes;
|
||||
unsigned int capture_channels;
|
||||
unsigned int playback_channels;
|
||||
|
||||
char *dev;
|
||||
struct sio_hdl *hdl;
|
||||
int format;
|
||||
int ignorehwbuf;
|
||||
|
||||
size_t capbufsize;
|
||||
size_t playbufsize;
|
||||
size_t portbufsize;
|
||||
void *capbuf;
|
||||
void *playbuf;
|
||||
size_t buffer_fill;
|
||||
|
||||
int poll_timeout;
|
||||
jack_time_t poll_last;
|
||||
jack_time_t poll_next;
|
||||
float iodelay;
|
||||
|
||||
long long realpos, playpos, cappos;
|
||||
|
||||
jack_nframes_t sys_cap_latency;
|
||||
jack_nframes_t sys_play_latency;
|
||||
|
||||
JSList *capture_ports;
|
||||
JSList *playback_ports;
|
||||
|
||||
jack_client_t *client;
|
||||
|
||||
int playback_drops;
|
||||
int capture_drops;
|
||||
|
||||
} sndio_driver_t;
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -1,20 +1,59 @@
|
||||
$OpenBSD: patch-configure_ac,v 1.3 2008/06/28 05:49:30 jakemsr Exp $
|
||||
--- configure.ac.orig Sat Jun 14 16:46:11 2008
|
||||
+++ configure.ac Sun Jun 15 11:24:47 2008
|
||||
@@ -94,6 +94,7 @@ case "${host_os}" in
|
||||
USE_BARRIER="no"
|
||||
# need small realtime stack
|
||||
JACK_THREAD_STACK_TOUCH=10000
|
||||
+ HOST_DEFAULT_TMP_DIR=/tmp
|
||||
;;
|
||||
darwin*)
|
||||
JACK_THREAD_STACK_TOUCH=10000 # need small realtime stack
|
||||
@@ -393,7 +394,7 @@ AC_ARG_ENABLE(dynsimd,
|
||||
if test "x$enable_dynsimd" = xyes; then
|
||||
AC_DEFINE(USE_DYNSIMD, 1, [Define to 1 to use dynamic SIMD selection.])
|
||||
dnl This needs update once there's more than x86/x86-64 supported
|
||||
- SIMD_CFLAGS="-msse -msse2 -m3dnow"
|
||||
+ SIMD_CFLAGS="" # "-msse -msse2 -m3dnow"
|
||||
AC_SUBST(SIMD_CFLAGS)
|
||||
$OpenBSD: patch-configure_ac,v 1.4 2009/01/11 10:51:46 jakemsr Exp $
|
||||
--- configure.ac.orig Sat Dec 6 01:32:50 2008
|
||||
+++ configure.ac Sat Jan 10 00:00:08 2009
|
||||
@@ -655,9 +655,6 @@ HAVE_SAMPLERATE=false
|
||||
PKG_CHECK_MODULES(SAMPLERATE, samplerate >= 0.1.2,[HAVE_SAMPLERATE=true], [true])
|
||||
if test x$HAVE_SAMPLERATE = xfalse; then
|
||||
AC_MSG_WARN([*** the NetJack backend and internal client will not be built])
|
||||
-else
|
||||
- CFLAGS="$CFLAGS $SAMPLERATE_CFLAGS"
|
||||
- LIBS="$LIBS $SAMPLERATE_LIBS"
|
||||
fi
|
||||
|
||||
# Celt low-latency audio codec. netjack transmission via internet.
|
||||
@@ -680,7 +677,7 @@ fi
|
||||
|
||||
# Check which backend drivers can be built. The last one successfully
|
||||
# configured becomes the default JACK driver; so the order of
|
||||
-# precedence is: alsa, sun, oss, coreaudio, portaudio, dummy.
|
||||
+# precedence is: alsa, sun, sndio, oss, coreaudio, portaudio, dummy.
|
||||
|
||||
JACK_DEFAULT_DRIVER=\"dummy\"
|
||||
|
||||
@@ -740,6 +737,20 @@ then
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_SUN, $HAVE_SUN)
|
||||
|
||||
+AC_ARG_ENABLE(sndio, AC_HELP_STRING([--disable-sndio],[ignore sndio driver ]),
|
||||
+ TRY_SNDIO=$enableval , TRY_SNDIO=yes )
|
||||
+HAVE_SNDIO="false"
|
||||
+if test "x$TRY_SNDIO" = "xyes"
|
||||
+then
|
||||
+ # check for sndio audio API
|
||||
+ AC_CHECK_HEADER([sndio.h],
|
||||
+ [HAVE_SNDIO="true"
|
||||
+ JACK_DEFAULT_DRIVER=\"sndio\"])
|
||||
+ SNDIO_LIBS="-lsndio"
|
||||
+ AC_SUBST([SNDIO_LIBS])
|
||||
+fi
|
||||
+AM_CONDITIONAL(HAVE_SNDIO, $HAVE_SNDIO)
|
||||
+
|
||||
AC_ARG_ENABLE(freebob, AC_HELP_STRING([--disable-freebob],[ignore FreeBob driver ]),
|
||||
TRY_FREEBOB=$enableval , TRY_FREEBOB=yes )
|
||||
HAVE_FREEBOB="false"
|
||||
@@ -871,6 +882,7 @@ drivers/alsa-midi/Makefile
|
||||
drivers/dummy/Makefile
|
||||
drivers/oss/Makefile
|
||||
drivers/sun/Makefile
|
||||
+drivers/sndio/Makefile
|
||||
drivers/portaudio/Makefile
|
||||
drivers/coreaudio/Makefile
|
||||
drivers/freebob/Makefile
|
||||
@@ -900,6 +912,7 @@ echo \| Build with old FireWire \(FreeBob\) support...
|
||||
echo \| Build with new FireWire \(FFADO\) support............... : $HAVE_FIREWIRE
|
||||
echo \| Build with OSS support................................ : $HAVE_OSS
|
||||
echo \| Build with Sun audio support.......................... : $HAVE_SUN
|
||||
+echo \| Build with sndio support.............................. : $HAVE_SNDIO
|
||||
echo \| Build with CoreAudio support.......................... : $HAVE_COREAUDIO
|
||||
echo \| Build with PortAudio support.......................... : $HAVE_PA
|
||||
echo \| Build with NetJack support............................ : $HAVE_SAMPLERATE
|
||||
|
24
audio/jack/patches/patch-drivers_Makefile_am
Normal file
24
audio/jack/patches/patch-drivers_Makefile_am
Normal file
@ -0,0 +1,24 @@
|
||||
$OpenBSD: patch-drivers_Makefile_am,v 1.1 2009/01/11 10:51:46 jakemsr Exp $
|
||||
--- drivers/Makefile.am.orig Fri Jan 9 23:37:37 2009
|
||||
+++ drivers/Makefile.am Fri Jan 9 23:38:30 2009
|
||||
@@ -24,6 +24,12 @@ else
|
||||
SUN_DIR =
|
||||
endif
|
||||
|
||||
+if HAVE_SNDIO
|
||||
+SNDIO_DIR = sndio
|
||||
+else
|
||||
+SNDIO_DIR =
|
||||
+endif
|
||||
+
|
||||
if HAVE_PA
|
||||
PA_DIR = portaudio
|
||||
else
|
||||
@@ -48,5 +54,5 @@ else
|
||||
FIREWIRE_DIR =
|
||||
endif
|
||||
|
||||
-SUBDIRS = $(ALSA_MIDI_DIR) $(ALSA_DIR) dummy $(OSS_DIR) $(SUN_DIR) $(PA_DIR) $(CA_DIR) $(FREEBOB_DIR) $(FIREWIRE_DIR) netjack
|
||||
-DIST_SUBDIRS = alsa alsa-midi dummy oss sun portaudio coreaudio freebob firewire netjack
|
||||
+SUBDIRS = $(ALSA_MIDI_DIR) $(ALSA_DIR) dummy $(OSS_DIR) $(SUN_DIR) $(SNDIO_DIR) $(PA_DIR) $(CA_DIR) $(FREEBOB_DIR) $(FIREWIRE_DIR) netjack
|
||||
+DIST_SUBDIRS = alsa alsa-midi dummy oss sun sndio portaudio coreaudio freebob firewire netjack
|
11
audio/jack/patches/patch-drivers_netjack_Makefile_am
Normal file
11
audio/jack/patches/patch-drivers_netjack_Makefile_am
Normal file
@ -0,0 +1,11 @@
|
||||
$OpenBSD: patch-drivers_netjack_Makefile_am,v 1.1 2009/01/11 10:51:46 jakemsr Exp $
|
||||
--- drivers/netjack/Makefile.am.orig Fri Jan 9 23:44:10 2009
|
||||
+++ drivers/netjack/Makefile.am Fri Jan 9 23:44:37 2009
|
||||
@@ -1,6 +1,6 @@
|
||||
MAINTAINCLEANFILES = Makefile.in
|
||||
|
||||
-AM_CFLAGS = $(JACK_CFLAGS)
|
||||
+AM_CFLAGS = $(JACK_CFLAGS) $(SAMPLERATE_CFLAGS)
|
||||
|
||||
if HAVE_SAMPLERATE
|
||||
|
12
audio/jack/patches/patch-drivers_netjack_net_driver_c
Normal file
12
audio/jack/patches/patch-drivers_netjack_net_driver_c
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-drivers_netjack_net_driver_c,v 1.1 2009/01/11 10:51:46 jakemsr Exp $
|
||||
--- drivers/netjack/net_driver.c.orig Sat Dec 6 02:43:36 2008
|
||||
+++ drivers/netjack/net_driver.c Fri Dec 19 05:27:28 2008
|
||||
@@ -493,7 +493,7 @@ net_driver_write (net_driver_t* driver, jack_nframes_t
|
||||
{
|
||||
int r;
|
||||
|
||||
-#ifdef __APPLE__
|
||||
+#if defined(__APPLE__) || defined(__OpenBSD__)
|
||||
static const int flag = 0;
|
||||
#else
|
||||
static const int flag = MSG_CONFIRM;
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-jackd_Makefile_am,v 1.1 2008/06/28 05:49:30 jakemsr Exp $
|
||||
--- jackd/Makefile.am.orig Fri Jun 27 21:49:10 2008
|
||||
+++ jackd/Makefile.am Fri Jun 27 21:50:41 2008
|
||||
@@ -40,6 +40,8 @@ endif
|
||||
jackstart_SOURCES = jackstart.c md5.c
|
||||
jackstart_LDFLAGS = -lcap
|
||||
|
||||
+LIBS = -lm -pthread
|
||||
+
|
||||
lib_LTLIBRARIES = libjackserver.la
|
||||
|
||||
libjackserver_la_CFLAGS = $(AM_CFLAGS)
|
@ -1,4 +1,4 @@
|
||||
$OpenBSD: patch-jackd_engine_c,v 1.5 2009/01/02 22:47:45 ajacoutot Exp $
|
||||
$OpenBSD: patch-jackd_engine_c,v 1.6 2009/01/11 10:51:46 jakemsr Exp $
|
||||
--- jackd/engine.c.orig Sun Jun 15 01:46:11 2008
|
||||
+++ jackd/engine.c Wed Dec 31 14:51:46 2008
|
||||
@@ -1383,7 +1383,7 @@ handle_external_client_request (jack_engine_t *engine,
|
||||
@ -6,17 +6,7 @@ $OpenBSD: patch-jackd_engine_c,v 1.5 2009/01/02 22:47:45 ajacoutot Exp $
|
||||
< (ssize_t) sizeof (req)) {
|
||||
if (r == 0) {
|
||||
-#ifdef JACK_USE_MACH_THREADS
|
||||
+#if defined(JACK_USE_MACH_THREADS) || defined __OpenBSD__
|
||||
+#if defined(JACK_USE_MACH_THREADS) || defined(__OpenBSD__)
|
||||
/* poll is implemented using
|
||||
select (see the macosx/fakepoll
|
||||
code). When the socket is closed
|
||||
@@ -2178,8 +2178,7 @@ jack_run_one_cycle (jack_engine_t *engine, jack_nframe
|
||||
|
||||
unlock:
|
||||
jack_unlock_graph (engine);
|
||||
- DEBUG("cycle finished, status = %d, graph locked = %d",
|
||||
- ret, leave_graph_locked);
|
||||
+ DEBUG("cycle finished, status = %d", ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
68
audio/jack/patches/patch-jackd_jackd_1_in
Normal file
68
audio/jack/patches/patch-jackd_jackd_1_in
Normal file
@ -0,0 +1,68 @@
|
||||
$OpenBSD: patch-jackd_jackd_1_in,v 1.1 2009/01/11 10:51:46 jakemsr Exp $
|
||||
--- jackd/jackd.1.in.orig Sat Jan 10 02:52:33 2009
|
||||
+++ jackd/jackd.1.in Sat Jan 10 02:58:02 2009
|
||||
@@ -35,8 +35,9 @@ For the latest JACK information, please consult the we
|
||||
.br
|
||||
Select the audio interface backend. The current list of supported
|
||||
backends is: \fBalsa\fR, \fBcoreaudio\fR, \fBdummy\fR, \fBfreebob\fR,
|
||||
-\fBoss\fR \fBsun\fR and \fBportaudio\fR. They are not all available
|
||||
-on all platforms. All \fIbackend\-parameters\fR are optional.
|
||||
+\fBoss\fR \fBsun\fR \fBsndio\fR and \fBportaudio\fR. They are not
|
||||
+all available on all platforms. All \fIbackend\-parameters\fR are
|
||||
+optional.
|
||||
|
||||
.TP
|
||||
\fB\-h, \-\-help\fR
|
||||
@@ -348,6 +349,43 @@ Specify output device for playback (default: /dev/audi
|
||||
.TP
|
||||
\fB\-b, \-\-ignorehwbuf \fIboolean\fR
|
||||
Specify, whether to ignore hardware period size (default: false)
|
||||
+.SS SNDIO BACKEND PARAMETERS
|
||||
+.TP
|
||||
+\fB\-r, \-\-rate \fIint\fR
|
||||
+Specify the sample rate. The default is 44100.
|
||||
+.TP
|
||||
+\fB\-p, \-\-period \fIint\fR
|
||||
+Specify the number of frames between JACK \fBprocess()\fR calls. This
|
||||
+value must be a power of 2, and the default is 1024. If you need low
|
||||
+latency, set \fB\-p\fR as low as you can go without seeing xruns. A larger
|
||||
+period size yields higher latency, but makes xruns less likely. The JACK
|
||||
+capture latency in seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
|
||||
+Note that this value is mostly advisory when aucat server is running
|
||||
+and may be updated internally.
|
||||
+.TP
|
||||
+\fB\-n, \-\-nperiods \fIint\fR
|
||||
+Specify the number of periods in the hardware buffer. The default is
|
||||
+2. The period size (\fB\-p\fR) times \fB\-\-nperiods\fR times four
|
||||
+(assuming 2 channels 16-bit samples) is the JACK buffer size in bytes.
|
||||
+The JACK output latency in seconds is \fB\-\-nperiods\fR times
|
||||
+\fB\-\-period\fR divided by \fB\-\-rate\fR.
|
||||
+Note that this value is mostly advisory when aucat server is running
|
||||
+and may be updated internally.
|
||||
+.TP
|
||||
+\fB\-w, \-\-wordlength \fIint\fR
|
||||
+Specify the sample size in bits. The default is 16.
|
||||
+.TP
|
||||
+\fB\-i, \-\-inchannels \fIint\fR
|
||||
+Specify how many channels to capture (default: 2)
|
||||
+.TP
|
||||
+\fB\-o, \-\-outchannels \fIint\fR
|
||||
+Specify number of playback channels (default: 2)
|
||||
+.TP
|
||||
+\fB\-d, \-\-device \fIdevice_file\fR
|
||||
+Specify device for capture and playback (default: NULL)
|
||||
+.TP
|
||||
+\fB\-b, \-\-ignorehwbuf \fIboolean\fR
|
||||
+Specify, whether to ignore hardware period size (default: false)
|
||||
.SS PORTAUDIO BACKEND PARAMETERS
|
||||
.TP
|
||||
\fB\-c \-\-channel\fR
|
||||
@@ -394,6 +432,8 @@ Print usage message for the parameters specific to eac
|
||||
\fBjackd \-d oss \-\-help\fR
|
||||
.br
|
||||
\fBjackd \-d sun \-\-help\fR
|
||||
+.br
|
||||
+\fBjackd \-d sndio \-\-help\fR
|
||||
.br
|
||||
\fBjackd \-d portaudio \-\-help\fR
|
||||
.PP
|
12
audio/jack/patches/patch-jackd_jackd_c
Normal file
12
audio/jack/patches/patch-jackd_jackd_c
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-jackd_jackd_c,v 1.1 2009/01/11 10:51:46 jakemsr Exp $
|
||||
--- jackd/jackd.c.orig Sat Jan 10 02:52:18 2009
|
||||
+++ jackd/jackd.c Sat Jan 10 02:51:34 2009
|
||||
@@ -377,7 +377,7 @@ static void usage (FILE *file)
|
||||
" [ --nozombies OR -Z ]\n"
|
||||
" -d backend [ ... backend args ... ]\n"
|
||||
" The backend can be `alsa', `coreaudio', `dummy',\n"
|
||||
-" `freebob', `oss', `sun', or `portaudio'.\n\n"
|
||||
+" `freebob', `oss', `sun', `sndio', or `portaudio'.\n\n"
|
||||
" jackd -d backend --help\n"
|
||||
" to display options for each backend\n\n");
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-libjack_Makefile_am,v 1.1 2008/06/28 05:49:30 jakemsr Exp $
|
||||
--- libjack/Makefile.am.orig Fri Jun 27 06:28:57 2008
|
||||
+++ libjack/Makefile.am Fri Jun 27 06:29:24 2008
|
||||
@@ -27,6 +27,8 @@ SOURCE_FILES = \
|
||||
simd.lo: simd.c
|
||||
$(LIBTOOL) --mode=compile $(CC) $(JACK_CFLAGS) $(SIMD_CFLAGS) -c -o simd.lo simd.c
|
||||
|
||||
+LIBS = -pthread -lm
|
||||
+
|
||||
lib_LTLIBRARIES = libjack.la
|
||||
|
||||
noinst_HEADERS = local.h
|
@ -1,78 +0,0 @@
|
||||
$OpenBSD: patch-libjack_client_c,v 1.2 2008/06/28 05:49:31 jakemsr Exp $
|
||||
--- libjack/client.c.orig Thu May 22 23:20:23 2008
|
||||
+++ libjack/client.c Mon Jun 16 20:56:49 2008
|
||||
@@ -969,10 +969,7 @@ jack_client_open_aux (const char *client_name,
|
||||
}
|
||||
|
||||
/* parse variable arguments */
|
||||
- if (ap)
|
||||
jack_varargs_parse(options, ap, &va);
|
||||
- else
|
||||
- jack_varargs_init(&va);
|
||||
|
||||
/* External clients need to know where the tmpdir used for
|
||||
communication with the server lives
|
||||
@@ -1114,10 +1111,13 @@ jack_client_t* jack_client_open(const char* ext_client
|
||||
jack_client_t *
|
||||
jack_client_new (const char *client_name)
|
||||
{
|
||||
+ va_list ap;
|
||||
+
|
||||
jack_options_t options = JackUseExactName;
|
||||
if (getenv("JACK_START_SERVER") == NULL)
|
||||
options |= JackNoStartServer;
|
||||
- return jack_client_open_aux (client_name, options, NULL, NULL);
|
||||
+
|
||||
+ return jack_client_open_aux(client_name, options, NULL, ap);
|
||||
}
|
||||
|
||||
char *
|
||||
@@ -1519,6 +1519,8 @@ jack_client_core_wait (jack_client_t* client)
|
||||
static int
|
||||
jack_wake_next_client (jack_client_t* client)
|
||||
{
|
||||
+ struct pollfd pfds[1];
|
||||
+ int pret = 0;
|
||||
char c = 0;
|
||||
|
||||
if (write (client->graph_next_fd, &c, sizeof (c))
|
||||
@@ -1530,20 +1532,29 @@ jack_wake_next_client (jack_client_t* client)
|
||||
return -1;
|
||||
}
|
||||
|
||||
- DEBUG ("client sent message to next stage by %" PRIu64
|
||||
- ", client reading on graph_wait_fd==%d",
|
||||
- jack_get_microseconds(), client->graph_wait_fd);
|
||||
+ DEBUG ("client sent message to next stage by %" PRIu64 "",
|
||||
+ jack_get_microseconds());
|
||||
|
||||
DEBUG("reading cleanup byte from pipe %d\n", client->graph_wait_fd);
|
||||
|
||||
- if ((read (client->graph_wait_fd, &c, sizeof (c))
|
||||
- != sizeof (c))) {
|
||||
- jack_error ("cannot complete execution of the "
|
||||
- "processing graph (%s)",
|
||||
- strerror(errno));
|
||||
- return -1;
|
||||
+ pfds[0].fd = client->graph_wait_fd;
|
||||
+ pfds[0].events = POLLIN;
|
||||
+
|
||||
+ pret = poll(pfds, 1, 0);
|
||||
+
|
||||
+ if (pret > 0 && (pfds[0].revents & POLLIN)) {
|
||||
+ if ((read (client->graph_wait_fd, &c, sizeof (c))
|
||||
+ != sizeof (c))) {
|
||||
+ jack_error ("cannot complete execution of the "
|
||||
+ "processing graph (%s)",
|
||||
+ strerror(errno));
|
||||
+ return -1;
|
||||
+ }
|
||||
+ } else {
|
||||
+ DEBUG("cleanup byte from pipe %d not available?\n",
|
||||
+ client->graph_wait_fd);
|
||||
}
|
||||
-
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,12 +0,0 @@
|
||||
$OpenBSD: patch-libjack_intclient_c,v 1.1.1.1 2008/03/24 03:01:28 jakemsr Exp $
|
||||
--- libjack/intclient.c.orig Sun Mar 16 05:24:53 2008
|
||||
+++ libjack/intclient.c Sun Mar 16 05:25:45 2008
|
||||
@@ -167,7 +167,7 @@ jack_internal_client_load (jack_client_t *client,
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, status);
|
||||
- jack_intclient_t* res = jack_internal_client_load_aux(client, client_name, options, status, ap);
|
||||
+ jack_intclient_t res = jack_internal_client_load_aux(client, client_name, options, status, ap);
|
||||
va_end(ap);
|
||||
return res;
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
$OpenBSD: patch-tools_netsource_c,v 1.2 2008/06/28 05:49:31 jakemsr Exp $
|
||||
--- tools/netsource.c.orig Sat Apr 19 17:35:52 2008
|
||||
+++ tools/netsource.c Mon Jun 16 18:38:25 2008
|
||||
@@ -30,11 +30,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, U
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
+#include <fcntl.h>
|
||||
|
||||
+#include <sys/socket.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netdb.h>
|
||||
|
||||
+#ifdef HAVE_ALLOCA_H
|
||||
#include <alloca.h>
|
||||
+#endif
|
||||
|
||||
#include <jack/jack.h>
|
||||
|
||||
@@ -206,10 +210,11 @@ process (jack_nframes_t nframes, void *arg)
|
||||
|
||||
/* ---------- Receive ---------- */
|
||||
if (reply_port)
|
||||
- size = netjack_recv (insockfd, (char *) packet_buf, rx_bufsize, MSG_DONTWAIT, mtu);
|
||||
+ size = netjack_recv (insockfd, (char *) packet_buf, rx_bufsize, NULL, mtu);
|
||||
else
|
||||
- size = netjack_recv (outsockfd, (char *) packet_buf, rx_bufsize, MSG_DONTWAIT, mtu);
|
||||
+ size = netjack_recv (outsockfd, (char *) packet_buf, rx_bufsize, NULL, mtu);
|
||||
packet_header_ntoh (pkthdr);
|
||||
+
|
||||
/* Loop till we get the right packet at the right momment */
|
||||
while (size == rx_bufsize && (framecnt - pkthdr->framecnt) > latency)
|
||||
{
|
||||
@@ -217,9 +222,9 @@ process (jack_nframes_t nframes, void *arg)
|
||||
//printf ("Frame %d \tLate packet received with a latency of %d frames\n", framecnt, framecnt - pkthdr->framecnt);
|
||||
|
||||
if (reply_port)
|
||||
- size = netjack_recv (insockfd, (char *) packet_buf, rx_bufsize, MSG_DONTWAIT, mtu);
|
||||
+ size = netjack_recv (insockfd, (char *) packet_buf, rx_bufsize, NULL, mtu);
|
||||
else
|
||||
- size = netjack_recv (outsockfd, (char *) packet_buf, rx_bufsize, MSG_DONTWAIT, mtu);
|
||||
+ size = netjack_recv (outsockfd, (char *) packet_buf, rx_bufsize, NULL, mtu);
|
||||
packet_header_ntoh (pkthdr);
|
||||
}
|
||||
|
||||
@@ -367,6 +372,7 @@ main (int argc, char *argv[])
|
||||
int peer_port = 3000;
|
||||
jack_options_t options = JackNullOption;
|
||||
jack_status_t status;
|
||||
+ int ff;
|
||||
|
||||
/* Torben's famous state variables, aka "the reporting API" ! */
|
||||
int statecopy_connected, statecopy_latency, statecopy_netxruns;
|
||||
@@ -471,6 +477,11 @@ main (int argc, char *argv[])
|
||||
"Is the JACK server running ?\n", status);
|
||||
return 1;
|
||||
}
|
||||
+
|
||||
+ fcntl(outsockfd, F_GETFL, &ff);
|
||||
+ fcntl(outsockfd, F_SETFL, ff | O_NONBLOCK);
|
||||
+ fcntl(insockfd, F_GETFL, &ff);
|
||||
+ fcntl(insockfd, F_SETFL, ff | O_NONBLOCK);
|
||||
|
||||
/* Set up jack callbacks */
|
||||
jack_set_process_callback (client, process, 0);
|
@ -1,4 +1,4 @@
|
||||
@comment $OpenBSD: PLIST,v 1.3 2008/06/28 05:49:31 jakemsr Exp $
|
||||
@comment $OpenBSD: PLIST,v 1.4 2009/01/11 10:51:46 jakemsr Exp $
|
||||
@bin bin/jack_alias
|
||||
@bin bin/jack_connect
|
||||
@bin bin/jack_disconnect
|
||||
@ -15,6 +15,7 @@
|
||||
@bin bin/jack_showtime
|
||||
@bin bin/jack_simple_client
|
||||
@bin bin/jack_transport
|
||||
@bin bin/jack_transport_client
|
||||
@bin bin/jack_unload
|
||||
@bin bin/jackd
|
||||
@bin bin/jackrec
|
||||
@ -37,6 +38,8 @@ lib/jack/jack_dummy.la
|
||||
lib/jack/jack_dummy.so
|
||||
lib/jack/jack_net.la
|
||||
lib/jack/jack_net.so
|
||||
lib/jack/jack_sndio.la
|
||||
lib/jack/jack_sndio.so
|
||||
lib/jack/jack_sun.la
|
||||
lib/jack/jack_sun.so
|
||||
lib/libjack.la
|
||||
|
Loading…
x
Reference in New Issue
Block a user