+2005-11-15 Edward Hervey <edward@fluendo.com>
+
+ * gst/gst.defs:
+ Keep refcount for the message of gst_bus_post()
+ * gst/gststructure.override:
+ Don't free a structure on dealloc (the parent does that)
+ * testsuite/test_message.py:
+ Proper testing of bus functionnality with a mainloop
+
2005-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
* configure.ac: back to HEAD
(c-name "gst_bus_post")
(return-type "gboolean")
(parameters
- '("GstMessage*" "message")
+ '("GstMessage*" "message" (keep-refcount))
)
)
'("const-gchar*" "name_template")
'("GstPadDirection" "direction")
'("GstPadPresence" "presence")
- '("GstCaps*" "caps")
+ '("GstCaps*" "caps" (keep-refcount))
)
)
m = gst.message_new_eos(b)
gst.info("got message : %s" % m)
- def _testApplication(self):
+ def message_application_cb(self, bus, message):
+ print "got message"
+ self.got_message = True
+ self.loop.quit()
+
+ def testApplication(self):
+ self.loop = gobject.MainLoop()
gst.info("creating new pipeline")
bin = gst.Pipeline()
bus = bin.get_bus()
bus.add_signal_watch()
- got_message = False
- def message_application_cb(bus, message):
- got_message = True
- bus.connect('message::application', message_application_cb)
+ self.got_message = False
+ bus.connect('message::application', self.message_application_cb)
- gst.info("creating new application message from that bin")
- msg = gst.message_new_application(bin, gst.Structure('foo'))
+ struc = gst.Structure("foo")
+ msg = gst.message_new_application(bin, struc)
bus.post(msg)
- self.failUnless(got_message == True)
+ self.loop.run()
+ bus.remove_signal_watch()
+ self.failUnless(self.got_message == True)
self.gccollect()
if __name__ == "__main__":