Date: Friday, September 28, 2012 @ 10:43:50
  Author: schiv
Revision: 167217

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  jack/repos/testing-i686/
  jack/repos/testing-i686/40-hpet-permissions.rules
    (from rev 167216, jack/trunk/40-hpet-permissions.rules)
  jack/repos/testing-i686/99-audio.conf
    (from rev 167216, jack/trunk/99-audio.conf)
  jack/repos/testing-i686/PKGBUILD
    (from rev 167216, jack/trunk/PKGBUILD)
  jack/repos/testing-i686/ffado_setbuffsize-jack1.patch
    (from rev 167216, jack/trunk/ffado_setbuffsize-jack1.patch)
  jack/repos/testing-i686/jack.install
    (from rev 167216, jack/trunk/jack.install)
  jack/repos/testing-x86_64/
  jack/repos/testing-x86_64/40-hpet-permissions.rules
    (from rev 167216, jack/trunk/40-hpet-permissions.rules)
  jack/repos/testing-x86_64/99-audio.conf
    (from rev 167216, jack/trunk/99-audio.conf)
  jack/repos/testing-x86_64/PKGBUILD
    (from rev 167216, jack/trunk/PKGBUILD)
  jack/repos/testing-x86_64/ffado_setbuffsize-jack1.patch
    (from rev 167216, jack/trunk/ffado_setbuffsize-jack1.patch)
  jack/repos/testing-x86_64/jack.install
    (from rev 167216, jack/trunk/jack.install)

----------------------------------------------+
 testing-i686/40-hpet-permissions.rules       |    2 
 testing-i686/99-audio.conf                   |    2 
 testing-i686/PKGBUILD                        |   65 +++++++++++++
 testing-i686/ffado_setbuffsize-jack1.patch   |  124 +++++++++++++++++++++++++
 testing-i686/jack.install                    |    5 +
 testing-x86_64/40-hpet-permissions.rules     |    2 
 testing-x86_64/99-audio.conf                 |    2 
 testing-x86_64/PKGBUILD                      |   65 +++++++++++++
 testing-x86_64/ffado_setbuffsize-jack1.patch |  124 +++++++++++++++++++++++++
 testing-x86_64/jack.install                  |    5 +
 10 files changed, 396 insertions(+)

Copied: jack/repos/testing-i686/40-hpet-permissions.rules (from rev 167216, 
jack/trunk/40-hpet-permissions.rules)
===================================================================
--- testing-i686/40-hpet-permissions.rules                              (rev 0)
+++ testing-i686/40-hpet-permissions.rules      2012-09-28 14:43:50 UTC (rev 
167217)
@@ -0,0 +1,2 @@
+KERNEL=="rtc0", GROUP="audio"
+KERNEL=="hpet", GROUP="audio"

Copied: jack/repos/testing-i686/99-audio.conf (from rev 167216, 
jack/trunk/99-audio.conf)
===================================================================
--- testing-i686/99-audio.conf                          (rev 0)
+++ testing-i686/99-audio.conf  2012-09-28 14:43:50 UTC (rev 167217)
@@ -0,0 +1,2 @@
+@audio         - rtprio        99
+@audio         - memlock       unlimited

Copied: jack/repos/testing-i686/PKGBUILD (from rev 167216, jack/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD                               (rev 0)
+++ testing-i686/PKGBUILD       2012-09-28 14:43:50 UTC (rev 167217)
@@ -0,0 +1,65 @@
+# $Id$
+# Maintainer: Ray Rashif <[email protected]>
+# Contributor: tobias <[email protected]>
+# Contributor: Robert Emil Berge <[email protected]>
+
+pkgname=jack
+_longname=jack-audio-connection-kit
+pkgver=0.121.3
+pkgrel=7
+pkgdesc="A low-latency audio server"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL')
+depends=('libsamplerate' 'readline')
+makedepends=('doxygen' 'libffado' 'celt')
+optdepends=('libffado: FireWire support'
+            'celt: NetJACK driver')
+url="http://jackaudio.org/";
+backup=(etc/security/limits.d/99-audio.conf)
+options=('!libtool')
+provides=("$_longname=$pkgver")
+conflicts=("$_longname")
+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'
+         'ae65b7c9ebe0fff6c918ba9d97ae342d'
+         '471aad533ff56c5d3cbbf65ce32cadef'
+         'c1f78ee7847c6d5e471d90626623ffb4')
+
+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
+}
+
+package() {
+  cd "$srcdir/$_longname-$pkgver"
+
+  make DESTDIR="$pkgdir" install
+
+  # configure realtime access/scheduling
+  # see https://bugs.archlinux.org/task/26343
+  install -Dm644 "$srcdir/99-audio.conf" \
+    "$pkgdir/etc/security/limits.d/99-audio.conf"
+
+  install -Dm644 "$srcdir/40-hpet-permissions.rules" \
+    "$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules"
+
+  # 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"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: jack/repos/testing-i686/ffado_setbuffsize-jack1.patch (from rev 167216, 
jack/trunk/ffado_setbuffsize-jack1.patch)
===================================================================
--- testing-i686/ffado_setbuffsize-jack1.patch                          (rev 0)
+++ testing-i686/ffado_setbuffsize-jack1.patch  2012-09-28 14:43:50 UTC (rev 
167217)
@@ -0,0 +1,124 @@
+From 025d3ad4d5adeff00e97b6fafdf32d6d199d0baa Mon Sep 17 00:00:00 2001
+From: Jonathan Woithe <[email protected]>
+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
+

