diff options
author | sletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2008-03-12 14:36:07 +0000 |
---|---|---|
committer | sletz <sletz@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2008-03-12 14:36:07 +0000 |
commit | a89837bbfc35338ae3206f55b03b99e496064bfc (patch) | |
tree | 36b969705a718e0b94db584d0c9183a0ecc76f5e /jack | |
parent | ec0171f8a109d802e70eaa1aa2dc7f20683ebb1b (diff) | |
download | jack1-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.h | 2 | ||||
-rw-r--r-- | jack/jack.h | 8 | ||||
-rw-r--r-- | jack/types.h | 2 |
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. |