gst/__init__.py: del ltihooks properly; fixes loading of testhelper in testsuite
authorThomas Vander Stichele <thomas@apestaart.org>
Wed, 31 Aug 2005 15:28:37 +0000 (15:28 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Wed, 31 Aug 2005 15:28:37 +0000 (15:28 +0000)
Original commit message from CVS:
* gst/__init__.py:
del ltihooks properly; fixes loading of testhelper in testsuite
* gst/gst.defs:
wrap link_filtered

ChangeLog
common
gst/__init__.py
gst/gst.defs

index bc13b40..25b1554 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * gst/__init__.py:
+         del ltihooks properly; fixes loading of testhelper in testsuite
+       * gst/gst.defs:
+         wrap link_filtered
+
+2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * configure.ac:
+         require base and controller as well since we wrap them
+       * gst/__init__.py:
+         if using ltihooks, import interfaces and then uninstall our
+         module importer so we don't crap all over someone else's
+
 2005-08-19  Andy Wingo  <wingo@pobox.com>
 
        * gst/interfaces.defs (MixerTrack): MixerTrack is a GObject. How
diff --git a/common b/common
index 8ff526a..3fb3bed 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 8ff526a316f9b576e727b8e32cba0a53cdec07a6
+Subproject commit 3fb3bedc9180bab9dc8c2dc784c9327bd1cc8109
index 711b53d..be6aab0 100644 (file)
 # 
 # Author: David I. Lehn <dlehn@users.sourceforge.net>
 
+__ltihooks_used__ = False
 try:
-   import ltihooks
+    import ltihooks
+    __ltihooks_used__ = True
 except:
    pass
 
+import ltihooks
+
 import gobject
 del gobject
 
@@ -73,3 +77,14 @@ class Fraction(Value):
       return '<gst.Fraction %d/%d>' % (self.num, self.denom)
 
 from _gst import *
+# this restores previously installed importhooks, so we don't interfere
+# with other people's module importers
+# it also clears out the module completely as if it were never loaded,
+# so that if anyone else imports ltihooks the hooks get installed
+if __ltihooks_used__:
+    import gst.interfaces as interfaces
+    ltihooks.uninstall()
+    __ltihooks_used__ = False
+    del ltihooks
+    import sys
+    del sys.modules['ltihooks']
index 9c479cd..acd4813 100644 (file)
   )
 )
 
+(define-method link_filtered
+  (of-object "GstElement")
+  (c-name "gst_element_link_filtered")
+  (return-type "gboolean")
+  (parameters
+    '("GstElement*" "dest")
+    '("GstCaps*" "filter")
+  )
+)
+
 (define-function element_unlink_many
   (c-name "gst_element_unlink_many")
   (return-type "none")