mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-09-05 11:37:49 +00:00
gst/gstpreset.c: Fix bogus warning and make the property type specific code more similar.
Original commit message from CVS: * gst/gstpreset.c: Fix bogus warning and make the property type specific code more similar.
This commit is contained in:
parent
2bcfd33b8a
commit
ec2279936a
2 changed files with 22 additions and 14 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2007-11-19 Stefan Kost <ensonic@users.sf.net>
|
||||||
|
|
||||||
|
* gst/gstpreset.c:
|
||||||
|
Fix bogus warning and make the property type specific code more
|
||||||
|
similar.
|
||||||
|
|
||||||
2007-11-19 Julien MOUTTE <julien@moutte.net>
|
2007-11-19 Julien MOUTTE <julien@moutte.net>
|
||||||
|
|
||||||
* gst/gstpreset.c: (gst_preset_default_create_preset): Make
|
* gst/gstpreset.c: (gst_preset_default_create_preset): Make
|
||||||
|
|
|
@ -351,9 +351,9 @@ gst_preset_default_load_preset (GstPreset * self, const gchar * name)
|
||||||
property->name);
|
property->name);
|
||||||
/* get base type */
|
/* get base type */
|
||||||
base = property->value_type;
|
base = property->value_type;
|
||||||
while ((parent = g_type_parent (base))) {
|
while ((parent = g_type_parent (base)))
|
||||||
base = parent;
|
base = parent;
|
||||||
}
|
|
||||||
switch (base) {
|
switch (base) {
|
||||||
case G_TYPE_INT:
|
case G_TYPE_INT:
|
||||||
case G_TYPE_UINT:
|
case G_TYPE_UINT:
|
||||||
|
@ -528,12 +528,12 @@ gst_preset_default_save_preset (GstPreset * self, const gchar * name)
|
||||||
|
|
||||||
/* get base type */
|
/* get base type */
|
||||||
base = property->value_type;
|
base = property->value_type;
|
||||||
while ((parent = g_type_parent (base))) {
|
while ((parent = g_type_parent (base)))
|
||||||
base = parent;
|
base = parent;
|
||||||
}
|
|
||||||
/* get value and serialize */
|
/* get value and serialize */
|
||||||
GST_INFO (" storing property: %s (type is %s)", property->name,
|
GST_INFO (" storing property: %s (type is %s)", property->name,
|
||||||
g_type_name (base));
|
g_type_name (base));
|
||||||
|
|
||||||
switch (base) {
|
switch (base) {
|
||||||
case G_TYPE_BOOLEAN:
|
case G_TYPE_BOOLEAN:
|
||||||
case G_TYPE_ENUM:
|
case G_TYPE_ENUM:
|
||||||
|
@ -768,7 +768,7 @@ gst_preset_default_create_preset (GstPreset * self)
|
||||||
{
|
{
|
||||||
GParamSpec **properties, *property;
|
GParamSpec **properties, *property;
|
||||||
guint i, number_of_properties;
|
guint i, number_of_properties;
|
||||||
GType param_type, base_type;
|
GType base, parent;
|
||||||
|
|
||||||
if ((properties =
|
if ((properties =
|
||||||
g_object_class_list_properties (G_OBJECT_CLASS (GST_OBJECT_GET_CLASS
|
g_object_class_list_properties (G_OBJECT_CLASS (GST_OBJECT_GET_CLASS
|
||||||
|
@ -794,15 +794,16 @@ gst_preset_default_create_preset (GstPreset * self)
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
GST_INFO ("property '%s' (GType=%lu)", property->name,
|
|
||||||
property->value_type);
|
|
||||||
|
|
||||||
param_type = property->value_type;
|
|
||||||
while ((base_type = g_type_parent (param_type)))
|
|
||||||
param_type = base_type;
|
|
||||||
|
|
||||||
rnd = ((gdouble) rand ()) / (RAND_MAX + 1.0);
|
rnd = ((gdouble) rand ()) / (RAND_MAX + 1.0);
|
||||||
switch (param_type) {
|
|
||||||
|
/* get base type */
|
||||||
|
base = property->value_type;
|
||||||
|
while ((parent = g_type_parent (base)))
|
||||||
|
base = parent;
|
||||||
|
GST_INFO ("set random value for property: %s (type is %s)",
|
||||||
|
property->name, g_type_name (base));
|
||||||
|
|
||||||
|
switch (base) {
|
||||||
case G_TYPE_BOOLEAN:{
|
case G_TYPE_BOOLEAN:{
|
||||||
g_object_set (self, property->name, (gboolean) (2.0 * rnd), NULL);
|
g_object_set (self, property->name, (gboolean) (2.0 * rnd), NULL);
|
||||||
}
|
}
|
||||||
|
@ -838,7 +839,8 @@ gst_preset_default_create_preset (GstPreset * self)
|
||||||
enum_class->minimum) * rnd)), NULL);
|
enum_class->minimum) * rnd)), NULL);
|
||||||
} break;
|
} break;
|
||||||
default:
|
default:
|
||||||
GST_WARNING ("unhandled GType=%lu", param_type);
|
GST_WARNING ("incomplete implementation for GParamSpec type '%s'",
|
||||||
|
G_PARAM_SPEC_TYPE_NAME (property));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* @todo: handle childproxy properties as well */
|
/* @todo: handle childproxy properties as well */
|
||||||
|
|
Loading…
Reference in a new issue