mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-21 07:46:38 +00:00
24 lines
823 B
C
24 lines
823 B
C
|
/* 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 ("%lld", 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?");
|
||
|
}
|
||
|
}
|
||
|
|