summaryrefslogtreecommitdiff
path: root/jack
diff options
context:
space:
mode:
authorsletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224>2008-03-12 14:36:07 +0000
committersletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224>2008-03-12 14:36:07 +0000
commita89837bbfc35338ae3206f55b03b99e496064bfc (patch)
tree36b969705a718e0b94db584d0c9183a0ecc76f5e /jack
parentec0171f8a109d802e70eaa1aa2dc7f20683ebb1b (diff)
downloadjack1-a89837bbfc35338ae3206f55b03b99e496064bfc.tar.gz
Version 0.109.8 : new thread model
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1121 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'jack')
-rw-r--r--jack/internal.h2
-rw-r--r--jack/jack.h8
-rw-r--r--jack/types.h2
3 files changed, 12 insertions, 0 deletions
diff --git a/jack/internal.h b/jack/internal.h
index 7a809f9..3ea9248 100644
--- a/jack/internal.h
+++ b/jack/internal.h
@@ -259,6 +259,8 @@ typedef volatile struct {
void *freewheel_arg;
JackClientRegistrationCallback client_register;
void *client_register_arg;
+ JackThreadCallback thread_cb;
+ void *thread_cb_arg;
/* external clients: set by libjack
* internal clients: set by engine */
diff --git a/jack/jack.h b/jack/jack.h
index f02ca66..f82bbde 100644
--- a/jack/jack.h
+++ b/jack/jack.h
@@ -192,6 +192,14 @@ int jack_set_process_callback (jack_client_t *client,
*/
jack_nframes_t jack_thread_wait (jack_client_t*, int status);
+// New experimental alternate threading model
+jack_nframes_t jack_cycle_wait (jack_client_t* client);
+
+void jack_cycle_signal (jack_client_t* client, int status);
+
+int jack_set_process_thread(jack_client_t* client, JackThreadCallback fun, void *arg);
+
+
/**
* Tell JACK to call @a thread_init_callback once just after
* the creation of the thread in which all other callbacks
diff --git a/jack/types.h b/jack/types.h
index a4f2886..020a51b 100644
--- a/jack/types.h
+++ b/jack/types.h
@@ -193,6 +193,8 @@ typedef void (*JackPortConnectCallback)(jack_port_id_t a, jack_port_id_t b, int
*/
typedef void (*JackFreewheelCallback)(int starting, void *arg);
+typedef void *(*JackThreadCallback)(void* arg);
+
/**
* Used for the type argument of jack_port_register() for default
* audio and midi ports.