mirror of
https://github.com/storytold/LiveScan3D.git
synced 2026-10-09 00:09:58 +00:00
Bug in recording fixed.
This commit is contained in:
@@ -232,11 +232,12 @@ namespace KinectServer
|
||||
}
|
||||
}
|
||||
|
||||
public void GetStoredFrame(List<List<byte>> lFramesRGB, List<List<Single>> lFramesVerts)
|
||||
public bool GetStoredFrame(List<List<byte>> lFramesRGB, List<List<Single>> lFramesVerts)
|
||||
{
|
||||
bool bNoMoreStoredFrames;
|
||||
lFramesRGB.Clear();
|
||||
lFramesVerts.Clear();
|
||||
|
||||
|
||||
lock (oFrameRequestLock)
|
||||
{
|
||||
//Request frames
|
||||
@@ -248,10 +249,10 @@ namespace KinectServer
|
||||
|
||||
//Wait till frames received
|
||||
bool allGathered = false;
|
||||
bNoMoreStoredFrames = false;
|
||||
while (!allGathered)
|
||||
{
|
||||
allGathered = true;
|
||||
|
||||
allGathered = true;
|
||||
lock (oClientSocketLock)
|
||||
{
|
||||
for (int i = 0; i < lClientSockets.Count; i++)
|
||||
@@ -261,6 +262,9 @@ namespace KinectServer
|
||||
allGathered = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (lClientSockets[i].bNoMoreStoredFrames)
|
||||
bNoMoreStoredFrames = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -275,6 +279,11 @@ namespace KinectServer
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (bNoMoreStoredFrames)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
public void GetLatestFrame(List<List<byte>> lFramesRGB, List<List<Single>> lFramesVerts, List<List<Body>> lFramesBody)
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace KinectServer
|
||||
public bool bFrameCaptured = false;
|
||||
public bool bLatestFrameReceived = false;
|
||||
public bool bStoredFrameReceived = false;
|
||||
public bool bNoMoreStoredFrames = true;
|
||||
public bool bCalibrated = false;
|
||||
//The pose of the sensor in the scene (used by the OpenGLWindow to show the sensor)
|
||||
public AffineTransform oCameraPose = new AffineTransform();
|
||||
@@ -85,6 +86,7 @@ namespace KinectServer
|
||||
{
|
||||
byteToSend[0] = 3;
|
||||
SendByte();
|
||||
bNoMoreStoredFrames = false;
|
||||
bStoredFrameReceived = false;
|
||||
}
|
||||
|
||||
@@ -170,8 +172,11 @@ namespace KinectServer
|
||||
|
||||
nToRead = BitConverter.ToInt32(buffer, 0);
|
||||
|
||||
if (nToRead == 0)
|
||||
if (nToRead == -1)
|
||||
{
|
||||
bNoMoreStoredFrames = true;
|
||||
return;
|
||||
}
|
||||
|
||||
buffer = new byte[nToRead];
|
||||
int nAlreadyRead = 0;
|
||||
|
||||
@@ -191,7 +191,11 @@ namespace KinectServer
|
||||
List<List<byte>> lFrameRGBAllDevices = new List<List<byte>>();
|
||||
List<List<float>> lFrameVertsAllDevices = new List<List<float>>();
|
||||
|
||||
oServer.GetStoredFrame(lFrameRGBAllDevices, lFrameVertsAllDevices);
|
||||
bool success = oServer.GetStoredFrame(lFrameRGBAllDevices, lFrameVertsAllDevices);
|
||||
|
||||
//This indicates that there are no more stored frames.
|
||||
if (!success)
|
||||
break;
|
||||
|
||||
nFrames++;
|
||||
int nVerticesTotal = 0;
|
||||
@@ -200,10 +204,6 @@ namespace KinectServer
|
||||
nVerticesTotal += lFrameVertsAllDevices[i].Count;
|
||||
}
|
||||
|
||||
//This indicates that there are no more stored frames.
|
||||
if (nVerticesTotal == 0)
|
||||
break;
|
||||
|
||||
List<byte> lFrameRGB = new List<byte>();
|
||||
List<Single> lFrameVerts = new List<Single>();
|
||||
|
||||
|
||||
@@ -519,7 +519,7 @@ void LiveScanClient::HandleSocket()
|
||||
}
|
||||
else
|
||||
{
|
||||
int size = 0;
|
||||
int size = -1;
|
||||
m_pClientSocket->SendBytes((char*)&size, 4);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user