summaryrefslogtreecommitdiff
path: root/testsuite/test_pad.py
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2005-09-21 13:45:58 +0000
committerAndy Wingo <wingo@pobox.com>2005-09-21 13:45:58 +0000
commit23af58d1e3d7eb1e6d76f0ea1b5092931a7ce860 (patch)
treef71f839ae19b7728b44f84b9ff189d5ffb443a4c /testsuite/test_pad.py
parent14856cf85c791ed09fb1a7ea96e102be96936dad (diff)
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.
Diffstat (limited to 'testsuite/test_pad.py')
-rw-r--r--testsuite/test_pad.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/testsuite/test_pad.py b/testsuite/test_pad.py
index 0c09574..773426c 100644
--- a/testsuite/test_pad.py
+++ b/testsuite/test_pad.py
@@ -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()