def testRunProvidesClocking(self): p2_pp = ('videotestsrc is-live=true ! ' 'video/x-raw-rgb,framerate=(fraction)8/1,' 'width=32,height=24') p2 = pipeline_src(p2_pp) from flumotion.component.muxers.multipart import Multipart mux = ComponentWrapper('multipart-muxer', Multipart, name='mux') self.prod.feed(mux) p2.feed(mux) mux.feed(self.cnv1) self.clock_slave = p2 def check_clocking(_): self.warning('check_clocking: %s %r' % (self.clock_slave.name, self.clock_slave.comp.pipeline.get_clock())) import gst pp = self.clock_slave.comp.pipeline # is there a better way to check if that component is # using an external clock source? self.failUnless(isinstance(pp.get_clock(), gst.NetClientClock), "Didn't receive external clocking info.") return _ task_d = defer.Deferred() task_d.addCallback(check_clocking) self.p.set_flow([self.prod, p2, mux, self.cnv1], auto_link=False) if self.prod is not self.p._master: # p2 (of [self.prod, p2]) seems to be the master this time self.clock_slave = self.prod d = self.p.run_flow(self.duration, tasks=[task_d]) return d
def testSimpleLink(self): pp = ComponentWrapper("pipeline-producer", None, name="pp") pc = ComponentWrapper("pipeline-converter", None) pp.feed(pc) self.assertEquals(pc.cfg["source"], ["pp:default"]) self.assertEquals(pc.cfg["eater"], {"default": [("pp:default", "default")]})
def testSimpleLink(self): pp = ComponentWrapper('pipeline-producer', None, name='pp') pc = ComponentWrapper('pipeline-converter', None) pp.feed(pc) self.assertEquals(pc.cfg['source'], ['pp:default']) self.assertEquals(pc.cfg['eater'], {'default': [('pp:default', 'default')]})
def testNonDefaultLink(self): fwp = ComponentWrapper("firewire-producer", None, name="fwp") pc = ComponentWrapper("pipeline-converter", None, name="pc") # this should raise an exception - firewire-producer doesn't # have a default feeder self.failUnlessRaises(comptest.ComponentTestException, fwp.feed, pc) fwp.feed(pc, [("video", "default")]) fwp.feed(pc, [("audio", "default")]) self.assertEquals(pc.cfg["source"], ["fwp:video", "fwp:audio"]) self.assertEquals(pc.cfg["eater"], {"default": [("fwp:video", "default"), ("fwp:audio", "default-bis")]})
def testNonDefaultLink(self): fwp = ComponentWrapper('firewire-producer', None, name='fwp') pc = ComponentWrapper('pipeline-converter', None, name='pc') # this should raise an exception - firewire-producer doesn't # have a default feeder self.failUnlessRaises(comptest.ComponentTestException, fwp.feed, pc) fwp.feed(pc, [('video', 'default')]) fwp.feed(pc, [('audio', 'default')]) self.assertEquals(pc.cfg['source'], ['fwp:video', 'fwp:audio']) self.assertEquals(pc.cfg['eater'], {'default': [('fwp:video', 'default'), ('fwp:audio', 'default-bis')]})