Hi folks, I have made considerable progress from earlier on. I have almost completed my task but it looks as if there may be a bug or more than likely I'm being a bit stupid ? I'm on 0.9.1.4 on Jaunty. Scenario: On a PA_SUBSCRIPTION_EVENT_SINK_INPUT my subscription callback method is called with the relevant userdata obj which was passed in at the main method stage. All fine so far. After receiving this event, I then call pa_context_get_sink_input_info(c, index, context_get_sink_input_info_callback, userdata)); //please note at this point the userdata obj is as it should be. But when the callback is called the userdata obj is NULL ! Any ideas ? Code is pasted below Conor static void context_get_sink_input_info_callback(pa_context *c, const pa_sink_input_info *info, void *userdata){ if (!info) { printf("Failed to get sink input info"); return; } else{ printf("\n SINK INPUT INFO Name : %s \n", info->name); printf("\n SINK INPUT INFO sink index : %d \n", info->sink); pa_operation_unref(pa_context_get_sink_info_by_index(c, info->sink, context_get_sink_info_by_index_callback, userdata)); // From here userdata is NULL ! if (userdata == NULL) { printf("userdata is null in the events callback"); } else{ update_GUI((GtkLabel*)userdata); } } } static void subscribed_events_callback(pa_context *c, enum pa_subscription_event_type t, uint32_t index, void *userdata){ GtkLabel *label = (GtkLabel*) userdata switch (t & PA_SUBSCRIPTION_EVENT_FACILITY_MASK) { case PA_SUBSCRIPTION_EVENT_SINK_INPUT: g_message("in the event callback - type = sink input and index = %d", index); pa_operation_unref(pa_context_get_sink_input_info(c, index, context_get_sink_input_info_callback, userdata)); // from the userdata is fine! if (userdata == NULL) { printf("userdata is null in the events callback"); } else{ // this works fine update_GUI((GtkLabel*)userdata); } break; } } -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20091013/327698df/attachment.htm>