Skip to content

Commit

Permalink
Defensive checks for null frame
Browse files Browse the repository at this point in the history
  • Loading branch information
cacheflowe committed Oct 13, 2023
1 parent e855c14 commit e9bd234
Showing 1 changed file with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions src/main/java/ch/bildspur/realsense/RealSenseCamera.java
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ public void readFrames() {

if (align.isEnabled()) {
FrameList temp = align.getBlock().process(frames);
frames.release();
if (frames != null) frames.release();
frames = temp;
}

Expand All @@ -320,7 +320,7 @@ public void readFrames() {
if (!filters.isEmpty()) {
for (RSFilterBlock filter : filters) {
DepthFrame temp = filter.getBlock().process(frame);
frame.release();
if (frame != null) frame.release();
frame = temp;
}
}
Expand All @@ -332,31 +332,31 @@ public void readFrames() {
coloredFrame.release();
}

frame.release();
if (frame != null) frame.release();
}

if (colorStream.isEnabled()) {
VideoFrame frame = frames.getColorFrame();
colorStream.copyPixels(frame);
frame.release();
if (frame != null) frame.release();
}

if (firstIRStream.isEnabled()) {
VideoFrame frame = getStreamByIndex(frames, Stream.Infrared, Format.Any, firstIRStream.getIndex());
firstIRStream.copyPixels(frame);
frame.release();
if (frame != null) frame.release();
}

if (secondIRStream.isEnabled()) {
VideoFrame frame = getStreamByIndex(frames, Stream.Infrared, Format.Any, secondIRStream.getIndex());
secondIRStream.copyPixels(frame);
frame.release();
if (frame != null) frame.release();
}

if (poseStream.isEnabled()) {
PoseFrame frame = frames.getPoseFrame();

frame.release();
if (frame != null) frame.release();
}
}

Expand All @@ -368,7 +368,7 @@ private <T extends Frame> T getStreamByIndex(FrameList frames, Stream stream, Fo
&& frame.getProfile().getIndex() == index) {
return (T) frame;
}
frame.release();
if (frame != null) frame.release();
}
return null;
}
Expand Down Expand Up @@ -620,9 +620,13 @@ public PVector getProjectedPoint(int x, int y) {
public short[][] getDepthData() {
checkRunning();

DepthFrame frame = frames.getDepthFrame();
depthStream.updateDepthData(frame);
frame.release();
if (frames != null) {
DepthFrame frame = frames.getDepthFrame();
if (frame != null) {
depthStream.updateDepthData(frame);
frame.release();
}
}
return depthStream.getData();
}

Expand Down

0 comments on commit e9bd234

Please sign in to comment.