[libnice] Is there any non-blocking method corresponding to g_main_loop_run()?

Jack Wang antirazin at gmail.com
Mon Nov 30 04:33:42 PST 2015


I'm trying to implement ICE on SIP,
I reference the sdp-example of libnice and want to apply it to my SIP codes.

The example uses the standard IO to exchange the SDPs,
but in SIP it needs to listen the response from other side.

The question is, before I send INVITE I have to gather ICE candidates,
and wait for signals to proceed. This will block the main process by
g_main_loop_run(),
so the SIP procedure can't be triggered normally.

But if I remove the g_main_loop_run(),according to the line 162 in the
example above:

while (!exit_thread && !candidate_gathering_done)

this candidate_gathering_done will never be assigned since the signal fail
to get through callback function. Is there any non-blocking way to
multiplex ICE and SIP procedures?

Thanks in advance. :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nice/attachments/20151130/60fa8589/attachment.html>


More information about the nice mailing list