On Fri, May 30, 2014 at 3:44 PM, Tanu Kaskinen <tanu.kaskinen at linux.intel.com> wrote: > (Added pulseaudio-discuss back to cc.) > > On Fri, 2014-05-30 at 15:24 +0200, Greg Knoll wrote: >> Thank you for your response, >> >> >> Yes, I did follow that tutorial. I didn't state it correctly in my >> question, but I do only use the session bus to get the server >> address. Then I use >> >> >> *conn = dbus_connection_open(serverAddress, &err); >> >> to get the DBusConnection object and use this to make calls. > > Ok, I suppose this is not the problem then. Back to the original > question: > >> However, where/how do I listen for the signal? I also tried setting a >> dbus match rule: >> dbus_bus_add_match(system_bus, "type='signal',interface='org.PulseAudio.Core1'", &err); > > You don't need to add a match rule (trying to do so won't do anything > useful, because the match rules are managed by the bus daemon, and in a > peer-to-peer connection there's no bus daemon involved at all). Do you > register a message filter with dbus_connection_add_filter()? If not, > then that's the problem. > > By the way, please don't top-post on mailing lists, and also plain text > messages are preferred over HTML. > > -- > Tanu > > Sorry about the top post. I did not register a dbus_connection_add_filter(). I have added a DBusHandlerResult function based on the examples here: https://kernel.googlesource.com/pub/scm/bluetooth/bluez/+/utils-3.4/hcid/dbus-error.c and http://lists.freedesktop.org/archives/dbus/2003-September/000468.html The second one uses an object DBusMessageHandler, which I think is from glib/dbus-glib. Maybe I'm wrong there. My function looks like this: DBusHandlerResult listen_to_core_Handler(DBusConnection *connection, DBusMessage *message, void *user_data) { debug_print("Message received from Pulse Core.\n"); debug_print("Signature:%s\n", dbus_message_get_signature(message)); } and I add a call to dbus_connection_add_filter() in my main thread using: dbus_connection_add_filter(PA_bus, listen_to_core_Handler, NULL, NULL); Still nothing. I should also say that the signal name string I'm using is "org.PulseAudio.Core1.NewModule". Thanks for all the help so far.