| @@ -451,10 +451,11 @@ int JackDebugClient::TimeCallback(jack_nframes_t nframes, void *arg) | |||||
| jack_time_t t1 = GetMicroSeconds(); | jack_time_t t1 = GetMicroSeconds(); | ||||
| int res = client->fProcessTimeCallback(nframes, client->fProcessTimeCallbackArg); | int res = client->fProcessTimeCallback(nframes, client->fProcessTimeCallbackArg); | ||||
| if (res == 0) { | if (res == 0) { | ||||
| jack_time_t t2 = GetMicroSeconds(); | |||||
| jack_time_t t2 = GetMicroSeconds(); | |||||
| long delta = long((t2 - t1) - client->GetEngineControl()->fPeriodUsecs); | long delta = long((t2 - t1) - client->GetEngineControl()->fPeriodUsecs); | ||||
| if (delta > 0 && !client->fFreewheel) | |||||
| if (delta > 0 && !client->fFreewheel) { | |||||
| *client->fStream << "!!! ERROR !!! : Process overload of " << delta << " us" << endl; | *client->fStream << "!!! ERROR !!! : Process overload of " << delta << " us" << endl; | ||||
| } | |||||
| } | } | ||||
| return res; | return res; | ||||
| } | } | ||||
| @@ -462,9 +463,17 @@ int JackDebugClient::TimeCallback(jack_nframes_t nframes, void *arg) | |||||
| int JackDebugClient::SetProcessCallback(JackProcessCallback callback, void *arg) | int JackDebugClient::SetProcessCallback(JackProcessCallback callback, void *arg) | ||||
| { | { | ||||
| CheckClient("SetProcessCallback"); | CheckClient("SetProcessCallback"); | ||||
| fProcessTimeCallback = callback; | fProcessTimeCallback = callback; | ||||
| fProcessTimeCallbackArg = arg; | fProcessTimeCallbackArg = arg; | ||||
| return fClient->SetProcessCallback(TimeCallback, this); | |||||
| if (callback == NULL) { | |||||
| // Clear the callback... | |||||
| return fClient->SetProcessCallback(callback, arg); | |||||
| } else { | |||||
| // Setup the measuring version... | |||||
| return fClient->SetProcessCallback(TimeCallback, this); | |||||
| } | |||||
| } | } | ||||
| int JackDebugClient::SetXRunCallback(JackXRunCallback callback, void *arg) | int JackDebugClient::SetXRunCallback(JackXRunCallback callback, void *arg) | ||||
| @@ -539,7 +548,6 @@ int JackDebugClient::SetProcessThread(JackThreadCallback fun, void *arg) | |||||
| return fClient->SetProcessThread(fun, arg); | return fClient->SetProcessThread(fun, arg); | ||||
| } | } | ||||
| jack_session_command_t* JackDebugClient::SessionNotify(const char* target, jack_session_event_type_t type, const char* path) | jack_session_command_t* JackDebugClient::SessionNotify(const char* target, jack_session_event_type_t type, const char* path) | ||||
| { | { | ||||
| CheckClient("SessionNotify"); | CheckClient("SessionNotify"); | ||||