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
[email protected]
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
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss