niimaqdxsrc: try and reset camera if open fails

This commit is contained in:
Joshua M. Doe 2016-11-02 08:16:55 -04:00
parent 0b3cd2af14
commit 8a75099778

View File

@ -964,6 +964,14 @@ gst_niimaqdxsrc_start (GstBaseSrc * bsrc)
GST_LOG_OBJECT (src, "Opening IMAQ interface: %s", src->device_name); GST_LOG_OBJECT (src, "Opening IMAQ interface: %s", src->device_name);
/* open IMAQ interface */ /* open IMAQ interface */
rval = IMAQdxOpenCamera (src->device_name,
IMAQdxCameraControlModeController, &src->session);
if (rval != IMAQdxErrorSuccess) {
gst_niimaqdxsrc_report_imaq_error (rval);
GST_WARNING_OBJECT (src, "Failed to open camera '%s', will try resetting.",
src->device_name);
rval = IMAQdxResetCamera (src->device_name, FALSE);
rval = IMAQdxOpenCamera (src->device_name, rval = IMAQdxOpenCamera (src->device_name,
IMAQdxCameraControlModeController, &src->session); IMAQdxCameraControlModeController, &src->session);
if (rval != IMAQdxErrorSuccess) { if (rval != IMAQdxErrorSuccess) {
@ -973,6 +981,7 @@ gst_niimaqdxsrc_start (GstBaseSrc * bsrc)
("Failed to open camera interface %s", src->device_name)); ("Failed to open camera interface %s", src->device_name));
goto error; goto error;
} }
}
gst_niimaqdxsrc_list_attributes (src); gst_niimaqdxsrc_list_attributes (src);