testsuite/test_pad.py (PadProbeTest.testRemovingProbe): Add probe removal test. Passes, but some other test sporadica...

Original commit message from CVS:
2005-09-21  Andy Wingo  <wingo@pobox.com>

* testsuite/test_pad.py (PadProbeTest.testRemovingProbe): Add
probe removal test. Passes, but some other test sporadically fails
-- will check that later.
This commit is contained in:
Andy Wingo 2005-09-21 13:45:58 +00:00
parent 14856cf85c
commit 23af58d1e3
2 changed files with 28 additions and 0 deletions

View file

@ -1,5 +1,9 @@
2005-09-21 Andy Wingo <wingo@pobox.com>
* testsuite/test_pad.py (PadProbeTest.testRemovingProbe): Add
probe removal test. Passes, but some other test sporadically fails
-- will check that later.
* gst/gst.defs: Update for probe removal api
* gst/gstpad.override (_wrap_gst_pad_remove_data_probe)

View file

@ -75,5 +75,29 @@ class PadProbeTest(unittest.TestCase):
self.failUnless(isinstance(buffer, gst.Buffer))
self._got_fakesrc_buffer = True
def testRemovingProbe(self):
pipeline = gst.Pipeline()
fakesrc = gst.element_factory_make('fakesrc')
fakesrc.set_property('num-buffers', 10)
fakesink = gst.element_factory_make('fakesink')
handle = None
self._num_times_called = 0
def buffer_probe(pad, buffer):
self._num_times_called += 1
pad.remove_buffer_probe(handle)
return True
pipeline.add_many(fakesrc, fakesink)
fakesrc.link(fakesink)
pad = fakesrc.get_pad('src')
handle = pad.add_buffer_probe(buffer_probe)
self._got_fakesrc_buffer = False
pipeline.set_state(gst.STATE_PLAYING)
m = pipeline.get_bus().poll(gst.MESSAGE_EOS, -1)
assert m
assert self._num_times_called == 1
if __name__ == "__main__":
unittest.main()