Acquisition fails if the camera is not used during some time


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?

Thank you

I have the same basic question.