--- /dev/null
+#!/usr/bin/env python
+# -*- Mode: Python -*-
+# vi:si:et:sw=4:sts=4:ts=4
+
+# videomixer-controller.py
+# (c) 2008 Stefan Kost <ensonic@users.sf.net>
+# Test case for the GstController using videomixer and videotestsrc
+
+import pygst
+pygst.require('0.10')
+import gst
+import time
+
+def main():
+ pipeline = gst.Pipeline("videocontroller")
+ src = gst.element_factory_make("videotestsrc", "src")
+ mix = gst.element_factory_make("videomixer", "mix")
+ conv = gst.element_factory_make("ffmpegcolorspace", "conv")
+ sink = gst.element_factory_make("autovideosink", "sink")
+ pipeline.add(src, mix, conv, sink)
+
+ spad = src.get_static_pad('src')
+ dpad = mix.get_request_pad('sink_%d')
+
+ spad.link(dpad)
+ mix.link(conv)
+ conv.link(sink)
+
+ control = gst.Controller(dpad, "xpos", "ypos")
+ control.set_interpolation_mode("xpos", gst.INTERPOLATE_LINEAR)
+ control.set_interpolation_mode("ypos", gst.INTERPOLATE_LINEAR)
+
+ control.set("xpos", 0, 0)
+ control.set("xpos", 5 * gst.SECOND, 200)
+
+ control.set("ypos", 0, 0)
+ control.set("ypos", 5 * gst.SECOND, 200)
+
+ pipeline.set_state(gst.STATE_PLAYING)
+
+ time.sleep(7)
+
+if __name__ == "__main__":
+ main()