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): recbin.set_state(gst.STATE_NULL) sys.exit(0)recbin = gst.element_factory_make("bin")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)print "Pipeline constructed..."recbin.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()