Commit graph

19 commits

Author SHA1 Message Date
Stefan Sauer
5e4c13fc97 controller: constructures for control sources return GstControlSource
Don't return the specific types. In most cases there is no specific api there
anyway.
2012-01-31 12:29:52 +01:00
Stefan Sauer
4deaf9b8be controller: rename control-bindings
gst_control_binding_xxx -> gst_xxx_control_binding for consistency.
2012-01-30 21:18:57 +01:00
Stefan Sauer
b23977cb93 controller: allow different controlbindings
Make controlbinding an abstract baseclass. Move implementation to control-
binding-direct and add a control-binding-argb. Add an example.
2012-01-23 11:03:43 +01:00
Stefan Sauer
dd9f0481ea controller: improve control binding handling
Change _set_control_binding to _add_control_binding and take ownership. Add a
_remove_control_binding function.
2012-01-20 14:42:31 +01:00
Stefan Sauer
c227d51fa9 controller: remove convenience api for control sources
This is needed to support multiple kinds of control-bindings.
2012-01-20 11:31:23 +01:00
Stefan Sauer
35b817ad48 audio-example: fix the example
We need to scale the frequency values.
2012-01-01 18:34:12 +01:00
Stefan Sauer
fcef8d8046 control-sources: turn into GstObjects
This is a preparation for chaining them.
2011-12-31 09:57:49 +01:00
Stefan Sauer
39d6b7462f controller: move GValue handling from control-sources to -binding
ControlSources are now gdouble based. A control source is mapped to a
particullar GObject property using a ControlBinding.
2011-12-25 20:48:14 +01:00
Stefan Sauer
503b739b23 controller: cleanup interpolation modes
Remove deprecated/unimplemented modes. Turn interpolation mode into a gobject
property. Update docs and examples.
2011-12-19 23:36:26 +01:00
Stefan Sauer
2c7a8b924a controlsources: refactor interpolation control source
Move most of the code to a GstTimedValueControlSource. Split out the trigger
'interpolation mode' to a new control source class. Move tests and examples to
new api. Update docs.

Fixes #610338
2011-12-19 22:52:30 +01:00
Stefan Sauer
faf31366ab controller: remove functions to add/remove controlled properties
Make that implizit with attaching/detaching controlsources. This is a lot easier
and has less invalid state (controlled property without control source).
2011-11-14 10:02:55 +01:00
Stefan Sauer
a1599f5f7e controller: merge controller into gstobject
This make the controller even more lightweight (no extra object, no extra lock,
less indirections). For object that don't use the controller the only 'overhead'
is a 3 unused fields in the gst_object structure.
2011-11-10 22:47:07 +02:00
Stefan Sauer
b5d35e2acb controller: port to new controller api 2011-11-04 20:11:51 +01:00
Stefan Kost
89cefd8b59 example: unref the clock id 2009-08-06 15:30:32 +03:00
Stefan Kost
1234000942 controller: add more error handling to example 2009-05-22 23:52:42 +03:00
Sebastian Dröge
286cd75855 libs/gst/controller/: API: Refactor GstController into the core controller which can take a GstControlSource for prov...
Original commit message from CVS:
Reviewed by: Stefan Kost <ensonic@users.sf.net>
* libs/gst/controller/Makefile.am:
* libs/gst/controller/gstcontroller.c:
(gst_controlled_property_add_interpolation_control_source),
(gst_controlled_property_new), (gst_controlled_property_free),
(gst_controller_find_controlled_property),
(gst_controller_new_valist), (gst_controller_new_list),
(gst_controller_new), (gst_controller_remove_properties_valist),
(gst_controller_remove_properties_list),
(gst_controller_remove_properties),
(gst_controller_set_property_disabled),
(gst_controller_set_disabled), (gst_controller_set_control_source),
(gst_controller_get_control_source), (gst_controller_get),
(gst_controller_sync_values), (gst_controller_get_value_array),
(_gst_controller_dispose), (gst_controller_get_type),
(gst_controlled_property_set_interpolation_mode),
(gst_controller_set), (gst_controller_set_from_list),
(gst_controller_unset), (gst_controller_unset_all),
(gst_controller_get_all), (gst_controller_set_interpolation_mode):
* libs/gst/controller/gstcontroller.h:
* libs/gst/controller/gstcontrollerprivate.h:
* libs/gst/controller/gstcontrolsource.c:
(gst_control_source_class_init), (gst_control_source_init),
(gst_control_source_get_value),
(gst_control_source_get_value_array), (gst_control_source_bind):
* libs/gst/controller/gstcontrolsource.h:
* libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
(gst_object_get_control_source):
* libs/gst/controller/gstinterpolation.c:
(gst_interpolation_control_source_find_control_point_node),
(gst_interpolation_control_source_get_first_value),
(_interpolate_none_get), (interpolate_none_get),
(interpolate_none_get_boolean_value_array),
(interpolate_none_get_enum_value_array),
(interpolate_none_get_string_value_array),
(_interpolate_trigger_get), (interpolate_trigger_get),
(interpolate_trigger_get_boolean_value_array),
(interpolate_trigger_get_enum_value_array),
(interpolate_trigger_get_string_value_array):
* libs/gst/controller/gstinterpolationcontrolsource.c:
(gst_control_point_free), (gst_interpolation_control_source_reset),
(gst_interpolation_control_source_new),
(gst_interpolation_control_source_set_interpolation_mode),
(gst_interpolation_control_source_bind),
(gst_control_point_compare), (gst_control_point_find),
(gst_interpolation_control_source_set_internal),
(gst_interpolation_control_source_set),
(gst_interpolation_control_source_set_from_list),
(gst_interpolation_control_source_unset),
(gst_interpolation_control_source_unset_all),
(gst_interpolation_control_source_get_all),
(gst_interpolation_control_source_get_count),
(gst_interpolation_control_source_init),
(gst_interpolation_control_source_finalize),
(gst_interpolation_control_source_dispose),
(gst_interpolation_control_source_class_init):
* libs/gst/controller/gstinterpolationcontrolsource.h:
* libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
API: Refactor GstController into the core controller which can take
a GstControlSource for providing actual values for timestamps.
Implement a interpolation control source and use this for backward
compatibility, deprecate a bunch of functions that are now handled
by GstControlSource or GstInterpolationControlSource.
Make it possible to disable the controller completely or only for
specific properties. Fixes #450711.
* docs/libs/gstreamer-libs-docs.sgml:
* docs/libs/gstreamer-libs-sections.txt:
* docs/libs/gstreamer-libs.types:
Add new functions and classes to the docs.
* tests/check/libs/controller.c: (GST_START_TEST),
(gst_controller_suite):
* tests/examples/controller/audio-example.c: (main):
Port unit test and example to the new API and add some new
unit tests.
2007-07-06 21:50:02 +00:00
Stefan Kost
3b43fd8d3c tests/examples/controller/audio-example.c: Improve comment and test commit mail sending.
Original commit message from CVS:
* tests/examples/controller/audio-example.c:
Improve comment and test commit mail sending.
2007-06-07 14:12:07 +00:00
Stefan Kost
a84923e6cc tests/examples/: convert comments again
Original commit message from CVS:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/launch/Makefile.am:
convert comments again
2005-12-12 14:46:06 +00:00
Stefan Kost
7c17de8f03 applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
Renamed from tests/old/examples/controller/audio-example.c (Browse further)