Browse Source

Fix engine real-time notification (was broken since ??).

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1939 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.71
sletz 17 years ago
parent
commit
d3df789445
3 changed files with 9 additions and 5 deletions
  1. +4
    -0
      ChangeLog
  2. +1
    -1
      common/JackChannel.h
  3. +4
    -4
      common/JackEngine.cpp

+ 4
- 0
ChangeLog View File

@@ -19,6 +19,10 @@ Nedko Arnaudov
Jackdmp changes log
---------------------------

2008-03-11 Stephane Letz <letz@grame.fr>
* Fix engine real-time notification (was broken since ??).

2008-03-10 Stephane Letz <letz@grame.fr>
* Nedko Arnaudov log patch.


+ 1
- 1
common/JackChannel.h View File

@@ -201,7 +201,7 @@ class JackServerNotifyChannelInterface
virtual void Close()
{}

virtual void ClientNotify(int refnum, int notify, int value1, int value2)
virtual void ClientNotify(int refnum, int notify, int value)
{}

};


+ 4
- 4
common/JackEngine.cpp View File

@@ -134,7 +134,7 @@ void JackEngine::ProcessNext(jack_time_t callback_usecs)
{
fLastSwitchUsecs = callback_usecs;
if (fGraphManager->RunNextGraph()) // True if the graph actually switched to a new state
fChannel->ClientNotify(ALL_CLIENTS, kGraphOrderCallback, 0, 0);
fChannel->ClientNotify(ALL_CLIENTS, kGraphOrderCallback, 0);
fSignal->SignalAll(); // Signal for threads waiting for next cycle
}

@@ -191,12 +191,12 @@ void JackEngine::CheckXRun(jack_time_t callback_usecs) // REVOIR les conditions

if (status != NotTriggered && status != Finished) {
jack_error("JackEngine::XRun: client = %s was not run: state = %ld", client->GetClientControl()->fName, status);
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0, 0); // Notify all clients
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0); // Notify all clients
}

if (status == Finished && (long)(finished_date - callback_usecs) > 0) {
jack_error("JackEngine::XRun: client %s finished after current callback", client->GetClientControl()->fName);
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0, 0); // Notify all clients
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0); // Notify all clients
}
}
}
@@ -272,7 +272,7 @@ void JackEngine::NotifyXRun(jack_time_t callback_usecs)
{
// Use the audio thread => request thread communication channel
fEngineControl->ResetFrameTime(callback_usecs);
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0, 0);
fChannel->ClientNotify(ALL_CLIENTS, kXRunCallback, 0);
}

void JackEngine::NotifyXRun(int refnum)


Loading…
Cancel
Save