From 9dc5c1ffb2b7b117636cd80acfde9fa41248eb3a Mon Sep 17 00:00:00 2001 From: Lasse Laukkanen Date: Mon, 20 Apr 2009 17:05:49 +0300 Subject: photography: add functions to set/get all settings with one call --- gst-libs/gst/interfaces/photography.c | 52 +++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'gst-libs/gst/interfaces/photography.c') diff --git a/gst-libs/gst/interfaces/photography.c b/gst-libs/gst/interfaces/photography.c index 4d62cf46..63f389ab 100644 --- a/gst-libs/gst/interfaces/photography.c +++ b/gst-libs/gst/interfaces/photography.c @@ -90,6 +90,8 @@ gst_photography_iface_init (GstPhotographyInterface * iface) iface->get_capabilities = NULL; iface->prepare_for_capture = NULL; iface->set_autofocus = NULL; + iface->set_config = NULL; + iface->get_config = NULL; } #define GST_PHOTOGRAPHY_FUNC_TEMPLATE(function_name, param_type) \ @@ -369,3 +371,53 @@ gst_photography_set_autofocus (GstPhotography * photo, gboolean on) iface->set_autofocus (photo, on); } } + +/** + * gst_photography_set_config: + * @photo: #GstPhotography interface of a #GstElement + * @config: #GstPhotoSettings containg the configuration + * + * Set all configuration settings at once. + * + * Returns: TRUE if configuration was set successfully, otherwise FALSE. + */ +gboolean +gst_photography_set_config (GstPhotography * photo, GstPhotoSettings *config) +{ + GstPhotographyInterface *iface; + gboolean ret = FALSE; + + g_return_val_if_fail (photo != NULL, FALSE); + + iface = GST_PHOTOGRAPHY_GET_IFACE (photo); + if (iface->set_config) { + ret = iface->set_config (photo, config); + } + + return ret; +} + +/** + * gst_photography_get_config: + * @photo: #GstPhotography interface of a #GstElement + * @config: #GstPhotoSettings containg the configuration + * + * Get all configuration settings at once. + * + * Returns: TRUE if configuration was got successfully, otherwise FALSE. + */ +gboolean +gst_photography_get_config (GstPhotography * photo, GstPhotoSettings * config) +{ + GstPhotographyInterface *iface; + gboolean ret = FALSE; + + g_return_val_if_fail (photo != NULL, FALSE); + + iface = GST_PHOTOGRAPHY_GET_IFACE (photo); + if (iface->get_config) { + ret = iface->get_config (photo, config); + } + + return ret; +} -- cgit v1.2.1