libs/gst/controller/: Factor out the 'set' logic into gst_controller_set_unlocked...
authorSebastian Dröge <slomo@circular-chaos.org>
Wed, 6 Jun 2007 14:01:56 +0000 (14:01 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Wed, 6 Jun 2007 14:01:56 +0000 (14:01 +0000)
commitc478fb4813c7b74a68e7ba5995001fad3a741536
tree165a128d4a5e71b2a87b8613b593f8ba6a8cdeab
parentce5a853516cf131de900dd3d0fe8ae87ee8b2a16
libs/gst/controller/: Factor out the 'set' logic into gst_controller_set_unlocked for the gst_controller_set and gst_...

Original commit message from CVS:
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_set_interpolation_mode),
(gst_controlled_property_prepend_default),
(gst_controlled_property_new), (gst_controller_set_unlocked),
(gst_controller_set), (gst_controller_set_from_list),
(gst_controller_unset), (gst_controller_unset_all):
* libs/gst/controller/gstcontrollerprivate.h:
* libs/gst/controller/gstinterpolation.c:
Factor out the 'set' logic into gst_controller_set_unlocked for the
gst_controller_set and gst_controller_set_from_list functions.
To make life of the interpolators easier always add a control point
at timestamp zero with the default value.
In the linear interpolator make things more obvious by better variable
naming (slope).
Implement cubic interpolation mode (by using a natural cubic spline)
and map the quadratic interpolation mode to this too (as quadratic
doesn't make much sense, see discussion on the list).
* tests/check/libs/controller.c: (GST_START_TEST),
(gst_controller_suite):
Add unit test for the cubic interpolation mode and check everywhere
if the interpolation mode could be set as expected.
ChangeLog
libs/gst/controller/gstcontroller.c
libs/gst/controller/gstcontrollerprivate.h
libs/gst/controller/gstinterpolation.c
tests/check/libs/controller.c