gstreamer/testsuite/elements/property.h

24 lines
836 B
C
Raw Normal View History

/* extracted from gst-launch */
static void
property_change_callback (GObject *object, GstObject *orig, GParamSpec *pspec)
{
GValue value = { 0, }; /* the important thing is that value.type = 0 */
gchar *str = 0;
if (pspec->flags & G_PARAM_READABLE) {
g_value_init(&value, G_PARAM_SPEC_VALUE_TYPE (pspec));
g_object_get_property (G_OBJECT (orig), pspec->name, &value);
/* fix current bug with g_strdup_value_contents not working with gint64 */
if (G_IS_PARAM_SPEC_INT64 (pspec))
str = g_strdup_printf ("%" G_GINT64_FORMAT, g_value_get_int64 (&value));
else
str = g_strdup_value_contents (&value);
g_print ("%s: %s = %s\n", GST_OBJECT_NAME (orig), pspec->name, str);
g_free (str);
g_value_unset(&value);
} else {
g_warning ("Parameter not readable. What's up with that?");
}
}