@@ -158,7 +158,12 @@
{GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS, "fireworks"},
{GST_PHOTOGRAPHY_SCENE_MODE_PARTY, "party"},
{GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT, "candlelight"},
- {GST_PHOTOGRAPHY_SCENE_MODE_BARCODE, "barcode"}
+ {GST_PHOTOGRAPHY_SCENE_MODE_BARCODE, "barcode"},
+ {GST_PHOTOGRAPHY_SCENE_MODE_ASD, "asd"},
+ {GST_PHOTOGRAPHY_SCENE_MODE_BACKLIGHT, "backlight"},
+ {GST_PHOTOGRAPHY_SCENE_MODE_FLOWERS, "flowers"},
+ {GST_PHOTOGRAPHY_SCENE_MODE_AR, "AR"},
+ {GST_PHOTOGRAPHY_SCENE_MODE_HDR, "hdr"}
};
struct DataEntry ColourToneValues[] = {
@@ -175,6 +180,9 @@
{GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD, "whiteboard"},
{GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD, "blackboard"},
{GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA, "aqua"},
+ {GST_PHOTOGRAPHY_COLOR_TONE_MODE_EMBOSS, "emboss"},
+ {GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKETCH, "sketch"},
+ {GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEON, "neon"}
};
struct DataEntry FlickerValues[] = {
@@ -599,6 +607,28 @@
{
/* not supported */
}
+
+ return TRUE;
+
+ case PROP_SUPPORTED_EXPOSURE_MODES:
+ {
+ int len = g_list_length (src->photo->scene);
+ if (len == 0) {
+ GST_WARNING_OBJECT (src, "params for scene not yet available.");
+ return TRUE;
+ }
+
+ struct DataEntry *entry;
+
+ GList *l;
+ gchar *modes = "";
+ for (l = src->photo->scene; l != NULL; l = l->next) {
+ entry = l->data;
+ modes = g_strconcat (modes, ",", entry->value, NULL);
+ }
+
+ g_value_set_string (value, modes);
+ }
return TRUE;
}
|
@@ -71,6 +71,7 @@
PROP_MAX_EXPOSURE_TIME,
PROP_NOISE_REDUCTION,
PROP_EXPOSURE_MODE,
+ PROP_SUPPORTED_EXPOSURE_MODES
} GstDroidCamSrcProperties;
void gst_droidcamsrc_photography_register (gpointer g_iface, gpointer iface_data);
|