All pastes #333259 Raw Edit

deinterleave

public python v1 · immutable
#333259 ·published 2007-01-30 20:14 UTC
rendered paste body
#!/usr/bin/pythonimport pygstpygst.require('0.10')import gstimport timeimport gtk, sysDEVICE = "hw:1"index = 0def new_pad(elem, pad):	global index	newqueue = gst.element_factory_make("queue")	newmux = gst.element_factory_make("oggmux")	newenc = gst.element_factory_make("vorbisenc")	newsink = gst.element_factory_make("filesink")	newsink.set_property("location", str(index) + ".ogg")	recbin.add(newqueue)	recbin.add(newmux)	recbin.add(newenc)	recbin.add(newsink)	pad.link(newqueue.get_pad("sink"))	newqueue.link(newenc)	newenc.link(newmux)	newmux.link(newsink)	index += 1	print paddef stop(widget):	mainbin.set_state(gst.STATE_NULL)	sys.exit(0)mainbin = gst.element_factory_make("bin")recbin = gst.element_factory_make("bin")playbin = gst.element_factory_make("playbin")playbin.set_property("uri", "file:///home/mike/anji_acoustic.ogg")src = gst.element_factory_make("alsasrc")src.set_property("device", DEVICE)conv = gst.element_factory_make("audioconvert")split = gst.element_factory_make("deinterleave")recbin.add(src)recbin.add(split)recbin.add(conv)src.link(conv)conv.link(split)split.connect("pad-added", new_pad)mainbin.add(recbin)mainbin.add(playbin)print "Pipeline constructed..."mainbin.set_state(gst.STATE_PLAYING)win = gtk.Window()button = gtk.Button("Stop")win.add(button)button.connect("clicked", stop)win.show()button.show()print "Recording."gtk.main()