summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Decina <alessandro.decina@collabora.co.uk>2010-07-14 12:33:58 +0200
committerAlessandro Decina <alessandro.decina@collabora.co.uk>2010-07-14 12:35:35 +0200
commit56a725879dd31bdc4d99ba81150ff553db266b2f (patch)
tree9c09471765f725723ed6b5214ab8036c0c115648
parent35fe0f419d22c552cd9c3ffd7bec0d7c8a294479 (diff)
gst.GhostPad: allow set_target(None) to unset the target. Fixes #590735.
-rw-r--r--gst/gst.defs2
-rw-r--r--testsuite/test_ghostpad.py13
2 files changed, 14 insertions, 1 deletions
diff --git a/gst/gst.defs b/gst/gst.defs
index 4b06c1d..d16b038 100644
--- a/gst/gst.defs
+++ b/gst/gst.defs
@@ -2529,7 +2529,7 @@
(c-name "gst_ghost_pad_set_target")
(return-type "gboolean")
(parameters
- '("GstPad*" "newtarget")
+ '("GstPad*" "newtarget" (null-ok))
)
)
diff --git a/testsuite/test_ghostpad.py b/testsuite/test_ghostpad.py
index 21104c2..8a390df 100644
--- a/testsuite/test_ghostpad.py
+++ b/testsuite/test_ghostpad.py
@@ -177,5 +177,18 @@ class PipeTest(TestCase):
gst.debug('received handoff on pad %r' % pad)
self._handoffs += 1
+class TargetTest(TestCase):
+ def test_target(self):
+ src = gst.Pad("src", gst.PAD_SRC)
+
+ ghost = gst.GhostPad("ghost_src", src)
+ self.failUnless(ghost.get_target() is src)
+
+ ghost.set_target(None)
+ self.failUnless(ghost.get_target() is None)
+
+ ghost.set_target(src)
+ self.failUnless(ghost.get_target() is src)
+
if __name__ == "__main__":
unittest.main()