Merge pull request #262 from pljones/bugfix/234-frame-count-can-be-wrong
#234 Fix from @Snayler for offset problem in recorder
This commit is contained in:
commit
0d6262edc4
2 changed files with 10 additions and 2 deletions
|
@ -109,6 +109,7 @@ void CJamClient::Disconnect()
|
|||
CJamSession::CJamSession(QDir recordBaseDir) :
|
||||
sessionDir (QDir(recordBaseDir.absoluteFilePath("Jam-" + QDateTime().currentDateTimeUtc().toString("yyyyMMdd-HHmmsszzz")))),
|
||||
currentFrame (0),
|
||||
chIdDisconnected (-1),
|
||||
vecptrJamClients (MAX_NUM_CHANNELS),
|
||||
jamClientConnections()
|
||||
{
|
||||
|
@ -130,8 +131,6 @@ CJamSession::CJamSession(QDir recordBaseDir) :
|
|||
|
||||
// Explicitly set all the pointers to "empty"
|
||||
vecptrJamClients.fill(nullptr);
|
||||
|
||||
currentFrame = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -150,6 +149,7 @@ void CJamSession::DisconnectClient(int iChID)
|
|||
|
||||
delete vecptrJamClients[iChID];
|
||||
vecptrJamClients[iChID] = nullptr;
|
||||
chIdDisconnected = iChID;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -167,6 +167,13 @@ void CJamSession::DisconnectClient(int iChID)
|
|||
*/
|
||||
void CJamSession::Frame(const int iChID, const QString name, const CHostAddress address, const int numAudioChannels, const CVector<int16_t> data, int iServerFrameSizeSamples)
|
||||
{
|
||||
if ( iChID == chIdDisconnected )
|
||||
{
|
||||
// DisconnectClient has just been called for this channel - this frame is "too late"
|
||||
chIdDisconnected = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (vecptrJamClients[iChID] == nullptr)
|
||||
{
|
||||
// then we have not seen this client this session
|
||||
|
|
|
@ -128,6 +128,7 @@ private:
|
|||
const QDir sessionDir;
|
||||
|
||||
qint64 currentFrame;
|
||||
int chIdDisconnected;
|
||||
QVector<CJamClient*> vecptrJamClients;
|
||||
QList<CJamClientConnection*> jamClientConnections;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue