FreeBSD Bugzilla – Attachment 220289 Details for
Bug 251125
audio/jack: update to jack2 or add new port audio/jack2
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
jack-transport-problem.diff
jack.diff (text/plain), 37.80 KB, created by
Goran Mekić
on 2020-12-05 19:36:03 UTC
(
hide
)
Description:
jack-transport-problem.diff
Filename:
MIME Type:
Creator:
Goran Mekić
Created:
2020-12-05 19:36:03 UTC
Size:
37.80 KB
patch
obsolete
>diff --git a/audio/jack/Makefile b/audio/jack/Makefile >index e45e60cc3183..48ce8d171ee9 100644 >--- a/audio/jack/Makefile >+++ b/audio/jack/Makefile >@@ -2,8 +2,8 @@ > # $FreeBSD$ > > PORTNAME= jackit >-PORTVERSION= 0.125.0 >-PORTREVISION= 11 >+DISTVERSIONPREFIX= v >+DISTVERSION= 1.9.16 > CATEGORIES= audio > > MAINTAINER= multimedia@FreeBSD.org >@@ -12,67 +12,57 @@ COMMENT= Low latency audio server > LICENSE= GPLv2 LGPL21 > LICENSE_COMB= multi > >-BROKEN_mips= fails to link: undefined reference to '__sync_add_and_fetch_4' >-BROKEN_mips64= fails to link: undefined reference to '__sync_add_and_fetch_4' >- > LIB_DEPENDS= libsndfile.so:audio/libsndfile \ > libsamplerate.so:audio/libsamplerate \ > libcelt0.so:audio/celt > >-USES= autoreconf compiler:c11 gmake pathfix pkgconfig libtool localbase bdb >+USES= waf compiler:c11 pkgconfig shebangfix python:3.4+,build > USE_GITHUB= yes >- >-GH_ACCOUNT= jackaudio >-GH_PROJECT= jack1 >-GH_TAGNAME= 90f9dd3 >-GH_TUPLE= jackaudio:headers:07f1ecf:h/jack >-GH_TUPLE+= jackaudio:tools:8d13c31:t/tools >-GH_TUPLE+= jackaudio:example-clients:7fa0890:e/example-clients >+GH_ACCOUNT= mekanix >+GH_PROJECT= jack2 >+GH_TAGNAME= 62b29c0ffabc97dc543cfe01b970e474ec4c9f7a > USE_LDCONFIG= yes >-GNU_CONFIGURE= yes >-USE_RC_SUBR= jackd >- >-CONFIGURE_ARGS= --disable-portaudio \ >- --enable-optimize \ >- --enable-force-install \ >- --with-default-tmpdir=/tmp >- >-CFLAGS+= -I${BDB_INCLUDE_DIR} >-LIBS+= -L${BDB_LIB_DIR} >-INSTALL_TARGET= install-strip >- >-OPTIONS_DEFINE= ALSA DOXYGEN READLINE SNDIO COOKEDMODE >-OPTIONS_DEFINE_i386= DYNSIMD >-OPTIONS_DEFINE_amd64= DYNSIMD >-OPTIONS_DEFAULT= READLINE COOKEDMODE >-OPTIONS_DEFAULT_i386= DYNSIMD >-OPTIONS_DEFAULT_amd64= DYNSIMD >-OPTIONS_SUB= yes >-COOKEDMODE_DESC= Use OSS COOKEDMODE (OSS driver is broken without it) >-DYNSIMD_DESC= Use dynamic SIMD selection (only i386/amd64) > >-ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib >-ALSA_CONFIGURE_ENABLE= alsa >+CFLAGS+= -fPIC >+CPPFLAGS+= -I${LOCALBASE}/include > >-READLINE_USES= readline >+SHEBANG_FILES= tools/jack_control >+SHEBANG_LANG= python3 > >-DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen >-DOXYGEN_CONFIGURE_ENV_OFF= ac_cv_prog_HAVE_DOXYGEN="false" >+CONFIGURE_ARGS+= --celt=yes --sndfile=yes --samplerate=yes > >-READLINE_CONFIGURE_ENV_OFF= ac_cv_lib_readline_readline=no \ >- ac_cv_header_readline_chardefs_h=no >+OPTIONS_DEFINE= ALSA DBUS READLINE OPUS >+OPTIONS_DEFAULT= DBUS READLINE OPUS >+OPTIONS_SUB= yes >+ >+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib >+ALSA_CONFIGURE_OFF= --alsa=no >+ALSA_CONFIGURE_ON= --alsa=yes > >-SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio >-SNDIO_CONFIGURE_ENABLE= sndio >+DBUS_CONFIGURE_ON= --dbus >+DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus \ >+ libsysinfo.so:devel/libsysinfo \ >+ libexpat.so:textproc/expat2 >+DBUS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dbus>0:devel/py-dbus@${PY_FLAVOR} >+ >+READLINE_USES= readline >+READLINE_CONFIGURE_ON= --readline=yes >+READLINE_CONFIGURE_OFF= --readline=no >+READLINE_LDFLAGS= -lreadline > >-COOKEDMODE_CFLAGS= -DOPTION_COOKEDMODE >+OPUS_LIB_DEPENDS= libopus.so:audio/opus >+OPUS_CONFIGURE_ON= --opus=yes >+OPUS_CONFIGURE_OFF= --opus=no > >-DYNSIMD_CONFIGURE_ENABLE=dynsimd >+.include <bsd.port.pre.mk> > >-post-patch: >- @${RM} ${WRKSRC}/doc/reference/html/* >+.if ${PORT_OPTIONS:MDBUS} >+PLIST_SUB+= CLASSIC="@comment " >+.else >+PLIST_SUB+= CLASSIC="" >+.endif > >-post-build: >- @${RM} ${WRKSRC}/doc/reference/html/dir__2F* >+post-extract: >+ echo '#define SVN_VERSION "${GH_TAGNAME}"' > ${WRKSRC}/svnversion.h > >-.include <bsd.port.mk> >+.include <bsd.port.post.mk> >diff --git a/audio/jack/distinfo b/audio/jack/distinfo >index ff163a3f8aee..ea5b16df6e4e 100644 >--- a/audio/jack/distinfo >+++ b/audio/jack/distinfo >@@ -1,9 +1,3 @@ >-TIMESTAMP = 1500250305 >-SHA256 (jackaudio-jack1-0.125.0-90f9dd3_GH0.tar.gz) = e0ba7dcf58fa934af51329cd329f466fe8d2bc180d07e4ab8be21ed80c60aa8a >-SIZE (jackaudio-jack1-0.125.0-90f9dd3_GH0.tar.gz) = 392822 >-SHA256 (jackaudio-headers-07f1ecf_GH0.tar.gz) = 04a3bb87d278923985ba44045b7a27439c90776cc5d4a6016d062fc7a6aa5023 >-SIZE (jackaudio-headers-07f1ecf_GH0.tar.gz) = 36704 >-SHA256 (jackaudio-tools-8d13c31_GH0.tar.gz) = 23e6bc60c8cef4283677206f2687a408367203a725c091c923f48554ae6e8cc8 >-SIZE (jackaudio-tools-8d13c31_GH0.tar.gz) = 45544 >-SHA256 (jackaudio-example-clients-7fa0890_GH0.tar.gz) = 79e2ac1d38d7d77b1afb71aa97414c339e8c00613a5d9b725861232b5c995223 >-SIZE (jackaudio-example-clients-7fa0890_GH0.tar.gz) = 16174 >+TIMESTAMP = 1607193928 >+SHA256 (mekanix-jack2-v1.9.16-62b29c0ffabc97dc543cfe01b970e474ec4c9f7a_GH0.tar.gz) = 30ae78c3e987f8a5d75f1c7937de2123ce9ffd2273df1b96737268c9c7239955 >+SIZE (mekanix-jack2-v1.9.16-62b29c0ffabc97dc543cfe01b970e474ec4c9f7a_GH0.tar.gz) = 979046 >diff --git a/audio/jack/files/jackd.in b/audio/jack/files/jackd.in >deleted file mode 100644 >index dad627ff86af..000000000000 >--- a/audio/jack/files/jackd.in >+++ /dev/null >@@ -1,37 +0,0 @@ >-#!/bin/sh >-# >-# $FreeBSD$ >-# >-# PROVIDE: jackd >-# REQUIRE: LOGIN >-# >-# Add the following line to /etc/rc.conf to enable jackd: >-# >-# jackd_enable="YES" >-# >- >-: ${jackd_enable="NO"} >-: ${jackd_user="root"} >-: ${jackd_rtprio="NO"} >-: ${jackd_args="-r -doss -r44100 -p1024 -n3 -w16"} >- >-. /etc/rc.subr >- >-name=jackd >-rcvar=jackd_enable >-procname=%%PREFIX%%/bin/jackd >-start_cmd="start_jackd" >- >-start_jackd() { >- echo "Starting ${name}." >- if [ $jackd_rtprio = "YES" ]; then >- local rt="rtprio 1" >- fi >- # log the date and parameters >- echo -e "\n[`date`] Starting the daemon, user=$jackd_user rtprio=$jackd_rtprio args=\"$jackd_args\"" >> /var/log/${name}.log >- # daemon(8) should be able to set the realtime priority, but it isn't >- $rt daemon -p /var/run/${name}.pid -u "${jackd_user}" %%PREFIX%%/bin/jackd ${jackd_args} >-} >- >-load_rc_config ${name} >-run_rc_command "$1" >diff --git a/audio/jack/files/patch-configure.ac b/audio/jack/files/patch-configure.ac >deleted file mode 100644 >index 963aa5328a89..000000000000 >--- a/audio/jack/files/patch-configure.ac >+++ /dev/null >@@ -1,10 +0,0 @@ >---- configure.ac.orig 2017-01-10 10:20:51 UTC >-+++ configure.ac >-@@ -172,6 +172,7 @@ case "${host_os}" in >- # barrier code, this may be fixed in 5.3, stay tuned. >- USE_BARRIER="no" >- USE_MD5SUM=0 >-+ JACK_DO_NOT_MLOCK=0 >- ;; >- openbsd*) >- # pthread_barrier* not implemented >diff --git a/audio/jack/files/patch-drivers_alsa_memops.c b/audio/jack/files/patch-drivers_alsa_memops.c >deleted file mode 100644 >index ea2b1524440b..000000000000 >--- a/audio/jack/files/patch-drivers_alsa_memops.c >+++ /dev/null >@@ -1,11 +0,0 @@ >---- drivers/alsa/memops.c.orig 2016-02-23 15:13:53 UTC >-+++ drivers/alsa/memops.c >-@@ -30,7 +30,7 @@ >- #include <stdlib.h> >- #include <stdint.h> >- #include <limits.h> >--#include <endian.h> >-+#include <sys/endian.h> >- >- #include "memops.h" >- >diff --git a/audio/jack/files/patch-drivers_oss_oss__driver.c b/audio/jack/files/patch-drivers_oss_oss__driver.c >deleted file mode 100644 >index 19e76f680df8..000000000000 >--- a/audio/jack/files/patch-drivers_oss_oss__driver.c >+++ /dev/null >@@ -1,258 +0,0 @@ >---- drivers/oss/oss_driver.c.orig 2017-01-10 10:20:51 UTC >-+++ drivers/oss/oss_driver.c >-@@ -23,6 +23,7 @@ >- >- #include <config.h> >- >-+#define __BSD_VISIBLE 1 >- #ifdef USE_BARRIER >- /* >- * POSIX conformance level should be globally defined somewhere, possibly >-@@ -172,7 +173,9 @@ static void set_period_size (oss_driver_ >- ((double)driver->period_size / >- (double)driver->sample_rate) * 1e6; >- driver->last_wait_ust = 0; >-- driver->last_periodtime = driver->engine->get_microseconds (); >-+ driver->last_periodtime = driver->engine ? >-+ driver->engine->get_microseconds() : >-+ jack_get_microseconds(); >- driver->next_periodtime = 0; >- driver->iodelay = 0.0F; >- } >-@@ -180,7 +183,9 @@ static void set_period_size (oss_driver_ >- >- static inline void update_times (oss_driver_t *driver) >- { >-- driver->last_periodtime = driver->engine->get_microseconds (); >-+ driver->last_periodtime = driver->engine ? >-+ driver->engine->get_microseconds() : >-+ jack_get_microseconds(); >- if (driver->next_periodtime > 0) { >- driver->iodelay = (float) >- ((long double)driver->last_periodtime - >-@@ -211,6 +216,7 @@ static void copy_and_convert_in (jack_sa >- int dstidx; >- signed short *s16src = (signed short*)src; >- signed int *s32src = (signed int*)src; >-+ unsigned char *s24src = (unsigned char *) src; >- double *f64src = (double*)src; >- jack_sample_t scale; >- >-@@ -225,10 +231,13 @@ static void copy_and_convert_in (jack_sa >- } >- break; >- case 24: >-- scale = 1.0f / 0x7fffff; >-+ scale = 1.0f / 0x7fffffff; >- for (dstidx = 0; dstidx < nframes; dstidx++) { >- dst[dstidx] = (jack_sample_t) >-- s32src[srcidx] * scale; >-+ ((signed int)( >-+ (s24src[3 * srcidx + 2] << 24) | >-+ (s24src[3 * srcidx + 1] << 16) | >-+ (s24src[3 * srcidx + 0] << 8))) * scale; >- srcidx += chcount; >- } >- break; >-@@ -256,6 +265,7 @@ static void copy_and_convert_out (void * >- int srcidx; >- int dstidx; >- signed short *s16dst = (signed short*)dst; >-+ unsigned char *s24dst = (unsigned char *) dst; >- signed int *s32dst = (signed int*)dst; >- double *f64dst = (double*)dst; >- jack_sample_t scale; >-@@ -273,12 +283,15 @@ static void copy_and_convert_out (void * >- } >- break; >- case 24: >-- scale = 0x7fffff; >-+ scale = 0x7fffffff; >- for (srcidx = 0; srcidx < nframes; srcidx++) { >-- s32dst[dstidx] = (signed int) >-- (src[srcidx] >= 0.0f) ? >-- (src[srcidx] * scale + 0.5f) : >-- (src[srcidx] * scale - 0.5f); >-+ signed int sample = >-+ (src[srcidx] >= 0.0f) ? >-+ (src[srcidx] * scale + 0.5f) : >-+ (src[srcidx] * scale - 0.5f) ; >-+ s24dst[3*dstidx + 2] = sample >> 24; >-+ s24dst[3*dstidx + 1] = sample >> 16; >-+ s24dst[3*dstidx + 0] = sample >> 8; >- dstidx += chcount; >- } >- break; >-@@ -429,7 +442,11 @@ static int oss_driver_detach (oss_driver >- >- static int oss_driver_start (oss_driver_t *driver) >- { >-- int flags = 0; >-+#if defined(OPTION_COOKEDMODE) >-+ int cookedmode = 1; >-+#else >-+ int cookedmode = 0; >-+#endif >- int format; >- int channels; >- int samplerate; >-@@ -441,19 +458,7 @@ static int oss_driver_start (oss_driver_ >- const char *indev = driver->indev; >- const char *outdev = driver->outdev; >- >-- switch (driver->bits) { >-- case 24: >-- case 32: >-- samplesize = sizeof(int); >-- break; >-- case 64: >-- samplesize = sizeof(double); >-- break; >-- case 16: >-- default: >-- samplesize = sizeof(short); >-- break; >-- } >-+ samplesize = driver->bits / 8; >- driver->trigger = 0; >- if (strcmp (indev, outdev) != 0) { >- if (driver->capture_channels > 0) { >-@@ -464,7 +469,7 @@ static int oss_driver_start (oss_driver_ >- indev, __FILE__, __LINE__, errno); >- } >- #ifndef OSS_NO_COOKED_MODE >-- ioctl (infd, SNDCTL_DSP_COOKEDMODE, &flags); >-+ ioctl (infd, SNDCTL_DSP_COOKEDMODE, &cookedmode); >- #endif >- fragsize = driver->period_size * >- driver->capture_channels * samplesize; >-@@ -479,7 +484,7 @@ static int oss_driver_start (oss_driver_ >- outdev, __FILE__, __LINE__, errno); >- } >- #ifndef OSS_NO_COOKED_MODE >-- ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &flags); >-+ ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &cookedmode); >- #endif >- fragsize = driver->period_size * >- driver->playback_channels * samplesize; >-@@ -497,7 +502,7 @@ static int oss_driver_start (oss_driver_ >- return -1; >- } >- #ifndef OSS_NO_COOKED_MODE >-- ioctl (infd, SNDCTL_DSP_COOKEDMODE, &flags); >-+ ioctl (infd, SNDCTL_DSP_COOKEDMODE, &cookedmode); >- #endif >- } else if (driver->capture_channels == 0 && >- driver->playback_channels != 0) { >-@@ -510,7 +515,7 @@ static int oss_driver_start (oss_driver_ >- return -1; >- } >- #ifndef OSS_NO_COOKED_MODE >-- ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &flags); >-+ ioctl (outfd, SNDCTL_DSP_COOKEDMODE, &cookedmode); >- #endif >- } else { >- infd = outfd = open (indev, O_RDWR | O_EXCL); >-@@ -521,7 +526,7 @@ static int oss_driver_start (oss_driver_ >- return -1; >- } >- #ifndef OSS_NO_COOKED_MODE >-- ioctl (infd, SNDCTL_DSP_COOKEDMODE, &flags); >-+ ioctl (infd, SNDCTL_DSP_COOKEDMODE, &cookedmode); >- #endif >- } >- if (infd >= 0 && outfd >= 0) { >-@@ -705,7 +710,9 @@ static int oss_driver_start (oss_driver_ >- sem_post (&driver->sem_start); >- } >- >-- driver->last_periodtime = driver->engine->get_microseconds (); >-+ driver->last_periodtime = driver->engine ? >-+ driver->engine->get_microseconds() : >-+ jack_get_microseconds(); >- driver->next_periodtime = 0; >- driver->iodelay = 0.0F; >- >-@@ -1143,6 +1150,23 @@ jack_driver_t * driver_initialize (jack_ >- pnode = jack_slist_next (pnode); >- } >- >-+ switch (bits) >-+ { >-+ case 16: /* native-endian 16-bit integer */ >-+ driver->format = AFMT_S16_NE; >-+ break; >-+ case 24: /* little-endian 24-bit integer */ >-+ driver->format = AFMT_S24_LE; >-+ break; >-+ case 32: /* native-endian 32-bit integer */ >-+ driver->format = AFMT_S32_NE; >-+ break; >-+ default: >-+ free(driver); >-+ jack_error("OSS: invalid number of bits: %d", >-+ __FILE__, __LINE__, bits); >-+ return NULL; >-+ } >- driver->sample_rate = sample_rate; >- driver->period_size = period_size; >- driver->nperiods = nperiods; >-@@ -1163,58 +1187,6 @@ jack_driver_t * driver_initialize (jack_ >- } >- driver->infd = -1; >- driver->outfd = -1; >-- switch (driver->bits) { >--# ifndef OSS_ENDIAN >--# ifdef __GNUC__ >--# if (defined(__i386__) || defined(__alpha__) || defined(__arm__) || defined(__x86_64__) || (defined(__sh__) && !defined(__LITTLE_ENDIAN__))) >--# define OSS_LITTLE_ENDIAN 1234 >--# define OSS_ENDIAN OSS_LITTLE_ENDIAN >--# else >--# define OSS_BIG_ENDIAN 4321 >--# define OSS_ENDIAN OSS_BIG_ENDIAN >--# endif >--# else /* __GNUC__ */ >--# if (defined(_AIX) || defined(AIX) || defined(sparc) || defined(__hppa) || defined(PPC) || defined(__powerpc__) && !defined(i386) && !defined(__i386) && !defined(__i386__)) >--# define OSS_BIG_ENDIAN 4321 >--# define OSS_ENDIAN OSS_BIG_ENDIAN >--# else >--# define OSS_LITTLE_ENDIAN 1234 >--# define OSS_ENDIAN OSS_LITTLE_ENDIAN >--# endif >--# endif /* __GNUC__ */ >--# endif /* OSS_ENDIAN */ >--# if (OSS_ENDIAN == 1234) >-- /* little-endian architectures */ >-- case 24: /* little-endian LSB aligned 24-bits in 32-bits integer */ >-- driver->format = 0x00008000; >-- break; >-- case 32: /* little-endian 32-bit integer */ >-- driver->format = 0x00001000; >-- break; >-- case 64: /* native-endian 64-bit float */ >-- driver->format = 0x00004000; >-- break; >-- case 16: /* little-endian 16-bit integer */ >-- default: >-- driver->format = 0x00000010; >-- break; >-- /* big-endian architectures */ >--# else >-- case 24: /* big-endian LSB aligned 24-bits in 32-bits integer */ >-- break; >-- driver->format = 0x00010000; >-- case 32: /* big-endian 32-bit integer */ >-- driver->format = 0x00002000; >-- break; >-- case 64: /* native-endian 64-bit float */ >-- driver->format = 0x00004000; >-- break; >-- case 16: /* big-endian 16-bit integer */ >-- default: >-- driver->format = 0x00000020; >--# endif >-- } >-- >- driver->indevbuf = driver->outdevbuf = NULL; >- >- driver->capture_ports = NULL; >diff --git a/audio/jack/files/patch-jack.pc.in b/audio/jack/files/patch-jack.pc.in >deleted file mode 100644 >index 24f9490d22da..000000000000 >--- a/audio/jack/files/patch-jack.pc.in >+++ /dev/null >@@ -1,9 +0,0 @@ >---- jack.pc.in.orig 2013-10-04 00:45:25 UTC >-+++ jack.pc.in >-@@ -6,5 +6,5 @@ includedir=@includedir@ >- Name: jack >- Description: the Jack Audio Connection Kit: a low-latency synchronous callback-based media server >- Version: @JACK_VERSION@ >--Libs: -L${libdir} -ljack -lpthread @OS_LDFLAGS@ >-+Libs: -L${libdir} -ljack -pthread >- Cflags: -I${includedir} >diff --git a/audio/jack/files/patch-jackd_engine.c b/audio/jack/files/patch-jackd_engine.c >deleted file mode 100644 >index 1eadfe3985ab..000000000000 >--- a/audio/jack/files/patch-jackd_engine.c >+++ /dev/null >@@ -1,11 +0,0 @@ >---- jackd/engine.c.orig 2016-09-14 17:41:53 UTC >-+++ jackd/engine.c >-@@ -1435,7 +1435,7 @@ handle_external_client_request (jack_eng >- if ((r = read (client->request_fd, &req, sizeof(req))) >- < (ssize_t)sizeof(req)) { >- if (r == 0) { >--#if defined(JACK_USE_MACH_THREADS) || defined(__OpenBSD__) >-+#if 1 >- /* poll is implemented using >- select (see the macosx/fakepoll >- code). When the socket is closed >diff --git a/audio/jack/files/patch-jackd_jackd.c b/audio/jack/files/patch-jackd_jackd.c >deleted file mode 100644 >index 7a21cfe41cf9..000000000000 >--- a/audio/jack/files/patch-jackd_jackd.c >+++ /dev/null >@@ -1,22 +0,0 @@ >---- jackd/jackd.c.orig 2017-07-17 17:10:09 UTC >-+++ jackd/jackd.c >-@@ -521,11 +521,17 @@ jack_drivers_load () >- >- static void copyright (FILE* file) >- { >-- fprintf (file, "jackd " VERSION "\n" >-+ fprintf (file, "jackd " VERSION " (COOKEDMODE=%s)\n" >- "Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.\n" >- "jackd comes with ABSOLUTELY NO WARRANTY\n" >- "This is free software, and you are welcome to redistribute it\n" >-- "under certain conditions; see the file COPYING for details\n\n"); >-+ "under certain conditions; see the file COPYING for details\n\n", >-+#if defined(OPTION_COOKEDMODE) >-+ "on" >-+#else >-+ "off" >-+#endif >-+ ); >- } >- >- static void usage (FILE *file) >diff --git a/audio/jack/files/patch-libjack_client.c b/audio/jack/files/patch-libjack_client.c >deleted file mode 100644 >index d6c5ffb1d3bd..000000000000 >--- a/audio/jack/files/patch-libjack_client.c >+++ /dev/null >@@ -1,190 +0,0 @@ >---- libjack/client.c.orig 2017-01-10 10:20:51 UTC >-+++ libjack/client.c >-@@ -68,6 +68,30 @@ >- static pthread_mutex_t client_lock; >- static pthread_cond_t client_ready; >- >-+/* >-+ * The following read/write wrappers handle the case of interruption >-+ * by system signals: >-+ */ >-+static int >-+read_retry(int fd, void *dst, int size) >-+{ >-+ int error; >-+ do { >-+ error = read(fd, dst, size); >-+ } while (error == -1 && errno == EINTR); >-+ return (error); >-+} >-+ >-+static int >-+write_retry(int fd, const void *src, int size) >-+{ >-+ int error; >-+ do { >-+ error = write(fd, src, size); >-+ } while (error == -1 && errno == EINTR); >-+ return (error); >-+} >-+ >- static int >- jack_client_close_aux(jack_client_t *client); >- >-@@ -251,7 +275,7 @@ oop_client_deliver_request (void *ptr, j >- int wok, rok; >- jack_client_t *client = (jack_client_t*)ptr; >- >-- wok = (write (client->request_fd, req, sizeof(*req)) >-+ wok = (write_retry (client->request_fd, req, sizeof(*req)) >- == sizeof(*req)); >- >- /* if necessary, add variable length key data after a PropertyChange request >-@@ -259,7 +283,7 @@ oop_client_deliver_request (void *ptr, j >- >- if (req->type == PropertyChangeNotify) { >- if (req->x.property.keylen) { >-- if (write (client->request_fd, req->x.property.key, req->x.property.keylen) != req->x.property.keylen) { >-+ if (write_retry (client->request_fd, req->x.property.key, req->x.property.keylen) != req->x.property.keylen) { >- jack_error ("cannot send property key of length %d to server", >- req->x.property.keylen); >- req->status = -1; >-@@ -268,7 +292,7 @@ oop_client_deliver_request (void *ptr, j >- } >- } >- >-- rok = (read (client->request_fd, req, sizeof(*req)) >-+ rok = (read_retry (client->request_fd, req, sizeof(*req)) >- == sizeof(*req)); >- >- if (wok && rok) { /* everything OK? */ >-@@ -837,14 +861,14 @@ server_event_connect (jack_client_t *cli >- >- jack_uuid_copy (&req.client_id, client->control->uuid); >- >-- if (write (fd, &req, sizeof(req)) != sizeof(req)) { >-- jack_error ("cannot write event connect request to server (%s)", >-+ if (write_retry (fd, &req, sizeof(req)) != sizeof(req)) { >-+ jack_error ("cannot write_retry event connect request to server (%s)", >- strerror (errno)); >- close (fd); >- return -1; >- } >- >-- if (read (fd, &res, sizeof(res)) != sizeof(res)) { >-+ if (read_retry (fd, &res, sizeof(res)) != sizeof(res)) { >- jack_error ("cannot read event connect result from server (%s)", >- strerror (errno)); >- close (fd); >-@@ -1109,14 +1133,14 @@ jack_request_client (ClientType type, >- snprintf (req.object_data, sizeof(req.object_data), >- "%s", va->load_init); >- >-- if (write (*req_fd, &req, sizeof(req)) != sizeof(req)) { >-+ if (write_retry (*req_fd, &req, sizeof(req)) != sizeof(req)) { >- jack_error ("cannot send request to jack server (%s)", >- strerror (errno)); >- *status |= (JackFailure | JackServerError); >- goto fail; >- } >- >-- if (read (*req_fd, res, sizeof(*res)) != sizeof(*res)) { >-+ if (read_retry (*req_fd, res, sizeof(*res)) != sizeof(*res)) { >- >- if (errno == 0) { >- /* server shut the socket */ >-@@ -1512,7 +1536,7 @@ jack_internal_client_close (const char * >- return; >- } >- >-- if (write (fd, &req, sizeof(req)) != sizeof(req)) { >-+ if (write_retry (fd, &req, sizeof(req)) != sizeof(req)) { >- jack_error ("cannot deliver ClientUnload request to JACK " >- "server."); >- } >-@@ -1648,7 +1672,7 @@ jack_session_notify (jack_client_t* clie >- >- request.x.session.type = code; >- >-- if ( (write (client->request_fd, &request, sizeof(request)) >-+ if ( (write_retry (client->request_fd, &request, sizeof(request)) >- != sizeof(request)) ) { >- jack_error ("cannot send request type %d to server", >- request.type); >-@@ -1658,7 +1682,7 @@ jack_session_notify (jack_client_t* clie >- while ( 1 ) { >- jack_uuid_t uid; >- >-- if (read (client->request_fd, &uid, sizeof(uid)) != sizeof(uid)) { >-+ if (read_retry (client->request_fd, &uid, sizeof(uid)) != sizeof(uid)) { >- jack_error ("cannot read result for request type %d from" >- " server (%s)", request.type, strerror (errno)); >- goto out; >-@@ -1680,19 +1704,19 @@ jack_session_notify (jack_client_t* clie >- break; >- } >- >-- if (read (client->request_fd, (char*)retval[num_replies - 1].client_name, JACK_CLIENT_NAME_SIZE) >-+ if (read_retry (client->request_fd, (char*)retval[num_replies - 1].client_name, JACK_CLIENT_NAME_SIZE) >- != JACK_CLIENT_NAME_SIZE) { >- jack_error ("cannot read result for request type %d from" >- " server (%s)", request.type, strerror (errno)); >- goto out; >- } >-- if (read (client->request_fd, (char*)retval[num_replies - 1].command, JACK_PORT_NAME_SIZE) >-+ if (read_retry (client->request_fd, (char*)retval[num_replies - 1].command, JACK_PORT_NAME_SIZE) >- != JACK_PORT_NAME_SIZE) { >- jack_error ("cannot read result for request type %d from" >- " server (%s)", request.type, strerror (errno)); >- goto out; >- } >-- if (read (client->request_fd, &retval[num_replies - 1].flags, sizeof(retval[num_replies - 1].flags) ) >-+ if (read_retry (client->request_fd, &retval[num_replies - 1].flags, sizeof(retval[num_replies - 1].flags) ) >- != sizeof(retval[num_replies - 1].flags) ) { >- jack_error ("cannot read result for request type %d from" >- " server (%s)", request.type, strerror (errno)); >-@@ -1811,7 +1835,7 @@ jack_client_process_events (jack_client_ >- /* server has sent us an event. process the >- * event and reply */ >- >-- if (read (client->event_fd, &event, sizeof(event)) >-+ if (read_retry (client->event_fd, &event, sizeof(event)) >- != sizeof(event)) { >- jack_error ("cannot read server event (%s)", >- strerror (errno)); >-@@ -1821,7 +1845,7 @@ jack_client_process_events (jack_client_ >- if (event.type == PropertyChange) { >- if (event.y.key_size) { >- key = (char*)malloc (event.y.key_size); >-- if (read (client->event_fd, key, event.y.key_size) != >-+ if (read_retry (client->event_fd, key, event.y.key_size) != >- event.y.key_size) { >- jack_error ("cannot read property change key (%s)", >- strerror (errno)); >-@@ -1940,7 +1964,7 @@ jack_client_process_events (jack_client_ >- DEBUG ("client has dealt with the event, writing " >- "response on event fd"); >- >-- if (write (client->event_fd, &status, sizeof(status)) >-+ if (write_retry (client->event_fd, &status, sizeof(status)) >- != sizeof(status)) { >- jack_error ("cannot send event response to " >- "engine (%s)", strerror (errno)); >-@@ -1960,7 +1984,7 @@ jack_wake_next_client (jack_client_t* cl >- int pret = 0; >- char c = 0; >- >-- if (write (client->graph_next_fd, &c, sizeof(c)) >-+ if (write_retry (client->graph_next_fd, &c, sizeof(c)) >- != sizeof(c)) { >- DEBUG ("cannot write byte to fd %d", client->graph_next_fd); >- jack_error ("cannot continue execution of the " >-@@ -1988,7 +2012,7 @@ jack_wake_next_client (jack_client_t* cl >- } >- >- if (pret > 0 && (pfds[0].revents & POLLIN)) { >-- if (read (client->graph_wait_fd, &c, sizeof(c)) >-+ if (read_retry (client->graph_wait_fd, &c, sizeof(c)) >- != sizeof(c)) { >- jack_error ("cannot complete execution of the " >- "processing graph (%s)", strerror (errno)); >diff --git a/audio/jack/files/patch-libjack_port.c b/audio/jack/files/patch-libjack_port.c >deleted file mode 100644 >index 67102b4c15b7..000000000000 >--- a/audio/jack/files/patch-libjack_port.c >+++ /dev/null >@@ -1,26 +0,0 @@ >---- libjack/port.c.orig 2019-01-02 01:51:31 UTC >-+++ libjack/port.c >-@@ -630,13 +630,22 @@ jack_port_get_buffer (jack_port_t *port, jack_nframes_ >- size_t >- jack_port_type_buffer_size (jack_port_type_info_t* port_type_info, jack_nframes_t nframes) >- { >-+ size_t size; >-+ >- if ( port_type_info->buffer_scale_factor < 0 ) { >- return port_type_info->buffer_size; >- } >- >-- return port_type_info->buffer_scale_factor >-+ size = port_type_info->buffer_scale_factor >- * sizeof(jack_default_audio_sample_t) >- * nframes; >-+ >-+#ifdef USE_DYNSIMD >-+ /* Round up to the next multiple of 16 bytes, align buffers for SIMD. */ >-+ size = (size + 15) & (~ (size_t)0x0f); >-+#endif /* USE_DYNSIMD */ >-+ >-+ return size; >- } >- >- int >diff --git a/audio/jack/pkg-message b/audio/jack/pkg-message >index 5f1b42d29580..1e9731668606 100644 >--- a/audio/jack/pkg-message >+++ b/audio/jack/pkg-message >@@ -2,30 +2,16 @@ > { > message: <<EOD > ====================================================================== >-It is recommended to run Jack with real-time priority (-R). >+It is recommended to run Jack with real-time priority. > >-The recommended way to start Jack is to add the following >-lines to /etc/rc.conf: >+As FreeBSD doesn't allow unprivileged users to set real-time priority, >+you should do it manually with rtprio(1). > >-jackd_enable="YES" >-jackd_user="{your-jack-user}" >-jackd_rtprio="YES" >-jackd_args="-R -doss -r{sample-rate} -p1024 -n3 -w16 \ >- --capture /dev/dsp{N} --playback /dev/dsp{N}" >+Configure backend options using jack_control: > >-Where: >-- your-jack-user: is the user who is going to use jack; currently >- only one user is supported >-- sample-rate: can be 44100, 48000, etc. >-- /dev/dsp{N}: your OSS devices, usually /dev/dsp0 >- >-Please note that the port option COOKEDMODE is "on" by default, which >-makes your system to automatically scale the sample-rate between >-Jack and audio hardware. One reason COOKEDMODE=on is because >-Jack's OSS driver doesn't support some sample-rate and hardware >-combinations when COOKEDMODE=off. To achieve the best sound quality >-please make sure your hardware natively supports the sample-rate set >-in jackd_args, and set COOKEDMODE=off. >+$ jack_control ds oss >+$ jack_control eps realtime False >+$ jack_control eps sync True > ====================================================================== > EOD, > type: install >diff --git a/audio/jack/pkg-plist b/audio/jack/pkg-plist >index 174631531356..3a37194e6a96 100644 >--- a/audio/jack/pkg-plist >+++ b/audio/jack/pkg-plist >@@ -1,175 +1,99 @@ >-%%ALSA%%bin/alsa_in >-%%ALSA%%bin/alsa_out > bin/jack_alias > bin/jack_bufsize > bin/jack_connect >+bin/jack_control >+bin/jack_cpu >+bin/jack_cpu_load > bin/jack_disconnect > bin/jack_evmon > bin/jack_freewheel >-bin/jack_impulse_grabber > bin/jack_iodelay > bin/jack_latent_client > bin/jack_load >-bin/jack_load_test > bin/jack_lsp > bin/jack_metro >+bin/jack_midi_dump >+bin/jack_midi_latency_test > bin/jack_midiseq > bin/jack_midisine >-bin/jack_midi_dump > bin/jack_monitor_client >-bin/jack_netsource >+bin/jack_multiple_metro >+bin/jack_net_master >+bin/jack_net_slave > bin/jack_property > bin/jack_rec > bin/jack_samplerate >-bin/jack_session_notify > bin/jack_server_control >-bin/jack_simple_session_client >+bin/jack_session_notify > bin/jack_showtime >+bin/jack_simdtests > bin/jack_simple_client >-%%READLINE%%bin/jack_transport >-bin/jack_transport_client >+bin/jack_simple_session_client >+bin/jack_test >+bin/jack_thru > bin/jack_unload > bin/jack_wait >-bin/jackd >+bin/jack_zombie >+bin/jackdbus > include/jack/control.h > include/jack/intclient.h > include/jack/jack.h > include/jack/jslist.h > include/jack/metadata.h > include/jack/midiport.h >+include/jack/net.h > include/jack/ringbuffer.h > include/jack/session.h > include/jack/statistics.h >+include/jack/systemdeps.h > include/jack/thread.h > include/jack/transport.h > include/jack/types.h > include/jack/uuid.h > include/jack/weakjack.h > include/jack/weakmacros.h >+lib/jack/audioadapter.so > lib/jack/inprocess.so >-lib/jack/intime.so >-%%ALSA%%lib/jack/jack_alsa.so >-%%ALSA%%lib/jack/jack_alsa_midi.so >+lib/jack/jack_boomer.so > lib/jack/jack_dummy.so >+lib/jack/jack_loopback.so > lib/jack/jack_net.so >+lib/jack/jack_netone.so > lib/jack/jack_oss.so >-%%SNDIO%%lib/jack/jack_sndio.so >+lib/jack/jack_proxy.so >+lib/jack/netadapter.so >+lib/jack/netmanager.so >+lib/jack/profiler.so > lib/libjack.so > lib/libjack.so.0 >-lib/libjack.so.0.0.28 >+lib/libjack.so.0.1.0 >+lib/libjacknet.so >+lib/libjacknet.so.0 >+lib/libjacknet.so.0.1.0 > lib/libjackserver.so > lib/libjackserver.so.0 >-lib/libjackserver.so.0.0.28 >+lib/libjackserver.so.0.1.0 > libdata/pkgconfig/jack.pc >-man/man1/alsa_in.1.gz >-man/man1/alsa_out.1.gz >-man/man1/jack_bufsize.1.gz >-man/man1/jack_connect.1.gz >-man/man1/jack_disconnect.1.gz >-man/man1/jack_freewheel.1.gz >-man/man1/jack_impulse_grabber.1.gz >-man/man1/jack_iodelay.1.gz >-man/man1/jack_load.1.gz >-man/man1/jack_load_test.1.gz >-man/man1/jack_lsp.1.gz >-man/man1/jack_metro.1.gz >-man/man1/jack_monitor_client.1.gz >-man/man1/jack_netsource.1.gz >-man/man1/jack_property.1.gz >-man/man1/jack_samplerate.1.gz >-man/man1/jack_showtime.1.gz >-man/man1/jack_transport.1.gz >-man/man1/jack_unload.1.gz >-man/man1/jack_wait.1.gz >-man/man1/jackd.1.gz >-man/man1/jackrec.1.gz >-man/man1/jackstart.1.gz >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/annotated.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/classes.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/control_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/control_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/deprecated.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/dir_3e6ff996e0a05d442d13220a8cf7408f.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/dir_d611c2c1e1e252f8153c91ce21a161f9.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/doxygen.css >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/doxygen.png >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/files.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/fsm.png >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/functions.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/functions_vars.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_defs.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_e.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_enum.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_eval.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_func.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_i.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_j.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_m.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_o.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_p.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_t.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_type.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_vars.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/globals_w.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ClientCallbacks.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ClientFunctions.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ClientThreads.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ControlAPI.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ErrorOutput.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__JackSessionManagerAPI.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__LatencyFunctions.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__MIDIAPI.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__Metadata.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__NonCallbackAPI.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__PortFunctions.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__PortSearching.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__ServerControl.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__SessionClientFunctions.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__TimeFunctions.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__TransportControl.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/group__WeakLinkage.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/index.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/inprocess_8c.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/intclient_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/intclient_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/jack_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/jack_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/mainpage_8dox.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/metadata_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/metadata_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/midiport_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/midiport_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/modules.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/pages.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/porting-guide.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/porting_8dox.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/ringbuffer_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/ringbuffer_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/session_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/session_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/simple__client_8c.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/statistics_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/statistics_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/struct__jack__latency__range.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/struct__jack__midi__event.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/struct__jack__session__event.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__description__t.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__position__t.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__property__t.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__ringbuffer__data__t.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__ringbuffer__t.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__session__command__t.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structjack__transport__info__t.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/structport__pair__t.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/thread_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/thread_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport-design.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport_8dox.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/transport_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/types_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/types_8h_source.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/unionjackctl__parameter__value.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/weakjack_8h.html >-%%DOXYGEN%%share/jack-audio-connection-kit/reference/html/weakjack_8h_source.html >+share/dbus-1/services/org.jackaudio.service >+share/man/man1/alsa_in.1.gz >+share/man/man1/alsa_out.1.gz >+share/man/man1/jack_bufsize.1.gz >+share/man/man1/jack_connect.1.gz >+share/man/man1/jack_disconnect.1.gz >+share/man/man1/jack_freewheel.1.gz >+share/man/man1/jack_impulse_grabber.1.gz >+share/man/man1/jack_iodelay.1.gz >+share/man/man1/jack_load.1.gz >+share/man/man1/jack_lsp.1.gz >+share/man/man1/jack_metro.1.gz >+share/man/man1/jack_monitor_client.1.gz >+share/man/man1/jack_netsource.1.gz >+share/man/man1/jack_property.1.gz >+share/man/man1/jack_samplerate.1.gz >+share/man/man1/jack_showtime.1.gz >+share/man/man1/jack_simple_client.1.gz >+share/man/man1/jack_transport.1.gz >+share/man/man1/jack_unload.1.gz >+share/man/man1/jack_wait.1.gz >+share/man/man1/jackd.1.gz >+share/man/man1/jackrec.1.gz
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 251125
:
219927
|
219928
|
219959
|
219960
|
220031
|
220062
|
220087
|
220102
|
220197
|
220234
|
220276
|
220277
|
220289
|
220316
|
220321
|
220352
|
220399
|
220400
|
220514
|
223542
|
226856
|
226860