private void LoadFrameWorker(string filename)
{
MotionFrame frame = null;
using (var stream = new MemoryStream())
{
lock (_zipFileLock)
{
if (_zipFile != null)
{
_zipFile[filename].Extract(stream);
}
else
{
return;
}
}
stream.Position = 0;
frame = _serializer.Deserialize(stream);
}
if (frame == null)
{
throw new InvalidOperationException("MotionFrame " + filename + " not deserialized correctly");
}
Debug.WriteLine("Buffering frame " + filename);
lock (_bufferedFrames)
{
_bufferedFrames.Add(frame);
}
}