GL Video error with Processing 3.5.2, macOS 10.13.6


#1

I got the following error using P3.3.7, and updating just now to 3.5.2 did not help; the sketch did work in macOS 10.13.4- it printed the device enumeration warning, but did not crash as it does now; the sketch also runs without error on an RPi3 running the Processing 3.4 raspian distro:

GLVideo: Device enumeration is currently not available on macOS. The device returned is a pure guesstimate.
Available cameras:
avfvideosrc device-index=0
GLVideo: avfvideosrc0: Internal data stream error.
Debugging information: gstbasesrc.c(2939): void gst_base_src_loop(GstPad *) (): /GstPipeline:pipeline0/GstAVFVideoSrc:avfvideosrc0:
streaming stopped, reason not-negotiated (-4)


#2

Were you able to resolve this issue? Not sure what to say with no idea what code you were running – an MCVE would really help.

Perhaps report to https://github.com/processing/processing/issues if you have not already? They will definitely want an MCVE.


#3

The error reported above can be reproduced by making a minor change to the SimpleCapture example sketch provided with the library; changing this line:

video = new GLCapture(this);

to this:

video = new GLCapture(this, devices[0], 320, 240);

will force the fault.


#4

I just installeed GLVideo through the Contribution Manager which stated

Hardware accelerated video on the Raspberry Pi, Linux and Mac (experimental)

so perhaps it has nothing to do with Processing version and more a problem with GLVideo. It seems unlikely there will be a solution to your problem.


#5

Yes, that error message is from the native GStreamer library when it can’t build a pipeline where all the elements can agree on a format. At a guess the GLVideo library isn’t adding in a scaling element and the camera is refusing to provide 320x240.