Back to development
[platform/upstream/gstreamer.git] / subprojects / gst-python / old_examples / video-controller.py
1 #!/usr/bin/env python
2 # -*- Mode: Python -*-
3 # vi:si:et:sw=4:sts=4:ts=4
4
5 # videomixer-controller.py
6 # (c) 2008 Stefan Kost <ensonic@users.sf.net>
7 # Test case for the GstController using videomixer and videotestsrc
8
9 import pygst
10 pygst.require('0.10')
11 import gst
12 import time
13
14 def main():
15     pipeline = gst.Pipeline("videocontroller")
16     src = gst.element_factory_make("videotestsrc", "src")
17     mix = gst.element_factory_make("videomixer", "mix")
18     conv = gst.element_factory_make("ffmpegcolorspace", "conv")
19     sink = gst.element_factory_make("autovideosink", "sink")
20     pipeline.add(src, mix, conv, sink)
21
22     spad = src.get_static_pad('src')
23     dpad = mix.get_request_pad('sink_%d')
24
25     spad.link(dpad)
26     mix.link(conv)
27     conv.link(sink)
28
29     control = gst.Controller(dpad, "xpos", "ypos")
30     control.set_interpolation_mode("xpos", gst.INTERPOLATE_LINEAR)
31     control.set_interpolation_mode("ypos", gst.INTERPOLATE_LINEAR)
32
33     control.set("xpos", 0, 0)
34     control.set("xpos", 5 * gst.SECOND, 200)
35
36     control.set("ypos", 0, 0)
37     control.set("ypos", 5 * gst.SECOND, 200)
38
39     pipeline.set_state(gst.STATE_PLAYING)
40
41     time.sleep(7)
42
43 if __name__ == "__main__":
44     main()