I’m having an intermittent issue where arv_device_create_stream will return NULL.
I’ve tried to debug this by diving in to the aravis source, however the GLIB #define macros make this very difficult. It appears that the device object is failing a type check, but I can not be certain.
Any suggestions for ways to debug through the #define macros?
Please open an issue on github. It would be interesting to have the debug output with
ARV_DEBUG set to
export ARV_DEBUG=all:3 before launching your program).
If you want to understand what is in the Glib macros, you can try to expand them using
gcc -E (path to all included files should be defined using the
-I option), but you may also want to look at the glib documentation which explains most of them.
Thanks Emmanuel… I ended up discovering that the issue is camera specific. The FLIR BFLY 16S2C PGE takes quite a while to boot, and will respond to commands before it is actually “operational”… At least that’s the best explanation I have.
Seems a little silly having to sleep(1) till the stream initializes.
Are there any query commands standard to GEV akin to “device ready”?
Not that I’m aware of. Like I said, it would be really interesting to have the debug output. May be there is a USB error we can catch, and retry until the device is in a correct state.