From owner-svn-ports-head@FreeBSD.ORG Sun Jun 14 15:05:12 2015 Return-Path: Delivered-To: svn-ports-head@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 92C01B78; Sun, 14 Jun 2015 15:05:12 +0000 (UTC) (envelope-from riggs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 80372E5E; Sun, 14 Jun 2015 15:05:12 +0000 (UTC) (envelope-from riggs@FreeBSD.org) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t5EF5CkI050216; Sun, 14 Jun 2015 15:05:12 GMT (envelope-from riggs@FreeBSD.org) Received: (from riggs@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t5EF5A3k050205; Sun, 14 Jun 2015 15:05:10 GMT (envelope-from riggs@FreeBSD.org) Message-Id: <201506141505.t5EF5A3k050205@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: riggs set sender to riggs@FreeBSD.org using -f From: Thomas Zander Date: Sun, 14 Jun 2015 15:05:10 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r389640 - in head/audio/jack: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2015 15:05:12 -0000 Author: riggs Date: Sun Jun 14 15:05:09 2015 New Revision: 389640 URL: https://svnweb.freebsd.org/changeset/ports/389640 Log: Fix support for 24-bit and 32-bit resolution While on it: - Pet portlint PR: 199558 Submitted by: hselasky@FreeBSD.org Added: head/audio/jack/files/patch-drivers_alsa_memops.c - copied, changed from r389625, head/audio/jack/files/patch-drivers-alsa_memops.c Deleted: head/audio/jack/files/patch-drivers-alsa_memops.c Modified: head/audio/jack/Makefile head/audio/jack/files/patch-configure head/audio/jack/files/patch-drivers-dummy-dummy_driver.c head/audio/jack/files/patch-drivers-dummy-dummy_driver.h head/audio/jack/files/patch-drivers-oss-oss_driver.c head/audio/jack/files/patch-jack.pc.in head/audio/jack/files/patch-jackd_engine.c head/audio/jack/files/patch-libjack-client.c Modified: head/audio/jack/Makefile ============================================================================== --- head/audio/jack/Makefile Sun Jun 14 14:33:46 2015 (r389639) +++ head/audio/jack/Makefile Sun Jun 14 15:05:09 2015 (r389640) @@ -3,7 +3,7 @@ PORTNAME= jackit PORTVERSION= 0.124.1 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= audio MASTER_SITES= http://jackaudio.org/downloads/ DISTNAME= jack-audio-connection-kit-${PORTVERSION} Modified: head/audio/jack/files/patch-configure ============================================================================== --- head/audio/jack/files/patch-configure Sun Jun 14 14:33:46 2015 (r389639) +++ head/audio/jack/files/patch-configure Sun Jun 14 15:05:09 2015 (r389640) @@ -1,6 +1,7 @@ ---- configure 2014-01-22 15:23:47.000000000 -0500 -+++ configure 2014-11-30 13:05:39.000000000 -0500 -@@ -2608,48 +2608,4 @@ +--- configure.orig 2014-01-22 20:23:47 UTC ++++ configure +@@ -2607,50 +2607,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLA + ac_compiler_gnu=$ac_cv_c_compiler_gnu - @@ -49,3 +50,4 @@ - ac_aux_dir= for ac_dir in config "$srcdir"/config; do + for ac_t in install-sh install.sh shtool; do Modified: head/audio/jack/files/patch-drivers-dummy-dummy_driver.c ============================================================================== --- head/audio/jack/files/patch-drivers-dummy-dummy_driver.c Sun Jun 14 14:33:46 2015 (r389639) +++ head/audio/jack/files/patch-drivers-dummy-dummy_driver.c Sun Jun 14 15:05:09 2015 (r389640) @@ -1,6 +1,6 @@ ---- drivers/dummy/dummy_driver.c.orig 2009-02-12 04:44:04.000000000 +0100 -+++ drivers/dummy/dummy_driver.c 2009-02-12 04:44:15.000000000 +0100 -@@ -73,7 +73,7 @@ +--- drivers/dummy/dummy_driver.c.orig 2013-10-04 00:45:25 UTC ++++ drivers/dummy/dummy_driver.c +@@ -73,7 +73,7 @@ FakeVideoSync( dummy_driver_t *driver ) } } Modified: head/audio/jack/files/patch-drivers-dummy-dummy_driver.h ============================================================================== --- head/audio/jack/files/patch-drivers-dummy-dummy_driver.h Sun Jun 14 14:33:46 2015 (r389639) +++ head/audio/jack/files/patch-drivers-dummy-dummy_driver.h Sun Jun 14 15:05:09 2015 (r389640) @@ -1,6 +1,6 @@ ---- drivers/dummy/dummy_driver.h.orig 2009-02-12 05:04:38.000000000 +0100 -+++ drivers/dummy/dummy_driver.h 2009-02-12 05:04:44.000000000 +0100 -@@ -44,7 +44,7 @@ +--- drivers/dummy/dummy_driver.h.orig 2013-10-04 00:45:25 UTC ++++ drivers/dummy/dummy_driver.h +@@ -44,7 +44,7 @@ struct _dummy_driver jack_nframes_t period_size; unsigned long wait_time; Modified: head/audio/jack/files/patch-drivers-oss-oss_driver.c ============================================================================== --- head/audio/jack/files/patch-drivers-oss-oss_driver.c Sun Jun 14 14:33:46 2015 (r389639) +++ head/audio/jack/files/patch-drivers-oss-oss_driver.c Sun Jun 14 15:05:09 2015 (r389640) @@ -1,4 +1,4 @@ ---- drivers/oss/oss_driver.c.orig +--- drivers/oss/oss_driver.c.orig 2013-10-04 00:45:25 UTC +++ drivers/oss/oss_driver.c @@ -23,6 +23,7 @@ @@ -8,7 +8,7 @@ #ifdef USE_BARRIER /* * POSIX conformance level should be globally defined somewhere, possibly -@@ -181,7 +182,9 @@ static void set_period_size (oss_driver_ +@@ -183,7 +184,9 @@ static void set_period_size (oss_driver_ ((double) driver->period_size / (double) driver->sample_rate) * 1e6; driver->last_wait_ust = 0; @@ -19,7 +19,7 @@ driver->next_periodtime = 0; driver->iodelay = 0.0F; } -@@ -189,7 +192,9 @@ static void set_period_size (oss_driver_ +@@ -191,7 +194,9 @@ static void set_period_size (oss_driver_ static inline void update_times (oss_driver_t *driver) { @@ -30,7 +30,85 @@ if (driver->next_periodtime > 0) { driver->iodelay = (float) -@@ -759,7 +764,9 @@ static int oss_driver_start (oss_driver_ +@@ -224,6 +229,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; + +@@ -240,11 +246,14 @@ 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; +@@ -274,6 +283,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; +@@ -293,13 +303,17 @@ 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; +@@ -471,20 +485,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) + { +@@ -762,7 +763,9 @@ static int oss_driver_start (oss_driver_ if (driver->threads & 1) sem_post(&driver->sem_start); if (driver->threads & 2) sem_post(&driver->sem_start); @@ -41,3 +119,89 @@ driver->next_periodtime = 0; driver->iodelay = 0.0F; +@@ -1235,7 +1238,24 @@ 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; +@@ -1254,59 +1274,6 @@ jack_driver_t * driver_initialize (jack_ + driver->outdev = strdup(OSS_DRIVER_DEF_DEV); + 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; Copied and modified: head/audio/jack/files/patch-drivers_alsa_memops.c (from r389625, head/audio/jack/files/patch-drivers-alsa_memops.c) ============================================================================== --- head/audio/jack/files/patch-drivers-alsa_memops.c Sun Jun 14 10:38:39 2015 (r389625, copy source) +++ head/audio/jack/files/patch-drivers_alsa_memops.c Sun Jun 14 15:05:09 2015 (r389640) @@ -1,5 +1,5 @@ ---- drivers/alsa/memops.c.orig 2010-05-08 20:23:13.000000000 -0300 -+++ drivers/alsa/memops.c 2010-05-08 20:23:24.000000000 -0300 +--- drivers/alsa/memops.c.orig 2013-10-04 00:45:25 UTC ++++ drivers/alsa/memops.c @@ -30,7 +30,7 @@ #include #include @@ -7,5 +7,5 @@ -#include +#include - #include + #include "memops.h" Modified: head/audio/jack/files/patch-jack.pc.in ============================================================================== --- head/audio/jack/files/patch-jack.pc.in Sun Jun 14 14:33:46 2015 (r389639) +++ head/audio/jack/files/patch-jack.pc.in Sun Jun 14 15:05:09 2015 (r389640) @@ -1,9 +1,9 @@ ---- jack.pc.in.orig Thu Jun 5 03:21:36 2003 -+++ jack.pc.in Sun Mar 14 22:49:44 2004 -@@ -6,5 +6,5 @@ +--- 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 -ldl -lrt +-Libs: -L${libdir} -ljack -lpthread @OS_LDFLAGS@ +Libs: -L${libdir} -ljack -lpthread Cflags: -I${includedir} Modified: head/audio/jack/files/patch-jackd_engine.c ============================================================================== --- head/audio/jack/files/patch-jackd_engine.c Sun Jun 14 14:33:46 2015 (r389639) +++ head/audio/jack/files/patch-jackd_engine.c Sun Jun 14 15:05:09 2015 (r389640) @@ -1,6 +1,6 @@ ---- jackd/engine.c.orig 2008-12-02 17:29:23.000000000 +0100 -+++ jackd/engine.c 2009-02-11 20:38:52.000000000 +0100 -@@ -1383,7 +1383,7 @@ +--- jackd/engine.c.orig 2013-11-30 17:04:00 UTC ++++ jackd/engine.c +@@ -1415,7 +1415,7 @@ handle_external_client_request (jack_eng if ((r = read (client->request_fd, &req, sizeof (req))) < (ssize_t) sizeof (req)) { if (r == 0) { @@ -9,7 +9,7 @@ /* poll is implemented using select (see the macosx/fakepoll code). When the socket is closed -@@ -1396,7 +1396,7 @@ +@@ -1428,7 +1428,7 @@ handle_external_client_request (jack_eng and remove the client. */ jack_mark_client_socket_error (engine, fd); Modified: head/audio/jack/files/patch-libjack-client.c ============================================================================== --- head/audio/jack/files/patch-libjack-client.c Sun Jun 14 14:33:46 2015 (r389639) +++ head/audio/jack/files/patch-libjack-client.c Sun Jun 14 15:05:09 2015 (r389640) @@ -1,6 +1,6 @@ ---- libjack/client.c.orig 2014-10-23 09:09:09.000000000 +0200 -+++ libjack/client.c 2014-10-23 09:20:15.000000000 +0200 -@@ -116,6 +116,30 @@ +--- libjack/client.c.orig 2014-01-21 22:48:10 UTC ++++ libjack/client.c +@@ -116,6 +116,30 @@ init_cpu () char *jack_tmpdir = DEFAULT_TMP_DIR; @@ -31,7 +31,7 @@ static int jack_get_tmpdir () { -@@ -248,7 +272,7 @@ +@@ -248,7 +272,7 @@ oop_client_deliver_request (void *ptr, j int wok, rok; jack_client_t *client = (jack_client_t*) ptr; @@ -40,7 +40,7 @@ == sizeof (*req)); /* if necessary, add variable length key data after a PropertyChange request -@@ -256,7 +280,7 @@ +@@ -256,7 +280,7 @@ oop_client_deliver_request (void *ptr, j if (req->type == PropertyChangeNotify) { if (req->x.property.keylen) { @@ -49,7 +49,7 @@ jack_error ("cannot send property key of length %d to server", req->x.property.keylen); req->status = -1; -@@ -265,7 +289,7 @@ +@@ -265,7 +289,7 @@ oop_client_deliver_request (void *ptr, j } } @@ -58,7 +58,7 @@ == sizeof (*req)); if (wok && rok) { /* everything OK? */ -@@ -822,14 +846,14 @@ +@@ -822,14 +846,14 @@ server_event_connect (jack_client_t *cli jack_uuid_copy (&req.client_id, client->control->uuid); @@ -75,7 +75,7 @@ jack_error ("cannot read event connect result from server (%s)", strerror (errno)); close (fd); -@@ -1070,14 +1094,14 @@ +@@ -1070,14 +1094,14 @@ jack_request_client (ClientType type, snprintf (req.object_data, sizeof (req.object_data), "%s", va->load_init); @@ -92,7 +92,7 @@ if (errno == 0) { /* server shut the socket */ -@@ -1456,7 +1480,7 @@ +@@ -1456,7 +1480,7 @@ jack_internal_client_close (const char * return; } @@ -101,7 +101,7 @@ jack_error ("cannot deliver ClientUnload request to JACK " "server."); } -@@ -1582,7 +1606,7 @@ +@@ -1582,7 +1606,7 @@ jack_session_notify (jack_client_t* clie request.x.session.type = code; @@ -110,7 +110,7 @@ != sizeof (request)) ) { jack_error ("cannot send request type %d to server", request.type); -@@ -1592,7 +1616,7 @@ +@@ -1592,7 +1616,7 @@ jack_session_notify (jack_client_t* clie while( 1 ) { jack_uuid_t uid; @@ -119,7 +119,7 @@ jack_error ("cannot read result for request type %d from" " server (%s)", request.type, strerror (errno)); goto out; -@@ -1613,19 +1637,19 @@ +@@ -1613,19 +1637,19 @@ jack_session_notify (jack_client_t* clie break; } @@ -142,7 +142,7 @@ != sizeof(retval[num_replies-1].flags) ) { jack_error ("cannot read result for request type %d from" " server (%s)", request.type, strerror (errno)); -@@ -1742,7 +1766,7 @@ +@@ -1742,7 +1766,7 @@ jack_client_process_events (jack_client_ /* server has sent us an event. process the * event and reply */ @@ -151,7 +151,7 @@ != sizeof (event)) { jack_error ("cannot read server event (%s)", strerror (errno)); -@@ -1751,7 +1775,7 @@ +@@ -1751,7 +1775,7 @@ jack_client_process_events (jack_client_ if (event.type == PropertyChange) { key = (char *) malloc (event.y.key_size); @@ -160,7 +160,7 @@ event.y.key_size) { jack_error ("cannot read property change key (%s)", strerror (errno)); -@@ -1868,7 +1892,7 @@ +@@ -1868,7 +1892,7 @@ jack_client_process_events (jack_client_ DEBUG ("client has dealt with the event, writing " "response on event fd"); @@ -169,7 +169,7 @@ != sizeof (status)) { jack_error ("cannot send event response to " "engine (%s)", strerror (errno)); -@@ -1888,7 +1912,7 @@ +@@ -1888,7 +1912,7 @@ jack_wake_next_client (jack_client_t* cl int pret = 0; char c = 0; @@ -178,7 +178,7 @@ != sizeof (c)) { DEBUG("cannot write byte to fd %d", client->graph_next_fd); jack_error ("cannot continue execution of the " -@@ -1916,7 +1940,7 @@ +@@ -1916,7 +1940,7 @@ jack_wake_next_client (jack_client_t* cl } if (pret > 0 && (pfds[0].revents & POLLIN)) {