Since
acdb4ce03d525a18f6c351a040b8446c7bbd98bd , parsing of the
value for a property can use the pspec to determine what type
a value should be casted to.
However, this broke the case where the value is explicitly casted
to a type (eg <(float) 0.0>). In that situation, we want to respect
the casting decision, and only use the pspec to perform "implicit"
casts.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/881
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/772>
/* check if there's a (type_name) 'cast' */
type_name = NULL;
- if (pspec) {
- type = G_PARAM_SPEC_VALUE_TYPE (pspec);
- } else if (*s == '(') {
+ if (*s == '(') {
s++;
while (g_ascii_isspace (*s))
s++;
GST_WARNING ("invalid type");
return FALSE;
}
+ } else if (pspec) {
+ type = G_PARAM_SPEC_VALUE_TYPE (pspec);
}
while (g_ascii_isspace (*s))