|
|
2010-04-08
, 15:42
|
|
Posts: 5 |
Thanked: 1 time |
Joined on Apr 2010
|
#2
|
|
|
2010-04-12
, 17:32
|
|
Posts: 61 |
Thanked: 77 times |
Joined on Dec 2009
@ Lancaster
|
#3
|
|
|
2010-04-12
, 17:36
|
|
Posts: 61 |
Thanked: 77 times |
Joined on Dec 2009
@ Lancaster
|
#4
|
żDo you know how to obtain the focal distance to the objetive? or in other case, how can be changed the zone wheres is the autofocus applied? For example, If I want to focus one object in the corner that isn't in the center or isn't the nearest object, how can we do that?
Thanks in advance!
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.
Any suggestions,
PS: I opened the same thread on Forum Nokia.
Thanks,
Klen
photogrpahy.h
My Code
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)); printf("Message: %s\n",message_str); GType focusStatus= gst_focus_status_get_type(); switch(GstFocusStatus (focusStatus)){ case GST_PHOTOGRAPHY_FOCUS_STATUS_NONE: printf("NONE\n"); case GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING: printf("RUNNINF\n"); case GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL: printf("FAILE\n"); case GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS: printf("SUCCESS\n"); break; } return TRUE; }Last edited by klen; 2010-04-12 at 17:30.