[arch-commits] Commit in jack2/trunk (PKGBUILD ffado_setbuffsize-jack2.patch)
Ray Rashif
schiv at nymeria.archlinux.org
Mon Feb 25 06:15:07 UTC 2013
Date: Monday, February 25, 2013 @ 07:15:07
Author: schiv
Revision: 84827
upgpkg: jack2 1.9.9.5-2
move libffado to dep; close FS#33127
Modified:
jack2/trunk/PKGBUILD
Deleted:
jack2/trunk/ffado_setbuffsize-jack2.patch
-------------------------------+
PKGBUILD | 16 +---
ffado_setbuffsize-jack2.patch | 139 ----------------------------------------
2 files changed, 6 insertions(+), 149 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2013-02-24 23:03:43 UTC (rev 84826)
+++ PKGBUILD 2013-02-25 06:15:07 UTC (rev 84827)
@@ -9,13 +9,12 @@
#pkgname= # single build (overrides split)
_tarname=jack
pkgver=1.9.9.5
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://jackaudio.org/"
backup=(etc/security/limits.d/99-audio.conf)
license=('GPL')
-makedepends=('python2' 'libffado' 'celt'
- 'libsamplerate' 'dbus-core')
+makedepends=('python2' 'libffado' 'celt' 'libsamplerate')
source=("https://dl.dropbox.com/u/28869550/jack-1.9.9.5.tar.bz2"
'99-audio.conf'
'40-hpet-permissions.rules')
@@ -79,10 +78,8 @@
! _isbuild jack2 && return 0
pkgdesc="The next-generation JACK with SMP support"
- depends=('libsamplerate' 'celt')
- optdepends=('libffado: FireWire support'
- 'dbus-core: jackdbus'
- 'python2: jack_control')
+ depends=('libsamplerate' 'celt' 'libffado')
+ optdepends=('python2: jack_control')
conflicts=('jack')
provides=('jack' 'jackmp' 'jackdmp' 'jackdbus')
@@ -106,9 +103,8 @@
! _isbuild jack2-dbus && return 0
pkgdesc="The next-generation JACK with SMP support (for D-BUS interaction only)"
- depends=('libsamplerate' 'celt' 'dbus-core')
- optdepends=('libffado: FireWire support'
- 'python2: jack_control')
+ depends=('libsamplerate' 'celt' 'libffado')
+ optdepends=('python2: jack_control')
conflicts=('jack' 'jack2')
provides=('jack' 'jack2' 'jackmp' 'jackdmp' 'jackdbus')
Deleted: ffado_setbuffsize-jack2.patch
===================================================================
--- ffado_setbuffsize-jack2.patch 2013-02-24 23:03:43 UTC (rev 84826)
+++ ffado_setbuffsize-jack2.patch 2013-02-25 06:15:07 UTC (rev 84827)
@@ -1,139 +0,0 @@
-From 96e0251234a29a1360c05d5d7dc98b83436b8183 Mon Sep 17 00:00:00 2001
-From: Adrian Knoth <adi at drcomp.erfurt.thur.de>
-Date: Sat, 17 Mar 2012 22:36:30 +0100
-Subject: [PATCH] [firewire] Allow FFADO backend to change the buffer size
-
-This is a port of Jonathan Woithe's patch from jackd1.
-With sufficiently recent versions of FFADO, it allows to change
-the buffersize at runtime.
----
- linux/firewire/JackFFADODriver.cpp | 65 ++++++++++++++++++++++++++++++++----
- linux/firewire/JackFFADODriver.h | 6 ++++
- 2 files changed, 65 insertions(+), 6 deletions(-)
-
-diff --git a/linux/firewire/JackFFADODriver.cpp b/linux/firewire/JackFFADODriver.cpp
-index b33e1cd..085b78a 100644
---- a/linux/firewire/JackFFADODriver.cpp
-+++ b/linux/firewire/JackFFADODriver.cpp
-@@ -3,6 +3,7 @@
- Copyright (C) 2004 Grame
- Copyright (C) 2007 Pieter Palmers
- Copyright (C) 2009 Devin Anderson
-+Copyright (C) 2012 Jonathan Woithe, Adrian Knoth
-
- 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
-@@ -48,7 +49,10 @@
- namespace Jack
- {
-
-+// 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
-
- #define jack_get_microseconds GetMicroSeconds
-
-@@ -281,19 +285,68 @@
- int
- JackFFADODriver::SetBufferSize (jack_nframes_t nframes)
- {
-- printError("Buffer size change requested but not supported!!!");
-+ ffado_driver_t* driver = (ffado_driver_t*)fDriver;
-+ 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_usecs =
- (jack_time_t) floor ((((float) nframes) / driver->sample_rate)
- * 1000000.0f);
-- */
-+
-+
-+ // Reallocate the null and scratch buffers.
-+ driver->nullbuffer = (ffado_sample_t*) calloc(driver->period_size, sizeof(ffado_sample_t));
-+ if(driver->nullbuffer == NULL) {
-+ printError("could not allocate memory for null buffer");
-+ return -1;
-+ }
-+ driver->scratchbuffer = (ffado_sample_t*) 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 = (ffado_sample_t*) 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 = (ffado_sample_t*) 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 */
-- //driver->engine->set_buffer_size (driver->engine, nframes);
-+ JackAudioDriver::SetBufferSize(nframes); // Generic change, never fails
-
-- return -1; // unsupported
-+ UpdateLatencies();
-+
-+ return 0;
- }
-
- typedef void (*JackDriverFinishFunction) (jack_driver_t *);
-@@ -306,7 +359,7 @@
-
- assert(params);
-
-- 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;
- }
-diff --git a/linux/firewire/JackFFADODriver.h b/linux/firewire/JackFFADODriver.h
-index cb2a45d..790f4dd 100644
---- a/linux/firewire/JackFFADODriver.h
-+++ b/linux/firewire/JackFFADODriver.h
-@@ -82,6 +82,12 @@ class JackFFADODriver : public JackAudioDriver
- int Read();
- int Write();
-
-+ // BufferSize can be changed
-+ bool IsFixedBufferSize()
-+ {
-+ return false;
-+ }
-+
- int SetBufferSize(jack_nframes_t nframes);
- };
-
---
-1.7.10
-
More information about the arch-commits
mailing list