#!/usr/bin/python import pygst pygst.require('0.10') import gst import time DEVICE = "hw:2" index = 0 def new_pad(elem, pad): global index newconv = gst.element_factory_make("audioconvert") 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") print newsink.get_property("location") bin.add(newconv) bin.add(newmux) bin.add(newenc) bin.add(newsink) pad.link(newconv.get_pad("sink")) newconv.link(newenc) newenc.link(newmux) newmux.link(newsink) index += 1 bin.set_state(gst.STATE_PLAYING) print pad bin = gst.element_factory_make("bin") src = gst.element_factory_make("alsasrc") conv = gst.element_factory_make("audioconvert") src.set_property("device", DEVICE) split = gst.element_factory_make("deinterleave") queue = gst.element_factory_make("queue") bin.add(src) bin.add(conv) bin.add(split) bin.add(queue) src.link(conv) conv.link(split) split.connect("pad-added", new_pad) print "Pipeline constructed..." bin.set_state(gst.STATE_PLAYING) print "Recording." while 1: pass