gentlsrc: fix bug where two devices wouldn't be found on the same interface

This commit is contained in:
Joshua M. Doe 2021-11-10 10:20:34 -05:00
parent 260c09b1be
commit 1bab9b907b

View File

@ -734,6 +734,7 @@ gst_gentl_print_device_info (GstGenTlSrc * src, uint32_t index)
gint32 access_status; gint32 access_status;
INFO_DATATYPE datatype; INFO_DATATYPE datatype;
str_size = GTL_MAX_STR_SIZE;
ret = GTL_IFGetDeviceID (src->hIF, index, dev_id, &str_size); ret = GTL_IFGetDeviceID (src->hIF, index, dev_id, &str_size);
if (ret != GC_ERR_SUCCESS) { if (ret != GC_ERR_SUCCESS) {
GST_WARNING_OBJECT (src, "Failed to get device id: %s", GST_WARNING_OBJECT (src, "Failed to get device id: %s",
@ -1245,6 +1246,7 @@ gst_gentlsrc_start (GstBaseSrc * bsrc)
ret = GTL_IFGetNumDevices (src->hIF, &num_devs); ret = GTL_IFGetNumDevices (src->hIF, &num_devs);
HANDLE_GTL_ERROR ("Failed to get number of devices"); HANDLE_GTL_ERROR ("Failed to get number of devices");
if (num_devs > 0) { if (num_devs > 0) {
GST_DEBUG_OBJECT (src, "Found %d devices on interface", num_devs);
for (i = 0; i < num_devs; ++i) { for (i = 0; i < num_devs; ++i) {
gst_gentl_print_device_info (src, i); gst_gentl_print_device_info (src, i);
} }
@ -1523,7 +1525,8 @@ gst_gentlsrc_start (GstBaseSrc * bsrc)
src->gst_stride = src->gst_stride =
gst_genicam_pixel_format_get_stride (genicam_pixfmt, G_LITTLE_ENDIAN, gst_genicam_pixel_format_get_stride (genicam_pixfmt, G_LITTLE_ENDIAN,
width); width);
GST_DEBUG_OBJECT (src, "Height=%d, stride=%d", src->height, src->gst_stride); GST_DEBUG_OBJECT (src, "Height=%d, stride=%d", src->height,
src->gst_stride);
} }
if (!gst_gentlsrc_prepare_buffers (src)) { if (!gst_gentlsrc_prepare_buffers (src)) {