All pastes #676879 Raw Edit

Anonymous

public text v1 · immutable
#676879 ·published 2007-08-31 14:03 UTC
rendered paste body
#!/usr/bin/python

import pygst
pygst.require("0.10")
import gst, gobject, time
import pygtk
import gtk

class Main:
    def __init__(self):
        self.pipeline = gst.Pipeline("mypipeline")

        self.filesrc = gst.element_factory_make("filesrc", "source")
        self.pipeline.add(self.filesrc)
        self.filesrc.set_property("location", "/home/sac/record.ts")

        self.decode = gst.element_factory_make("ffdemux_mpegts", "decode")
        self.decode.connect("pad-added", self.OnDynamicPad)
        self.pipeline.add(self.decode)

        self.filesrc.link(self.decode)

        self.pipeline.set_state(gst.STATE_PLAYING)

    def OnDynamicPad(self, dbin, pad):
        print "OnDynamicPad Called!"
        print pad.get_name()
        sink = gst.element_factory_make("filesink", "sink-"+pad.get_name())
        sink.set_property("location","/tmp/output_"+pad.get_name()+".raw")
        queue = gst.element_factory_make("queue", "queue-"+pad.get_name())
        self.pipeline.add(queue)
        self.pipeline.add(sink)
        
        pad.link(queue.get_pad("sink"))
        queue.link(sink)

gobject.threads_init()
start=Main()
while (True):
    time.sleep(3)