I tried to implement it but I cant connect anymore "context_state_callback" is called only once with the state PA_CONTEXT_CONNECTING and is never called back I tried using pa_threaded_mainloop_lock(mainloop); and pa_threaded_mainloop_unlock(mainloop); around my waiting loop but it does not work either Audio::Audio() { mainloop=pa_threaded_mainloop_new(); api = pa_threaded_mainloop_get_api(mainloop); pa_proplist *proplist = pa_proplist_new(); pa_proplist_sets(proplist, PA_PROP_APPLICATION_NAME, "PulseAudio Volume Control"); pa_proplist_sets(proplist, PA_PROP_APPLICATION_ID, "org.PulseAudio.pavucontrol"); pa_proplist_sets(proplist, PA_PROP_APPLICATION_ICON_NAME, "audio-card"); pa_proplist_sets(proplist, PA_PROP_APPLICATION_VERSION, "1.0"); context = pa_context_new_with_proplist(api, NULL, proplist); pa_proplist_free(proplist); pa_context_set_state_callback(context, context_state_callback, NULL); pa_context_connect(context, NULL, PA_CONTEXT_NOFAIL, NULL); pa_threaded_mainloop_start(mainloop); do { } while(toTreat!=0); } Le 28/10/2016 à 17:54, pfl a écrit : > I'll check it out thanks :-) > > > Le 28/10/2016 à 17:32, Tanu Kaskinen a écrit : >> On Fri, 2016-10-28 at 17:20 +0200, pfl wrote: >>> ah yes, I forgot the main loop >>> >>> the problem is that the set volume part is only a small part of my >>> program >>> >>> so I'll have to put that lop in a thread >> Note that libpulse is not thread-safe, so if you create a new thread >> where you run pa_mainloop_run() and then call >> pa_context_set_sink_volume_by_index() from another thread without first >> somehow making sure that the mainloop thread is stopped, that's going >> to break. One solution to this is to use the threaded main loop: >> https://freedesktop.org/software/pulseaudio/doxygen/threaded_mainloop.html >> >> > > > --- > L'absence de virus dans ce courrier électronique a été vérifiée par le > logiciel antivirus Avast. > https://www.avast.com/antivirus > > _______________________________________________ > pulseaudio-discuss mailing list > pulseaudio-discuss at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus