From ae2382088c6ca45b6e54960bc3e7bb7769cd0c3c Mon Sep 17 00:00:00 2001 From: Stephane Letz Date: Wed, 4 Dec 2013 15:08:54 +0100 Subject: [PATCH] Add jack_net_slave_is_active API in libjacknet. --- common/JackNetAPI.cpp | 12 ++++++++++++ common/jack/net.h | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/common/JackNetAPI.cpp b/common/JackNetAPI.cpp index 7d54edbd..640f9b82 100644 --- a/common/JackNetAPI.cpp +++ b/common/JackNetAPI.cpp @@ -92,6 +92,7 @@ extern "C" LIB_EXPORT int jack_net_slave_activate(jack_net_slave_t* net); LIB_EXPORT int jack_net_slave_deactivate(jack_net_slave_t* net); + LIB_EXPORT int jack_net_slave_is_active(jack_net_slave_t* net); LIB_EXPORT int jack_set_net_slave_process_callback(jack_net_slave_t* net, JackNetSlaveProcessCallback net_callback, void *arg); LIB_EXPORT int jack_set_net_slave_buffer_size_callback(jack_net_slave_t* net, JackNetSlaveBufferSizeCallback bufsize_callback, void *arg); @@ -757,6 +758,11 @@ struct JackNetExtSlave : public JackNetSlaveInterface, public JackRunnableInterf return (fThread.AcquireSelfRealTime(80) == 0); // TODO: get a value from the server } + + bool IsRunning() + { + return (fThread.GetStatus() == JackThread::kRunning); + } bool Execute() { @@ -1021,6 +1027,12 @@ LIB_EXPORT int jack_net_slave_deactivate(jack_net_slave_t* net) return slave->Stop(); } +LIB_EXPORT int jack_net_slave_is_active(jack_net_slave_t* net) +{ + JackNetExtSlave* slave = (JackNetExtSlave*)net; + return slave->IsRunning(); +} + LIB_EXPORT int jack_set_net_slave_buffer_size_callback(jack_net_slave_t *net, JackNetSlaveBufferSizeCallback bufsize_callback, void *arg) { JackNetExtSlave* slave = (JackNetExtSlave*)net; diff --git a/common/jack/net.h b/common/jack/net.h index e9ba86d7..796e6354 100644 --- a/common/jack/net.h +++ b/common/jack/net.h @@ -150,6 +150,14 @@ int jack_net_slave_activate(jack_net_slave_t* net); */ int jack_net_slave_deactivate(jack_net_slave_t* net); +/** + * Test if slave is still active. + * @param net the network connection + * + * @return a boolean + */ +int jack_net_slave_is_active(jack_net_slave_t* net); + /** * Prototype for BufferSize callback. * @param nframes buffer size