I’m using Aravis 0.6.4, compiled from source, with a Daheng GigE camera. Things work as expected but it seems that if the camera is not in used for a while, a new image acquisition done with:
auto buffer = arv_camera_acquisition(m_camera, 1000 * 1000);
fails with the following errors:
(process:1): Aravis-CRITICAL **: 07:15:40.431: arv_stream_push_buffer: assertion 'ARV_IS_STREAM (stream)' failed (process:1): Aravis-CRITICAL **: 07:15:40.431: arv_stream_timeout_pop_buffer: assertion 'ARV_IS_STREAM (stream)' failed (process:1): GLib-GObject-CRITICAL **: 07:15:40.432: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
If I recreate the camera with arv_camera_new, it starts working again. I’m very new to GigE, Genicam and Aravis. Should I try to create a new camera instance with arv_camera_new if the call to arv_camera_acquisition fails? Or could it be that the camera is ending in a weird state and that calling arv_camera_new fixes it somehow?
Is an ArvCamera instance supposed to be valid after a camera restart? After a network failure?