summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/interfaces/photography.c
diff options
context:
space:
mode:
authorLasse Laukkanen <ext-lasse.2.laukkanen@nokia.com>2009-04-20 17:05:49 +0300
committerStefan Kost <ensonic@users.sf.net>2009-06-05 15:51:30 +0300
commit9dc5c1ffb2b7b117636cd80acfde9fa41248eb3a (patch)
tree6c19c837f73de6a4072f903c76d83fd63d519ede /gst-libs/gst/interfaces/photography.c
parent53e6e4b0d5b7e17ac8b1a2d96d39ad38dc41bad7 (diff)
downloadgst-plugins-bad-9dc5c1ffb2b7b117636cd80acfde9fa41248eb3a.tar.gz
gst-plugins-bad-9dc5c1ffb2b7b117636cd80acfde9fa41248eb3a.tar.bz2
gst-plugins-bad-9dc5c1ffb2b7b117636cd80acfde9fa41248eb3a.zip
photography: add functions to set/get all settings with one call
Diffstat (limited to 'gst-libs/gst/interfaces/photography.c')
-rw-r--r--gst-libs/gst/interfaces/photography.c52
1 files changed, 52 insertions, 0 deletions
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;
+}