Less hacky leak fix for Streamer

This commit is contained in:
Banks Troutman
2019-12-01 13:38:04 -05:00
parent e48f96420e
commit 0f5119b77f
2 changed files with 11 additions and 9 deletions

View File

@@ -284,6 +284,7 @@ public class VisionProcess {
private class CameraStreamerRunnable extends LoopingRunnable {
final CameraStreamer streamer;
private Mat bufferMat = new Mat();
private CameraStreamerRunnable(int cameraFPS, CameraStreamer streamer) {
// add 2 FPS to allow for a bit of overhead
@@ -295,12 +296,16 @@ public class VisionProcess {
protected void process() {
if (!streamFrameQueue.isEmpty()) {
try {
Mat tempMat = new Mat();
Mat tempMat2 = streamFrameQueue.take();
tempMat2.copyTo(tempMat);
tempMat2.release();
streamer.runStream(tempMat);
tempMat.release();
bufferMat = streamFrameQueue.take();
try {
streamer.runStream(bufferMat);
bufferMat.release();
} catch (Exception e) {
// do nothing
}
} catch (InterruptedException e) {
e.printStackTrace();
}

View File

@@ -1,6 +1,5 @@
package com.chameleonvision.vision.pipeline;
import com.chameleonvision.Main;
import com.chameleonvision.util.MemoryManager;
import com.chameleonvision.vision.camera.CameraCapture;
import com.chameleonvision.vision.pipeline.pipes.Draw2dContoursPipe;
@@ -38,8 +37,6 @@ public class DriverVisionPipeline extends CVPipeline<DriverPipelineResult, CVPip
@Override
public DriverPipelineResult runPipeline(Mat inputMat) {
// inputMat.copyTo(outputMat);
rotateFlipPipe.setConfig(settings.rotationMode, settings.flipMode);
draw2dContoursPipe.setConfig(false, cameraCapture.getProperties().getStaticProperties());