AravisProject / aravis

A vision library for genicam based cameras
GNU Lesser General Public License v2.1
840 stars 316 forks source link

No buffer timestamp with arv_stream_timeout_pop_buffer() ? #887

Open horchler opened 3 months ago

horchler commented 3 months ago

Describe the bug When using arv_stream_pop_buffer a subsequent call to arv_buffer_get_timestamp returns a valid timestamp. But when using arv_stream_timeout_pop_buffer a subsequent call to arv_buffer_get_timestamp returns 0. Is this expected behavior or is it somehow device-specific?

To Reproduce

...
buffer = arv_stream_pop_buffer (stream);
if (ARV_IS_BUFFER (buffer)) {
   if (arv_buffer_get_status (buffer) == ARV_BUFFER_STATUS_SUCCESS) {
      time_stamp = arv_buffer_get_timestamp (buffer); // returns valid timestamp
      ...
   }
}
...

vs.

...
buffer = arv_stream_timeout_pop_buffer (stream, timeout);
if (ARV_IS_BUFFER (buffer)) {
   if (arv_buffer_get_status (buffer) == ARV_BUFFER_STATUS_SUCCESS) {
      time_stamp = arv_buffer_get_timestamp (buffer); // returns 0
      ...
   }
}
...

Expected behavior I expected a valid timestamp to be returned. Workaround is to use arv_buffer_get_system_timestamp if needed but would prefer to the buffer timestamp.

Camera description:

Platform description:

Additional context N/A