Browse Source

Update JackTransportEngine for NetJack2 needs.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2800 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.90
sletz 16 years ago
parent
commit
a280d1f368
5 changed files with 22 additions and 12 deletions
  1. +1
    -1
      common/JackAPI.cpp
  2. +5
    -1
      common/JackClient.cpp
  3. +1
    -1
      common/JackServer.cpp
  4. +9
    -1
      common/JackTransportEngine.cpp
  5. +6
    -8
      common/JackTransportEngine.h

+ 1
- 1
common/JackAPI.cpp View File

@@ -1331,7 +1331,7 @@ EXPORT pthread_t jack_client_thread_id(jack_client_t* ext_client)
}
}

EXPORT char* jack_get_client_name (jack_client_t* ext_client)
EXPORT char* jack_get_client_name(jack_client_t* ext_client)
{
#ifdef __CLIENTDEBUG__
JackLibGlobals::CheckContext();


+ 5
- 1
common/JackClient.cpp View File

@@ -709,8 +709,12 @@ void JackClient::CallSyncCallback()
void JackClient::CallTimebaseCallback()
{
JackTransportEngine& transport = GetEngineControl()->fTransport;
int master;
bool unused;
if (GetClientControl()->fRefNum == transport.GetTimebaseMaster() && fTimebase) { // Client *is* timebase...
transport.GetTimebaseMaster(master, unused);
if (GetClientControl()->fRefNum == master && fTimebase) { // Client *is* timebase...
jack_transport_state_t transport_state = transport.GetState();
jack_position_t* cur_pos = transport.WriteNextStateStart(1);


+ 1
- 1
common/JackServer.cpp View File

@@ -305,7 +305,7 @@ int JackServer::ReleaseTimebase(int refnum)

int JackServer::SetTimebaseCallback(int refnum, int conditional)
{
return fEngineControl->fTransport.SetTimebase(refnum, conditional);
return fEngineControl->fTransport.SetTimebaseMaster(refnum, conditional);
}

JackLockedEngine* JackServer::GetEngine()


+ 9
- 1
common/JackTransportEngine.cpp View File

@@ -44,6 +44,7 @@ JackTransportEngine::JackTransportEngine(): JackAtomicArrayState<jack_position_t
fSyncTimeLeft = 0;
fTimeBaseMaster = -1;
fWriteCounter = 0;
fConditionnal = false;
fPendingPos = false;
fNetworkSync = false;
}
@@ -71,7 +72,7 @@ int JackTransportEngine::ResetTimebase(int refnum)
}

// Server
int JackTransportEngine::SetTimebase(int refnum, bool conditionnal)
int JackTransportEngine::SetTimebaseMaster(int refnum, bool conditionnal)
{
if (conditionnal && fTimeBaseMaster > 0) {
if (refnum != fTimeBaseMaster) {
@@ -83,11 +84,18 @@ int JackTransportEngine::SetTimebase(int refnum, bool conditionnal)
}
} else {
fTimeBaseMaster = refnum;
fConditionnal = conditionnal;
jack_log("new timebase master: ref = %ld", refnum);
return 0;
}
}

void JackTransportEngine::GetTimebaseMaster(int& refnum, bool& conditionnal)
{
refnum = fTimeBaseMaster;
conditionnal = fConditionnal;
}

// RT
bool JackTransportEngine::CheckAllRolling(JackClientInterface** table)
{


+ 6
- 8
common/JackTransportEngine.h View File

@@ -102,6 +102,7 @@ class EXPORT JackTransportEngine : public JackAtomicArrayState<jack_position_t>
int fTimeBaseMaster;
bool fPendingPos;
bool fNetworkSync;
bool fConditionnal;
SInt32 fWriteCounter;

bool CheckAllRolling(JackClientInterface** table);
@@ -128,16 +129,11 @@ class EXPORT JackTransportEngine : public JackAtomicArrayState<jack_position_t>
return fTransportState;
}
void GetState(jack_transport_state_t state)
void SetState(jack_transport_state_t state)
{
fTransportState = state;
}

int GetTimebaseMaster() const
{
return fTimeBaseMaster;
}

/*
\brief
*/
@@ -146,7 +142,9 @@ class EXPORT JackTransportEngine : public JackAtomicArrayState<jack_position_t>
/*
\brief
*/
int SetTimebase(int refnum, bool conditionnal);
int SetTimebaseMaster(int refnum, bool conditionnal);
void GetTimebaseMaster(int& refnum, bool& conditionnal);

/*
\brief


Loading…
Cancel
Save