You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I need to get the resolution of the webcam. In the source we have the following:
// This is a temporary addition until it's decided how to bring back resolution/framerate caps to the official API.// The old way of doing things is still listed in the video tutorial:// https://processing.org/tutorials/videostaticpublicString[] getCapabilities(Stringdevice) {
for (inti=0; i < devices.size(); i++) {
StringdeviceName = assignDisplayName(devices.get(i), i);
if (devices.get(i).getDisplayName().equals(device) || devices.get(i).getName().equals(device) || deviceName.equals(device)) {
returnparseCaps(devices.get(i));
}
}
returnnewString[]{};
}
The above calls parseCaps which has the following part (this is a piece of it):
An example of the String cap is " video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)10/1, pixel-aspect-ratio=(fraction)1/1".
The problem with the above code is that stringHeight = cap.substring(indexHeight, cap.indexOf(", format", indexHeight)); assumes a certain order of the elements being listed. The assumption being made is wrong resulting in the following error:
java.lang.StringIndexOutOfBoundsException: begin 52, end -1, length 127
at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4606)
at java.base/java.lang.String.substring(String.java:2709)
at processing.video.Capture.parseCaps(Capture.java:791)
at processing.video.Capture.getCapabilities(Capture.java:768)
at room_activity.Room_Activity.setup(Room_Activity.java:95)
at processing.core.PApplet.handleDraw(PApplet.java:2051)
at processing.opengl.PSurfaceJOGL$DrawListener.display(PSurfaceJOGL.java:840)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:692)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:674)
at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:443)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1293)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:1147)
at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:797)
at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:81)
at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:471)
at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:245)
at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
at java.base/java.util.TimerThread.run(Timer.java:516)
The text was updated successfully, but these errors were encountered:
I need to get the resolution of the webcam. In the source we have the following:
The above calls
parseCaps
which has the following part (this is a piece of it):An example of the String cap is
" video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)10/1, pixel-aspect-ratio=(fraction)1/1"
.The problem with the above code is that
stringHeight = cap.substring(indexHeight, cap.indexOf(", format", indexHeight));
assumes a certain order of the elements being listed. The assumption being made is wrong resulting in the following error:The text was updated successfully, but these errors were encountered: