- 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:
jakemsr 2009-01-11 10:51:45 +00:00
parent 4aec4e0c11
commit 5f8648a46b
18 changed files with 1408 additions and 224 deletions

View File

@ -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>

View File

@ -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

View 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

File diff suppressed because it is too large Load Diff

View 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

View File

@ -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

View 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

View 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

View 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;

View File

@ -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)

View File

@ -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;
}

View 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

View 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");
}

View File

@ -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

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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);

View File

@ -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