From: <tp...@fr...> - 2005-10-13 15:14:24
|
CVS Root: /cvs/gstreamer Module: gstreamer Changes by: tpm Date: Thu Oct 13 2005 08:13:44 PDT Log message: * docs/gst/gstreamer-sections.txt: * gst/gsttaglist.h: * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date), (gst_tag_list_get_date_index): Added gst_tag_list_get_date() and gst_tag_list_get_date_index(). GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777). Modified files: . : ChangeLog docs/gst : gstreamer-sections.txt gst : gsttaglist.c gsttaglist.h Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/ChangeLog.diff?r1=1.1720&r2=1.1721 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/docs/gst/gstreamer-sections.txt.diff?r1=1.196&r2=1.197 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gsttaglist.c.diff?r1=1.33&r2=1.34 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gsttaglist.h.diff?r1=1.24&r2=1.25 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gstreamer/ChangeLog,v retrieving revision 1.1720 retrieving revision 1.1721 diff -u -d -r1.1720 -r1.1721 --- ChangeLog 13 Oct 2005 14:55:17 -0000 1.1720 +++ ChangeLog 13 Oct 2005 15:13:32 -0000 1.1721 @@ -1,3 +1,12 @@ +2005-10-13 Tim-Philipp Müller <tim at centricular dot net> + + * docs/gst/gstreamer-sections.txt: + * gst/gsttaglist.h: + * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date), + (gst_tag_list_get_date_index): + Added gst_tag_list_get_date() and gst_tag_list_get_date_index(). + GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777). 2005-10-13 Julien MOUTTE <ju...@mo...> * gst/base/gstcollectpads.c: (gst_collectpads_event), Index: gstreamer-sections.txt RCS file: /cvs/gstreamer/gstreamer/docs/gst/gstreamer-sections.txt,v retrieving revision 1.196 retrieving revision 1.197 diff -u -d -r1.196 -r1.197 --- gstreamer-sections.txt 13 Oct 2005 09:57:14 -0000 1.196 +++ gstreamer-sections.txt 13 Oct 2005 15:13:32 -0000 1.197 @@ -1801,6 +1801,8 @@ gst_tag_list_get_string_index gst_tag_list_get_pointer gst_tag_list_get_pointer_index +gst_tag_list_get_date +gst_tag_list_get_date_index <SUBSECTION Standard> GST_TAG_LIST GST_IS_TAG_LIST Index: gsttaglist.c RCS file: /cvs/gstreamer/gstreamer/gst/gsttaglist.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- gsttaglist.c 8 Oct 2005 18:07:20 -0000 1.33 +++ gsttaglist.c 13 Oct 2005 15:13:32 -0000 1.34 @@ -95,9 +95,8 @@ G_TYPE_STRING, _("album"), _("album containing this data"), gst_tag_merge_strings_with_comma); - gst_tag_register (GST_TAG_DATE, GST_TAG_FLAG_META, G_TYPE_UINT, /* FIXME: own data type for dates? */ - _("date"), - _("date the data was created (in Julian calendar days)"), NULL); + gst_tag_register (GST_TAG_DATE, GST_TAG_FLAG_META, GST_TYPE_DATE, + _("date"), _("date the data was created (as a GDate structure)"), NULL); gst_tag_register (GST_TAG_GENRE, GST_TAG_FLAG_META, _("genre"), @@ -1272,3 +1271,61 @@ * given list. */ TAG_MERGE_FUNCS (string, gchar *) +/** + * gst_tag_list_get_date: + * @list: a #GStTagList to get the tag from + * @tag: tag to read out + * @value: location for the result + * + * Copies the contents for the given tag into the value, merging multiple values + * into one if multiple values are associated with the tag. + * Returns: TRUE, if a value was copied, FALSE if the tag didn't exist in the + * given list or if it was #NULL. + */ +gboolean +gst_tag_list_get_date (const GstTagList * list, const gchar * tag, + GDate ** value) +{ + GValue v = { 0, }; + g_return_val_if_fail (GST_IS_TAG_LIST (list), FALSE); + g_return_val_if_fail (tag != NULL, FALSE); + g_return_val_if_fail (value != NULL, FALSE); + if (!gst_tag_list_copy_value (&v, list, tag)) + return FALSE; + *value = (GDate *) g_value_dup_boxed (&v); + g_value_unset (&v); + return (*value != NULL); +} + * gst_tag_list_get_date_index: + * @index: number of entry to read out + * Gets the value that is at the given index for the given tag in the given + * list. +gst_tag_list_get_date_index (const GstTagList * list, + const gchar * tag, guint index, GDate ** value) + const GValue *v; + if ((v = gst_tag_list_get_value_index (list, tag, index)) == NULL) + *value = (GDate *) g_value_dup_boxed (v); Index: gsttaglist.h RCS file: /cvs/gstreamer/gstreamer/gst/gsttaglist.h,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- gsttaglist.h 12 Sep 2005 13:45:04 -0000 1.24 +++ gsttaglist.h 13 Oct 2005 15:13:32 -0000 1.25 @@ -220,6 +220,13 @@ const gchar * tag, guint index, gpointer * value); +gboolean gst_tag_list_get_date (const GstTagList * list, + const gchar * tag, + GDate ** value); +gboolean gst_tag_list_get_date_index (const GstTagList * list, + guint index, /* GStreamer core tags (need to be discussed) */ /** @@ -243,7 +250,7 @@ * GST_TAG_DATE: * - * date the data was created (in Julian calendar days) + * date the data was created (#GDate structure) #define GST_TAG_DATE "date" |