class MyInjectorSrc(gst.BaseSrc): __gsttemplates__ = ( gst.PadTemplate("src", gst.PAD_SRC, gst.PAD_ALWAYS, gst.caps_new_any()), ) def __init__(self, name, buffer): self.__gobject_init__() self.mybuffer = buffer self.set_name(name) def do_create(self, size, offset): dummybuffer = self.get_pad("src").alloc_buffer(0,self.mybuffer.size,self.mybuffer.caps) ## print "I am in MyInjectorSrc.do_create, caller asks for:" ## print " offset = ", offset ## print " size = ", size ## print "However, I seem to be sending him:" ## print " self.mybuffer.size = ", self.mybuffer.size return gst.FLOW_OK, self.mybuffer def do_get_caps(self): print "MyInjectorSrc.do_get_caps() was called" return self.mybuffer.caps def do_check_get_range(self): print "MyInjectorSrc.do_check_get_range() was called"