rendered paste body#!/usr/bin/python
import gobject;
gobject.threads_init()
import gst;
pipe = gst.Pipeline("test")
selector = gst.element_factory_make("input-selector", "videoselector")
pipe.add(selector)
# stream 1
sinkpad1 = selector.get_request_pad("sink%d")
vidsrc1 = gst.element_factory_make("v4l2src", "vid1")
pipe.add(vidsrc1)
vidsrc1pad = vidsrc1.get_pad("src")
vidsrc1pad.link(sinkpad1)
# stream 2
sinkpad2 = selector.get_request_pad("sink%d")
vidsrc2 = gst.element_factory_make("videotestsrc", "vid2")
pipe.add(vidsrc2)
vidsrc2pad = vidsrc2.get_pad("src")
vidsrc2pad.link(sinkpad2)
output = gst.element_factory_make("autovideosink", "autovideosink")
pipe.add(output)
selector.link(output)
pipe.set_state(gst.STATE_PLAYING)
raw_input("videotestsrc outputting... Press <ENTER> to continue.")
selector.emit("block")
selector.emit("switch", sinkpad2, -1, -1)
raw_input("v4l2src outputting... Press <ENTER> to continue.")
vidsrc1.set_state(gst.STATE_PLAYING)
selector.emit("block")
selector.emit("switch", sinkpad1, -1, -1)
raw_input("videotestsrc outputting... Press <ENTER> to continue.")
selector.emit("block")
selector.emit("switch", sinkpad2, -1, -1)
raw_input("v4l2src outputting... Press <ENTER> to continue.")