docs: add the start of a design document for controller
authorStefan Sauer <ensonic@users.sf.net>
Sun, 25 Dec 2011 19:49:41 +0000 (20:49 +0100)
committerStefan Sauer <ensonic@users.sf.net>
Sun, 25 Dec 2011 20:28:04 +0000 (21:28 +0100)
docs/design/part-controller.txt [new file with mode: 0644]

diff --git a/docs/design/part-controller.txt b/docs/design/part-controller.txt
new file mode 100644 (file)
index 0000000..6817b0d
--- /dev/null
@@ -0,0 +1,23 @@
+Controller
+----------
+
+The controller subsystem allows to automate element property changes. It works
+so that all parameter changes are time based and elements request property
+updates at processing time.
+
+Element view
+~~~~~~~~~~~~
+Elements don't need to do much. They need to:
+- mark object properties that can be changed while processing with
+  GST_PARAM_CONTROLLABLE
+- call gst_object_sync_values (self, timestamp) in the processing function
+  before accessing the parameters.
+
+Application view
+~~~~~~~~~~~~~~~~
+Application need to setup the property automation. For that they need to create
+a GstControlSource and attach it to a property using GstControlBinding. Various
+control-sources and control-bindings exists. All control sources produce control
+value sequences in the form of gdouble values. The control bindings map them to
+the value range and type of the bound property.
+