All pastes #27594 Raw Edit

BilboEd

public python v1 · immutable
#27594 ·published 2005-11-04 13:02 UTC
rendered paste body
import pygstpygst.require('0.9')import gstimport gobject## Simple Sink element created entirely in python#class MySink(gst.Element):    _sinkpadtemplate = gst.PadTemplate ("sinkpadtemplate",                                        gst.PAD_SINK,                                        gst.PAD_ALWAYS,                                        gst.caps_new_any())    def __init__(self):        gst.Element.__init__(self)        gst.info('creating sinkpad')        self.sinkpad = gst.Pad(self._sinkpadtemplate, "sink")        gst.info('adding sinkpad to self')        self.add_pad(self.sinkpad)        gst.info('setting chain/event functions')        self.sinkpad.set_chain_function(self.chainfunc)        self.sinkpad.set_event_function(self.eventfunc)            def chainfunc(self, pad, buffer):        self.info("%s timestamp(buffer):%d" % (pad, buffer.timestamp))        return gst.FLOW_OK    def eventfunc(self, pad, event):        self.info("%s event:%r" % (pad, event.type))        return Truegobject.type_register(MySink)## Code to test the MySink class#  Run this script with GST_DEBUG=python:5#src = gst.element_factory_make('fakesrc')gst.info('About to create MySink')sink = MySink()pipeline = gst.Pipeline()pipeline.add(src, sink)src.link(sink)pipeline.set_state(gst.STATE_PLAYING)gobject.MainLoop().run()