I am trying to use autofocus functionality of gst/interfaces/photography.h. I manage to activate the autofocus by calling gst_photography_set_autofocus() on my camer source, however, I also want to trace the progress of autofocusing state(i.e running, success, fail, done). I created a GstBus element, added a watch to camera source and expected GstMessage "autofocus-done" in my bus_callback function. On capture of this message, I planned to check if the focusing was successfull or not, by fetching GstFocusState variable, with calling gst_focus_status_get_type().
The problem is that the "autofocus-done" message was never received. The gst_message_type_get_name function always returned string "unknown". I guess I am making a fundamental mistake somewhere as I found clear evidence of support for this feature in "photography.h" file. I was also not successful in calling gst_focus_status_get_type() function to get the focus state.
Custom GstMessage name that will be sent to GstBus when autofocusing is complete */
#define GST_PHOTOGRAPHY_AUTOFOCUS_DONE "autofocus-done"
gboolean CameraN900::initialize_pipeline(int *argc, char ***argv)
pipeline = gst_pipeline_new("test-camera");
bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline));
gst_bus_add_watch(bus, (GstBusFunc)bus_callback, camera_src);
gboolean CameraN900::bus_callback (GstMessage * message)
const gchar *message_str;
message_str = gst_message_type_get_name(GST_MESSAGE_TYPE (message));
GType focusStatus= gst_focus_status_get_type();