diff --git a/.cvsignore b/.cvsignore index b80256d..c6a9984 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -jack-audio-connection-kit-0.101.1.tar.gz +jack-audio-connection-kit-0.102.20.tar.gz diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index 199bac4..67aa2c5 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -1,12 +1,11 @@ Summary: The Jack Audio Connection Kit Name: jack-audio-connection-kit -Version: 0.101.1 -Release: 13%{?dist} +Version: 0.102.20 +Release: 1%{?dist} License: GPL/LGPL Group: System Environment/Daemons Source0: http://dl.sourceforge.net/sourceforge/jackit/%{name}-%{version}.tar.gz Source1: %{name}-README.Fedora -Patch0: http://lalists.stanford.edu/lad/2006/01/att-0167/jack-clock3.patch URL: http://www.jackaudio.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -48,11 +47,9 @@ Small example clients that use the Jack Audio Connection Kit. %prep %setup -q -%patch0 -p1 -b .clock3 %build # x86_64 issue reported by Rudolf Kastl (not checked, but not bad). -# Also patch0 touches configure.ac. autoreconf --force --install %configure \ @@ -120,6 +117,10 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/jack_simple_client %changelog +* Wed Oct 11 2006 Andy Shevchenko 0.102.20-1 +- update to 0.102.20 +- drop patch0 (already in mainstream) + * Tue Aug 29 2006 Andy Shevchenko 0.101.1-13 - http://fedoraproject.org/wiki/Extras/Schedule/FC6MassRebuild diff --git a/jack-clock3.patch b/jack-clock3.patch deleted file mode 100644 index ffad0e6..0000000 --- a/jack-clock3.patch +++ /dev/null @@ -1,268 +0,0 @@ -diff -ur jack-audio-connection-kit-0.100.7/config/os/generic/time.h jack/config/os/generic/time.h ---- jack-audio-connection-kit-0.100.7/config/os/generic/time.h 2004-04-07 07:52:58.000000000 +0300 -+++ jack/config/os/generic/time.h 2005-12-06 12:24:03.000000000 +0200 -@@ -1,5 +1,6 @@ - /* - Copyright (C) 2001-2004 Paul Davis, Tilman Linneweh -+ Copyright (C) 2005 Jussi Laako - - Generic version, overridden by OS-specific definition when needed. - -@@ -23,48 +24,24 @@ - #define __jack_time_h__ - - #include -+#include - #include --#include -- --/* This is a kludge. We need one global instantiation of this -- * variable in each address space. So, libjack/client.c declares the -- * actual storage. Other source files will see it as an extern. */ --#define JACK_TIME_GLOBAL_DECL jack_time_t __jack_cpu_mhz --extern JACK_TIME_GLOBAL_DECL; - - static inline jack_time_t - jack_get_microseconds (void) { -- return get_cycles() / __jack_cpu_mhz; --} -+ jack_time_t jackTime; -+ struct timeval time; - --/* This function is inspired by similar code in MPLayer. -- * It should be quite portable -- */ --static inline jack_time_t --jack_get_mhz (void) --{ -- jack_time_t tsc_start, tsc_end; -- struct timeval tv_start, tv_end; -- long usec_delay; -- jack_time_t mhz; -- -- tsc_start = get_cycles(); -- gettimeofday(&tv_start, NULL); -- usleep(100000); -- tsc_end = get_cycles(); -- gettimeofday(&tv_end, NULL); -- -- usec_delay = 1000000 * (tv_end.tv_sec - tv_start.tv_sec) -- + (tv_end.tv_usec - tv_start.tv_usec); -- mhz = (tsc_end - tsc_start) / usec_delay; -- return mhz; -+ gettimeofday(&time, NULL); -+ jackTime = (jack_time_t) time.tv_sec * 1e6 + -+ (jack_time_t) time.tv_usec; -+ return jackTime; - } - - /* This should only be called ONCE per process. */ - static inline void - jack_init_time () - { -- __jack_cpu_mhz = jack_get_mhz (); - } - - #endif /* __jack_time_h__ */ -diff -ur jack-audio-connection-kit-0.100.7/config/os/gnu-linux/time.h jack/config/os/gnu-linux/time.h ---- jack-audio-connection-kit-0.100.7/config/os/gnu-linux/time.h 2004-03-25 21:31:44.000000000 +0200 -+++ jack/config/os/gnu-linux/time.h 2005-12-06 16:30:20.000000000 +0200 -@@ -1,5 +1,6 @@ - /* - Copyright (C) 2001-2003 Paul Davis -+ Copyright (C) 2005 Jussi Laako - - This is the GNU/Linux version. - -@@ -23,18 +24,35 @@ - #define __jack_time_h__ - - #include -+#include -+#include - #include - #include - --/* This is a kludge. We need one global instantiation of this -- * variable in each address space. So, libjack/client.c declares the -- * actual storage. Other source files will see it as an extern. */ -+/* This is a kludge. We need one global instantiation of these -+ * variables in each address space. So, libjack/client.c declares the -+ * actual storage. Other source files will see those as an externs. */ - #define JACK_TIME_GLOBAL_DECL jack_time_t __jack_cpu_mhz -+#define JACK_TIME_SOURCE_DECL int __jack_clock_source -+#define JACK_TIME_FUNC_DECL jack_time_t (*jack_get_microseconds) (void) - extern JACK_TIME_GLOBAL_DECL; -+extern JACK_TIME_SOURCE_DECL; -+extern JACK_TIME_FUNC_DECL; - --static inline jack_time_t --jack_get_microseconds (void) { -- return get_cycles() / __jack_cpu_mhz; -+static jack_time_t -+jack_get_microseconds0 (void) { -+ jack_time_t jackTime; -+ struct timespec time; -+ -+ clock_gettime(CLOCK_MONOTONIC, &time); -+ jackTime = (jack_time_t) time.tv_sec * 1e6 + -+ (jack_time_t) time.tv_nsec / 1e3; -+ return jackTime; -+} -+ -+static jack_time_t -+jack_get_microseconds1 (void) { -+ return get_cycles() / __jack_cpu_mhz; - } - - /* -@@ -94,4 +112,21 @@ - __jack_cpu_mhz = jack_get_mhz (); - } - -+/* Set time function. */ -+static inline void -+jack_set_clock_source (int clocksrc) -+{ -+ __jack_clock_source = clocksrc; -+ switch (__jack_clock_source) -+ { -+ case 1: -+ jack_get_microseconds = jack_get_microseconds1; -+ break; -+ case 0: -+ default: -+ jack_get_microseconds = jack_get_microseconds0; -+ break; -+ } -+} -+ - #endif /* __jack_time_h__ */ -diff -ur jack-audio-connection-kit-0.100.7/configure.ac jack/configure.ac ---- jack-audio-connection-kit-0.100.7/configure.ac 2005-10-30 13:01:31.000000000 +0200 -+++ jack/configure.ac 2005-12-06 14:13:09.000000000 +0200 -@@ -126,6 +126,7 @@ - AC_CHECK_FUNCS(on_exit atexit) - AC_CHECK_FUNCS(posix_memalign) - AC_CHECK_LIB(m, sin) -+AC_CHECK_FUNC(clock_gettime, [], AC_CHECK_LIB(rt, clock_gettime)) - - # should we use mlockall() on this platform? - if test "x$JACK_DO_NOT_MLOCK" = "x"; then -diff -ur jack-audio-connection-kit-0.100.7/jack/engine.h jack/jack/engine.h ---- jack-audio-connection-kit-0.100.7/jack/engine.h 2004-12-19 20:41:28.000000000 +0200 -+++ jack/jack/engine.h 2005-12-06 13:47:39.000000000 +0200 -@@ -169,6 +169,8 @@ - int jack_get_fifo_fd (jack_engine_t *engine, - unsigned int which_fifo); - -+extern int clock_source; -+ - extern jack_client_internal_t * - jack_client_internal_by_id (jack_engine_t *engine, jack_client_id_t id); - -diff -ur jack-audio-connection-kit-0.100.7/jack/internal.h jack/jack/internal.h ---- jack-audio-connection-kit-0.100.7/jack/internal.h 2005-08-22 23:48:24.000000000 +0300 -+++ jack/jack/internal.h 2005-12-06 13:50:48.000000000 +0200 -@@ -130,6 +130,7 @@ - jack_time_t sync_time_left; - jack_frame_timer_t frame_timer; - int32_t internal; -+ int clock_source; - pid_t engine_pid; - jack_nframes_t buffer_size; - int8_t real_time; -diff -ur jack-audio-connection-kit-0.100.7/jackd/engine.c jack/jackd/engine.c ---- jack-audio-connection-kit-0.100.7/jackd/engine.c 2005-06-15 12:18:40.000000000 +0300 -+++ jack/jackd/engine.c 2005-12-06 16:21:50.000000000 +0200 -@@ -78,6 +78,8 @@ - dlhandle handle; - } jack_driver_info_t; - -+int clock_source = 0; -+ - static int jack_port_assign_buffer (jack_engine_t *, - jack_port_internal_t *); - static jack_port_internal_t *jack_get_port_by_name (jack_engine_t *, -@@ -1679,6 +1681,13 @@ - engine->control->xrun_delayed_usecs = 0; - engine->control->max_delayed_usecs = 0; - -+#ifdef JACK_TIME_FUNC_DECL -+ jack_set_clock_source(clock_source); -+#else -+ __jack_clock_source = clock_source; -+#endif -+ engine->control->clock_source = clock_source; -+ - engine->control->frame_timer.frames = 0; - engine->control->frame_timer.reset_pending = 0; - engine->control->frame_timer.current_wakeup = 0; -diff -ur jack-audio-connection-kit-0.100.7/jackd/jackd.c jack/jackd/jackd.c ---- jack-audio-connection-kit-0.100.7/jackd/jackd.c 2005-06-15 12:18:40.000000000 +0300 -+++ jack/jackd/jackd.c 2005-12-06 13:52:15.000000000 +0200 -@@ -368,6 +368,7 @@ - " [ --verbose OR -v ]\n" - " [ --silent OR -s ]\n" - " [ --version OR -V ]\n" -+" [ --clock-source OR -c ]\n" - " -d driver [ ... driver args ... ]\n" - " where driver can be `alsa', `coreaudio', `dummy',\n" - " `oss' or `portaudio'\n\n" -@@ -463,7 +464,7 @@ - - { - jack_driver_desc_t * desc; -- const char *options = "-ad:P:uvshVRTFl:t:mn:p:"; -+ const char *options = "-ad:P:uvshVRTFl:t:mn:p:c:"; - struct option long_options[] = - { - { "driver", 1, 0, 'd' }, -@@ -479,6 +480,7 @@ - { "temporary", 0, 0, 'T' }, - { "version", 0, 0, 'V' }, - { "silent", 0, 0, 's' }, -+ { "clock-source", 1, 0, 'c' }, - { 0, 0, 0, 0 } - }; - int opt = 0; -@@ -586,6 +588,10 @@ - show_version = 1; - break; - -+ case 'c': -+ clock_source = atoi (optarg); -+ break; -+ - default: - fprintf (stderr, "unknown option character %c\n", - optopt); -diff -ur jack-audio-connection-kit-0.100.7/libjack/client.c jack/libjack/client.c ---- jack-audio-connection-kit-0.100.7/libjack/client.c 2005-09-11 02:58:43.000000000 +0300 -+++ jack/libjack/client.c 2005-12-06 16:21:12.000000000 +0200 -@@ -51,6 +51,10 @@ - - #include - JACK_TIME_GLOBAL_DECL; /* One instance per process. */ -+JACK_TIME_SOURCE_DECL; /* One instance per process. */ -+#ifdef JACK_TIME_FUNC_DECL -+JACK_TIME_FUNC_DECL; -+#endif - - #include "local.h" - -@@ -959,6 +963,13 @@ - - client->engine = (jack_control_t *) jack_shm_addr (&client->engine_shm); - -+ /* initialize clock source as early as possible */ -+#ifdef JACK_TIME_FUNC_DECL -+ jack_set_clock_source(client->engine->clock_source); -+#else -+ __jack_clock_source = client->engine->clock_source; -+#endif -+ - /* now attach the client control block */ - client->control_shm = res.client_shm; - if (jack_attach_shm (&client->control_shm)) { - diff --git a/sources b/sources index 892af0e..3cd0076 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bb25f7c1da5d488b70edcf39ff5a39b2 jack-audio-connection-kit-0.101.1.tar.gz +d6881555a8b4c923b4ec706832f0d776 jack-audio-connection-kit-0.102.20.tar.gz