Browse Source

Transport timebase fix (in progress).

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

+ 3
- 5
common/JackClient.cpp View File

@@ -732,18 +732,16 @@ void JackClient::CallTimebaseCallback()
{
JackTransportEngine& transport = GetEngineControl()->fTransport;
if (GetClientControl()->fRefNum == transport.GetTimebaseMaster()) { // Client *is* timebase...
if (GetClientControl()->fRefNum == transport.GetTimebaseMaster() && fTimebase) { // Client *is* timebase...
jack_transport_state_t transport_state = transport.GetState();
jack_position_t* cur_pos = transport.WriteNextStateStart(1);
if (transport_state == JackTransportRolling) {
assert(fTimebase);
fTimebase(transport_state, GetEngineControl()->fBufferSize, cur_pos, false, fTimebaseArg);
fTimebase(transport_state, GetEngineControl()->fBufferSize, cur_pos, false, fTimebaseArg);
} else if (GetClientControl()->fTransportTimebase) {
assert(fTimebase);
fTimebase(transport_state, GetEngineControl()->fBufferSize, cur_pos, true, fTimebaseArg);
GetClientControl()->fTransportTimebase = true; // Callback is called only once with "new_pos" = true
GetClientControl()->fTransportTimebase = false; // Callback is called only once with "new_pos" = true
}
transport.WriteNextStateStop(1);


Loading…
Cancel
Save