summaryrefslogtreecommitdiff
path: root/extra/jack
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-01-26 03:41:45 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-01-26 03:41:45 +0000
commitfd15c95b8e764eac48c00ab65ecb15cf9e582331 (patch)
treed6bbb2bac1d004662b3589c24567ad13be14b7bc /extra/jack
parentbceed102ef20163ec69542342988b89b9ceb1fcf (diff)
Sun Jan 26 03:36:37 UTC 2014
Diffstat (limited to 'extra/jack')
-rw-r--r--extra/jack/PKGBUILD23
-rw-r--r--extra/jack/ffado_setbuffsize-jack1.patch124
2 files changed, 8 insertions, 139 deletions
diff --git a/extra/jack/PKGBUILD b/extra/jack/PKGBUILD
index e000eb6e2..230cd1315 100644
--- a/extra/jack/PKGBUILD
+++ b/extra/jack/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 198116 2013-10-30 12:53:12Z allan $
+# $Id: PKGBUILD 204709 2014-01-25 13:36:18Z schiv $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: tobias <tobias@archlinux.net>
# Contributor: Robert Emil Berge <robert@rebi.no>
pkgname=jack
_longname=jack-audio-connection-kit
-pkgver=0.121.3
-pkgrel=7
+pkgver=0.124.1
+pkgrel=1
pkgdesc="A low-latency audio server"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL')
@@ -22,21 +22,14 @@ replaces=("$_longname")
install=$pkgname.install
source=("http://jackaudio.org/downloads/$_longname-$pkgver.tar.gz"
'99-audio.conf'
- '40-hpet-permissions.rules'
- 'ffado_setbuffsize-jack1.patch')
-md5sums=('35f470f7422c37b33eb965033f7a42e8'
+ '40-hpet-permissions.rules')
+md5sums=('d64e90121be8a54860b870a726fb5b5d'
'ae65b7c9ebe0fff6c918ba9d97ae342d'
- '471aad533ff56c5d3cbbf65ce32cadef'
- 'c1f78ee7847c6d5e471d90626623ffb4')
+ '471aad533ff56c5d3cbbf65ce32cadef')
build() {
cd "$srcdir/$_longname-$pkgver"
- # backport firewire stuff
- # - needed for setbuffsize feature in latest stable ffado
- # from https://github.com/jackaudio/jack1/commit/025d3ad
- patch -Np1 -i "$srcdir/ffado_setbuffsize-jack1.patch"
-
./configure --prefix=/usr \
--libdir=/usr/lib
make
@@ -57,8 +50,8 @@ package() {
# install a missing header forgotten by upstream
# see https://bugs.archlinux.org/task/26865
- install -Dm644 "$srcdir/$_longname-$pkgver/jack/jslist.h" \
- "$pkgdir/usr/include/jack/jslist.h"
+ #install -Dm644 "$srcdir/$_longname-$pkgver/jack/jslist.h" \
+ # "$pkgdir/usr/include/jack/jslist.h"
}
# vim:set ts=2 sw=2 et:
diff --git a/extra/jack/ffado_setbuffsize-jack1.patch b/extra/jack/ffado_setbuffsize-jack1.patch
deleted file mode 100644
index 7e43962ee..000000000
--- a/extra/jack/ffado_setbuffsize-jack1.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From 025d3ad4d5adeff00e97b6fafdf32d6d199d0baa Mon Sep 17 00:00:00 2001
-From: Jonathan Woithe <jwoithe@just42.net>
-Date: Tue, 13 Mar 2012 15:43:03 +1030
-Subject: [PATCH] Support setbufsize in firewire driver
-
----
- drivers/firewire/ffado_driver.c | 69 ++++++++++++++++++++++++++++++++++-----
- 1 file changed, 60 insertions(+), 9 deletions(-)
-
-diff --git a/drivers/firewire/ffado_driver.c b/drivers/firewire/ffado_driver.c
-index a8ad1ea..6035af3 100644
---- a/drivers/firewire/ffado_driver.c
-+++ b/drivers/firewire/ffado_driver.c
-@@ -7,6 +7,7 @@
- * http://www.jackaudio.org
- *
- * Copyright (C) 2005-2007 Pieter Palmers
-+ * Copyright (C) 2012 Jonathan Woithe
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
-@@ -50,7 +51,10 @@
-
- static int ffado_driver_stop (ffado_driver_t *driver);
-
-+// Basic functionality requires API version 8. If version 9 or later
-+// is present the buffers can be resized at runtime.
- #define FIREWIRE_REQUIRED_FFADO_API_VERSION 8
-+#define FIREWIRE_REQUIRED_FFADO_API_VERSION_FOR_SETBUFSIZE 9
-
- // enable verbose messages
- static int g_verbose=0;
-@@ -675,24 +679,71 @@
- static int
- ffado_driver_bufsize (ffado_driver_t* driver, jack_nframes_t nframes)
- {
-- printError("Buffer size change requested but not supported!!!");
-+ signed int chn;
-+
-+ // The speed of this function isn't critical; we can afford the
-+ // time to check the FFADO API version.
-+ if (ffado_get_api_version() < FIREWIRE_REQUIRED_FFADO_API_VERSION_FOR_SETBUFSIZE ||
-+ ffado_streaming_set_period_size == NULL) {
-+ printError("unsupported on current version of FFADO; please upgrade FFADO");
-+ return -1;
-+ }
-
-- /*
-- driver->period_size = nframes;
-+ driver->period_size = nframes;
- driver->period_usecs =
- (jack_time_t) floor ((((float) nframes) / driver->sample_rate)
- * 1000000.0f);
-- */
--
-+
-+ // Reallocate the null and scratch buffers.
-+ driver->nullbuffer = calloc(driver->period_size, sizeof(ffado_sample_t));
-+ if(driver->nullbuffer == NULL) {
-+ printError("could not allocate memory for null buffer");
-+ return -1;
-+ }
-+ driver->scratchbuffer = calloc(driver->period_size, sizeof(ffado_sample_t));
-+ if(driver->scratchbuffer == NULL) {
-+ printError("could not allocate memory for scratch buffer");
-+ return -1;
-+ }
-+
-+ // MIDI buffers need reallocating
-+ for (chn = 0; chn < driver->capture_nchannels; chn++) {
-+ if(driver->capture_channels[chn].stream_type == ffado_stream_type_midi) {
-+ // setup the midi buffer
-+ if (driver->capture_channels[chn].midi_buffer != NULL)
-+ free(driver->capture_channels[chn].midi_buffer);
-+ driver->capture_channels[chn].midi_buffer = calloc(driver->period_size, sizeof(uint32_t));
-+ }
-+ }
-+ for (chn = 0; chn < driver->playback_nchannels; chn++) {
-+ if(driver->playback_channels[chn].stream_type == ffado_stream_type_midi) {
-+ if (driver->playback_channels[chn].midi_buffer != NULL)
-+ free(driver->playback_channels[chn].midi_buffer);
-+ driver->playback_channels[chn].midi_buffer = calloc(driver->period_size, sizeof(uint32_t));
-+ }
-+ }
-+
-+ // Notify FFADO of the period size change
-+ if (ffado_streaming_set_period_size(driver->dev, nframes) != 0) {
-+ printError("could not alter FFADO device period size");
-+ return -1;
-+ }
-+
-+ // This is needed to give the shadow variables a chance to
-+ // properly update to the changes.
-+ sleep(1);
-+
- /* tell the engine to change its buffer size */
--#if 0
- if (driver->engine->set_buffer_size (driver->engine, nframes)) {
- jack_error ("FFADO: cannot set engine buffer size to %d (check MIDI)", nframes);
- return -1;
- }
--#endif
-
-- return -1; // unsupported
-+ // Other drivers (eg: ALSA) don't seem to adjust latencies via
-+ // jack_port_set_latency_range() from the bufsize() callback, so we
-+ // won't either. Is this right?
-+
-+ return 0;
- }
-
- typedef void (*JackDriverFinishFunction) (jack_driver_t *);
-@@ -704,7 +755,7 @@
- {
- ffado_driver_t *driver;
-
-- if(ffado_get_api_version() != FIREWIRE_REQUIRED_FFADO_API_VERSION) {
-+ if(ffado_get_api_version() < FIREWIRE_REQUIRED_FFADO_API_VERSION) {
- printError("Incompatible libffado version! (%s)", ffado_get_version());
- return NULL;
- }
---
-1.7.10
-