Commit a4e319b7 authored by Stephane Letz's avatar Stephane Letz
Browse files

Correctly pass code parameter in InfoShutdown callback.

parent 1fe67998
......@@ -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();
}
......
......@@ -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
......
......@@ -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);
}
//---------------------
......
......@@ -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
......
......@@ -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
......
......@@ -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;
......
......@@ -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)
......
......@@ -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);
......
......@@ -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<JackDriverInterface*> slave_list;
std::list<JackDriverInterface*>::const_iterator it;
/// Remove current master
// Remove current master
fAudioDriver->Stop();
fAudioDriver->Detach();
fAudioDriver->Close();
......
......@@ -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;
......
......@@ -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;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment