On Tue, Jan 24, 2012 at 12:11:32AM +0600, Alexandr Shadchin wrote: > On Mon, Jan 23, 2012 at 03:22:38PM +0100, Antoine Jacoutot wrote: > > Hi. > > > > This diff updates jack to the most recent release (of jack1, not jack2). > > > > Comments/Testers/OK? > > > > > > * attach diff for files/sndio_driver.c > * in Makefile > post-extract: > mkdir -p ${WRKSRC}/drivers/sndio > cp ${FILESDIR}/Makefile.am ${FILESDIR}/sndio_driver.{c,h} \ > ${WRKSRC}/drivers/sndio > ^^^^ > extra spaces
Thanks. New diff. Index: Makefile =================================================================== RCS file: /cvs/ports/audio/jack/Makefile,v retrieving revision 1.19 diff -u -r1.19 Makefile --- Makefile 2 Jun 2011 13:41:36 -0000 1.19 +++ Makefile 23 Jan 2012 18:31:55 -0000 @@ -4,10 +4,9 @@ COMMENT = low latency sound server -V = 0.116.1 +V = 0.121.3 DISTNAME = jack-audio-connection-kit-${V} PKGNAME = jack-${V} -REVISION = 8 SHARED_LIBS += jack 0.0 # 0.28 SHARED_LIBS += jackserver 0.0 # 0.28 @@ -20,15 +19,17 @@ # LGPLv2/GPLv2 PERMIT_PACKAGE_CDROM = Yes PERMIT_PACKAGE_FTP = Yes -PERMIT_DISTFILES_CDROM = Yes +PERMIT_DISTFILES_CDROM =Yes PERMIT_DISTFILES_FTP = Yes -WANTLIB += c m pthread readline sndio termcap sndfile>=1 samplerate>=1 +WANTLIB += c celt0 m pthread readline samplerate sndfile sndio +WANTLIB += termcap MASTER_SITES = ${HOMEPAGE}downloads/ LIB_DEPENDS = audio/libsndfile \ - audio/libsamplerate + audio/libsamplerate \ + audio/celt # uses macros from libtool.m4 BUILD_DEPENDS = devel/libtool @@ -36,8 +37,8 @@ USE_GROFF = Yes LIBTOOL_FLAGS += --tag=disable-static -AUTOCONF_VERSION = 2.61 -AUTOMAKE_VERSION = 1.9 +AUTOCONF_VERSION = 2.65 +AUTOMAKE_VERSION = 1.10 CONFIGURE_STYLE = autoconf automake CONFIGURE_ARGS += ${CONFIGURE_SHARED} \ --with-default-tmpdir=/var/tmp \ @@ -57,7 +58,7 @@ post-extract: mkdir -p ${WRKSRC}/drivers/sndio cp ${FILESDIR}/Makefile.am ${FILESDIR}/sndio_driver.{c,h} \ - ${WRKSRC}/drivers/sndio + ${WRKSRC}/drivers/sndio AUTO_ENV= AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \ AUTOCONF_VERSION=${AUTOCONF_VERSION} Index: distinfo =================================================================== RCS file: /cvs/ports/audio/jack/distinfo,v retrieving revision 1.4 diff -u -r1.4 distinfo --- distinfo 11 Jan 2009 10:51:45 -0000 1.4 +++ distinfo 23 Jan 2012 18:31:55 -0000 @@ -1,5 +1,5 @@ -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 +MD5 (jack-audio-connection-kit-0.121.3.tar.gz) = NfRw90IsN7M+uWUDP3pC6A== +RMD160 (jack-audio-connection-kit-0.121.3.tar.gz) = C0GxewYGps/9q3ZbpqR9C8aslwU= +SHA1 (jack-audio-connection-kit-0.121.3.tar.gz) = fW4iGWYCItFRLucE3YilNLPjCJ4= +SHA256 (jack-audio-connection-kit-0.121.3.tar.gz) = twldPeq+7NGXcrNyQeicbHneav1sAxunVnUTz+Ub6vo= +SIZE (jack-audio-connection-kit-0.121.3.tar.gz) = 1083545 Index: files/sndio_driver.c =================================================================== RCS file: /cvs/ports/audio/jack/files/sndio_driver.c,v retrieving revision 1.4 diff -u -r1.4 sndio_driver.c --- files/sndio_driver.c 7 Jun 2010 01:44:38 -0000 1.4 +++ files/sndio_driver.c 23 Jan 2012 18:31:55 -0000 @@ -49,6 +49,7 @@ 'r', JackDriverParamUInt, { .ui = SNDIO_DRIVER_DEF_FS }, + NULL, "sample rate", "sample rate" }, @@ -56,6 +57,7 @@ 'p', JackDriverParamUInt, { .ui = SNDIO_DRIVER_DEF_BLKSIZE }, + NULL, "period size", "period size" }, @@ -63,6 +65,7 @@ 'n', JackDriverParamUInt, { .ui = SNDIO_DRIVER_DEF_NPERIODS }, + NULL, "number of periods in buffer", "number of periods in buffer" }, @@ -70,6 +73,7 @@ 'w', JackDriverParamInt, { .i = SNDIO_DRIVER_DEF_BITS }, + NULL, "word length", "word length" }, @@ -77,6 +81,7 @@ 'i', JackDriverParamUInt, { .ui = SNDIO_DRIVER_DEF_INS }, + NULL, "capture channels", "capture channels" }, @@ -84,6 +89,7 @@ 'o', JackDriverParamUInt, { .ui = SNDIO_DRIVER_DEF_OUTS }, + NULL, "playback channels", "playback channels" }, @@ -91,6 +97,7 @@ 'd', JackDriverParamString, { }, + NULL, "device", "device" }, @@ -98,6 +105,7 @@ 'b', JackDriverParamBool, { }, + NULL, "ignore hardware period size", "ignore hardware period size" }, @@ -105,6 +113,7 @@ 'I', JackDriverParamUInt, { .ui = 0 }, + NULL, "system capture latency", "system capture latency" }, @@ -112,6 +121,7 @@ 'O', JackDriverParamUInt, { .ui = 0 }, + NULL, "system playback latency", "system playback latency" } @@ -542,6 +552,7 @@ int channel; char channel_name[64]; jack_port_t *port; + jack_latency_range_t range; driver->engine->set_buffer_size(driver->engine, driver->period_size); driver->engine->set_sample_rate(driver->engine, driver->sample_rate); @@ -550,7 +561,7 @@ for (channel = 0; channel < driver->capture_channels; channel++) { - snprintf(channel_name, sizeof(channel_name), + snprintf(channel_name, sizeof(channel_name), "capture_%u", channel + 1); port = jack_port_register(driver->client, channel_name, JACK_DEFAULT_AUDIO_TYPE, port_flags, 0); @@ -560,9 +571,10 @@ "%s@%i", channel_name, __FILE__, __LINE__); break; } - jack_port_set_latency(port, - driver->period_size + driver->sys_cap_latency); - driver->capture_ports = + range.min = range.max = driver->period_size + + driver->sys_cap_latency; + jack_port_set_latency_range(port, JackCaptureLatency, &range); + driver->capture_ports = jack_slist_append(driver->capture_ports, port); } @@ -579,8 +591,9 @@ "%s: %s@%i", channel_name, __FILE__, __LINE__); break; } - jack_port_set_latency(port, - driver->period_size + driver->sys_play_latency); + range.min = range.max = driver->period_size + + driver->sys_play_latency; + jack_port_set_latency_range(port, JackPlaybackLatency, &range); driver->playback_ports = jack_slist_append(driver->playback_ports, port); } Index: patches/patch-configure_ac =================================================================== RCS file: /cvs/ports/audio/jack/patches/patch-configure_ac,v retrieving revision 1.6 diff -u -r1.6 patch-configure_ac --- patches/patch-configure_ac 2 Dec 2010 22:17:46 -0000 1.6 +++ patches/patch-configure_ac 23 Jan 2012 18:31:55 -0000 @@ -1,23 +1,7 @@ $OpenBSD: patch-configure_ac,v 1.6 2010/12/02 22:17:46 dcoppa Exp $ ---- configure.ac.orig Sat Dec 6 10:32:50 2008 -+++ configure.ac Thu Dec 2 11:06:17 2010 -@@ -655,14 +655,11 @@ 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. - HAVE_CELT=false --PKG_CHECK_MODULES(CELT, celt >= 0.5.0,[HAVE_CELT=true], [true]) -+# PKG_CHECK_MODULES(CELT, celt >= 0.5.0,[HAVE_CELT=true], [true]) - if test x$HAVE_CELT = xfalse; then - AC_DEFINE(HAVE_CELT,0,"Whether CELT is available") - AC_MSG_RESULT(no) -@@ -680,7 +677,7 @@ fi +--- configure.ac.orig Wed Sep 28 15:09:59 2011 ++++ configure.ac Mon Jan 23 14:21:11 2012 +@@ -765,7 +765,7 @@ AC_SUBST(NETJACK_CFLAGS) # Check which backend drivers can be built. The last one successfully # configured becomes the default JACK driver; so the order of @@ -26,7 +10,7 @@ JACK_DEFAULT_DRIVER=\"dummy\" -@@ -740,6 +737,20 @@ then +@@ -825,6 +825,20 @@ then fi AM_CONDITIONAL(HAVE_SUN, $HAVE_SUN) @@ -47,7 +31,7 @@ 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 +@@ -957,6 +971,7 @@ drivers/a2j/Makefile drivers/dummy/Makefile drivers/oss/Makefile drivers/sun/Makefile @@ -55,11 +39,11 @@ drivers/portaudio/Makefile drivers/coreaudio/Makefile drivers/freebob/Makefile -@@ -900,6 +912,7 @@ echo \| Build with old FireWire \(FreeBob\) support... +@@ -987,6 +1002,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 + echo \| Build with Celt support............................... : $HAVE_CELT Index: patches/patch-drivers_Makefile_am =================================================================== RCS file: /cvs/ports/audio/jack/patches/patch-drivers_Makefile_am,v retrieving revision 1.1 diff -u -r1.1 patch-drivers_Makefile_am --- patches/patch-drivers_Makefile_am 11 Jan 2009 10:51:46 -0000 1.1 +++ patches/patch-drivers_Makefile_am 23 Jan 2012 18:31:55 -0000 @@ -1,7 +1,7 @@ $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 +--- drivers/Makefile.am.orig Fri Jan 29 20:35:52 2010 ++++ drivers/Makefile.am Mon Jan 23 14:21:11 2012 +@@ -25,6 +25,12 @@ else SUN_DIR = endif @@ -14,11 +14,11 @@ if HAVE_PA PA_DIR = portaudio else -@@ -48,5 +54,5 @@ else +@@ -49,5 +55,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) $(A2J_DIR) $(ALSA_DIR) dummy $(OSS_DIR) $(SUN_DIR) $(PA_DIR) $(CA_DIR) $(FREEBOB_DIR) $(FIREWIRE_DIR) netjack +-DIST_SUBDIRS = alsa alsa-midi a2j 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 Index: patches/patch-drivers_dummy_dummy_driver_c =================================================================== RCS file: /cvs/ports/audio/jack/patches/patch-drivers_dummy_dummy_driver_c,v retrieving revision 1.1 diff -u -r1.1 patch-drivers_dummy_dummy_driver_c --- patches/patch-drivers_dummy_dummy_driver_c 28 Jun 2008 05:49:30 -0000 1.1 +++ patches/patch-drivers_dummy_dummy_driver_c 23 Jan 2012 18:31:55 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-drivers_dummy_dummy_driver_c,v 1.1 2008/06/28 05:49:30 jakemsr Exp $ ---- drivers/dummy/dummy_driver.c.orig Thu May 22 23:20:25 2008 -+++ drivers/dummy/dummy_driver.c Mon Jun 16 18:36:24 2008 +--- drivers/dummy/dummy_driver.c.orig Thu Jun 9 01:54:49 2011 ++++ drivers/dummy/dummy_driver.c Mon Jan 23 14:21:11 2012 @@ -109,6 +109,7 @@ dummy_driver_wait (dummy_driver_t *driver, int extra_f { jack_nframes_t nframes = driver->period_size; @@ -9,7 +9,7 @@ *status = 0; /* this driver doesn't work so well if we report a delay */ -@@ -133,7 +134,9 @@ dummy_driver_wait (dummy_driver_t *driver, int extra_f +@@ -134,7 +135,9 @@ dummy_driver_wait (dummy_driver_t *driver, int extra_f } driver->next_wakeup = add_ts(driver->next_wakeup, driver->wait_time); } else { Index: patches/patch-drivers_netjack_Makefile_am =================================================================== RCS file: patches/patch-drivers_netjack_Makefile_am diff -N patches/patch-drivers_netjack_Makefile_am --- patches/patch-drivers_netjack_Makefile_am 11 Jan 2009 10:51:46 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,11 +0,0 @@ -$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 - Index: patches/patch-drivers_netjack_net_driver_c =================================================================== RCS file: patches/patch-drivers_netjack_net_driver_c diff -N patches/patch-drivers_netjack_net_driver_c --- patches/patch-drivers_netjack_net_driver_c 7 Jun 2010 01:44:38 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,58 +0,0 @@ -$OpenBSD: patch-drivers_netjack_net_driver_c,v 1.2 2010/06/07 01:44:38 jakemsr Exp $ ---- drivers/netjack/net_driver.c.orig Sat Dec 6 11:43:36 2008 -+++ drivers/netjack/net_driver.c Wed May 19 21:19:00 2010 -@@ -334,14 +334,17 @@ net_driver_null_cycle (net_driver_t* driver, jack_nfra - // TODO: talk to paul about this. - // do i wait here ? - // just sending out a packet marked with junk ? -+ jacknet_packet_header *tx_pkthdr; -+ jacknet_packet_header *rx_pkthdr; -+ int payload_size; - - //int rx_size = get_sample_size(driver->bitdepth) * driver->capture_channels * driver->net_period_down + sizeof(jacknet_packet_header); - int tx_size = get_sample_size(driver->bitdepth) * driver->playback_channels * driver->net_period_up + sizeof(jacknet_packet_header); - unsigned int *packet_buf, *packet_bufX; - - packet_buf = alloca( tx_size); -- jacknet_packet_header *tx_pkthdr = (jacknet_packet_header *)packet_buf; -- jacknet_packet_header *rx_pkthdr = (jacknet_packet_header *)driver->rx_buf; -+ tx_pkthdr = (jacknet_packet_header *)packet_buf; -+ rx_pkthdr = (jacknet_packet_header *)driver->rx_buf; - - //framecnt = rx_pkthdr->framecnt; - -@@ -355,7 +358,7 @@ net_driver_null_cycle (net_driver_t* driver, jack_nfra - tx_pkthdr->framecnt = driver->expected_framecnt; - - // memset 0 the payload. -- int payload_size = get_sample_size(driver->bitdepth) * driver->playback_channels * driver->net_period_up; -+ payload_size = get_sample_size(driver->bitdepth) * driver->playback_channels * driver->net_period_up; - memset(packet_bufX, 0, payload_size); - - packet_header_hton(tx_pkthdr); -@@ -387,6 +390,7 @@ net_driver_read (net_driver_t* driver, jack_nframes_t - { - jack_position_t local_trans_pos; - jack_transport_state_t local_trans_state; -+ jacknet_packet_header *pkthdr; - - unsigned int *packet_buf, *packet_bufX; - -@@ -396,7 +400,7 @@ net_driver_read (net_driver_t* driver, jack_nframes_t - } - packet_buf = driver->rx_buf; - -- jacknet_packet_header *pkthdr = (jacknet_packet_header *)packet_buf; -+ pkthdr = (jacknet_packet_header *)packet_buf; - - packet_bufX = packet_buf + sizeof(jacknet_packet_header) / sizeof(jack_default_audio_sample_t); - -@@ -493,7 +497,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; Index: patches/patch-drivers_netjack_netjack_packet_c =================================================================== RCS file: patches/patch-drivers_netjack_netjack_packet_c diff -N patches/patch-drivers_netjack_netjack_packet_c --- patches/patch-drivers_netjack_netjack_packet_c 7 Jun 2010 01:44:38 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,129 +0,0 @@ -$OpenBSD: patch-drivers_netjack_netjack_packet_c,v 1.1 2010/06/07 01:44:38 jakemsr Exp $ ---- drivers/netjack/netjack_packet.c.orig Wed May 19 21:19:11 2010 -+++ drivers/netjack/netjack_packet.c Wed May 19 21:32:41 2010 -@@ -672,13 +672,15 @@ packet_cache_find_latency( packet_cache *pcache, jack_ - int - netjack_recvfrom (int sockfd, char *packet_buf, int pkt_size, int flags, struct sockaddr *addr, socklen_t *addr_size, int mtu) - { -- if (pkt_size <= mtu) -- return recvfrom (sockfd, packet_buf, pkt_size, flags, addr, addr_size); -- char *rx_packet = alloca (mtu); -- jacknet_packet_header *pkthdr = (jacknet_packet_header *) rx_packet; -+ char *rx_packet; -+ jacknet_packet_header *pkthdr; - int rcv_len; - jack_nframes_t framecnt; - cache_packet *cpack; -+ if (pkt_size <= mtu) -+ return recvfrom (sockfd, packet_buf, pkt_size, flags, addr, addr_size); -+ rx_packet = alloca (mtu); -+ pkthdr = (jacknet_packet_header *) rx_packet; - do - { - rcv_len = recvfrom (sockfd, rx_packet, mtu, 0, addr, addr_size); -@@ -696,13 +698,16 @@ netjack_recvfrom (int sockfd, char *packet_buf, int pk - int - netjack_recv (int sockfd, char *packet_buf, int pkt_size, int flags, int mtu) - { -- if (pkt_size <= mtu) -- return recv (sockfd, packet_buf, pkt_size, flags); -- char *rx_packet = alloca (mtu); -- jacknet_packet_header *pkthdr = (jacknet_packet_header *) rx_packet; -+ char *rx_packet; -+ jacknet_packet_header *pkthdr; - int rcv_len; - jack_nframes_t framecnt; - cache_packet *cpack; -+ -+ if (pkt_size <= mtu) -+ return recv (sockfd, packet_buf, pkt_size, flags); -+ rx_packet = alloca (mtu); -+ pkthdr = (jacknet_packet_header *) rx_packet; - do - { - rcv_len = recv (sockfd, rx_packet, mtu, flags); -@@ -723,15 +728,18 @@ netjack_sendto (int sockfd, char *packet_buf, int pkt_ - int frag_cnt = 0; - char *tx_packet, *dataX; - jacknet_packet_header *pkthdr; -+ int fragment_payload_size; -+ int err; -+ char *packet_bufX; -+ int last_payload_size; - - tx_packet = alloca (mtu + 10); - dataX = tx_packet + sizeof (jacknet_packet_header); - pkthdr = (jacknet_packet_header *) tx_packet; - -- int fragment_payload_size = mtu - sizeof (jacknet_packet_header); -+ fragment_payload_size = mtu - sizeof (jacknet_packet_header); - - if (pkt_size <= mtu) { -- int err; - pkthdr = (jacknet_packet_header *) packet_buf; - pkthdr->fragment_nr = htonl (0); - err = sendto(sockfd, packet_buf, pkt_size, flags, addr, addr_size); -@@ -742,12 +750,11 @@ netjack_sendto (int sockfd, char *packet_buf, int pkt_ - } - else - { -- int err; - // Copy the packet header to the tx pack first. - memcpy(tx_packet, packet_buf, sizeof (jacknet_packet_header)); - - // Now loop and send all -- char *packet_bufX = packet_buf + sizeof (jacknet_packet_header); -+ packet_bufX = packet_buf + sizeof (jacknet_packet_header); - - while (packet_bufX < (packet_buf + pkt_size - fragment_payload_size)) - { -@@ -757,7 +764,7 @@ netjack_sendto (int sockfd, char *packet_buf, int pkt_ - packet_bufX += fragment_payload_size; - } - -- int last_payload_size = packet_buf + pkt_size - packet_bufX; -+ last_payload_size = packet_buf + pkt_size - packet_bufX; - memcpy (dataX, packet_bufX, last_payload_size); - pkthdr->fragment_nr = htonl (frag_cnt); - //jack_error("last fragment_count = %d, payload_size = %d\n", fragment_count, last_payload_size); -@@ -779,6 +786,7 @@ decode_midi_buffer (uint32_t *buffer_uint32, unsigned - for (i = 0; i < buffer_size_uint32 - 3;) - { - uint32_t payload_size; -+ unsigned int nb_data_quads; - payload_size = buffer_uint32[i]; - payload_size = ntohl (payload_size); - if (payload_size) -@@ -790,7 +798,7 @@ decode_midi_buffer (uint32_t *buffer_uint32, unsigned - jack_midi_event_write (buf, event.time, event.buffer, event.size); - - // skip to the next event -- unsigned int nb_data_quads = (((event.size-1) & ~0x3) >> 2)+1; -+ nb_data_quads = (((event.size-1) & ~0x3) >> 2)+1; - i += 3+nb_data_quads; - } - else -@@ -808,9 +816,12 @@ encode_midi_buffer (uint32_t *buffer_uint32, unsigned - for (i = 0; i < nevents; ++i) - { - jack_midi_event_t event; -+ unsigned int nb_data_quads; -+ unsigned int payload_size; -+ jack_midi_data_t* tmpbuff; - jack_midi_event_get (&event, buf, i); -- unsigned int nb_data_quads = (((event.size - 1) & ~0x3) >> 2) + 1; -- unsigned int payload_size = 3 + nb_data_quads; -+ nb_data_quads = (((event.size - 1) & ~0x3) >> 2) + 1; -+ payload_size = 3 + nb_data_quads; - // only write if we have sufficient space for the event - // otherwise drop it - if (written + payload_size < buffer_size_uint32 - 1) -@@ -824,7 +835,7 @@ encode_midi_buffer (uint32_t *buffer_uint32, unsigned - written++; - - // write data -- jack_midi_data_t* tmpbuff = (jack_midi_data_t*)(&(buffer_uint32[written])); -+ tmpbuff = (jack_midi_data_t*)(&(buffer_uint32[written])); - memcpy (tmpbuff, event.buffer, event.size); - written += nb_data_quads; - } Index: patches/patch-jackd_controlapi_c =================================================================== RCS file: patches/patch-jackd_controlapi_c diff -N patches/patch-jackd_controlapi_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-jackd_controlapi_c 23 Jan 2012 18:31:55 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- jackd/controlapi.c.orig Mon Jan 23 14:54:01 2012 ++++ jackd/controlapi.c Mon Jan 23 14:48:03 2012 +@@ -867,7 +867,7 @@ get_realtime_priority_constraint() + + return constraint_ptr; + #else +- return NULL ++ return NULL; + #endif + } + Index: patches/patch-jackd_engine_c =================================================================== RCS file: /cvs/ports/audio/jack/patches/patch-jackd_engine_c,v retrieving revision 1.8 diff -u -r1.8 patch-jackd_engine_c --- patches/patch-jackd_engine_c 7 Jun 2010 01:44:38 -0000 1.8 +++ patches/patch-jackd_engine_c 23 Jan 2012 18:31:55 -0000 @@ -1,7 +1,7 @@ -$OpenBSD: patch-jackd_engine_c,v 1.8 2010/06/07 01:44:38 jakemsr Exp $ ---- jackd/engine.c.orig Tue Dec 2 08:29:23 2008 -+++ jackd/engine.c Fri Jan 8 14:02:43 2010 -@@ -1383,7 +1383,7 @@ handle_external_client_request (jack_engine_t *engine, +$OpenBSD$ +--- jackd/engine.c.orig Mon Jan 23 14:37:43 2012 ++++ jackd/engine.c Mon Jan 23 14:38:38 2012 +@@ -1491,7 +1491,7 @@ handle_external_client_request (jack_engine_t *engine, if ((r = read (client->request_fd, &req, sizeof (req))) < (ssize_t) sizeof (req)) { if (r == 0) { @@ -10,7 +10,7 @@ /* poll is implemented using select (see the macosx/fakepoll code). When the socket is closed -@@ -1561,9 +1561,13 @@ jack_server_thread (void *arg) +@@ -1676,9 +1676,13 @@ jack_server_thread (void *arg) } else if (engine->pfd[i].revents & POLLIN) { if (handle_external_client_request (engine, engine->pfd[i].fd)) { @@ -24,52 +24,3 @@ } } } -@@ -2422,6 +2426,9 @@ jack_notify_all_port_interested_clients (jack_engine_t - { - JSList *node; - jack_event_t event; -+ jack_client_internal_t* src_client; -+ jack_client_internal_t* dst_client; -+ jack_client_internal_t* client; - - event.type = (connected ? PortConnected : PortDisconnected); - event.x.self_id = a; -@@ -2430,11 +2437,11 @@ jack_notify_all_port_interested_clients (jack_engine_t - /* GRAPH MUST BE LOCKED : see callers of jack_send_connection_notification() - */ - -- jack_client_internal_t* src_client = jack_client_internal_by_id (engine, src); -- jack_client_internal_t* dst_client = jack_client_internal_by_id (engine, dst); -+ src_client = jack_client_internal_by_id (engine, src); -+ dst_client = jack_client_internal_by_id (engine, dst); - - for (node = engine->clients; node; node = jack_slist_next (node)) { -- jack_client_internal_t* client = (jack_client_internal_t*) node->data; -+ client = (jack_client_internal_t*) node->data; - if (src_client != client && dst_client != client && client->control->port_connect_cbset != FALSE) { - - /* one of the ports belong to this client or it has a port connect callback */ -@@ -2448,6 +2455,10 @@ jack_deliver_event (jack_engine_t *engine, jack_client - jack_event_t *event) - { - char status; -+ jack_time_t poll_timeout; -+ int poll_ret; -+ jack_time_t then; -+ jack_time_t now; - - /* caller must hold the graph lock */ - -@@ -2539,10 +2550,8 @@ jack_deliver_event (jack_engine_t *engine, jack_client - struct pollfd pfd[1]; - pfd[0].fd = client->event_fd; - pfd[0].events = POLLERR|POLLIN|POLLHUP|POLLNVAL; -- jack_time_t poll_timeout = JACKD_CLIENT_EVENT_TIMEOUT; -- int poll_ret; -- jack_time_t then = jack_get_microseconds (); -- jack_time_t now; -+ poll_timeout = JACKD_CLIENT_EVENT_TIMEOUT; -+ then = jack_get_microseconds (); - - #ifdef __linux - again: Index: patches/patch-jackd_jackd_1_in =================================================================== RCS file: /cvs/ports/audio/jack/patches/patch-jackd_jackd_1_in,v retrieving revision 1.1 diff -u -r1.1 patch-jackd_jackd_1_in --- patches/patch-jackd_jackd_1_in 11 Jan 2009 10:51:46 -0000 1.1 +++ patches/patch-jackd_jackd_1_in 23 Jan 2012 18:31:55 -0000 @@ -1,7 +1,7 @@ $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 +--- jackd/jackd.1.in.orig Thu Jun 9 01:54:48 2011 ++++ jackd/jackd.1.in Mon Jan 23 14:21:11 2012 +@@ -28,8 +28,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, @@ -13,7 +13,7 @@ .TP \fB\-h, \-\-help\fR -@@ -348,6 +349,43 @@ Specify output device for playback (default: /dev/audi +@@ -417,6 +418,43 @@ Specify output device for playback (default: /dev/audi .TP \fB\-b, \-\-ignorehwbuf \fIboolean\fR Specify, whether to ignore hardware period size (default: false) @@ -57,7 +57,7 @@ .SS PORTAUDIO BACKEND PARAMETERS .TP \fB\-c \-\-channel\fR -@@ -394,6 +432,8 @@ Print usage message for the parameters specific to eac +@@ -467,6 +505,8 @@ Print usage message for the parameters specific to eac \fBjackd \-d oss \-\-help\fR .br \fBjackd \-d sun \-\-help\fR Index: patches/patch-jackd_jackd_c =================================================================== RCS file: /cvs/ports/audio/jack/patches/patch-jackd_jackd_c,v retrieving revision 1.1 diff -u -r1.1 patch-jackd_jackd_c --- patches/patch-jackd_jackd_c 11 Jan 2009 10:51:46 -0000 1.1 +++ patches/patch-jackd_jackd_c 23 Jan 2012 18:31:55 -0000 @@ -1,12 +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/jackd.c.orig Thu Jun 9 01:54:48 2011 ++++ jackd/jackd.c Mon Jan 23 14:22:51 2012 +@@ -399,7 +399,7 @@ static void usage (FILE *file) + #ifdef __APPLE__ + " Available backends may include: coreaudio, dummy, net, portaudio.\n\n" + #else +-" Available backends may include: alsa, dummy, freebob, firewire, net, oss, sun, or portaudio.\n\n" ++" Available backends may include: alsa, dummy, freebob, firewire, net, oss, sun, sndio, or portaudio.\n\n" + #endif " jackd -d backend --help\n" " to display options for each backend\n\n"); - } Index: patches/patch-libjack_client_c =================================================================== RCS file: patches/patch-libjack_client_c diff -N patches/patch-libjack_client_c --- patches/patch-libjack_client_c 7 Jun 2010 01:44:38 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,55 +0,0 @@ -$OpenBSD: patch-libjack_client_c,v 1.5 2010/06/07 01:44:38 jakemsr Exp $ ---- libjack/client.c.orig Thu Dec 4 11:30:27 2008 -+++ libjack/client.c Wed May 19 20:27:23 2010 -@@ -974,10 +974,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 -@@ -1110,8 +1107,9 @@ jack_client_open_aux (const char *client_name, - jack_client_t* jack_client_open(const char* ext_client_name, jack_options_t options, jack_status_t* status, ...) - { - va_list ap; -+ jack_client_t* res; - va_start(ap, status); -- jack_client_t* res = jack_client_open_aux(ext_client_name, options, status, ap); -+ res = jack_client_open_aux(ext_client_name, options, status, ap); - va_end(ap); - return res; - } -@@ -1119,10 +1117,11 @@ jack_client_t* jack_client_open(const char* ext_client - jack_client_t * - jack_client_new (const char *client_name) - { -+ va_list va; - 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, va); - } - - char * -@@ -1694,6 +1693,7 @@ jack_client_thread_aux (void *arg) - { - jack_client_t *client = (jack_client_t *) arg; - jack_client_control_t *control = client->control; -+ int status; - - pthread_mutex_lock (&client_lock); - client->thread_ok = TRUE; -@@ -1723,7 +1723,7 @@ jack_client_thread_aux (void *arg) - - while (1) { - DEBUG("client calls process()"); -- int status = (client->process (control->nframes, -+ status = (client->process (control->nframes, - client->process_arg) == - control->nframes); - control->state = Finished; Index: patches/patch-libjack_intclient_c =================================================================== RCS file: patches/patch-libjack_intclient_c diff -N patches/patch-libjack_intclient_c --- patches/patch-libjack_intclient_c 7 Jun 2010 01:44:38 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -$OpenBSD: patch-libjack_intclient_c,v 1.3 2010/06/07 01:44:38 jakemsr Exp $ ---- libjack/intclient.c.orig Wed May 19 20:43:00 2010 -+++ libjack/intclient.c Wed May 19 20:45:49 2010 -@@ -166,8 +166,9 @@ jack_internal_client_load (jack_client_t *client, - jack_status_t *status, ...) - { - va_list ap; -+ jack_intclient_t res; - va_start(ap, status); -- jack_intclient_t res = jack_internal_client_load_aux(client, client_name, options, status, ap); -+ res = jack_internal_client_load_aux(client, client_name, options, status, ap); - va_end(ap); - return res; - } Index: patches/patch-tools_lsp_c =================================================================== RCS file: patches/patch-tools_lsp_c diff -N patches/patch-tools_lsp_c --- patches/patch-tools_lsp_c 7 Jun 2010 01:44:38 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,20 +0,0 @@ -$OpenBSD: patch-tools_lsp_c,v 1.1 2010/06/07 01:44:38 jakemsr Exp $ ---- tools/lsp.c.orig Wed May 19 21:32:57 2010 -+++ tools/lsp.c Wed May 19 21:35:37 2010 -@@ -139,6 +139,7 @@ main (int argc, char *argv[]) - - for (i = 0; ports[i]; ++i) { - // skip over any that don't match ALL of the strings presented at command line -+ jack_port_t *port; - skip_port = 0; - for(k=optind; k < argc; k++){ - if(strstr(ports[i], argv[k]) == NULL ){ -@@ -149,7 +150,7 @@ main (int argc, char *argv[]) - - printf ("%s\n", ports[i]); - -- jack_port_t *port = jack_port_by_name (client, ports[i]); -+ port = jack_port_by_name (client, ports[i]); - - if (show_aliases) { - int cnt; Index: patches/patch-tools_netsource_c =================================================================== RCS file: patches/patch-tools_netsource_c diff -N patches/patch-tools_netsource_c --- patches/patch-tools_netsource_c 7 Jun 2010 01:44:38 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,37 +0,0 @@ -$OpenBSD: patch-tools_netsource_c,v 1.4 2010/06/07 01:44:38 jakemsr Exp $ ---- tools/netsource.c.orig Wed May 19 21:35:48 2010 -+++ tools/netsource.c Wed May 19 21:38:07 2010 -@@ -230,6 +230,7 @@ process (jack_nframes_t nframes, void *arg) - - uint32_t *packet_buf, *packet_bufX; - jack_time_t packet_recv_timestamp; -+ jacknet_packet_header *pkthdr; - - if( bitdepth == 1000 ) - net_period = factor; -@@ -243,7 +244,7 @@ process (jack_nframes_t nframes, void *arg) - /* Allocate a buffer where both In and Out Buffer will fit */ - packet_buf = alloca ((rx_bufsize > tx_bufsize) ? rx_bufsize : tx_bufsize); - -- jacknet_packet_header *pkthdr = (jacknet_packet_header *) packet_buf; -+ pkthdr = (jacknet_packet_header *) packet_buf; - - /* - * ok... SEND code first. -@@ -453,6 +454,7 @@ main (int argc, char *argv[]) - extern char *optarg; - extern int optind, optopt; - int errflg=0, c; -+ int rx_bufsize; - - if (argc < 3) - { -@@ -574,7 +576,7 @@ main (int argc, char *argv[]) - else - net_period = ceilf((float) jack_get_buffer_size (client) / (float) factor); - -- int rx_bufsize = get_sample_size (bitdepth) * capture_channels * net_period + sizeof (jacknet_packet_header); -+ rx_bufsize = get_sample_size (bitdepth) * capture_channels * net_period + sizeof (jacknet_packet_header); - global_packcache = packet_cache_new (latency + 50, rx_bufsize, mtu); - - /* tell the JACK server that we are ready to roll */ Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/audio/jack/pkg/PLIST,v retrieving revision 1.7 diff -u -r1.7 PLIST --- pkg/PLIST 10 Nov 2010 08:00:03 -0000 1.7 +++ pkg/PLIST 23 Jan 2012 18:31:55 -0000 @@ -1,34 +1,48 @@ @comment $OpenBSD: PLIST,v 1.7 2010/11/10 08:00:03 jasper Exp $ @bin bin/jack_alias +@bin bin/jack_bufsize @bin bin/jack_connect @bin bin/jack_disconnect @bin bin/jack_evmon @bin bin/jack_freewheel @bin bin/jack_impulse_grabber +@bin bin/jack_iodelay +@bin bin/jack_latent_client @bin bin/jack_load +@bin bin/jack_load_test @bin bin/jack_lsp @bin bin/jack_metro +@bin bin/jack_midi_dump @bin bin/jack_midiseq @bin bin/jack_midisine @bin bin/jack_monitor_client @bin bin/jack_netsource +@bin bin/jack_rec +@bin bin/jack_samplerate +@bin bin/jack_server_control +@bin bin/jack_session_notify @bin bin/jack_showtime @bin bin/jack_simple_client +@bin bin/jack_simple_session_client @bin bin/jack_transport @bin bin/jack_transport_client @bin bin/jack_unload +@bin bin/jack_wait @bin bin/jackd -@bin bin/jackrec include/jack/ +include/jack/control.h include/jack/intclient.h include/jack/jack.h include/jack/midiport.h include/jack/ringbuffer.h +include/jack/session.h include/jack/statistics.h include/jack/thread.h include/jack/timestamps.h include/jack/transport.h include/jack/types.h +include/jack/weakjack.h +include/jack/weakmacros.h lib/jack/ lib/jack/inprocess.la lib/jack/inprocess.so Index: pkg/README =================================================================== RCS file: /cvs/ports/audio/jack/pkg/README,v retrieving revision 1.3 diff -u -r1.3 README --- pkg/README 2 Jun 2011 13:41:36 -0000 1.3 +++ pkg/README 23 Jan 2012 18:31:55 -0000 @@ -43,12 +43,11 @@ It is possible to run jackd on top of aucat(1) with the 'sndio' driver. However, the aucat server must be running at a higher than default -scheduling priority. The aucat(1) manual has an example for doing this -with renice(8). Note that jackd will use aucat's block size as it's +scheduling priority. Note that jackd will use aucat's block size as it's period size. The following command sequence could be used to run jackd over aucat. - $ aucat -l -b 1024 -z 1024 + $ sndiod -b 1024 -z 1024 $ sudo renice -20 `pgrep -x aucat` $ jackd -d sndio -p 1024 -n 2