Arv_device_create_stream debugging

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?

Hi Jared,

Please open an issue on github. It would be interesting to have the debug output with ARV_DEBUG set to all:3 (using 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.

Cheers,

Emmanuel.

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.

It looks like this issue: https://github.com/AravisProject/aravis/issues/295