Copied: jack/repos/testing-i686/jack.install (from rev 167216, 
jack/trunk/jack.install)
===================================================================
--- testing-i686/jack.install                           (rev 0)
+++ testing-i686/jack.install   2012-09-28 14:43:50 UTC (rev 167217)
@@ -0,0 +1,5 @@
+post_upgrade() {
+       rm -f etc/security/limits.d/99-realtime.conf
+}
+
+# vim:set ts=2 sw=2 et:

Copied: jack/repos/testing-x86_64/40-hpet-permissions.rules (from rev 167216, 
jack/trunk/40-hpet-permissions.rules)
===================================================================
--- testing-x86_64/40-hpet-permissions.rules                            (rev 0)
+++ testing-x86_64/40-hpet-permissions.rules    2012-09-28 14:43:50 UTC (rev 
167217)
@@ -0,0 +1,2 @@
+KERNEL=="rtc0", GROUP="audio"
+KERNEL=="hpet", GROUP="audio"

Copied: jack/repos/testing-x86_64/99-audio.conf (from rev 167216, 
jack/trunk/99-audio.conf)
===================================================================
--- testing-x86_64/99-audio.conf                                (rev 0)
+++ testing-x86_64/99-audio.conf        2012-09-28 14:43:50 UTC (rev 167217)
@@ -0,0 +1,2 @@
+@audio         - rtprio        99
+@audio         - memlock       unlimited

Copied: jack/repos/testing-x86_64/PKGBUILD (from rev 167216, 
jack/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD                             (rev 0)
+++ testing-x86_64/PKGBUILD     2012-09-28 14:43:50 UTC (rev 167217)
@@ -0,0 +1,65 @@
+# $Id$
+# Maintainer: Ray Rashif <[email protected]>
+# Contributor: tobias <[email protected]>
+# Contributor: Robert Emil Berge <[email protected]>
+
+pkgname=jack
+_longname=jack-audio-connection-kit
+pkgver=0.121.3
+pkgrel=7
+pkgdesc="A low-latency audio server"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL')
+depends=('libsamplerate' 'readline')
+makedepends=('doxygen' 'libffado' 'celt')
+optdepends=('libffado: FireWire support'
+            'celt: NetJACK driver')
+url="http://jackaudio.org/";
+backup=(etc/security/limits.d/99-audio.conf)
+options=('!libtool')
+provides=("$_longname=$pkgver")
+conflicts=("$_longname")
+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'
+         'ae65b7c9ebe0fff6c918ba9d97ae342d'
+         '471aad533ff56c5d3cbbf65ce32cadef'
+         'c1f78ee7847c6d5e471d90626623ffb4')
+
+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
+}
+
+package() {
+  cd "$srcdir/$_longname-$pkgver"
+
+  make DESTDIR="$pkgdir" install
+
+  # configure realtime access/scheduling
+  # see https://bugs.archlinux.org/task/26343
+  install -Dm644 "$srcdir/99-audio.conf" \
+    "$pkgdir/etc/security/limits.d/99-audio.conf"
+
+  install -Dm644 "$srcdir/40-hpet-permissions.rules" \
+    "$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules"
+
+  # 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"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: jack/repos/testing-x86_64/ffado_setbuffsize-jack1.patch (from rev 
167216, jack/trunk/ffado_setbuffsize-jack1.patch)
===================================================================
--- testing-x86_64/ffado_setbuffsize-jack1.patch                                
(rev 0)
+++ testing-x86_64/ffado_setbuffsize-jack1.patch        2012-09-28 14:43:50 UTC 
(rev 167217)
@@ -0,0 +1,124 @@
+From 025d3ad4d5adeff00e97b6fafdf32d6d199d0baa Mon Sep 17 00:00:00 2001
+From: Jonathan Woithe <[email protected]>
+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
+

Copied: jack/repos/testing-x86_64/jack.install (from rev 167216, 
jack/trunk/jack.install)
===================================================================
--- testing-x86_64/jack.install                         (rev 0)
+++ testing-x86_64/jack.install 2012-09-28 14:43:50 UTC (rev 167217)
@@ -0,0 +1,5 @@
+post_upgrade() {
+       rm -f etc/security/limits.d/99-realtime.conf
+}
+
+# vim:set ts=2 sw=2 et:

Reply via email to