All pastes #2070337 Raw Edit

Something

public text v1 · immutable
#2070337 ·published 2011-05-27 13:24 UTC
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.")