#ifndef __GST_TAGLIST_H__
#define __GST_TAGLIST_H__
+#include <gst/gstdatetime.h>
#include <gst/gstbuffer.h>
#include <gst/gststructure.h>
#include <gst/glib-compat.h>
/* basic tag support */
gboolean gst_tag_exists (const gchar * tag);
GType gst_tag_get_type (const gchar * tag);
-G_CONST_RETURN gchar * gst_tag_get_nick (const gchar * tag);
-G_CONST_RETURN gchar * gst_tag_get_description (const gchar * tag);
+const gchar * gst_tag_get_nick (const gchar * tag);
+const gchar * gst_tag_get_description (const gchar * tag);
GstTagFlag gst_tag_get_flag (const gchar * tag);
gboolean gst_tag_is_fixed (const gchar * tag);
GstTagForeachFunc func,
gpointer user_data);
-G_CONST_RETURN GValue *
+const GValue *
gst_tag_list_get_value_index (const GstTagList * list,
const gchar * tag,
guint index);
const gchar * tag,
guint index,
gchar ** value);
+gboolean gst_tag_list_peek_string_index (const GstTagList * list,
+ const gchar * tag,
+ guint index,
+ const gchar ** value);
gboolean gst_tag_list_get_pointer (const GstTagList * list,
const gchar * tag,
gpointer * value);
const gchar * tag,
guint index,
GDate ** value);
+gboolean gst_tag_list_get_date_time (const GstTagList * list,
+ const gchar * tag,
+ GstDateTime ** value);
+gboolean gst_tag_list_get_date_time_index (const GstTagList * list,
+ const gchar * tag,
+ guint index,
+ GstDateTime ** value);
gboolean gst_tag_list_get_buffer (const GstTagList * list,
const gchar * tag,
GstBuffer ** value);
*/
#define GST_TAG_DATE "date"
/**
+ * GST_TAG_DATE_TIME:
+ *
+ * date and time the data was created (#GstDateTime structure)
+ *
+ * Since: 0.10.31
+ */
+#define GST_TAG_DATE_TIME "datetime"
+/**
* GST_TAG_GENRE:
*
* genre this data belongs to (string)
*/
#define GST_TAG_COPYRIGHT_URI "copyright-uri"
/**
+ * GST_TAG_ENCODED_BY:
+ *
+ * name of the person or organisation that encoded the file. May contain a
+ * copyright message if the person or organisation also holds the copyright
+ * (string)
+ *
+ * Note: do not use this field to describe the encoding application. Use
+ * #GST_TAG_APPLICATION_NAME or #GST_TAG_COMMENT for that.
+ *
+ * Since: 0.10.33
+ */
+#define GST_TAG_ENCODED_BY "encoded-by"
+/**
* GST_TAG_CONTACT:
*
* contact information (string)
/**
* GST_TAG_NOMINAL_BITRATE:
*
- * nominal bitrate in bits/s (unsigned integer)
+ * nominal bitrate in bits/s (unsigned integer). The actual bitrate might be
+ * different from this target bitrate.
*/
#define GST_TAG_NOMINAL_BITRATE "nominal-bitrate"
/**
*/
#define GST_TAG_GEO_LOCATION_SUBLOCATION "geo-location-sublocation"
/**
+ * GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR:
+ *
+ * Represents the expected error on the horizontal positioning in
+ * meters (double).
+ *
+ * Since: 0.10.31
+ */
+#define GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR "geo-location-horizontal-error"
+/**
* GST_TAG_GEO_LOCATION_MOVEMENT_SPEED:
*
* Speed of the capturing device when performing the capture.
* Since: 0.10.30
*/
#define GST_TAG_DEVICE_MODEL "device-model"
+/**
+ * GST_TAG_APPLICATION_NAME:
+ *
+ * Name of the application used to create the media (string)
+ *
+ * Since: 0.10.31
+ */
+#define GST_TAG_APPLICATION_NAME "application-name"
+/**
+ * GST_TAG_APPLICATION_DATA:
+ *
+ * Arbitrary application data (buffer)
+ *
+ * Some formats allow application's to add their own arbitrary data
+ * into files. This data is application's dependent.
+ *
+ * Since: 0.10.31
+ */
+#define GST_TAG_APPLICATION_DATA "application-data"
+/**
+ * GST_TAG_IMAGE_ORIENTATION:
+ *
+ * Represents the 'Orientation' tag from EXIF. Defines how the image
+ * should be rotated and mirrored for display. (string)
+ *
+ * This tag has a predefined set of allowed values:
+ * "rotate-0"
+ * "rotate-90"
+ * "rotate-180"
+ * "rotate-270"
+ * "flip-rotate-0"
+ * "flip-rotate-90"
+ * "flip-rotate-180"
+ * "flip-rotate-270"
+ *
+ * The naming is adopted according to a possible transformation to perform
+ * on the image to fix its orientation, obviously equivalent operations will
+ * yield the same result.
+ *
+ * Rotations indicated by the values are in clockwise direction and
+ * 'flip' means an horizontal mirroring.
+ *
+ * Since: 0.10.30
+ */
+#define GST_TAG_IMAGE_ORIENTATION "image-orientation"
G_END_DECLS