From 3d71df23b0eb4386caafc3175bd13900978a17f4 Mon Sep 17 00:00:00 2001 From: Stefan Sauer Date: Sun, 25 Dec 2011 20:49:41 +0100 Subject: [PATCH] docs: add the start of a design document for controller --- docs/design/part-controller.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 docs/design/part-controller.txt diff --git a/docs/design/part-controller.txt b/docs/design/part-controller.txt new file mode 100644 index 0000000..6817b0d --- /dev/null +++ b/docs/design/part-controller.txt @@ -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. + -- 2.7.4