Commit b5f7e326e66ce9518255fce105e4d7bf534a5de1
* ext/gst-camerabin/gdigicam-camerabin.c:
(_g_digicam_camerabin_set_picture_metadata),
(_g_digicam_camerabin_set_video_metadata): Added support to
metadata keywords.
(_foreach_slist_add_keyword_tag): Added. Utility function to merge
into a tag list the keywords included in a GSList.
* ext/gst-camerabin/gdigicam-camerabin.h: Added a new member to
the GDigicamCamerabinMetadata structure in order to store a list
of keywords.
| |   |
| 2010-03-10 Andrés Gómez <agomez@igalia.com> |
|
| reviewed by: Antía Puentes <apuentes@igalia.com> |
|
| * ext/gst-camerabin/gdigicam-camerabin.c: |
| (_g_digicam_camerabin_set_picture_metadata), |
| (_g_digicam_camerabin_set_video_metadata): Added support to |
| metadata keywords. |
| (_foreach_slist_add_keyword_tag): Added. Utility function to merge |
| into a tag list the keywords included in a GSList. |
| * ext/gst-camerabin/gdigicam-camerabin.h: Added a new member to |
| the GDigicamCamerabinMetadata structure in order to store a list |
| of keywords. |
|
| 1 | 15 | 2010-02-10 Javier Fernández <jfernandez@igalia.com> |
| 2 | 16 | |
| 3 | 17 | reviewed by: Andrés Gómez <agomez@igalia.com> |
| |   |
| 165 | 165 | gpointer user_data); |
| 166 | 166 | static gboolean _g_digicam_camerabin_handle_sync_bus_message (GDigicamManager *manager, |
| 167 | 167 | gpointer user_data); |
| static void _foreach_slist_add_keyword_tag (gchar *keyword, GstTagList *list); |
| 168 | 169 | |
| 169 | 170 | |
| 170 | 171 | /**************************************************/ |
| … | … | |
| 2116 | 2116 | } |
| 2117 | 2117 | } |
| 2118 | 2118 | |
| /* Adding keyword metadata tags. */ |
| if (NULL != metadata->keywords) { |
| g_slist_foreach (metadata->keywords, |
| (GFunc) _foreach_slist_add_keyword_tag, |
| list); |
| } |
|
| 2119 | 2126 | /* Set metadata tags. */ |
| 2120 | 2127 | gst_tag_setter_merge_tags (setter, list, |
| 2121 | 2128 | GST_TAG_MERGE_REPLACE_ALL); |
| … | … | |
| 2243 | 2243 | NULL); |
| 2244 | 2244 | } |
| 2245 | 2245 | |
| /* Adding keyword metadata tags. */ |
| if (NULL != metadata->keywords) { |
| g_slist_foreach (metadata->keywords, |
| (GFunc) _foreach_slist_add_keyword_tag, |
| list); |
| } |
|
| 2246 | 2253 | /* Set metadata tags. */ |
| 2247 | 2254 | gst_tag_setter_merge_tags (setter, list, |
| 2248 | 2255 | GST_TAG_MERGE_REPLACE_ALL); |
| … | … | |
| 2954 | 2954 | |
| 2955 | 2955 | gst_object_unref (sender_elem); |
| 2956 | 2956 | g_object_unref (vsrc); |
| } |
|
|
| static void |
| _foreach_slist_add_keyword_tag (gchar *keyword, GstTagList *list) |
| { |
| g_assert (NULL != keyword); |
| g_assert (NULL != list); |
|
| gst_tag_list_add (list, |
| GST_TAG_MERGE_APPEND, |
| GST_TAG_KEYWORDS, |
| keyword, |
| NULL); |
| 2957 | 2971 | } |
| |   |
| 52 | 52 | * @latitude: Geolocation's latitude parameter. |
| 53 | 53 | * @altitude: Geolocation's altitude parameter. |
| 54 | 54 | * @orientation: Content orientation. |
| * @keywords: Keywords. |
| 55 | 56 | * |
| 56 | 57 | * Data structure with metadata information to be used during the |
| 57 | 58 | * capture operation. |
| … | … | |
| 69 | 69 | gdouble latitude; |
| 70 | 70 | gdouble altitude; |
| 71 | 71 | guint orientation; |
| GSList *keywords; |
| 72 | 73 | } GDigicamCamerabinMetadata; |
| 73 | 74 | |
| 74 | 75 | /*****************************************/ |