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

Reply via email to