Add function to get uint from a structure.

Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gststructure.c: (gst_structure_get_uint):
* gst/gststructure.h:
Add function to get uint from a structure.
API: gst_structure_get_uint()
This commit is contained in:
Wim Taymans 2007-08-12 16:40:59 +00:00
parent 3fb7bda332
commit 66fd1a0839
4 changed files with 48 additions and 0 deletions

View file

@ -1,3 +1,11 @@
2007-08-12 Wim Taymans <wim.taymans@gmail.com>
* docs/gst/gstreamer-sections.txt:
* gst/gststructure.c: (gst_structure_get_uint):
* gst/gststructure.h:
Add function to get uint from a structure.
API: gst_structure_get_uint()
2007-08-12 Wim Taymans <wim.taymans@gmail.com>
* gst/gstcaps.c: (gst_caps_set_simple_valist),

View file

@ -1768,6 +1768,7 @@ gst_structure_has_field
gst_structure_has_field_typed
gst_structure_get_boolean
gst_structure_get_int
gst_structure_get_uint
gst_structure_get_fourcc
gst_structure_get_double
gst_structure_get_string

View file

@ -1042,6 +1042,42 @@ gst_structure_get_int (const GstStructure * structure,
return TRUE;
}
/**
* gst_structure_get_uint:
* @structure: a #GstStructure
* @fieldname: the name of a field
* @value: a pointer to a uint to set
*
* Sets the uint pointed to by @value corresponding to the value of the
* given field. Caller is responsible for making sure the field exists
* and has the correct type.
*
* Returns: %TRUE if the value could be set correctly. If there was no field
* with @fieldname or the existing field did not contain a uint, this function
* returns %FALSE.
*/
gboolean
gst_structure_get_uint (const GstStructure * structure,
const gchar * fieldname, guint * value)
{
GstStructureField *field;
g_return_val_if_fail (structure != NULL, FALSE);
g_return_val_if_fail (fieldname != NULL, FALSE);
g_return_val_if_fail (value != NULL, FALSE);
field = gst_structure_get_field (structure, fieldname);
if (field == NULL)
return FALSE;
if (!G_VALUE_HOLDS_UINT (&field->value))
return FALSE;
*value = g_value_get_uint (&field->value);
return TRUE;
}
/**
* gst_structure_get_fourcc:
* @structure: a #GstStructure

View file

@ -167,6 +167,9 @@ gboolean gst_structure_get_boolean (const GstStructure
gboolean gst_structure_get_int (const GstStructure *structure,
const gchar *fieldname,
gint *value);
gboolean gst_structure_get_uint (const GstStructure *structure,
const gchar *fieldname,
guint *value);
gboolean gst_structure_get_fourcc (const GstStructure *structure,
const gchar *fieldname,
guint32 *value);