diff --git a/common/JackClient.cpp b/common/JackClient.cpp index 8a9835e9..6460dfac 100644 --- a/common/JackClient.cpp +++ b/common/JackClient.cpp @@ -88,13 +88,13 @@ JackClient::JackClient(JackSynchro* table):fThread(this) JackClient::~JackClient() {} -void JackClient::ShutDown(const char* message) +void JackClient::ShutDown(jack_status_t code, const char* message) { jack_log("JackClient::ShutDown"); // If "fInfoShutdown" callback, then call it if (fInfoShutdown) { - fInfoShutdown(JackFailure, message, fInfoShutdownArg); + fInfoShutdown(code, message, fInfoShutdownArg); fInfoShutdown = NULL; // Otherwise possibly call the normal "fShutdown" } else if (fShutdown) { @@ -299,7 +299,7 @@ int JackClient::ClientNotify(int refnum, const char* name, int notify, int sync, case kShutDownCallback: jack_log("JackClient::kShutDownCallback"); - ShutDown(message); + ShutDown(jack_status_t(value1), message); break; case kSessionCallback: @@ -660,7 +660,7 @@ inline void JackClient::Error() fThread.DropSelfRealTime(); GetClientControl()->fActive = false; fChannel->ClientDeactivate(GetClientControl()->fRefNum, &result); - ShutDown(JACK_SERVER_FAILURE); + ShutDown(jack_status_t(JackFailure | JackServerError), JACK_SERVER_FAILURE); fThread.Terminate(); } diff --git a/common/JackClient.h b/common/JackClient.h index 4a421ac5..5652da07 100644 --- a/common/JackClient.h +++ b/common/JackClient.h @@ -143,7 +143,7 @@ class SERVER_EXPORT JackClient : public JackClientInterface, public JackRunnable virtual int SetBufferSize(jack_nframes_t buffer_size); virtual int SetFreeWheel(int onoff); virtual int ComputeTotalLatencies(); - virtual void ShutDown(const char* message); + virtual void ShutDown(jack_status_t code, const char* message); virtual jack_native_thread_t GetThreadID(); // Port management diff --git a/common/JackDebugClient.cpp b/common/JackDebugClient.cpp index d9bc63cc..5ba5e897 100644 --- a/common/JackDebugClient.cpp +++ b/common/JackDebugClient.cpp @@ -363,10 +363,10 @@ ShutDown is called: (Not needed since the synch object used (Sema of Fifo will fails when server quits... see ShutDown)) */ -void JackDebugClient::ShutDown(const char* message) +void JackDebugClient::ShutDown(jack_status_t code, const char* message) { CheckClient("ShutDown"); - fClient->ShutDown(message); + fClient->ShutDown(code, message); } //--------------------- diff --git a/common/JackDebugClient.h b/common/JackDebugClient.h index 62790994..9eea72db 100644 --- a/common/JackDebugClient.h +++ b/common/JackDebugClient.h @@ -84,7 +84,7 @@ class JackDebugClient : public JackClient int SetBufferSize(jack_nframes_t buffer_size); int SetFreeWheel(int onoff); int ComputeTotalLatencies(); - void ShutDown(const char* message); + void ShutDown(jack_status_t code, const char* message); jack_native_thread_t GetThreadID(); // Port management diff --git a/common/JackInternalClient.cpp b/common/JackInternalClient.cpp index d7a6f43f..0668516a 100644 --- a/common/JackInternalClient.cpp +++ b/common/JackInternalClient.cpp @@ -111,10 +111,10 @@ error: return -1; } -void JackInternalClient::ShutDown(const char* message) +void JackInternalClient::ShutDown(jack_status_t code, const char* message) { jack_log("JackInternalClient::ShutDown"); - JackClient::ShutDown(message); + JackClient::ShutDown(code, message); } JackGraphManager* JackInternalClient::GetGraphManager() const diff --git a/common/JackInternalClient.h b/common/JackInternalClient.h index 2c2b6aad..28c11d4d 100644 --- a/common/JackInternalClient.h +++ b/common/JackInternalClient.h @@ -47,7 +47,7 @@ class JackInternalClient : public JackClient virtual ~JackInternalClient(); int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status); - void ShutDown(const char* message); + void ShutDown(jack_status_t code, const char* message); JackGraphManager* GetGraphManager() const; JackEngineControl* GetEngineControl() const; diff --git a/common/JackLibClient.cpp b/common/JackLibClient.cpp index 2bbd7f7f..2cd9c4a0 100644 --- a/common/JackLibClient.cpp +++ b/common/JackLibClient.cpp @@ -62,11 +62,11 @@ ShutDown is called: (Not needed since the synch object used (Sema of Fifo will fails when server quits... see ShutDown)) */ -void JackLibClient::ShutDown(const char* message) +void JackLibClient::ShutDown(jack_status_t code, const char* message) { jack_log("JackLibClient::ShutDown"); JackGlobals::fServerRunning = false; - JackClient::ShutDown(message); + JackClient::ShutDown(code, message); } JackLibClient::JackLibClient(JackSynchro* table): JackClient(table) diff --git a/common/JackLibClient.h b/common/JackLibClient.h index 0486fc8e..00f7bf92 100644 --- a/common/JackLibClient.h +++ b/common/JackLibClient.h @@ -45,7 +45,7 @@ class JackLibClient : public JackClient virtual ~JackLibClient(); int Open(const char* server_name, const char* name, int uuid, jack_options_t options, jack_status_t* status); - void ShutDown(const char* message); + void ShutDown(jack_status_t code, const char* message); int ClientNotifyImp(int refnum, const char* name, int notify, int sync, const char* message, int value1, int value2); diff --git a/common/JackServer.cpp b/common/JackServer.cpp index f8a16333..d2e09ac6 100644 --- a/common/JackServer.cpp +++ b/common/JackServer.cpp @@ -173,7 +173,7 @@ int JackServer::Stop() fEngine->NotifyQuit(); fRequestChannel.Stop(); - fEngine->NotifyFailure(JackFailure, JACK_SERVER_FAILURE); + fEngine->NotifyFailure(JackFailure | JackServerError, JACK_SERVER_FAILURE); return res; } @@ -359,7 +359,7 @@ int JackServer::SwitchMaster(jack_driver_desc_t* driver_desc, JSList* driver_par std::list slave_list; std::list::const_iterator it; - /// Remove current master + // Remove current master fAudioDriver->Stop(); fAudioDriver->Detach(); fAudioDriver->Close(); diff --git a/macosx/coreaudio/JackCoreAudioDriver.cpp b/macosx/coreaudio/JackCoreAudioDriver.cpp index dff3c382..056578fd 100644 --- a/macosx/coreaudio/JackCoreAudioDriver.cpp +++ b/macosx/coreaudio/JackCoreAudioDriver.cpp @@ -311,7 +311,7 @@ OSStatus JackCoreAudioDriver::Render(AudioUnitRenderActionFlags* ioActionFlags, if (Process() < 0) { jack_error("Process error, stopping driver"); - NotifyFailure(JackBackendError, "Process error, stopping driver"); // Message length limited to JACK_MESSAGE_SIZE + NotifyFailure(JackFailure | JackBackendError, "Process error, stopping driver"); // Message length limited to JACK_MESSAGE_SIZE Stop(); kill(JackTools::GetPID(), SIGINT); return kAudioHardwareUnsupportedOperationError; @@ -497,7 +497,7 @@ OSStatus JackCoreAudioDriver::DeviceNotificationCallback(AudioDeviceID inDevice, case kAudioDevicePropertyStreamConfiguration: { jack_error("Cannot handle kAudioDevicePropertyStreamConfiguration : server will quit..."); - driver->NotifyFailure(JackBackendError, "Another application has changed the device configuration"); // Message length limited to JACK_MESSAGE_SIZE + driver->NotifyFailure(JackFailure | JackBackendError, "Another application has changed the device configuration"); // Message length limited to JACK_MESSAGE_SIZE driver->CloseAUHAL(); kill(JackTools::GetPID(), SIGINT); return kAudioHardwareUnsupportedOperationError; @@ -544,7 +544,7 @@ OSStatus JackCoreAudioDriver::DeviceNotificationCallback(AudioDeviceID inDevice, return noErr; } else { - driver->NotifyFailure(JackBackendError, "Another application has changed the sample rate"); // Message length limited to JACK_MESSAGE_SIZE + driver->NotifyFailure(JackFailure | JackBackendError, "Another application has changed the sample rate"); // Message length limited to JACK_MESSAGE_SIZE driver->CloseAUHAL(); kill(JackTools::GetPID(), SIGINT); return kAudioHardwareUnsupportedOperationError; diff --git a/posix/JackSocketClientChannel.cpp b/posix/JackSocketClientChannel.cpp index e8506e75..8538f034 100644 --- a/posix/JackSocketClientChannel.cpp +++ b/posix/JackSocketClientChannel.cpp @@ -152,7 +152,7 @@ bool JackSocketClientChannel::Execute() error: fNotificationSocket->Close(); - fClient->ShutDown(JACK_SERVER_FAILURE); + fClient->ShutDown(jack_status_t(JackFailure | JackServerError), JACK_SERVER_FAILURE); return false; }