@@ -91,9 +91,6 @@ MemoryMonitor::MemoryMonitor(std::string name, std::string hubName, const oni_de
9191 " percent"
9292 );
9393 streamInfos.add (percentUsedStream);
94-
95- for (int i = 0 ; i < numFrames; i++)
96- eventCodes[i] = 0 ;
9794}
9895
9996OnixDeviceType MemoryMonitor::getDeviceType ()
@@ -133,9 +130,8 @@ bool MemoryMonitor::updateSettings()
133130
134131void MemoryMonitor::startAcquisition ()
135132{
136- currentFrame = 0 ;
137- sampleNumber = 0 ;
138133
134+ sampleNumber = 0 ;
139135 lastPercentUsedValue = 0 .0f ;
140136}
141137
@@ -152,34 +148,17 @@ float MemoryMonitor::getLastPercentUsedValue()
152148
153149void MemoryMonitor::processFrames ()
154150{
151+ static uint64_t ec = 0 ;
155152 oni_frame_t * frame;
156153
157154 while (frameQueue.try_dequeue (frame))
158155 {
159156 uint32_t * dataPtr = (uint32_t *)frame->data ;
160-
161- timestamps[currentFrame] = deviceContext->convertTimestampToSeconds (frame->time );
162-
163- percentUsedSamples[currentFrame] = 100 .0f * float (*(dataPtr + 2 )) / totalMemory;
164-
165- lastPercentUsedValue = percentUsedSamples[currentFrame];
166-
157+ auto t = deviceContext->convertTimestampToSeconds (frame->time );
158+ auto p = 100 .0f * float (*(dataPtr + 2 )) / totalMemory;
159+ lastPercentUsedValue = p;
167160 oni_destroy_frame (frame);
168-
169- sampleNumbers[currentFrame] = sampleNumber++;
170-
171- currentFrame++;
172-
173- if (currentFrame >= numFrames)
174- {
175- shouldAddToBuffer = true ;
176- currentFrame = 0 ;
177- }
178-
179- if (shouldAddToBuffer)
180- {
181- shouldAddToBuffer = false ;
182- percentUsedBuffer->addToBuffer (percentUsedSamples, sampleNumbers, timestamps, eventCodes, numFrames);
183- }
161+ auto sn = sampleNumber++;
162+ percentUsedBuffer->addToBuffer (&p, &sn, &t, &ec, 1 );
184163 }
185164}
0 commit comments