Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add arv_camera_get_frame_rate_enable method. #878

Merged
merged 1 commit into from
Mar 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions src/arvcamera.c
Original file line number Diff line number Diff line change
Expand Up @@ -1353,6 +1353,55 @@ arv_camera_set_frame_rate_enable(ArvCamera *camera, gboolean enable, GError **er
}
}

/**
* arv_camera_get_frame_rate_enable:
* @camera: an #ArvCamera
* @error: a #GError placeholer, %NULL to ignore
*
* Returns: whether the upper frame rate limit is enabled.
*
* Implements vendor specific quirks if needed.
* Since: 0.8.31
*/

gboolean arv_camera_get_frame_rate_enable(ArvCamera* camera, GError** error)
{
ArvCameraPrivate* priv = arv_camera_get_instance_private(camera);

g_return_val_if_fail(ARV_IS_CAMERA(camera), TRUE);

switch (priv->vendor)
{
case ARV_CAMERA_VENDOR_POINT_GREY_FLIR:
return arv_camera_get_boolean(camera,
priv->has_acquisition_frame_rate_enabled
? "AcquisitionFrameRateEnabled"
: "AcquisitionFrameRateEnable",
error);
case ARV_CAMERA_VENDOR_BASLER:
case ARV_CAMERA_VENDOR_DALSA:
case ARV_CAMERA_VENDOR_RICOH:
case ARV_CAMERA_VENDOR_XIMEA:
case ARV_CAMERA_VENDOR_MATRIX_VISION:
case ARV_CAMERA_VENDOR_IMPERX:
case ARV_CAMERA_VENDOR_UNKNOWN:
if (arv_camera_is_feature_available(camera, "AcquisitionFrameRateEnable", error))
{
if (error != NULL)
{
return TRUE;
}
return arv_camera_get_boolean(camera, "AcquisitionFrameRateEnable", error);
}
case ARV_CAMERA_VENDOR_PROSILICA:
case ARV_CAMERA_VENDOR_TIS:
default:
break; /* No specific frame rate enable code */
}

return TRUE;
}

/**
* arv_camera_set_trigger:
* @camera: a #ArvCamera
Expand Down
3 changes: 2 additions & 1 deletion src/arvcamera.h
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ ARV_API ArvAcquisitionMode arv_camera_get_acquisition_mode (ArvCamera *camera, G
ARV_API void arv_camera_set_frame_count (ArvCamera *camera, gint64 frame_count, GError **error);
ARV_API gint64 arv_camera_get_frame_count (ArvCamera *camera, GError **error);
ARV_API void arv_camera_get_frame_count_bounds (ArvCamera *camera, gint64 *min, gint64 *max, GError **error);
ARV_API void arv_camera_set_frame_rate_enable (ArvCamera *camera, gboolean enable, GError **error);
ARV_API gboolean arv_camera_get_frame_rate_enable (ArvCamera *camera, GError **error);
ARV_API void arv_camera_set_frame_rate_enable (ArvCamera *camera, gboolean enable, GError **error);

ARV_API gboolean arv_camera_is_frame_rate_available (ArvCamera *camera, GError **error);

Expand Down
Loading