From 23af58d1e3d7eb1e6d76f0ea1b5092931a7ce860 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Wed, 21 Sep 2005 13:45:58 +0000 Subject: [PATCH] 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 * testsuite/test_pad.py (PadProbeTest.testRemovingProbe): Add probe removal test. Passes, but some other test sporadically fails -- will check that later. --- ChangeLog | 4 ++++ testsuite/test_pad.py | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/ChangeLog b/ChangeLog index 97ba2739cd..bd7dcbab46 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2005-09-21 Andy Wingo + * 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) diff --git a/testsuite/test_pad.py b/testsuite/test_pad.py index 0c09574381..773426c81f 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()