Behaviour of InterpolationControlSource with properties that span +-INT_MAX

Adrian Pardini listas at tangopardo.com.ar
Mon Aug 5 08:24:00 PDT 2013


Hello all,

I'm trying to animate the xpos and ypos of a videomixer pad but they
are always mapped from [0,1] to either -2147483648 or
2147483647 and nothing in between.

I've chased it to the macro definitions of convert_g_value_to_##type
and convert_value_to_##type in gstdirectcontrolbinding.c where the
expression

v = pspec->minimum + (g##type) ROUNDING_OP ((pspec->maximum -
pspec->minimum) * s);

results in:

v = -2147483648 + (g##type) ROUNDING_OP ((-1) * s);

because 2147483647 - (-2147483648) overflows to -1;

Currently I sidestepped it changing the property definitions inside
videomixer because I'm not sure about how to fix it in a generic way
that doesn't break everything else.

I'm using gstreamer from git, last commit in my tree is
0b068047354692442aa49bc418b398d2636facf3

best regards


--
Adrian.
http://ovejafm.com
http://elesquinazotango.com.ar
http://www.elarteylatecnologia.com.ar


More information about the gstreamer-devel mailing list